@famir/database 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/README.md +187 -1
  2. package/dist/database.d.ts +0 -1
  3. package/dist/database.error.js +1 -1
  4. package/dist/database.error.js.map +1 -1
  5. package/dist/database.functions.d.ts +30 -25
  6. package/dist/database.functions.js +8 -8
  7. package/dist/database.functions.js.map +1 -1
  8. package/dist/database.js +0 -1
  9. package/dist/database.js.map +1 -1
  10. package/dist/database.keys.d.ts +2 -1
  11. package/dist/database.keys.js +6 -3
  12. package/dist/database.keys.js.map +1 -1
  13. package/dist/database.schemas.js +2 -2
  14. package/dist/database.schemas.js.map +1 -1
  15. package/dist/index.d.ts +1 -2
  16. package/dist/index.js +1 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/modules/base/index.js.map +1 -0
  19. package/dist/{repositories → modules}/base/redis-base.repository.d.ts +11 -9
  20. package/dist/modules/base/redis-base.repository.js +164 -0
  21. package/dist/modules/base/redis-base.repository.js.map +1 -0
  22. package/dist/{repositories → modules}/campaign/campaign.d.ts +4 -8
  23. package/dist/{repositories → modules}/campaign/campaign.functions.d.ts +7 -16
  24. package/dist/{repositories → modules}/campaign/campaign.functions.js +23 -36
  25. package/dist/modules/campaign/campaign.functions.js.map +1 -0
  26. package/dist/modules/campaign/campaign.js +3 -0
  27. package/dist/modules/campaign/campaign.js.map +1 -0
  28. package/dist/{models/campaign/campaign.d.ts → modules/campaign/campaign.models.d.ts} +3 -2
  29. package/dist/{models/campaign/campaign.js → modules/campaign/campaign.models.js} +6 -4
  30. package/dist/modules/campaign/campaign.models.js.map +1 -0
  31. package/dist/{repositories → modules}/campaign/campaign.schemas.d.ts +3 -2
  32. package/dist/modules/campaign/campaign.schemas.js +109 -0
  33. package/dist/modules/campaign/campaign.schemas.js.map +1 -0
  34. package/dist/{repositories → modules}/campaign/index.d.ts +1 -0
  35. package/dist/{repositories → modules}/campaign/index.js +1 -0
  36. package/dist/modules/campaign/index.js.map +1 -0
  37. package/dist/{repositories → modules}/campaign/redis-campaign.repository.d.ts +5 -6
  38. package/dist/{repositories → modules}/campaign/redis-campaign.repository.js +33 -34
  39. package/dist/modules/campaign/redis-campaign.repository.js.map +1 -0
  40. package/dist/modules/index.js.map +1 -0
  41. package/dist/{repositories → modules}/lure/index.d.ts +1 -0
  42. package/dist/{repositories → modules}/lure/index.js +1 -0
  43. package/dist/modules/lure/index.js.map +1 -0
  44. package/dist/{repositories → modules}/lure/lure.d.ts +1 -1
  45. package/dist/{repositories → modules}/lure/lure.functions.d.ts +2 -2
  46. package/dist/{repositories → modules}/lure/lure.functions.js +11 -11
  47. package/dist/modules/lure/lure.functions.js.map +1 -0
  48. package/dist/modules/lure/lure.js.map +1 -0
  49. package/dist/{models/lure/lure.js → modules/lure/lure.models.js} +1 -1
  50. package/dist/modules/lure/lure.models.js.map +1 -0
  51. package/dist/modules/lure/lure.schemas.js +32 -0
  52. package/dist/modules/lure/lure.schemas.js.map +1 -0
  53. package/dist/{repositories → modules}/lure/redis-lure.repository.d.ts +3 -3
  54. package/dist/{repositories → modules}/lure/redis-lure.repository.js +23 -10
  55. package/dist/modules/lure/redis-lure.repository.js.map +1 -0
  56. package/dist/{repositories → modules}/message/index.d.ts +1 -0
  57. package/dist/{repositories → modules}/message/index.js +1 -0
  58. package/dist/modules/message/index.js.map +1 -0
  59. package/dist/{repositories → modules}/message/message.d.ts +3 -3
  60. package/dist/{repositories → modules}/message/message.functions.d.ts +5 -4
  61. package/dist/{repositories → modules}/message/message.functions.js +12 -12
  62. package/dist/modules/message/message.functions.js.map +1 -0
  63. package/dist/modules/message/message.js.map +1 -0
  64. package/dist/{models/message/message.d.ts → modules/message/message.models.d.ts} +4 -4
  65. package/dist/{models/message/message.js → modules/message/message.models.js} +6 -6
  66. package/dist/modules/message/message.models.js.map +1 -0
  67. package/dist/modules/message/message.schemas.js +93 -0
  68. package/dist/modules/message/message.schemas.js.map +1 -0
  69. package/dist/{repositories → modules}/message/redis-message.repository.d.ts +6 -5
  70. package/dist/{repositories → modules}/message/redis-message.repository.js +17 -14
  71. package/dist/modules/message/redis-message.repository.js.map +1 -0
  72. package/dist/{repositories → modules}/proxy/index.d.ts +1 -0
  73. package/dist/{repositories → modules}/proxy/index.js +1 -0
  74. package/dist/modules/proxy/index.js.map +1 -0
  75. package/dist/{repositories → modules}/proxy/proxy.d.ts +1 -1
  76. package/dist/{repositories → modules}/proxy/proxy.functions.d.ts +2 -2
  77. package/dist/{repositories → modules}/proxy/proxy.functions.js +10 -10
  78. package/dist/modules/proxy/proxy.functions.js.map +1 -0
  79. package/dist/modules/proxy/proxy.js.map +1 -0
  80. package/dist/{models/proxy/proxy.js → modules/proxy/proxy.models.js} +1 -1
  81. package/dist/modules/proxy/proxy.models.js.map +1 -0
  82. package/dist/modules/proxy/proxy.schemas.js +23 -0
  83. package/dist/modules/proxy/proxy.schemas.js.map +1 -0
  84. package/dist/{repositories → modules}/proxy/redis-proxy.repository.d.ts +3 -3
  85. package/dist/{repositories → modules}/proxy/redis-proxy.repository.js +23 -10
  86. package/dist/modules/proxy/redis-proxy.repository.js.map +1 -0
  87. package/dist/{repositories → modules}/redirector/index.d.ts +1 -0
  88. package/dist/{repositories → modules}/redirector/index.js +1 -0
  89. package/dist/modules/redirector/index.js.map +1 -0
  90. package/dist/{repositories → modules}/redirector/redirector.d.ts +3 -1
  91. package/dist/{repositories → modules}/redirector/redirector.functions.d.ts +14 -3
  92. package/dist/{repositories → modules}/redirector/redirector.functions.js +38 -12
  93. package/dist/modules/redirector/redirector.functions.js.map +1 -0
  94. package/dist/modules/redirector/redirector.js.map +1 -0
  95. package/dist/{models/redirector/redirector.d.ts → modules/redirector/redirector.models.d.ts} +5 -1
  96. package/dist/{models/redirector/redirector.js → modules/redirector/redirector.models.js} +10 -2
  97. package/dist/modules/redirector/redirector.models.js.map +1 -0
  98. package/dist/modules/redirector/redirector.schemas.d.ts +7 -0
  99. package/dist/modules/redirector/redirector.schemas.js +51 -0
  100. package/dist/modules/redirector/redirector.schemas.js.map +1 -0
  101. package/dist/{repositories → modules}/redirector/redis-redirector.repository.d.ts +5 -3
  102. package/dist/{repositories → modules}/redirector/redis-redirector.repository.js +45 -9
  103. package/dist/modules/redirector/redis-redirector.repository.js.map +1 -0
  104. package/dist/{repositories → modules}/session/index.d.ts +1 -0
  105. package/dist/{repositories → modules}/session/index.js +1 -0
  106. package/dist/modules/session/index.js.map +1 -0
  107. package/dist/{repositories → modules}/session/redis-session.repository.d.ts +3 -3
  108. package/dist/{repositories → modules}/session/redis-session.repository.js +22 -13
  109. package/dist/modules/session/redis-session.repository.js.map +1 -0
  110. package/dist/{repositories → modules}/session/session.d.ts +1 -1
  111. package/dist/{repositories → modules}/session/session.functions.d.ts +3 -3
  112. package/dist/{repositories → modules}/session/session.functions.js +8 -8
  113. package/dist/modules/session/session.functions.js.map +1 -0
  114. package/dist/modules/session/session.js.map +1 -0
  115. package/dist/{models/session/session.d.ts → modules/session/session.models.d.ts} +6 -0
  116. package/dist/{models/session/session.js → modules/session/session.models.js} +1 -1
  117. package/dist/modules/session/session.models.js.map +1 -0
  118. package/dist/modules/session/session.schemas.d.ts +4 -0
  119. package/dist/modules/session/session.schemas.js +43 -0
  120. package/dist/modules/session/session.schemas.js.map +1 -0
  121. package/dist/{repositories → modules}/target/index.d.ts +1 -0
  122. package/dist/{repositories → modules}/target/index.js +1 -0
  123. package/dist/modules/target/index.js.map +1 -0
  124. package/dist/{repositories → modules}/target/redis-target.repository.d.ts +4 -4
  125. package/dist/{repositories → modules}/target/redis-target.repository.js +56 -35
  126. package/dist/modules/target/redis-target.repository.js.map +1 -0
  127. package/dist/{repositories → modules}/target/target.d.ts +2 -1
  128. package/dist/{repositories → modules}/target/target.functions.d.ts +15 -9
  129. package/dist/{repositories → modules}/target/target.functions.js +44 -38
  130. package/dist/modules/target/target.functions.js.map +1 -0
  131. package/dist/modules/target/target.js.map +1 -0
  132. package/dist/{models/target/target.d.ts → modules/target/target.models.d.ts} +6 -4
  133. package/dist/{models/target/target.js → modules/target/target.models.js} +11 -11
  134. package/dist/modules/target/target.models.js.map +1 -0
  135. package/dist/{repositories → modules}/target/target.schemas.d.ts +3 -1
  136. package/dist/modules/target/target.schemas.js +174 -0
  137. package/dist/modules/target/target.schemas.js.map +1 -0
  138. package/dist/redis-database-connector.d.ts +2 -1
  139. package/dist/redis-database-connector.js +12 -10
  140. package/dist/redis-database-connector.js.map +1 -1
  141. package/dist/redis-database-manager.d.ts +4 -3
  142. package/dist/redis-database-manager.js +16 -9
  143. package/dist/redis-database-manager.js.map +1 -1
  144. package/dist/redis-functions.d.ts +1 -1
  145. package/dist/redis-functions.js +30 -1455
  146. package/dist/redis-functions.js.map +1 -1
  147. package/package.json +17 -10
  148. package/dist/models/campaign/campaign.js.map +0 -1
  149. package/dist/models/campaign/index.d.ts +0 -1
  150. package/dist/models/campaign/index.js +0 -2
  151. package/dist/models/campaign/index.js.map +0 -1
  152. package/dist/models/index.d.ts +0 -7
  153. package/dist/models/index.js +0 -8
  154. package/dist/models/index.js.map +0 -1
  155. package/dist/models/lure/index.d.ts +0 -1
  156. package/dist/models/lure/index.js +0 -2
  157. package/dist/models/lure/index.js.map +0 -1
  158. package/dist/models/lure/lure.js.map +0 -1
  159. package/dist/models/message/index.d.ts +0 -1
  160. package/dist/models/message/index.js +0 -2
  161. package/dist/models/message/index.js.map +0 -1
  162. package/dist/models/message/message.js.map +0 -1
  163. package/dist/models/proxy/index.d.ts +0 -1
  164. package/dist/models/proxy/index.js +0 -2
  165. package/dist/models/proxy/index.js.map +0 -1
  166. package/dist/models/proxy/proxy.js.map +0 -1
  167. package/dist/models/redirector/index.d.ts +0 -1
  168. package/dist/models/redirector/index.js +0 -2
  169. package/dist/models/redirector/index.js.map +0 -1
  170. package/dist/models/redirector/redirector.js.map +0 -1
  171. package/dist/models/session/index.d.ts +0 -1
  172. package/dist/models/session/index.js +0 -2
  173. package/dist/models/session/index.js.map +0 -1
  174. package/dist/models/session/session.js.map +0 -1
  175. package/dist/models/target/index.d.ts +0 -1
  176. package/dist/models/target/index.js +0 -2
  177. package/dist/models/target/index.js.map +0 -1
  178. package/dist/models/target/target.js.map +0 -1
  179. package/dist/repositories/base/index.js.map +0 -1
  180. package/dist/repositories/base/redis-base.repository.js +0 -140
  181. package/dist/repositories/base/redis-base.repository.js.map +0 -1
  182. package/dist/repositories/campaign/campaign.functions.js.map +0 -1
  183. package/dist/repositories/campaign/campaign.js +0 -2
  184. package/dist/repositories/campaign/campaign.js.map +0 -1
  185. package/dist/repositories/campaign/campaign.schemas.js +0 -148
  186. package/dist/repositories/campaign/campaign.schemas.js.map +0 -1
  187. package/dist/repositories/campaign/index.js.map +0 -1
  188. package/dist/repositories/campaign/redis-campaign.repository.js.map +0 -1
  189. package/dist/repositories/index.js.map +0 -1
  190. package/dist/repositories/lure/index.js.map +0 -1
  191. package/dist/repositories/lure/lure.functions.js.map +0 -1
  192. package/dist/repositories/lure/lure.js.map +0 -1
  193. package/dist/repositories/lure/lure.schemas.js +0 -45
  194. package/dist/repositories/lure/lure.schemas.js.map +0 -1
  195. package/dist/repositories/lure/redis-lure.repository.js.map +0 -1
  196. package/dist/repositories/message/index.js.map +0 -1
  197. package/dist/repositories/message/message.functions.js.map +0 -1
  198. package/dist/repositories/message/message.js.map +0 -1
  199. package/dist/repositories/message/message.schemas.js +0 -160
  200. package/dist/repositories/message/message.schemas.js.map +0 -1
  201. package/dist/repositories/message/redis-message.repository.js.map +0 -1
  202. package/dist/repositories/proxy/index.js.map +0 -1
  203. package/dist/repositories/proxy/proxy.functions.js.map +0 -1
  204. package/dist/repositories/proxy/proxy.js.map +0 -1
  205. package/dist/repositories/proxy/proxy.schemas.js +0 -34
  206. package/dist/repositories/proxy/proxy.schemas.js.map +0 -1
  207. package/dist/repositories/proxy/redis-proxy.repository.js.map +0 -1
  208. package/dist/repositories/redirector/index.js.map +0 -1
  209. package/dist/repositories/redirector/redirector.functions.js.map +0 -1
  210. package/dist/repositories/redirector/redirector.js.map +0 -1
  211. package/dist/repositories/redirector/redirector.schemas.d.ts +0 -3
  212. package/dist/repositories/redirector/redirector.schemas.js +0 -51
  213. package/dist/repositories/redirector/redirector.schemas.js.map +0 -1
  214. package/dist/repositories/redirector/redis-redirector.repository.js.map +0 -1
  215. package/dist/repositories/session/index.js.map +0 -1
  216. package/dist/repositories/session/redis-session.repository.js.map +0 -1
  217. package/dist/repositories/session/session.functions.js.map +0 -1
  218. package/dist/repositories/session/session.js.map +0 -1
  219. package/dist/repositories/session/session.schemas.d.ts +0 -2
  220. package/dist/repositories/session/session.schemas.js +0 -44
  221. package/dist/repositories/session/session.schemas.js.map +0 -1
  222. package/dist/repositories/target/index.js.map +0 -1
  223. package/dist/repositories/target/redis-target.repository.js.map +0 -1
  224. package/dist/repositories/target/target.functions.js.map +0 -1
  225. package/dist/repositories/target/target.js.map +0 -1
  226. package/dist/repositories/target/target.schemas.js +0 -251
  227. package/dist/repositories/target/target.schemas.js.map +0 -1
  228. package/dist/{repositories → modules}/base/index.d.ts +0 -0
  229. package/dist/{repositories → modules}/base/index.js +0 -0
  230. package/dist/{repositories → modules}/index.d.ts +0 -0
  231. package/dist/{repositories → modules}/index.js +0 -0
  232. package/dist/{repositories → modules}/lure/lure.js +0 -0
  233. package/dist/{models/lure/lure.d.ts → modules/lure/lure.models.d.ts} +0 -0
  234. package/dist/{repositories → modules}/lure/lure.schemas.d.ts +1 -1
  235. package/dist/{repositories → modules}/message/message.js +0 -0
  236. package/dist/{repositories → modules}/message/message.schemas.d.ts +0 -0
  237. package/dist/{repositories → modules}/proxy/proxy.js +0 -0
  238. package/dist/{models/proxy/proxy.d.ts → modules/proxy/proxy.models.d.ts} +0 -0
  239. package/dist/{repositories → modules}/proxy/proxy.schemas.d.ts +1 -1
  240. /package/dist/{repositories → modules}/redirector/redirector.js +0 -0
  241. /package/dist/{repositories → modules}/session/session.js +0 -0
  242. /package/dist/{repositories → modules}/target/target.js +0 -0
@@ -0,0 +1,43 @@
1
+ import { booleanSchema, counterSchema, customIdentSchema, randomIdentSchema, timestampSchema, } from '@famir/validator';
2
+ export const upgradeSessionParamsSchema = {
3
+ type: 'object',
4
+ required: ['lure_id', 'session_id', 'secret', 'back_url'],
5
+ properties: {
6
+ lure_id: customIdentSchema,
7
+ session_id: randomIdentSchema,
8
+ secret: randomIdentSchema,
9
+ back_url: {
10
+ type: 'string',
11
+ minLength: 1,
12
+ },
13
+ },
14
+ additionalProperties: false,
15
+ };
16
+ const rawSessionSchema = {
17
+ type: 'object',
18
+ required: [
19
+ 'campaign_id',
20
+ 'session_id',
21
+ 'proxy_id',
22
+ 'secret',
23
+ 'is_upgraded',
24
+ 'message_count',
25
+ 'created_at',
26
+ 'authorized_at',
27
+ ],
28
+ properties: {
29
+ campaign_id: customIdentSchema,
30
+ session_id: randomIdentSchema,
31
+ proxy_id: customIdentSchema,
32
+ secret: randomIdentSchema,
33
+ is_upgraded: booleanSchema,
34
+ message_count: counterSchema,
35
+ created_at: timestampSchema,
36
+ authorized_at: timestampSchema,
37
+ },
38
+ additionalProperties: false,
39
+ };
40
+ export const sessionSchemas = {
41
+ 'database-raw-session': rawSessionSchema,
42
+ };
43
+ //# sourceMappingURL=session.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.schemas.js","sourceRoot":"","sources":["../../../src/modules/session/session.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAUzB,MAAM,CAAC,MAAM,0BAA0B,GAAyC;IAC9E,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC;IACzD,UAAU,EAAE;QACV,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,iBAAiB;QAC7B,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;SACb;KACF;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAA;AAQV,MAAM,gBAAgB,GAA+B;IACnD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR,aAAa;QACb,YAAY;QACZ,UAAU;QACV,QAAQ;QACR,aAAa;QACb,eAAe;QACf,YAAY;QACZ,eAAe;KAChB;IACD,UAAU,EAAE;QACV,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,iBAAiB;QACzB,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,eAAe;KAC/B;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAA;AAQV,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,sBAAsB,EAAE,gBAAgB;CAChC,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export * from './redis-target.repository.js';
2
2
  export * from './target.js';
3
+ export * from './target.models.js';
3
4
  export * from './target.schemas.js';
@@ -1,4 +1,5 @@
1
1
  export * from './redis-target.repository.js';
2
2
  export * from './target.js';
3
+ export * from './target.models.js';
3
4
  export * from './target.schemas.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/target/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
@@ -2,16 +2,17 @@ import { DIContainer } from '@famir/common';
2
2
  import { Config } from '@famir/config';
3
3
  import { Logger } from '@famir/logger';
4
4
  import { Validator } from '@famir/validator';
5
- import { RedisDatabaseConfig, RedisDatabaseConnection } from '../../database.js';
6
- import { FullTargetModel, TargetAccessLevel, TargetModel } from '../../models/index.js';
5
+ import { DatabaseConnector, RedisDatabaseConfig } from '../../database.js';
7
6
  import { RedisBaseRepository } from '../base/index.js';
8
7
  import { TargetRepository } from './target.js';
8
+ import { FullTargetModel, TargetAccessLevel, TargetHosts, TargetModel } from './target.models.js';
9
9
  export declare class RedisTargetRepository extends RedisBaseRepository implements TargetRepository {
10
10
  static register(container: DIContainer): void;
11
- constructor(validator: Validator, config: Config<RedisDatabaseConfig>, logger: Logger, connection: RedisDatabaseConnection);
11
+ constructor(validator: Validator, config: Config<RedisDatabaseConfig>, logger: Logger, connector: DatabaseConnector);
12
12
  create(campaignId: string, targetId: string, accessLevel: TargetAccessLevel, donorSecure: boolean, donorSub: string, donorDomain: string, donorPort: number, mirrorSecure: boolean, mirrorSub: string, mirrorPort: number, connectTimeout: number, simpleTimeout: number, streamTimeout: number, headersSizeLimit: number, bodySizeLimit: number, mainPage: string, notFoundPage: string, faviconIco: string, robotsTxt: string, sitemapXml: string, allowWebSockets: boolean, lockSecret: string): Promise<void>;
13
13
  read(campaignId: string, targetId: string): Promise<TargetModel | null>;
14
14
  readFull(campaignId: string, targetId: string): Promise<FullTargetModel | null>;
15
+ readHosts(): Promise<TargetHosts>;
15
16
  find(mirrorHost: string): Promise<TargetModel | null>;
16
17
  findFull(mirrorHost: string): Promise<FullTargetModel | null>;
17
18
  update(campaignId: string, targetId: string, connectTimeout: number | null | undefined, simpleTimeout: number | null | undefined, streamTimeout: number | null | undefined, headersSizeLimit: number | null | undefined, bodySizeLimit: number | null | undefined, mainPage: string | null | undefined, notFoundPage: string | null | undefined, faviconIco: string | null | undefined, robotsTxt: string | null | undefined, sitemapXml: string | null | undefined, allowWebSockets: boolean | null | undefined, lockSecret: string): Promise<void>;
@@ -26,5 +27,4 @@ export declare class RedisTargetRepository extends RedisBaseRepository implement
26
27
  protected buildFullModel(rawModel: unknown): FullTargetModel | null;
27
28
  protected buildCollection(rawCollection: unknown): TargetModel[];
28
29
  protected buildFullCollection(rawCollection: unknown): FullTargetModel[];
29
- protected buildTargetLink(value: unknown): [string, string];
30
30
  }
@@ -3,23 +3,26 @@ import { LOGGER } from '@famir/logger';
3
3
  import { VALIDATOR } from '@famir/validator';
4
4
  import { DatabaseError } from '../../database.error.js';
5
5
  import { DATABASE_CONNECTOR } from '../../database.js';
6
- import { FullTargetModel, TargetModel } from '../../models/index.js';
7
6
  import { RedisBaseRepository } from '../base/index.js';
8
7
  import { TARGET_REPOSITORY } from './target.js';
8
+ import { FullTargetModel, TargetModel, } from './target.models.js';
9
9
  import { targetSchemas } from './target.schemas.js';
10
10
  export class RedisTargetRepository extends RedisBaseRepository {
11
11
  static register(container) {
12
- container.registerSingleton(TARGET_REPOSITORY, (c) => new RedisTargetRepository(c.resolve(VALIDATOR), c.resolve(CONFIG), c.resolve(LOGGER), c.resolve(DATABASE_CONNECTOR).getConnection()));
12
+ container.registerSingleton(TARGET_REPOSITORY, (c) => new RedisTargetRepository(c.resolve(VALIDATOR), c.resolve(CONFIG), c.resolve(LOGGER), c.resolve(DATABASE_CONNECTOR)));
13
13
  }
14
- constructor(validator, config, logger, connection) {
15
- super(validator, config, logger, connection, 'target');
14
+ constructor(validator, config, logger, connector) {
15
+ super(validator, config, logger, connector, 'target');
16
16
  this.validator.addSchemas(targetSchemas);
17
17
  this.logger.debug(`TargetRepository initialized`);
18
18
  }
19
19
  async create(campaignId, targetId, accessLevel, donorSecure, donorSub, donorDomain, donorPort, mirrorSecure, mirrorSub, mirrorPort, connectTimeout, simpleTimeout, streamTimeout, headersSizeLimit, bodySizeLimit, mainPage, notFoundPage, faviconIco, robotsTxt, sitemapXml, allowWebSockets, lockSecret) {
20
20
  try {
21
- const statusReply = await this.connection.target.create_target(this.options.prefix, campaignId, targetId, accessLevel, donorSecure ? '1' : '0', donorSub, donorDomain, donorPort.toString(), mirrorSecure ? '1' : '0', mirrorSub, mirrorPort.toString(), connectTimeout.toString(), simpleTimeout.toString(), streamTimeout.toString(), headersSizeLimit.toString(), bodySizeLimit.toString(), mainPage, notFoundPage, faviconIco, robotsTxt, sitemapXml, allowWebSockets ? '1' : '0', Date.now().toString(), lockSecret);
22
- const mesg = this.handleStatusReply(statusReply);
21
+ const statusReply = await this.connection.target.create_target(this.options.prefix, campaignId, targetId, accessLevel, donorSecure, donorSub, donorDomain, donorPort, mirrorSecure, mirrorSub, mirrorPort, connectTimeout, simpleTimeout, streamTimeout, headersSizeLimit, bodySizeLimit, mainPage, notFoundPage, faviconIco, robotsTxt, sitemapXml, allowWebSockets, Date.now(), lockSecret);
22
+ const [code, mesg] = this.parseStatusReply(statusReply);
23
+ if (code !== 'OK') {
24
+ throw new DatabaseError(mesg, { code });
25
+ }
23
26
  this.logger.info(mesg, { target: { campaignId, targetId } });
24
27
  }
25
28
  catch (error) {
@@ -44,13 +47,24 @@ export class RedisTargetRepository extends RedisBaseRepository {
44
47
  this.raiseError(error, 'readFull', { campaignId, targetId });
45
48
  }
46
49
  }
50
+ async readHosts() {
51
+ try {
52
+ const hosts = await this.connection.target.read_target_hosts(this.options.prefix);
53
+ this.validateRawData('database-target-hosts', hosts);
54
+ return hosts;
55
+ }
56
+ catch (error) {
57
+ this.raiseError(error, 'readHosts', null);
58
+ }
59
+ }
47
60
  async find(mirrorHost) {
48
61
  try {
49
- const targetLink = await this.connection.target.find_target_link(this.options.prefix, mirrorHost);
50
- if (targetLink === null) {
62
+ const link = await this.connection.target.find_target_link(this.options.prefix, mirrorHost);
63
+ if (link === null) {
51
64
  return null;
52
65
  }
53
- const [campaignId, targetId] = this.buildTargetLink(targetLink);
66
+ this.validateRawData('database-target-link', link);
67
+ const [campaignId, targetId] = link;
54
68
  const rawModel = await this.connection.target.read_target(this.options.prefix, campaignId, targetId);
55
69
  return this.buildModel(rawModel);
56
70
  }
@@ -60,11 +74,12 @@ export class RedisTargetRepository extends RedisBaseRepository {
60
74
  }
61
75
  async findFull(mirrorHost) {
62
76
  try {
63
- const targetLink = await this.connection.target.find_target_link(this.options.prefix, mirrorHost);
64
- if (targetLink === null) {
77
+ const link = await this.connection.target.find_target_link(this.options.prefix, mirrorHost);
78
+ if (link === null) {
65
79
  return null;
66
80
  }
67
- const [campaignId, targetId] = this.buildTargetLink(targetLink);
81
+ this.validateRawData('database-target-link', link);
82
+ const [campaignId, targetId] = link;
68
83
  const rawModel = await this.connection.target.read_full_target(this.options.prefix, campaignId, targetId);
69
84
  return this.buildFullModel(rawModel);
70
85
  }
@@ -74,8 +89,11 @@ export class RedisTargetRepository extends RedisBaseRepository {
74
89
  }
75
90
  async update(campaignId, targetId, connectTimeout, simpleTimeout, streamTimeout, headersSizeLimit, bodySizeLimit, mainPage, notFoundPage, faviconIco, robotsTxt, sitemapXml, allowWebSockets, lockSecret) {
76
91
  try {
77
- const statusReply = await this.connection.target.update_target(this.options.prefix, campaignId, targetId, connectTimeout != null ? connectTimeout.toString() : null, simpleTimeout != null ? simpleTimeout.toString() : null, streamTimeout != null ? streamTimeout.toString() : null, headersSizeLimit != null ? headersSizeLimit.toString() : null, bodySizeLimit != null ? bodySizeLimit.toString() : null, mainPage ?? null, notFoundPage ?? null, faviconIco ?? null, robotsTxt ?? null, sitemapXml ?? null, allowWebSockets != null ? (allowWebSockets ? '1' : '0') : null, lockSecret);
78
- const mesg = this.handleStatusReply(statusReply);
92
+ const statusReply = await this.connection.target.update_target(this.options.prefix, campaignId, targetId, connectTimeout, simpleTimeout, streamTimeout, headersSizeLimit, bodySizeLimit, mainPage, notFoundPage, faviconIco, robotsTxt, sitemapXml, allowWebSockets, lockSecret);
93
+ const [code, mesg] = this.parseStatusReply(statusReply);
94
+ if (code !== 'OK') {
95
+ throw new DatabaseError(mesg, { code });
96
+ }
79
97
  this.logger.info(mesg, { target: { campaignId, targetId } });
80
98
  }
81
99
  catch (error) {
@@ -85,7 +103,10 @@ export class RedisTargetRepository extends RedisBaseRepository {
85
103
  async enable(campaignId, targetId, lockSecret) {
86
104
  try {
87
105
  const statusReply = await this.connection.target.enable_target(this.options.prefix, campaignId, targetId, lockSecret);
88
- const mesg = this.handleStatusReply(statusReply);
106
+ const [code, mesg] = this.parseStatusReply(statusReply);
107
+ if (code !== 'OK') {
108
+ throw new DatabaseError(mesg, { code });
109
+ }
89
110
  this.logger.info(mesg, { target: { campaignId, targetId } });
90
111
  }
91
112
  catch (error) {
@@ -95,7 +116,10 @@ export class RedisTargetRepository extends RedisBaseRepository {
95
116
  async disable(campaignId, targetId, lockSecret) {
96
117
  try {
97
118
  const statusReply = await this.connection.target.disable_target(this.options.prefix, campaignId, targetId, lockSecret);
98
- const mesg = this.handleStatusReply(statusReply);
119
+ const [code, mesg] = this.parseStatusReply(statusReply);
120
+ if (code !== 'OK') {
121
+ throw new DatabaseError(mesg, { code });
122
+ }
99
123
  this.logger.info(mesg, { target: { campaignId, targetId } });
100
124
  }
101
125
  catch (error) {
@@ -104,8 +128,11 @@ export class RedisTargetRepository extends RedisBaseRepository {
104
128
  }
105
129
  async appendLabel(campaignId, targetId, label, lockSecret) {
106
130
  try {
107
- const statusReply = await this.connection.target.append_target_label(this.options.prefix, campaignId, targetId, label, lockSecret);
108
- const mesg = this.handleStatusReply(statusReply);
131
+ const statusReply = await this.connection.target.append_target_label(this.options.prefix, campaignId, targetId, label.toLowerCase(), lockSecret);
132
+ const [code, mesg] = this.parseStatusReply(statusReply);
133
+ if (code !== 'OK') {
134
+ throw new DatabaseError(mesg, { code });
135
+ }
109
136
  this.logger.info(mesg, { target: { campaignId, targetId, label } });
110
137
  }
111
138
  catch (error) {
@@ -114,8 +141,11 @@ export class RedisTargetRepository extends RedisBaseRepository {
114
141
  }
115
142
  async removeLabel(campaignId, targetId, label, lockSecret) {
116
143
  try {
117
- const statusReply = await this.connection.target.remove_target_label(this.options.prefix, campaignId, targetId, label, lockSecret);
118
- const mesg = this.handleStatusReply(statusReply);
144
+ const statusReply = await this.connection.target.remove_target_label(this.options.prefix, campaignId, targetId, label.toLowerCase(), lockSecret);
145
+ const [code, mesg] = this.parseStatusReply(statusReply);
146
+ if (code !== 'OK') {
147
+ throw new DatabaseError(mesg, { code });
148
+ }
119
149
  this.logger.info(mesg, { target: { campaignId, targetId, label } });
120
150
  }
121
151
  catch (error) {
@@ -125,7 +155,10 @@ export class RedisTargetRepository extends RedisBaseRepository {
125
155
  async delete(campaignId, targetId, lockSecret) {
126
156
  try {
127
157
  const statusReply = await this.connection.target.delete_target(this.options.prefix, campaignId, targetId, lockSecret);
128
- const mesg = this.handleStatusReply(statusReply);
158
+ const [code, mesg] = this.parseStatusReply(statusReply);
159
+ if (code !== 'OK') {
160
+ throw new DatabaseError(mesg, { code });
161
+ }
129
162
  this.logger.info(mesg, { target: { campaignId, targetId } });
130
163
  }
131
164
  catch (error) {
@@ -165,16 +198,14 @@ export class RedisTargetRepository extends RedisBaseRepository {
165
198
  return null;
166
199
  }
167
200
  this.validateRawData('database-raw-target', rawModel);
168
- this.validateRawData('database-target-access-level', rawModel.access_level);
169
- return new TargetModel(rawModel.campaign_id, rawModel.target_id, rawModel.access_level, !!rawModel.donor_secure, rawModel.donor_sub, rawModel.donor_domain, rawModel.donor_port, !!rawModel.mirror_secure, rawModel.mirror_sub, rawModel.mirror_domain, rawModel.mirror_port, rawModel.labels, !!rawModel.is_enabled, rawModel.message_count, new Date(rawModel.created_at));
201
+ return new TargetModel(rawModel.campaign_id, rawModel.target_id, rawModel.access_level, rawModel.donor_secure, rawModel.donor_sub, rawModel.donor_domain, rawModel.donor_port, rawModel.mirror_secure, rawModel.mirror_sub, rawModel.mirror_domain, rawModel.mirror_port, rawModel.is_enabled, rawModel.message_count, new Date(rawModel.created_at));
170
202
  }
171
203
  buildFullModel(rawModel) {
172
204
  if (rawModel === null) {
173
205
  return null;
174
206
  }
175
207
  this.validateRawData('database-raw-full-target', rawModel);
176
- this.validateRawData('database-target-access-level', rawModel.access_level);
177
- return new FullTargetModel(rawModel.campaign_id, rawModel.target_id, rawModel.access_level, !!rawModel.donor_secure, rawModel.donor_sub, rawModel.donor_domain, rawModel.donor_port, !!rawModel.mirror_secure, rawModel.mirror_sub, rawModel.mirror_domain, rawModel.mirror_port, rawModel.labels, rawModel.connect_timeout, rawModel.simple_timeout, rawModel.stream_timeout, rawModel.headers_size_limit, rawModel.body_size_limit, rawModel.main_page, rawModel.not_found_page, rawModel.favicon_ico, rawModel.robots_txt, rawModel.sitemap_xml, !!rawModel.allow_websockets, !!rawModel.is_enabled, rawModel.message_count, new Date(rawModel.created_at));
208
+ return new FullTargetModel(rawModel.campaign_id, rawModel.target_id, rawModel.access_level, rawModel.donor_secure, rawModel.donor_sub, rawModel.donor_domain, rawModel.donor_port, rawModel.mirror_secure, rawModel.mirror_sub, rawModel.mirror_domain, rawModel.mirror_port, rawModel.labels, rawModel.connect_timeout, rawModel.simple_timeout, rawModel.stream_timeout, rawModel.headers_size_limit, rawModel.body_size_limit, rawModel.main_page, rawModel.not_found_page, rawModel.favicon_ico, rawModel.robots_txt, rawModel.sitemap_xml, rawModel.allow_websockets, rawModel.is_enabled, rawModel.message_count, new Date(rawModel.created_at));
178
209
  }
179
210
  buildCollection(rawCollection) {
180
211
  this.validateArrayReply(rawCollection);
@@ -186,15 +217,5 @@ export class RedisTargetRepository extends RedisBaseRepository {
186
217
  .map((rawModel) => this.buildFullModel(rawModel))
187
218
  .filter(TargetModel.isNotNull);
188
219
  }
189
- buildTargetLink(value) {
190
- this.validateArrayStringsReply(value);
191
- const [campaignId, targetId] = value;
192
- if (!(campaignId && targetId)) {
193
- throw new DatabaseError(`TargetLink validate failed`, {
194
- code: 'INTERNAL_ERROR'
195
- });
196
- }
197
- return [campaignId, targetId];
198
- }
199
220
  }
200
221
  //# sourceMappingURL=redis-target.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-target.repository.js","sourceRoot":"","sources":["../../../src/modules/target/redis-target.repository.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { FullTargetModel, TargetAccessLevel, TargetModel } from '../../models/index.js';
1
+ import { FullTargetModel, TargetAccessLevel, TargetHosts, TargetModel } from './target.models.js';
2
2
  export declare const TARGET_REPOSITORY: unique symbol;
3
3
  export interface TargetRepository {
4
4
  create(campaignId: string, targetId: string, accessLevel: TargetAccessLevel, donorSecure: boolean, donorSub: string, donorDomain: string, donorPort: number, mirrorSecure: boolean, mirrorSub: string, mirrorPort: number, connectTimeout: number, simpleTimeout: number, streamTimeout: number, headersSizeLimit: number, bodySizeLimit: number, mainPage: string, notFoundPage: string, faviconIco: string, robotsTxt: string, sitemapXml: string, allowWebSockets: boolean, lockSecret: string): Promise<void>;
5
5
  read(campaignId: string, targetId: string): Promise<TargetModel | null>;
6
6
  readFull(campaignId: string, targetId: string): Promise<FullTargetModel | null>;
7
+ readHosts(): Promise<TargetHosts>;
7
8
  find(mirrorHost: string): Promise<TargetModel | null>;
8
9
  findFull(mirrorHost: string): Promise<FullTargetModel | null>;
9
10
  update(campaignId: string, targetId: string, connectTimeout: number | null | undefined, simpleTimeout: number | null | undefined, streamTimeout: number | null | undefined, headersSizeLimit: number | null | undefined, bodySizeLimit: number | null | undefined, mainPage: string | null | undefined, notFoundPage: string | null | undefined, faviconIco: string | null | undefined, robotsTxt: string | null | undefined, sitemapXml: string | null | undefined, allowWebSockets: boolean | null | undefined, lockSecret: string): Promise<void>;
@@ -1,22 +1,23 @@
1
1
  import { CommandParser } from '@redis/client';
2
+ import { TargetAccessLevel } from './target.models.js';
2
3
  export interface RawTarget {
3
4
  campaign_id: string;
4
5
  target_id: string;
5
- access_level: string;
6
- donor_secure: number;
6
+ access_level: TargetAccessLevel;
7
+ donor_secure: boolean;
7
8
  donor_sub: string;
8
9
  donor_domain: string;
9
10
  donor_port: number;
10
- mirror_secure: number;
11
+ mirror_secure: boolean;
11
12
  mirror_sub: string;
12
13
  mirror_domain: string;
13
14
  mirror_port: number;
14
- labels: string[];
15
- is_enabled: number;
15
+ is_enabled: boolean;
16
16
  message_count: number;
17
17
  created_at: number;
18
18
  }
19
19
  export interface RawFullTarget extends RawTarget {
20
+ labels: string[];
20
21
  connect_timeout: number;
21
22
  simple_timeout: number;
22
23
  stream_timeout: number;
@@ -27,17 +28,17 @@ export interface RawFullTarget extends RawTarget {
27
28
  favicon_ico: string;
28
29
  robots_txt: string;
29
30
  sitemap_xml: string;
30
- allow_websockets: number;
31
+ allow_websockets: boolean;
31
32
  }
32
33
  export declare const targetFunctions: {
33
34
  readonly target: {
34
35
  readonly create_target: {
35
36
  readonly NUMBER_OF_KEYS: 7;
36
- readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, targetId: string, accessLevel: string, donorSecure: string, donorSub: string, donorDomain: string, donorPort: string, mirrorSecure: string, mirrorSub: string, mirrorPort: string, connectTimeout: string, simpleTimeout: string, streamTimeout: string, headersSizeLimit: string, bodySizeLimit: string, mainPage: string, notFoundPage: string, faviconIco: string, robotsTxt: string, sitemapXml: string, allowWebSockets: string, createdAt: string, lockSecret: string) => void;
37
+ readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, targetId: string, accessLevel: string, donorSecure: boolean, donorSub: string, donorDomain: string, donorPort: number, mirrorSecure: boolean, mirrorSub: string, mirrorPort: number, connectTimeout: number, simpleTimeout: number, streamTimeout: number, headersSizeLimit: number, bodySizeLimit: number, mainPage: string, notFoundPage: string, faviconIco: string, robotsTxt: string, sitemapXml: string, allowWebSockets: boolean, createdAt: number, lockSecret: string) => void;
37
38
  readonly transformReply: () => unknown;
38
39
  };
39
40
  readonly read_target: {
40
- readonly NUMBER_OF_KEYS: 3;
41
+ readonly NUMBER_OF_KEYS: 2;
41
42
  readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, targetId: string) => void;
42
43
  readonly transformReply: () => unknown;
43
44
  };
@@ -46,6 +47,11 @@ export declare const targetFunctions: {
46
47
  readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, targetId: string) => void;
47
48
  readonly transformReply: () => unknown;
48
49
  };
50
+ readonly read_target_hosts: {
51
+ readonly NUMBER_OF_KEYS: 1;
52
+ readonly parseCommand: (parser: CommandParser, prefix: string) => void;
53
+ readonly transformReply: () => unknown;
54
+ };
49
55
  readonly find_target_link: {
50
56
  readonly NUMBER_OF_KEYS: 1;
51
57
  readonly parseCommand: (parser: CommandParser, prefix: string, mirrorHost: string) => void;
@@ -58,7 +64,7 @@ export declare const targetFunctions: {
58
64
  };
59
65
  readonly update_target: {
60
66
  readonly NUMBER_OF_KEYS: 3;
61
- readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, targetId: string, connectTimeout: string | null, simpleTimeout: string | null, streamTimeout: string | null, headersSizeLimit: string | null, bodySizeLimit: string | null, mainPage: string | null, notFoundPage: string | null, faviconIco: string | null, robotsTxt: string | null, sitemapXml: string | null, allowWebSockets: string | null, lockSecret: string) => void;
67
+ readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, targetId: string, connectTimeout: number | null | undefined, simpleTimeout: number | null | undefined, streamTimeout: number | null | undefined, headersSizeLimit: number | null | undefined, bodySizeLimit: number | null | undefined, mainPage: string | null | undefined, notFoundPage: string | null | undefined, faviconIco: string | null | undefined, robotsTxt: string | null | undefined, sitemapXml: string | null | undefined, allowWebSockets: boolean | null | undefined, lockSecret: string) => void;
62
68
  readonly transformReply: () => unknown;
63
69
  };
64
70
  readonly enable_target: {
@@ -1,4 +1,4 @@
1
- import { campaignKey, campaignLockKey, targetDonorsKey, targetIndexKey, targetKey, targetLabelsKey, targetMirrorHostsKey, targetMirrorsKey } from '../../database.keys.js';
1
+ import { campaignKey, campaignLockKey, targetDonorsKey, targetIndexKey, targetKey, targetLabelsKey, targetHostsKey, targetMirrorsKey, } from '../../database.keys.js';
2
2
  export const targetFunctions = {
3
3
  target: {
4
4
  create_target: {
@@ -9,42 +9,41 @@ export const targetFunctions = {
9
9
  parser.pushKey(targetKey(prefix, campaignId, targetId));
10
10
  parser.pushKey(targetDonorsKey(prefix, campaignId));
11
11
  parser.pushKey(targetMirrorsKey(prefix, campaignId));
12
- parser.pushKey(targetMirrorHostsKey(prefix));
12
+ parser.pushKey(targetHostsKey(prefix));
13
13
  parser.pushKey(targetIndexKey(prefix, campaignId));
14
14
  parser.push(campaignId);
15
15
  parser.push(targetId);
16
16
  parser.push(accessLevel);
17
- parser.push(donorSecure);
17
+ parser.push(donorSecure ? '1' : '0');
18
18
  parser.push(donorSub);
19
19
  parser.push(donorDomain);
20
- parser.push(donorPort);
21
- parser.push(mirrorSecure);
20
+ parser.push(donorPort.toString());
21
+ parser.push(mirrorSecure ? '1' : '0');
22
22
  parser.push(mirrorSub);
23
- parser.push(mirrorPort);
24
- parser.push(connectTimeout);
25
- parser.push(simpleTimeout);
26
- parser.push(streamTimeout);
27
- parser.push(headersSizeLimit);
28
- parser.push(bodySizeLimit);
23
+ parser.push(mirrorPort.toString());
24
+ parser.push(connectTimeout.toString());
25
+ parser.push(simpleTimeout.toString());
26
+ parser.push(streamTimeout.toString());
27
+ parser.push(headersSizeLimit.toString());
28
+ parser.push(bodySizeLimit.toString());
29
29
  parser.push(mainPage);
30
30
  parser.push(notFoundPage);
31
31
  parser.push(faviconIco);
32
32
  parser.push(robotsTxt);
33
33
  parser.push(sitemapXml);
34
- parser.push(allowWebSockets);
35
- parser.push(createdAt);
34
+ parser.push(allowWebSockets ? '1' : '0');
35
+ parser.push(createdAt.toString());
36
36
  parser.push(lockSecret);
37
37
  },
38
- transformReply: undefined
38
+ transformReply: undefined,
39
39
  },
40
40
  read_target: {
41
- NUMBER_OF_KEYS: 3,
41
+ NUMBER_OF_KEYS: 2,
42
42
  parseCommand(parser, prefix, campaignId, targetId) {
43
43
  parser.pushKey(campaignKey(prefix, campaignId));
44
44
  parser.pushKey(targetKey(prefix, campaignId, targetId));
45
- parser.pushKey(targetLabelsKey(prefix, campaignId, targetId));
46
45
  },
47
- transformReply: undefined
46
+ transformReply: undefined,
48
47
  },
49
48
  read_full_target: {
50
49
  NUMBER_OF_KEYS: 3,
@@ -53,15 +52,22 @@ export const targetFunctions = {
53
52
  parser.pushKey(targetKey(prefix, campaignId, targetId));
54
53
  parser.pushKey(targetLabelsKey(prefix, campaignId, targetId));
55
54
  },
56
- transformReply: undefined
55
+ transformReply: undefined,
56
+ },
57
+ read_target_hosts: {
58
+ NUMBER_OF_KEYS: 1,
59
+ parseCommand(parser, prefix) {
60
+ parser.pushKey(targetHostsKey(prefix));
61
+ },
62
+ transformReply: undefined,
57
63
  },
58
64
  find_target_link: {
59
65
  NUMBER_OF_KEYS: 1,
60
66
  parseCommand(parser, prefix, mirrorHost) {
61
- parser.pushKey(targetMirrorHostsKey(prefix));
67
+ parser.pushKey(targetHostsKey(prefix));
62
68
  parser.push(mirrorHost);
63
69
  },
64
- transformReply: undefined
70
+ transformReply: undefined,
65
71
  },
66
72
  read_target_index: {
67
73
  NUMBER_OF_KEYS: 2,
@@ -69,7 +75,7 @@ export const targetFunctions = {
69
75
  parser.pushKey(campaignKey(prefix, campaignId));
70
76
  parser.pushKey(targetIndexKey(prefix, campaignId));
71
77
  },
72
- transformReply: undefined
78
+ transformReply: undefined,
73
79
  },
74
80
  update_target: {
75
81
  NUMBER_OF_KEYS: 3,
@@ -79,23 +85,23 @@ export const targetFunctions = {
79
85
  parser.pushKey(targetKey(prefix, campaignId, targetId));
80
86
  if (connectTimeout != null) {
81
87
  parser.push('connect_timeout');
82
- parser.push(connectTimeout);
88
+ parser.push(connectTimeout.toString());
83
89
  }
84
90
  if (simpleTimeout != null) {
85
91
  parser.push('simple_timeout');
86
- parser.push(simpleTimeout);
92
+ parser.push(simpleTimeout.toString());
87
93
  }
88
94
  if (streamTimeout != null) {
89
95
  parser.push('stream_timeout');
90
- parser.push(streamTimeout);
96
+ parser.push(streamTimeout.toString());
91
97
  }
92
98
  if (headersSizeLimit != null) {
93
99
  parser.push('headers_size_limit');
94
- parser.push(headersSizeLimit);
100
+ parser.push(headersSizeLimit.toString());
95
101
  }
96
102
  if (bodySizeLimit != null) {
97
103
  parser.push('body_size_limit');
98
- parser.push(bodySizeLimit);
104
+ parser.push(bodySizeLimit.toString());
99
105
  }
100
106
  if (mainPage != null) {
101
107
  parser.push('main_page');
@@ -119,11 +125,11 @@ export const targetFunctions = {
119
125
  }
120
126
  if (allowWebSockets != null) {
121
127
  parser.push('allow_websockets');
122
- parser.push(allowWebSockets);
128
+ parser.push(allowWebSockets ? '1' : '0');
123
129
  }
124
130
  parser.push(lockSecret);
125
131
  },
126
- transformReply: undefined
132
+ transformReply: undefined,
127
133
  },
128
134
  enable_target: {
129
135
  NUMBER_OF_KEYS: 3,
@@ -133,7 +139,7 @@ export const targetFunctions = {
133
139
  parser.pushKey(targetKey(prefix, campaignId, targetId));
134
140
  parser.push(lockSecret);
135
141
  },
136
- transformReply: undefined
142
+ transformReply: undefined,
137
143
  },
138
144
  disable_target: {
139
145
  NUMBER_OF_KEYS: 3,
@@ -143,7 +149,7 @@ export const targetFunctions = {
143
149
  parser.pushKey(targetKey(prefix, campaignId, targetId));
144
150
  parser.push(lockSecret);
145
151
  },
146
- transformReply: undefined
152
+ transformReply: undefined,
147
153
  },
148
154
  append_target_label: {
149
155
  NUMBER_OF_KEYS: 4,
@@ -152,10 +158,10 @@ export const targetFunctions = {
152
158
  parser.pushKey(campaignLockKey(prefix, campaignId));
153
159
  parser.pushKey(targetKey(prefix, campaignId, targetId));
154
160
  parser.pushKey(targetLabelsKey(prefix, campaignId, targetId));
155
- parser.push(label.toLowerCase());
161
+ parser.push(label);
156
162
  parser.push(lockSecret);
157
163
  },
158
- transformReply: undefined
164
+ transformReply: undefined,
159
165
  },
160
166
  remove_target_label: {
161
167
  NUMBER_OF_KEYS: 4,
@@ -164,10 +170,10 @@ export const targetFunctions = {
164
170
  parser.pushKey(campaignLockKey(prefix, campaignId));
165
171
  parser.pushKey(targetKey(prefix, campaignId, targetId));
166
172
  parser.pushKey(targetLabelsKey(prefix, campaignId, targetId));
167
- parser.push(label.toLowerCase());
173
+ parser.push(label);
168
174
  parser.push(lockSecret);
169
175
  },
170
- transformReply: undefined
176
+ transformReply: undefined,
171
177
  },
172
178
  delete_target: {
173
179
  NUMBER_OF_KEYS: 8,
@@ -178,12 +184,12 @@ export const targetFunctions = {
178
184
  parser.pushKey(targetLabelsKey(prefix, campaignId, targetId));
179
185
  parser.pushKey(targetDonorsKey(prefix, campaignId));
180
186
  parser.pushKey(targetMirrorsKey(prefix, campaignId));
181
- parser.pushKey(targetMirrorHostsKey(prefix));
187
+ parser.pushKey(targetHostsKey(prefix));
182
188
  parser.pushKey(targetIndexKey(prefix, campaignId));
183
189
  parser.push(lockSecret);
184
190
  },
185
- transformReply: undefined
186
- }
187
- }
191
+ transformReply: undefined,
192
+ },
193
+ },
188
194
  };
189
195
  //# sourceMappingURL=target.functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target.functions.js","sourceRoot":"","sources":["../../../src/modules/target/target.functions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,wBAAwB,CAAA;AAqD/B,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE;QACN,aAAa,EAAE;YACb,cAAc,EAAE,CAAC;YAEjB,YAAY,CACV,MAAqB,EACrB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,WAAmB,EACnB,WAAoB,EACpB,QAAgB,EAChB,WAAmB,EACnB,SAAiB,EACjB,YAAqB,EACrB,SAAiB,EACjB,UAAkB,EAClB,cAAsB,EACtB,aAAqB,EACrB,aAAqB,EACrB,gBAAwB,EACxB,aAAqB,EACrB,QAAgB,EAChB,YAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,eAAwB,EACxB,SAAiB,EACjB,UAAkB;gBAElB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACvD,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACpD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;gBACtC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAElD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACxB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACjC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACrC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAClC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACtC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACrC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACrC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACrB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACvB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,WAAW,EAAE;YACX,cAAc,EAAE,CAAC;YAEjB,YAAY,CAAC,MAAqB,EAAE,MAAc,EAAE,UAAkB,EAAE,QAAgB;gBACtF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;YACzD,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,gBAAgB,EAAE;YAChB,cAAc,EAAE,CAAC;YAEjB,YAAY,CAAC,MAAqB,EAAE,MAAc,EAAE,UAAkB,EAAE,QAAgB;gBACtF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACvD,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC/D,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,iBAAiB,EAAE;YACjB,cAAc,EAAE,CAAC;YAEjB,YAAY,CAAC,MAAqB,EAAE,MAAc;gBAChD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;YACxC,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,gBAAgB,EAAE;YAChB,cAAc,EAAE,CAAC;YAEjB,YAAY,CAAC,MAAqB,EAAE,MAAc,EAAE,UAAkB;gBACpE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;gBAEtC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,iBAAiB,EAAE;YACjB,cAAc,EAAE,CAAC;YAEjB,YAAY,CAAC,MAAqB,EAAE,MAAc,EAAE,UAAkB;gBACpE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;YACpD,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,aAAa,EAAE;YACb,cAAc,EAAE,CAAC;YAEjB,YAAY,CACV,MAAqB,EACrB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,cAAyC,EACzC,aAAwC,EACxC,aAAwC,EACxC,gBAA2C,EAC3C,aAAwC,EACxC,QAAmC,EACnC,YAAuC,EACvC,UAAqC,EACrC,SAAoC,EACpC,UAAqC,EACrC,eAA2C,EAC3C,UAAkB;gBAElB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAEvD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;oBAC9B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACxC,CAAC;gBAED,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;oBAC7B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACvC,CAAC;gBAED,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;oBAC7B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACvC,CAAC;gBAED,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;oBACjC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC1C,CAAC;gBAED,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;oBAC9B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACvC,CAAC;gBAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;oBACxB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACvB,CAAC;gBAED,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;oBAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAC3B,CAAC;gBAED,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzB,CAAC;gBAED,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACxB,CAAC;gBAED,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzB,CAAC;gBAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;oBAC/B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBAC1C,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,aAAa,EAAE;YACb,cAAc,EAAE,CAAC;YAEjB,YAAY,CACV,MAAqB,EACrB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,UAAkB;gBAElB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAEvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,cAAc,EAAE;YACd,cAAc,EAAE,CAAC;YAEjB,YAAY,CACV,MAAqB,EACrB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,UAAkB;gBAElB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAEvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,mBAAmB,EAAE;YACnB,cAAc,EAAE,CAAC;YAEjB,YAAY,CACV,MAAqB,EACrB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,UAAkB;gBAElB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACvD,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAE7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,mBAAmB,EAAE;YACnB,cAAc,EAAE,CAAC;YAEjB,YAAY,CACV,MAAqB,EACrB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,UAAkB;gBAElB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACvD,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAE7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;QAED,aAAa,EAAE;YACb,cAAc,EAAE,CAAC;YAEjB,YAAY,CACV,MAAqB,EACrB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,UAAkB;gBAElB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACvD,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAC7D,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACnD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBACpD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;gBACtC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAElD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAED,cAAc,EAAE,SAAqC;SACtD;KACF;CACO,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../../src/modules/target/target.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA"}