@buunguyen3589/collections-module 1.0.0

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 (213) hide show
  1. package/dist/app/index.d.ts +1 -0
  2. package/dist/app/index.js +17 -0
  3. package/dist/app/usecases/command/create-collection.usecase.d.ts +16 -0
  4. package/dist/app/usecases/command/create-collection.usecase.js +66 -0
  5. package/dist/app/usecases/command/delete-collection.usecase.d.ts +13 -0
  6. package/dist/app/usecases/command/delete-collection.usecase.js +57 -0
  7. package/dist/app/usecases/command/index.d.ts +5 -0
  8. package/dist/app/usecases/command/index.js +21 -0
  9. package/dist/app/usecases/command/post-collection/index.d.ts +1 -0
  10. package/dist/app/usecases/command/post-collection/index.js +17 -0
  11. package/dist/app/usecases/command/post-collection/upsert-post-collection.usecase.d.ts +14 -0
  12. package/dist/app/usecases/command/post-collection/upsert-post-collection.usecase.js +63 -0
  13. package/dist/app/usecases/command/product-collection/add-all-products-collection.usecase.d.ts +24 -0
  14. package/dist/app/usecases/command/product-collection/add-all-products-collection.usecase.js +93 -0
  15. package/dist/app/usecases/command/product-collection/create-product-collection.usecase.d.ts +24 -0
  16. package/dist/app/usecases/command/product-collection/create-product-collection.usecase.js +94 -0
  17. package/dist/app/usecases/command/product-collection/delete-product-collection.usecase.d.ts +14 -0
  18. package/dist/app/usecases/command/product-collection/delete-product-collection.usecase.js +56 -0
  19. package/dist/app/usecases/command/product-collection/index.d.ts +3 -0
  20. package/dist/app/usecases/command/product-collection/index.js +19 -0
  21. package/dist/app/usecases/command/update-collection.usecase.d.ts +15 -0
  22. package/dist/app/usecases/command/update-collection.usecase.js +73 -0
  23. package/dist/app/usecases/index.d.ts +2 -0
  24. package/dist/app/usecases/index.js +18 -0
  25. package/dist/app/usecases/query/get-detail-collection.usecase.d.ts +36 -0
  26. package/dist/app/usecases/query/get-detail-collection.usecase.js +216 -0
  27. package/dist/app/usecases/query/get-list-collection.usecase.d.ts +23 -0
  28. package/dist/app/usecases/query/get-list-collection.usecase.js +96 -0
  29. package/dist/app/usecases/query/get-products-by-collections-internal.usecase.d.ts +19 -0
  30. package/dist/app/usecases/query/get-products-by-collections-internal.usecase.js +65 -0
  31. package/dist/app/usecases/query/get-products-by-collections.usecase.d.ts +44 -0
  32. package/dist/app/usecases/query/get-products-by-collections.usecase.js +130 -0
  33. package/dist/app/usecases/query/index.d.ts +4 -0
  34. package/dist/app/usecases/query/index.js +20 -0
  35. package/dist/collection.module.d.ts +2 -0
  36. package/dist/collection.module.js +62 -0
  37. package/dist/domain/aggregates/enums/collection.enum.d.ts +5 -0
  38. package/dist/domain/aggregates/enums/collection.enum.js +9 -0
  39. package/dist/domain/aggregates/enums/index.d.ts +1 -0
  40. package/dist/domain/aggregates/enums/index.js +17 -0
  41. package/dist/domain/aggregates/index.d.ts +2 -0
  42. package/dist/domain/aggregates/index.js +18 -0
  43. package/dist/domain/aggregates/types/collection.type.d.ts +14 -0
  44. package/dist/domain/aggregates/types/collection.type.js +2 -0
  45. package/dist/domain/aggregates/types/index.d.ts +3 -0
  46. package/dist/domain/aggregates/types/index.js +19 -0
  47. package/dist/domain/aggregates/types/post-collection.type.d.ts +12 -0
  48. package/dist/domain/aggregates/types/post-collection.type.js +2 -0
  49. package/dist/domain/aggregates/types/product-collection.type.d.ts +11 -0
  50. package/dist/domain/aggregates/types/product-collection.type.js +2 -0
  51. package/dist/domain/builders/collection.builder.d.ts +8 -0
  52. package/dist/domain/builders/collection.builder.js +38 -0
  53. package/dist/domain/builders/index.d.ts +3 -0
  54. package/dist/domain/builders/index.js +19 -0
  55. package/dist/domain/builders/post-collection.builder.d.ts +8 -0
  56. package/dist/domain/builders/post-collection.builder.js +38 -0
  57. package/dist/domain/builders/product-collection.builder.d.ts +8 -0
  58. package/dist/domain/builders/product-collection.builder.js +38 -0
  59. package/dist/domain/consts/event-collection.name.const.d.ts +5 -0
  60. package/dist/domain/consts/event-collection.name.const.js +8 -0
  61. package/dist/domain/consts/event-post-collection.name.const.d.ts +6 -0
  62. package/dist/domain/consts/event-post-collection.name.const.js +9 -0
  63. package/dist/domain/consts/event-product-collection.name.const.d.ts +5 -0
  64. package/dist/domain/consts/event-product-collection.name.const.js +8 -0
  65. package/dist/domain/consts/index.d.ts +3 -0
  66. package/dist/domain/consts/index.js +19 -0
  67. package/dist/domain/dtos/collection.dto.d.ts +4 -0
  68. package/dist/domain/dtos/collection.dto.js +2 -0
  69. package/dist/domain/dtos/index.d.ts +3 -0
  70. package/dist/domain/dtos/index.js +19 -0
  71. package/dist/domain/dtos/post-collection.dto.d.ts +4 -0
  72. package/dist/domain/dtos/post-collection.dto.js +2 -0
  73. package/dist/domain/dtos/product-collection.dto.d.ts +4 -0
  74. package/dist/domain/dtos/product-collection.dto.js +2 -0
  75. package/dist/domain/entities/collection.entity.d.ts +40 -0
  76. package/dist/domain/entities/collection.entity.js +87 -0
  77. package/dist/domain/entities/index.d.ts +3 -0
  78. package/dist/domain/entities/index.js +19 -0
  79. package/dist/domain/entities/post-collection.entity.d.ts +33 -0
  80. package/dist/domain/entities/post-collection.entity.js +70 -0
  81. package/dist/domain/entities/product-collection.entity.d.ts +30 -0
  82. package/dist/domain/entities/product-collection.entity.js +55 -0
  83. package/dist/domain/index.d.ts +6 -0
  84. package/dist/domain/index.js +22 -0
  85. package/dist/domain/mappers/collection.mapper.d.ts +11 -0
  86. package/dist/domain/mappers/collection.mapper.js +56 -0
  87. package/dist/domain/mappers/index.d.ts +3 -0
  88. package/dist/domain/mappers/index.js +19 -0
  89. package/dist/domain/mappers/post-collection.mapper.d.ts +11 -0
  90. package/dist/domain/mappers/post-collection.mapper.js +50 -0
  91. package/dist/domain/mappers/product-collection.mapper.d.ts +11 -0
  92. package/dist/domain/mappers/product-collection.mapper.js +48 -0
  93. package/dist/domain/repositories/collection.repository.d.ts +21 -0
  94. package/dist/domain/repositories/collection.repository.js +93 -0
  95. package/dist/domain/repositories/index.d.ts +3 -0
  96. package/dist/domain/repositories/index.js +19 -0
  97. package/dist/domain/repositories/post-collection.repository.d.ts +21 -0
  98. package/dist/domain/repositories/post-collection.repository.js +107 -0
  99. package/dist/domain/repositories/product-collection.repository.d.ts +21 -0
  100. package/dist/domain/repositories/product-collection.repository.js +98 -0
  101. package/dist/index.d.ts +5 -0
  102. package/dist/index.js +23 -0
  103. package/dist/infra/daos/collection.dao.d.ts +7 -0
  104. package/dist/infra/daos/collection.dao.js +36 -0
  105. package/dist/infra/daos/index.d.ts +3 -0
  106. package/dist/infra/daos/index.js +19 -0
  107. package/dist/infra/daos/post-collection.dao.d.ts +10 -0
  108. package/dist/infra/daos/post-collection.dao.js +70 -0
  109. package/dist/infra/daos/product-collection.dao.d.ts +9 -0
  110. package/dist/infra/daos/product-collection.dao.js +69 -0
  111. package/dist/infra/event-handlers/collection.event-emitter.d.ts +6 -0
  112. package/dist/infra/event-handlers/collection.event-emitter.js +27 -0
  113. package/dist/infra/event-handlers/index.d.ts +3 -0
  114. package/dist/infra/event-handlers/index.js +19 -0
  115. package/dist/infra/event-handlers/post-collection.event-emitter.d.ts +6 -0
  116. package/dist/infra/event-handlers/post-collection.event-emitter.js +27 -0
  117. package/dist/infra/event-handlers/product-collection.event-emitter.d.ts +6 -0
  118. package/dist/infra/event-handlers/product-collection.event-emitter.js +27 -0
  119. package/dist/infra/filters/collection.filter.d.ts +25 -0
  120. package/dist/infra/filters/collection.filter.js +84 -0
  121. package/dist/infra/filters/index.d.ts +3 -0
  122. package/dist/infra/filters/index.js +19 -0
  123. package/dist/infra/filters/post-collection.filter.d.ts +16 -0
  124. package/dist/infra/filters/post-collection.filter.js +54 -0
  125. package/dist/infra/filters/product-collection.filter.d.ts +13 -0
  126. package/dist/infra/filters/product-collection.filter.js +44 -0
  127. package/dist/infra/index.d.ts +6 -0
  128. package/dist/infra/index.js +22 -0
  129. package/dist/infra/mappers/collection.mapper.d.ts +8 -0
  130. package/dist/infra/mappers/collection.mapper.js +31 -0
  131. package/dist/infra/mappers/index.d.ts +3 -0
  132. package/dist/infra/mappers/index.js +19 -0
  133. package/dist/infra/mappers/post-collection.mapper.d.ts +8 -0
  134. package/dist/infra/mappers/post-collection.mapper.js +25 -0
  135. package/dist/infra/mappers/product-collection.mapper.d.ts +8 -0
  136. package/dist/infra/mappers/product-collection.mapper.js +24 -0
  137. package/dist/infra/query-configs/collection.query-config.d.ts +3 -0
  138. package/dist/infra/query-configs/collection.query-config.js +46 -0
  139. package/dist/infra/query-configs/index.d.ts +3 -0
  140. package/dist/infra/query-configs/index.js +19 -0
  141. package/dist/infra/query-configs/post-collection.query-config.d.ts +3 -0
  142. package/dist/infra/query-configs/post-collection.query-config.js +31 -0
  143. package/dist/infra/query-configs/product-collection.query-config.d.ts +3 -0
  144. package/dist/infra/query-configs/product-collection.query-config.js +26 -0
  145. package/dist/infra/records/collection.record.d.ts +11 -0
  146. package/dist/infra/records/collection.record.js +2 -0
  147. package/dist/infra/records/index.d.ts +3 -0
  148. package/dist/infra/records/index.js +19 -0
  149. package/dist/infra/records/post-collection.record.d.ts +7 -0
  150. package/dist/infra/records/post-collection.record.js +2 -0
  151. package/dist/infra/records/product-collection.record.d.ts +7 -0
  152. package/dist/infra/records/product-collection.record.js +2 -0
  153. package/dist/presentation/controllers/index.d.ts +2 -0
  154. package/dist/presentation/controllers/index.js +18 -0
  155. package/dist/presentation/controllers/internals/index.d.ts +1 -0
  156. package/dist/presentation/controllers/internals/index.js +17 -0
  157. package/dist/presentation/controllers/internals/product-collection.internal.rest.d.ts +8 -0
  158. package/dist/presentation/controllers/internals/product-collection.internal.rest.js +45 -0
  159. package/dist/presentation/controllers/storefront/collection.storefront.rest.d.ts +26 -0
  160. package/dist/presentation/controllers/storefront/collection.storefront.rest.js +155 -0
  161. package/dist/presentation/controllers/storefront/index.d.ts +3 -0
  162. package/dist/presentation/controllers/storefront/index.js +19 -0
  163. package/dist/presentation/controllers/storefront/post-collection.storefront.d.ts +7 -0
  164. package/dist/presentation/controllers/storefront/post-collection.storefront.js +37 -0
  165. package/dist/presentation/controllers/storefront/product-collection.storefront.rest.d.ts +5 -0
  166. package/dist/presentation/controllers/storefront/product-collection.storefront.rest.js +50 -0
  167. package/dist/presentation/index.d.ts +1 -0
  168. package/dist/presentation/index.js +17 -0
  169. package/dist/shared/configs/index.d.ts +1 -0
  170. package/dist/shared/configs/index.js +17 -0
  171. package/dist/shared/configs/pagination.config.d.ts +4 -0
  172. package/dist/shared/configs/pagination.config.js +7 -0
  173. package/dist/shared/constants/collection-inject-tokens.const.d.ts +56 -0
  174. package/dist/shared/constants/collection-inject-tokens.const.js +61 -0
  175. package/dist/shared/constants/collection-table-names.const.d.ts +12 -0
  176. package/dist/shared/constants/collection-table-names.const.js +16 -0
  177. package/dist/shared/constants/component-inject-tokens.const.d.ts +7 -0
  178. package/dist/shared/constants/component-inject-tokens.const.js +11 -0
  179. package/dist/shared/constants/error-codes.const.d.ts +6 -0
  180. package/dist/shared/constants/error-codes.const.js +10 -0
  181. package/dist/shared/constants/index.d.ts +4 -0
  182. package/dist/shared/constants/index.js +21 -0
  183. package/dist/shared/core/filter.d.ts +80 -0
  184. package/dist/shared/core/filter.js +554 -0
  185. package/dist/shared/core/index.d.ts +1 -0
  186. package/dist/shared/core/index.js +17 -0
  187. package/dist/shared/index.d.ts +5 -0
  188. package/dist/shared/index.js +21 -0
  189. package/dist/shared/interfaces/ambassador-dao.interface.d.ts +5 -0
  190. package/dist/shared/interfaces/ambassador-dao.interface.js +2 -0
  191. package/dist/shared/interfaces/ambassador-usecase.interface.d.ts +16 -0
  192. package/dist/shared/interfaces/ambassador-usecase.interface.js +2 -0
  193. package/dist/shared/interfaces/campaign-service.interface.d.ts +3 -0
  194. package/dist/shared/interfaces/campaign-service.interface.js +4 -0
  195. package/dist/shared/interfaces/index.d.ts +6 -0
  196. package/dist/shared/interfaces/index.js +22 -0
  197. package/dist/shared/interfaces/post-product-dao.interface.d.ts +8 -0
  198. package/dist/shared/interfaces/post-product-dao.interface.js +2 -0
  199. package/dist/shared/interfaces/product-service.interface.d.ts +6 -0
  200. package/dist/shared/interfaces/product-service.interface.js +2 -0
  201. package/dist/shared/interfaces/ugc-management-service.interface.d.ts +11 -0
  202. package/dist/shared/interfaces/ugc-management-service.interface.js +2 -0
  203. package/dist/shared/types/common.type.d.ts +4 -0
  204. package/dist/shared/types/common.type.js +2 -0
  205. package/dist/shared/types/discount.enum.d.ts +4 -0
  206. package/dist/shared/types/discount.enum.js +8 -0
  207. package/dist/shared/types/index.d.ts +4 -0
  208. package/dist/shared/types/index.js +20 -0
  209. package/dist/shared/types/shopify.type.d.ts +28 -0
  210. package/dist/shared/types/shopify.type.js +2 -0
  211. package/dist/shared/types/ugc.type.d.ts +41 -0
  212. package/dist/shared/types/ugc.type.js +2 -0
  213. package/package.json +56 -0
@@ -0,0 +1,56 @@
1
+ export declare const COLLECTION_INJECT_TOKENS: {
2
+ readonly EVENT_EMITTER: {
3
+ readonly COLLECTION: "collection-module.event-emitter.collection";
4
+ readonly PRODUCT_COLLECTION: "collection-module.event-emitter.product-collection";
5
+ readonly POST_COLLECTION: "collection-module.event-emitter.post-collection";
6
+ readonly POST_PRODUCT: "post-module.event-emitter.post-product";
7
+ };
8
+ readonly DAO: {
9
+ readonly COLLECTION: "collection-module.dao.collection";
10
+ readonly PRODUCT_COLLECTION: "collection-module.dao.product-collection";
11
+ readonly POST_COLLECTION: "collection-module.dao.post-collection";
12
+ readonly POST_PRODUCT: "post-module.dao.post-product";
13
+ readonly AMBASSADOR: "ambassador-module.dao.ambassador";
14
+ };
15
+ readonly MAPPER: {
16
+ readonly COLLECTION: "collection-module.mapper.collection";
17
+ readonly PRODUCT_COLLECTION: "collection-module.mapper.product-collection";
18
+ readonly POST_COLLECTION: "collection-module.mapper.post-collection";
19
+ readonly POST_PRODUCT: "post-module.mapper.post-product";
20
+ };
21
+ readonly BUILDER: {
22
+ readonly COLLECTION: "collection-module.builder.collection";
23
+ readonly PRODUCT_COLLECTION: "collection-module.builder.product-collection";
24
+ readonly POST_COLLECTION: "collection-module.builder.post-collection";
25
+ readonly POST_PRODUCT: "post-module.builder.post-product";
26
+ };
27
+ readonly REPOSITORY: {
28
+ readonly COLLECTION: "collection-module.repository.collection";
29
+ readonly PRODUCT_COLLECTION: "collection-module.repository.product-collection";
30
+ readonly POST_COLLECTION: "collection-module.repository.post-collection";
31
+ readonly POST_PRODUCT: "post-module.repository.post-product";
32
+ };
33
+ readonly USECASE: {
34
+ readonly COLLECTION_GET_LIST: "collection-module.usecase.get-list";
35
+ readonly COLLECTION_GET_DETAIL: "collection-module.usecase.get-detail";
36
+ readonly COLLECTION_CREATE: "collection-module.usecase.create";
37
+ readonly COLLECTION_UPDATE: "collection-module.usecase.update";
38
+ readonly COLLECTION_DELETE: "collection-module.usecase.delete";
39
+ readonly GET_PRODUCTS_BY_COLLECTIONS: "collection-module.usecase.get-products-by-collections";
40
+ readonly GET_PRODUCTS_BY_COLLECTIONS_INTERNAL: "collection-module.usecase.get-products-by-collections-internal";
41
+ readonly PRODUCT_COLLECTION_CREATE: "collection-module.usecase.product-collection-create";
42
+ readonly PRODUCT_COLLECTION_DELETE: "collection-module.usecase.product-collection-delete";
43
+ readonly PRODUCT_COLLECTION_ADD_ALL: "collection-module.usecase.product-collection-add-all";
44
+ readonly POST_COLLECTION_GET_LIST: "collection-module.usecase.post-collection-get-list";
45
+ readonly POST_COLLECTION_UPSERT: "collection-module.usecase.post-collection-upsert";
46
+ readonly POST_PRODUCT_GET_DETAIL: "post-module.usecase.post-product-get-detail";
47
+ readonly POST_PRODUCT_CREATE: "post-module.usecase.post-product-create";
48
+ readonly POST_PRODUCT_DELETE: "post-module.usecase.post-product-delete";
49
+ readonly POST_PRODUCT_ADD_ALL: "post-module.usecase.post-product-add-all";
50
+ readonly GET_AMBASSADOR_BY_ID: "ambassador-module.usecase.get-ambassador-by-id";
51
+ };
52
+ readonly PROVIDER: {
53
+ readonly TENANT: "authentication-module.provider.tenant";
54
+ readonly AUTHENTICATION_CONNECTOR: "authentication-module.provider.authentication_connector";
55
+ };
56
+ };
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COLLECTION_INJECT_TOKENS = void 0;
4
+ exports.COLLECTION_INJECT_TOKENS = {
5
+ EVENT_EMITTER: {
6
+ COLLECTION: 'collection-module.event-emitter.collection',
7
+ PRODUCT_COLLECTION: 'collection-module.event-emitter.product-collection',
8
+ POST_COLLECTION: 'collection-module.event-emitter.post-collection',
9
+ POST_PRODUCT: 'post-module.event-emitter.post-product',
10
+ },
11
+ DAO: {
12
+ COLLECTION: 'collection-module.dao.collection',
13
+ PRODUCT_COLLECTION: 'collection-module.dao.product-collection',
14
+ POST_COLLECTION: 'collection-module.dao.post-collection',
15
+ POST_PRODUCT: 'post-module.dao.post-product',
16
+ // External dependency - Ambassador DAO
17
+ AMBASSADOR: 'ambassador-module.dao.ambassador',
18
+ },
19
+ MAPPER: {
20
+ COLLECTION: 'collection-module.mapper.collection',
21
+ PRODUCT_COLLECTION: 'collection-module.mapper.product-collection',
22
+ POST_COLLECTION: 'collection-module.mapper.post-collection',
23
+ POST_PRODUCT: 'post-module.mapper.post-product',
24
+ },
25
+ BUILDER: {
26
+ COLLECTION: 'collection-module.builder.collection',
27
+ PRODUCT_COLLECTION: 'collection-module.builder.product-collection',
28
+ POST_COLLECTION: 'collection-module.builder.post-collection',
29
+ POST_PRODUCT: 'post-module.builder.post-product',
30
+ },
31
+ REPOSITORY: {
32
+ COLLECTION: 'collection-module.repository.collection',
33
+ PRODUCT_COLLECTION: 'collection-module.repository.product-collection',
34
+ POST_COLLECTION: 'collection-module.repository.post-collection',
35
+ POST_PRODUCT: 'post-module.repository.post-product',
36
+ },
37
+ USECASE: {
38
+ COLLECTION_GET_LIST: 'collection-module.usecase.get-list',
39
+ COLLECTION_GET_DETAIL: 'collection-module.usecase.get-detail',
40
+ COLLECTION_CREATE: 'collection-module.usecase.create',
41
+ COLLECTION_UPDATE: 'collection-module.usecase.update',
42
+ COLLECTION_DELETE: 'collection-module.usecase.delete',
43
+ GET_PRODUCTS_BY_COLLECTIONS: 'collection-module.usecase.get-products-by-collections',
44
+ GET_PRODUCTS_BY_COLLECTIONS_INTERNAL: 'collection-module.usecase.get-products-by-collections-internal',
45
+ PRODUCT_COLLECTION_CREATE: 'collection-module.usecase.product-collection-create',
46
+ PRODUCT_COLLECTION_DELETE: 'collection-module.usecase.product-collection-delete',
47
+ PRODUCT_COLLECTION_ADD_ALL: 'collection-module.usecase.product-collection-add-all',
48
+ POST_COLLECTION_GET_LIST: 'collection-module.usecase.post-collection-get-list',
49
+ POST_COLLECTION_UPSERT: 'collection-module.usecase.post-collection-upsert',
50
+ POST_PRODUCT_GET_DETAIL: 'post-module.usecase.post-product-get-detail',
51
+ POST_PRODUCT_CREATE: 'post-module.usecase.post-product-create',
52
+ POST_PRODUCT_DELETE: 'post-module.usecase.post-product-delete',
53
+ POST_PRODUCT_ADD_ALL: 'post-module.usecase.post-product-add-all',
54
+ // External dependency - Ambassador UseCase
55
+ GET_AMBASSADOR_BY_ID: 'ambassador-module.usecase.get-ambassador-by-id',
56
+ },
57
+ PROVIDER: {
58
+ TENANT: 'authentication-module.provider.tenant',
59
+ AUTHENTICATION_CONNECTOR: 'authentication-module.provider.authentication_connector',
60
+ },
61
+ };
@@ -0,0 +1,12 @@
1
+ export declare const COLLECTION_TABLE_NAMES: {
2
+ readonly COLLECTION: `${string}abs_collections`;
3
+ readonly PRODUCT_COLLECTION: `${string}abs_products_collections`;
4
+ readonly POST_COLLECTION: `${string}abs_posts_collections`;
5
+ readonly POST_PRODUCT: `${string}abs_products_posts`;
6
+ };
7
+ export declare const COLLECTION_TABLE_NAMES_ALIAS: {
8
+ readonly COLLECTION: "main";
9
+ readonly PRODUCT_COLLECTION: "prc";
10
+ readonly POST_COLLECTION: "pc";
11
+ readonly POST_PRODUCT: "ppr";
12
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COLLECTION_TABLE_NAMES_ALIAS = exports.COLLECTION_TABLE_NAMES = void 0;
4
+ const TABLE_NAME_PREFIX = process.env.TABLE_NAME_PREFIX ?? '';
5
+ exports.COLLECTION_TABLE_NAMES = {
6
+ COLLECTION: `${TABLE_NAME_PREFIX}abs_collections`,
7
+ PRODUCT_COLLECTION: `${TABLE_NAME_PREFIX}abs_products_collections`,
8
+ POST_COLLECTION: `${TABLE_NAME_PREFIX}abs_posts_collections`,
9
+ POST_PRODUCT: `${TABLE_NAME_PREFIX}abs_products_posts`,
10
+ };
11
+ exports.COLLECTION_TABLE_NAMES_ALIAS = {
12
+ COLLECTION: 'main',
13
+ PRODUCT_COLLECTION: 'prc',
14
+ POST_COLLECTION: 'pc',
15
+ POST_PRODUCT: 'ppr',
16
+ };
@@ -0,0 +1,7 @@
1
+ export declare const COMPONENT_INJECT_TOKENS: {
2
+ readonly SERVICE: {
3
+ readonly UGC_MANAGEMENT_SERVICE: "ugc-management-module.service.ugc-management";
4
+ readonly CAMPAIGN_SERVICE: "campaign-service-module.service.campaign-service";
5
+ readonly PRODUCT_SERVICE: "product-service-module.service.product-service";
6
+ };
7
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COMPONENT_INJECT_TOKENS = void 0;
4
+ // Component inject tokens for external services used by Collection module
5
+ exports.COMPONENT_INJECT_TOKENS = {
6
+ SERVICE: {
7
+ UGC_MANAGEMENT_SERVICE: 'ugc-management-module.service.ugc-management',
8
+ CAMPAIGN_SERVICE: 'campaign-service-module.service.campaign-service',
9
+ PRODUCT_SERVICE: 'product-service-module.service.product-service',
10
+ },
11
+ };
@@ -0,0 +1,6 @@
1
+ export declare enum ERROR_CODES {
2
+ NOT_FOUND = 10000,
3
+ CODE_ALREADY_EXIST = 10001,
4
+ BAD_REQUEST = 10002,
5
+ UNAUTHORIZED = 10003
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERROR_CODES = void 0;
4
+ var ERROR_CODES;
5
+ (function (ERROR_CODES) {
6
+ ERROR_CODES[ERROR_CODES["NOT_FOUND"] = 10000] = "NOT_FOUND";
7
+ ERROR_CODES[ERROR_CODES["CODE_ALREADY_EXIST"] = 10001] = "CODE_ALREADY_EXIST";
8
+ ERROR_CODES[ERROR_CODES["BAD_REQUEST"] = 10002] = "BAD_REQUEST";
9
+ ERROR_CODES[ERROR_CODES["UNAUTHORIZED"] = 10003] = "UNAUTHORIZED";
10
+ })(ERROR_CODES = exports.ERROR_CODES || (exports.ERROR_CODES = {}));
@@ -0,0 +1,4 @@
1
+ export * from './collection-inject-tokens.const';
2
+ export * from './collection-table-names.const';
3
+ export * from './component-inject-tokens.const';
4
+ export * from './error-codes.const';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./collection-inject-tokens.const"), exports);
18
+ __exportStar(require("./collection-table-names.const"), exports);
19
+ __exportStar(require("./component-inject-tokens.const"), exports);
20
+ __exportStar(require("./error-codes.const"), exports);
21
+ // Note: ambassador-inject-tokens.const and posts-inject-tokens.const are used internally only
@@ -0,0 +1,80 @@
1
+ import { Knex } from 'knex';
2
+ export declare enum Operator {
3
+ EQUAL = "eq",
4
+ NOT_EQUAL = "neq",
5
+ NULL = "null",
6
+ NOT_NULL = "nnull",
7
+ LESS_THAN = "lt",
8
+ LESS_THAN_OR_EQUAL = "lte",
9
+ GREATER_THAN = "gt",
10
+ GREATER_THAN_OR_EQUAL = "gte",
11
+ START_WITH = "sw",
12
+ END_WITH = "ew",
13
+ CONTAIN = "ct",
14
+ IS = "is",
15
+ IS_NOT = "isnot",
16
+ IN = "in",
17
+ NIN = "nin",
18
+ 'AND:EQUAL' = "a:eq",
19
+ 'AND:NOT_EQUAL' = "a:neq",
20
+ 'AND:NULL' = "a:null",
21
+ 'AND:NOT_NULL' = "a:nnull",
22
+ 'AND:LESS_THAN' = "a:lt",
23
+ 'AND:LESS_THAN_OR_EQUAL' = "a:lte",
24
+ 'AND:GREATER_THAN' = "a:gt",
25
+ 'AND:GREATER_THAN_OR_EQUAL' = "a:gte",
26
+ 'AND:START_WITH' = "a:sw",
27
+ 'AND:END_WITH' = "a:ew",
28
+ 'AND:CONTAIN' = "a:ct",
29
+ 'AND:IS' = "a:is",
30
+ 'AND:IS_NOT' = "a:isnot",
31
+ 'OR:EQUAL' = "o:eq",
32
+ 'OR:NOT_EQUAL' = "o:neq",
33
+ 'OR:NULL' = "o:null",
34
+ 'OR:NOT_NULL' = "o:nnull",
35
+ 'OR:LESS_THAN' = "o:lt",
36
+ 'OR:LESS_THAN_OR_EQUAL' = "o:lte",
37
+ 'OR:GREATER_THAN' = "o:gt",
38
+ 'OR:GREATER_THAN_OR_EQUAL' = "o:gte",
39
+ 'OR:START_WITH' = "o:sw",
40
+ 'OR:END_WITH' = "o:ew",
41
+ 'OR:CONTAIN' = "o:ct",
42
+ 'OR:IS' = "o:is",
43
+ 'OR:IS_NOT' = "o:isnot"
44
+ }
45
+ export declare enum FilterTypes {
46
+ LOGICAL = 0,
47
+ NUMERIC = 1,
48
+ STRING = 2,
49
+ BOOLEAN = 3,
50
+ ARRAY = 4
51
+ }
52
+ export type FilterHanlder = (query: Knex.QueryBuilder, operator: string, value: FilterValue, compareField?: string) => void;
53
+ export type FilterValue = number | string | boolean | Filter[];
54
+ export type FilterPayload = {
55
+ operator: string;
56
+ value: FilterValue;
57
+ };
58
+ export type QueryConfig<T extends string = any> = Partial<{
59
+ [P in T]: {
60
+ sortable: boolean;
61
+ filterable: boolean;
62
+ filterClass?: typeof Filter;
63
+ aliasField?: string;
64
+ };
65
+ }>;
66
+ export declare class Filter {
67
+ readonly type: FilterTypes;
68
+ readonly operator: string;
69
+ readonly value: FilterValue;
70
+ readonly compareField?: string;
71
+ readonly requiredFields?: string[];
72
+ readonly handler?: FilterHanlder;
73
+ constructor({ type, operator, value, compareField, requiredFields, handler, }: FilterPayload & {
74
+ type: FilterTypes;
75
+ compareField?: string;
76
+ requiredFields?: string[];
77
+ handler?: FilterHanlder;
78
+ });
79
+ apply(query: Knex.QueryBuilder, compareField?: string, getFieldAlias?: (compareField: any) => string): void;
80
+ }