@winible/winible-typed 2.51.3 → 2.52.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 (212) hide show
  1. package/README.md +104 -104
  2. package/dist/event-collector-models/conversion-log.js +49 -0
  3. package/dist/event-collector-models/conversion-log.js.map +1 -0
  4. package/dist/event-collector-models/event-send-log.js +54 -0
  5. package/dist/event-collector-models/event-send-log.js.map +1 -0
  6. package/dist/event-collector-models/index.js +15 -0
  7. package/dist/event-collector-models/index.js.map +1 -0
  8. package/dist/event-collector-models/send-log.js +75 -0
  9. package/dist/event-collector-models/send-log.js.map +1 -0
  10. package/dist/event-collector-models/ts-sequelize.js +64 -0
  11. package/dist/event-collector-models/ts-sequelize.js.map +1 -0
  12. package/dist/index.js +19 -19
  13. package/dist/migrations/20230104055346-oddsjam.js +500 -500
  14. package/dist/migrations/20230104233909-markets.js +27 -27
  15. package/dist/migrations/20230105005418-sportsbook.js +23 -23
  16. package/dist/migrations/20230106044910-player-result.js +58 -58
  17. package/dist/migrations/20230206061925-stale.js +12 -12
  18. package/dist/migrations/20230313175015-league-user.js +28 -28
  19. package/dist/migrations/20230405141245-deprecate-agencies.js +8 -8
  20. package/dist/migrations/20230405142440-deprecate-unused-tables.js +22 -22
  21. package/dist/migrations/20230410144940-deprecate-consent-people.js +8 -8
  22. package/dist/migrations/20230410174328-deprecate-consent-people-table.js +8 -8
  23. package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js +8 -8
  24. package/dist/migrations/20230410202433-migrate-credit-payments-fields.js +11 -11
  25. package/dist/migrations/20230410211059-deprecate-credit-purchases.js +8 -8
  26. package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js +9 -9
  27. package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js +33 -33
  28. package/dist/migrations/20230411054826-create-users-table.js +140 -140
  29. package/dist/migrations/20230411202848-migrate_transactions_table.js +23 -23
  30. package/dist/migrations/20230411203543-migrate_league_users.js +8 -8
  31. package/dist/migrations/20230411205324-migrate_league.js +12 -12
  32. package/dist/migrations/20230411221159-migrate_media.js +8 -8
  33. package/dist/migrations/20230411221327-migrate_media_asset.js +9 -9
  34. package/dist/migrations/20230411221842-migrate_media_asset_fields.js +9 -9
  35. package/dist/migrations/20230411222018-migrate_notifications.js +24 -24
  36. package/dist/migrations/20230412190423-migrate_purchased_contents.js +9 -9
  37. package/dist/migrations/20230412202031-migrate_other_fields.js +26 -26
  38. package/dist/migrations/20230412213952-deprecate_phone_users_and_phone_owners.js +26 -26
  39. package/dist/migrations/20241123184623-recurly-payment-monitoring-whitelist.js +33 -0
  40. package/dist/migrations/20241123184623-recurly-payment-monitoring-whitelist.js.map +1 -0
  41. package/dist/migrations/20241123184623-whitelist.js +36 -36
  42. package/dist/migrations/20241204220824-pumping-risk-score-monitoring-table.js +47 -47
  43. package/dist/migrations/20241205003230-failed-transactions.js +67 -67
  44. package/dist/migrations/20241216145328-password-tokens.js +33 -33
  45. package/dist/scripts/cleanupRecurlyPlans.js +49 -49
  46. package/dist/scripts/deleteMalformedImages.js +86 -86
  47. package/dist/scripts/test.js +17 -17
  48. package/dist/src/index.js +8 -8
  49. package/dist/src/recurlyInstance.js +32 -32
  50. package/dist/src/types.js +86 -86
  51. package/dist/support/index.js +18 -18
  52. package/dist/support/slack-client.js +50 -50
  53. package/dist/support/uploadcare.js +142 -142
  54. package/dist/support/utils.js +68 -68
  55. package/dist/typed-model/affiliate-code.js +97 -97
  56. package/dist/typed-model/affiliate-links-types.js +28 -28
  57. package/dist/typed-model/application.js +89 -89
  58. package/dist/typed-model/bet.js +111 -111
  59. package/dist/typed-model/campaign-message.js +75 -78
  60. package/dist/typed-model/campaign-message.js.map +1 -1
  61. package/dist/typed-model/campaign-template.js +62 -67
  62. package/dist/typed-model/campaign-template.js.map +1 -1
  63. package/dist/typed-model/campaign.js +80 -78
  64. package/dist/typed-model/campaign.js.map +1 -1
  65. package/dist/typed-model/cancellation_offer.js +70 -70
  66. package/dist/typed-model/cancellation_reason.js +98 -98
  67. package/dist/typed-model/content-like.js +69 -69
  68. package/dist/typed-model/coupon_redemptions.js +64 -64
  69. package/dist/typed-model/creator-service-fee.js +50 -50
  70. package/dist/typed-model/discord-integration-log.js +62 -62
  71. package/dist/typed-model/discord-integration.js +128 -128
  72. package/dist/typed-model/failed-transactions.js +95 -95
  73. package/dist/typed-model/featured-creator.js +51 -51
  74. package/dist/typed-model/free-subscription-plan.js +66 -66
  75. package/dist/typed-model/index.js +129 -139
  76. package/dist/typed-model/index.js.map +1 -1
  77. package/dist/typed-model/integration.js +58 -58
  78. package/dist/typed-model/league-on-users.js +59 -59
  79. package/dist/typed-model/league.js +34 -34
  80. package/dist/typed-model/limited-offer.js +58 -58
  81. package/dist/typed-model/media-asset.js +63 -63
  82. package/dist/typed-model/media.js +54 -54
  83. package/dist/typed-model/migration-token.js +52 -52
  84. package/dist/typed-model/notification-preference.js +58 -58
  85. package/dist/typed-model/notification.js +89 -89
  86. package/dist/typed-model/organization.js +57 -57
  87. package/dist/typed-model/password-tokens.js +36 -36
  88. package/dist/typed-model/pb-sequelize.js +43 -43
  89. package/dist/typed-model/permission.js +36 -36
  90. package/dist/typed-model/post.js +128 -128
  91. package/dist/typed-model/post_on_integrations.js +81 -81
  92. package/dist/typed-model/posts-on-users.js +92 -92
  93. package/dist/typed-model/private-feed-users.js +42 -42
  94. package/dist/typed-model/pumping-risk-score-monitoring.js +54 -54
  95. package/dist/typed-model/recurly-account.js +33 -33
  96. package/dist/typed-model/recurly-payment-monitoring-whitelist.js +45 -0
  97. package/dist/typed-model/recurly-payment-monitoring-whitelist.js.map +1 -0
  98. package/dist/typed-model/sample.js +24 -24
  99. package/dist/typed-model/segment.js +51 -52
  100. package/dist/typed-model/segment.js.map +1 -1
  101. package/dist/typed-model/sms-custom-message.js +46 -46
  102. package/dist/typed-model/sport-on-posts.js +58 -58
  103. package/dist/typed-model/sport.js +29 -29
  104. package/dist/typed-model/store.js +152 -152
  105. package/dist/typed-model/stores_on_organizations.js +55 -55
  106. package/dist/typed-model/subscriber-discord-integration.js +82 -82
  107. package/dist/typed-model/subscriber-telegram-integration.js +82 -82
  108. package/dist/typed-model/subscribers-on-creators.js +80 -80
  109. package/dist/typed-model/subscription-coupon.js +96 -96
  110. package/dist/typed-model/subscription-plan-on-post.js +54 -54
  111. package/dist/typed-model/subscription-plan-on-users.js +143 -143
  112. package/dist/typed-model/subscription-plan.js +121 -121
  113. package/dist/typed-model/subscription-pricing-option-on-coupons.js +54 -54
  114. package/dist/typed-model/subscription-pricing-option.js +77 -77
  115. package/dist/typed-model/telegram-integration-code.js +38 -38
  116. package/dist/typed-model/telegram-integration-invite-link.js +38 -38
  117. package/dist/typed-model/telegram-integration-log.js +62 -62
  118. package/dist/typed-model/telegram-integration.js +109 -109
  119. package/dist/typed-model/transaction.js +109 -109
  120. package/dist/typed-model/trigger.js +63 -65
  121. package/dist/typed-model/trigger.js.map +1 -1
  122. package/dist/typed-model/user-cookie-preference.js +53 -53
  123. package/dist/typed-model/user-review.js +66 -66
  124. package/dist/typed-model/user-transaction-location.js +89 -89
  125. package/dist/typed-model/user.js +210 -210
  126. package/dist/typed-model/users-on-permissions.js +71 -71
  127. package/dist/typed-model/users_on_creators.js +70 -70
  128. package/dist/typed-model/users_on_organizations.js +55 -55
  129. package/dist/typed-model/whitelist.js +48 -48
  130. package/dist/typed-model/withdrawal.js +32 -32
  131. package/dist/webhooks/index.js +47 -47
  132. package/dist/webhooks/payment/index.js +8 -8
  133. package/dist/webhooks/payment/refund.js +38 -38
  134. package/index.ts +3 -3
  135. package/package.json +78 -79
  136. package/src/index.ts +1 -1
  137. package/src/recurlyInstance.ts +6 -6
  138. package/src/types.ts +139 -139
  139. package/support/index.ts +2 -2
  140. package/support/slack-client.ts +43 -43
  141. package/support/uploadcare.ts +191 -191
  142. package/support/utils.ts +72 -72
  143. package/typed-model/affiliate-code.ts +133 -133
  144. package/typed-model/affiliate-links-types.ts +45 -45
  145. package/typed-model/application.ts +124 -124
  146. package/typed-model/bet.ts +149 -149
  147. package/typed-model/campaign-message.ts +112 -115
  148. package/typed-model/campaign-template.ts +83 -89
  149. package/typed-model/campaign.ts +119 -121
  150. package/typed-model/cancellation_offer.ts +94 -94
  151. package/typed-model/cancellation_reason.ts +135 -135
  152. package/typed-model/content-like.ts +95 -95
  153. package/typed-model/coupon_redemptions.ts +90 -90
  154. package/typed-model/creator-service-fee.ts +69 -69
  155. package/typed-model/discord-integration-log.ts +87 -87
  156. package/typed-model/discord-integration.ts +164 -164
  157. package/typed-model/failed-transactions.ts +123 -123
  158. package/typed-model/featured-creator.ts +75 -75
  159. package/typed-model/free-subscription-plan.ts +97 -97
  160. package/typed-model/index.ts +61 -67
  161. package/typed-model/integration.ts +83 -83
  162. package/typed-model/league-on-users.ts +81 -81
  163. package/typed-model/league.ts +53 -53
  164. package/typed-model/limited-offer.ts +80 -80
  165. package/typed-model/media-asset.ts +87 -87
  166. package/typed-model/media.ts +80 -80
  167. package/typed-model/migration-token.ts +75 -75
  168. package/typed-model/notification-preference.ts +85 -85
  169. package/typed-model/notification.ts +135 -135
  170. package/typed-model/organization.ts +80 -80
  171. package/typed-model/password-tokens.ts +55 -55
  172. package/typed-model/pb-sequelize.ts +44 -44
  173. package/typed-model/permission.ts +62 -62
  174. package/typed-model/post.ts +170 -170
  175. package/typed-model/post_on_integrations.ts +104 -104
  176. package/typed-model/posts-on-users.ts +122 -122
  177. package/typed-model/private-feed-users.ts +63 -63
  178. package/typed-model/pumping-risk-score-monitoring.ts +73 -73
  179. package/typed-model/recurly-account.ts +51 -51
  180. package/typed-model/sample.ts +41 -41
  181. package/typed-model/segment.ts +79 -80
  182. package/typed-model/sms-custom-message.ts +66 -66
  183. package/typed-model/sport-on-posts.ts +80 -80
  184. package/typed-model/sport.ts +46 -46
  185. package/typed-model/store.ts +203 -203
  186. package/typed-model/stores_on_organizations.ts +78 -78
  187. package/typed-model/subscriber-discord-integration.ts +109 -109
  188. package/typed-model/subscriber-telegram-integration.ts +109 -109
  189. package/typed-model/subscribers-on-creators.ts +107 -107
  190. package/typed-model/subscription-coupon.ts +133 -133
  191. package/typed-model/subscription-plan-on-post.ts +77 -77
  192. package/typed-model/subscription-plan-on-users.ts +201 -201
  193. package/typed-model/subscription-plan.ts +173 -173
  194. package/typed-model/subscription-pricing-option-on-coupons.ts +78 -78
  195. package/typed-model/subscription-pricing-option.ts +106 -106
  196. package/typed-model/telegram-integration-code.ts +60 -60
  197. package/typed-model/telegram-integration-invite-link.ts +59 -59
  198. package/typed-model/telegram-integration-log.ts +86 -86
  199. package/typed-model/telegram-integration.ts +141 -141
  200. package/typed-model/transaction.ts +159 -159
  201. package/typed-model/trigger.ts +93 -95
  202. package/typed-model/user-cookie-preference.ts +71 -71
  203. package/typed-model/user-review.ts +87 -87
  204. package/typed-model/user-transaction-location.ts +117 -117
  205. package/typed-model/user.ts +273 -273
  206. package/typed-model/users-on-permissions.ts +96 -96
  207. package/typed-model/users_on_creators.ts +95 -95
  208. package/typed-model/users_on_organizations.ts +78 -78
  209. package/typed-model/whitelist.ts +66 -66
  210. package/typed-model/withdrawal.ts +50 -50
  211. package/dist/scripts/testModels.js +0 -57
  212. package/dist/scripts/testModels.js.map +0 -1
@@ -1,68 +1,63 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const sequelize_1 = require("sequelize");
7
- const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
- const types_1 = require("../src/types");
9
- class CampaignTemplate extends sequelize_1.Model {
10
- }
11
- CampaignTemplate.init({
12
- id: {
13
- type: sequelize_1.DataTypes.INTEGER,
14
- primaryKey: true,
15
- autoIncrement: true,
16
- },
17
- name: {
18
- type: sequelize_1.DataTypes.STRING(255),
19
- allowNull: false,
20
- unique: true,
21
- },
22
- displayName: {
23
- type: sequelize_1.DataTypes.STRING(255),
24
- allowNull: false,
25
- field: "display_name",
26
- },
27
- description: {
28
- type: sequelize_1.DataTypes.STRING(255),
29
- allowNull: false,
30
- field: "description",
31
- },
32
- type: {
33
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.CampaignType)),
34
- allowNull: false,
35
- },
36
- channels: {
37
- type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageChannel))),
38
- allowNull: false,
39
- },
40
- triggerEventType: {
41
- type: sequelize_1.DataTypes.STRING(255),
42
- allowNull: false,
43
- field: "trigger_event_type",
44
- },
45
- segmentOptions: {
46
- type: sequelize_1.DataTypes.JSONB,
47
- field: "segment_options",
48
- },
49
- templatePrompt: {
50
- type: sequelize_1.DataTypes.JSONB,
51
- field: "template_prompt",
52
- },
53
- createdAt: {
54
- type: sequelize_1.DataTypes.DATE,
55
- field: "created_at",
56
- defaultValue: sequelize_1.DataTypes.NOW,
57
- },
58
- updatedAt: {
59
- type: sequelize_1.DataTypes.DATE,
60
- field: "updated_at",
61
- defaultValue: sequelize_1.DataTypes.NOW,
62
- },
63
- }, {
64
- tableName: "campaign_template",
65
- sequelize: pb_sequelize_1.default,
66
- });
67
- exports.default = CampaignTemplate;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const sequelize_1 = require("sequelize");
7
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
+ const types_1 = require("../src/types");
9
+ class CampaignTemplate extends sequelize_1.Model {
10
+ }
11
+ CampaignTemplate.init({
12
+ id: {
13
+ type: sequelize_1.DataTypes.INTEGER,
14
+ primaryKey: true,
15
+ autoIncrement: true,
16
+ },
17
+ name: {
18
+ type: sequelize_1.DataTypes.STRING(255),
19
+ allowNull: false,
20
+ unique: true,
21
+ },
22
+ displayName: {
23
+ type: sequelize_1.DataTypes.STRING(255),
24
+ allowNull: false,
25
+ field: "display_name",
26
+ },
27
+ type: {
28
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.CampaignType)),
29
+ allowNull: false,
30
+ },
31
+ channels: {
32
+ type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageChannel))),
33
+ allowNull: false,
34
+ },
35
+ triggerEventType: {
36
+ type: sequelize_1.DataTypes.STRING(255),
37
+ allowNull: false,
38
+ field: "trigger_event_type",
39
+ },
40
+ segmentOptions: {
41
+ type: sequelize_1.DataTypes.JSONB,
42
+ field: "segment_options",
43
+ },
44
+ templatePrompt: {
45
+ type: sequelize_1.DataTypes.JSONB,
46
+ field: "template_prompt",
47
+ },
48
+ createdAt: {
49
+ type: sequelize_1.DataTypes.DATE,
50
+ field: "created_at",
51
+ defaultValue: sequelize_1.DataTypes.NOW,
52
+ },
53
+ updatedAt: {
54
+ type: sequelize_1.DataTypes.DATE,
55
+ field: "updated_at",
56
+ defaultValue: sequelize_1.DataTypes.NOW,
57
+ },
58
+ }, {
59
+ tableName: "campaign_template",
60
+ sequelize: pb_sequelize_1.default,
61
+ });
62
+ exports.default = CampaignTemplate;
68
63
  //# sourceMappingURL=campaign-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-template.js","sourceRoot":"","sources":["../../typed-model/campaign-template.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,wCAA4E;AAE5E,MAAM,gBAAiB,SAAQ,iBAG9B;CAYA;AAED,gBAAgB,CAAC,IAAI,CACnB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACtB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;QACpD,SAAS,EAAE,KAAK;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC,CAAC;QACvE,SAAS,EAAE,KAAK;KACjB;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,oBAAoB;KAC5B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,KAAK,EAAE,iBAAiB;KACzB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,KAAK,EAAE,iBAAiB;KACzB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;CACF,EACD;IACE,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"campaign-template.js","sourceRoot":"","sources":["../../typed-model/campaign-template.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,wCAA4E;AAE5E,MAAM,gBAAiB,SAAQ,iBAG9B;CAWA;AAED,gBAAgB,CAAC,IAAI,CACnB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACtB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;QACpD,SAAS,EAAE,KAAK;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC,CAAC;QACvE,SAAS,EAAE,KAAK;KACjB;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,oBAAoB;KAC5B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,KAAK,EAAE,iBAAiB;KACzB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,KAAK,EAAE,iBAAiB;KACzB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;CACF,EACD;IACE,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
@@ -1,79 +1,81 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const sequelize_1 = require("sequelize");
7
- const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
- const types_1 = require("../src/types");
9
- const user_1 = __importDefault(require("./user"));
10
- class Campaign extends sequelize_1.Model {
11
- }
12
- Campaign.init({
13
- id: {
14
- type: sequelize_1.DataTypes.INTEGER,
15
- primaryKey: true,
16
- autoIncrement: true,
17
- },
18
- userId: {
19
- type: sequelize_1.DataTypes.INTEGER,
20
- allowNull: false,
21
- field: "user_id",
22
- references: {
23
- model: "users",
24
- key: "id",
25
- },
26
- },
27
- campaignTemplateId: {
28
- type: sequelize_1.DataTypes.INTEGER,
29
- allowNull: false,
30
- field: "campaign_template_id",
31
- references: {
32
- model: "campaign_template",
33
- key: "id",
34
- },
35
- },
36
- name: {
37
- type: sequelize_1.DataTypes.STRING(255),
38
- allowNull: false,
39
- },
40
- channel: {
41
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageChannel)),
42
- allowNull: false,
43
- },
44
- status: {
45
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.CampaignStatus)),
46
- allowNull: false,
47
- },
48
- startDate: {
49
- type: sequelize_1.DataTypes.DATE,
50
- field: "start_date",
51
- },
52
- endDate: {
53
- type: sequelize_1.DataTypes.DATE,
54
- field: "end_date",
55
- },
56
- createdAt: {
57
- type: sequelize_1.DataTypes.DATE,
58
- field: "created_at",
59
- defaultValue: sequelize_1.DataTypes.NOW,
60
- },
61
- updatedAt: {
62
- type: sequelize_1.DataTypes.DATE,
63
- field: "updated_at",
64
- defaultValue: sequelize_1.DataTypes.NOW,
65
- },
66
- }, {
67
- tableName: "campaign",
68
- sequelize: pb_sequelize_1.default,
69
- });
70
- // Associations
71
- user_1.default.hasMany(Campaign, {
72
- foreignKey: "userId",
73
- sourceKey: "id",
74
- onDelete: "NO ACTION",
75
- constraints: false,
76
- });
77
- Campaign.belongsTo(user_1.default, { foreignKey: "userId" });
78
- exports.default = Campaign;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const sequelize_1 = require("sequelize");
7
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
+ const types_1 = require("../src/types");
9
+ const user_1 = __importDefault(require("./user"));
10
+ const campaign_template_1 = __importDefault(require("./campaign-template"));
11
+ const campaign_message_1 = __importDefault(require("./campaign-message"));
12
+ const segment_1 = __importDefault(require("./segment"));
13
+ const trigger_1 = __importDefault(require("./trigger"));
14
+ class Campaign extends sequelize_1.Model {
15
+ }
16
+ Campaign.init({
17
+ id: {
18
+ type: sequelize_1.DataTypes.INTEGER,
19
+ primaryKey: true,
20
+ autoIncrement: true,
21
+ },
22
+ userId: {
23
+ type: sequelize_1.DataTypes.INTEGER,
24
+ allowNull: false,
25
+ field: "user_id",
26
+ references: {
27
+ model: "users",
28
+ key: "id",
29
+ },
30
+ },
31
+ campaignTemplateId: {
32
+ type: sequelize_1.DataTypes.INTEGER,
33
+ allowNull: false,
34
+ field: "campaign_template_id",
35
+ references: {
36
+ model: "campaign_template",
37
+ key: "id",
38
+ },
39
+ },
40
+ name: {
41
+ type: sequelize_1.DataTypes.STRING(255),
42
+ allowNull: false,
43
+ },
44
+ channel: {
45
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageChannel)),
46
+ allowNull: false,
47
+ },
48
+ status: {
49
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.CampaignStatus)),
50
+ allowNull: false,
51
+ },
52
+ startDate: {
53
+ type: sequelize_1.DataTypes.DATE,
54
+ field: "start_date",
55
+ },
56
+ endDate: {
57
+ type: sequelize_1.DataTypes.DATE,
58
+ field: "end_date",
59
+ },
60
+ createdAt: {
61
+ type: sequelize_1.DataTypes.DATE,
62
+ field: "created_at",
63
+ defaultValue: sequelize_1.DataTypes.NOW,
64
+ },
65
+ updatedAt: {
66
+ type: sequelize_1.DataTypes.DATE,
67
+ field: "updated_at",
68
+ defaultValue: sequelize_1.DataTypes.NOW,
69
+ },
70
+ }, {
71
+ tableName: "campaign",
72
+ sequelize: pb_sequelize_1.default,
73
+ });
74
+ // Associations
75
+ Campaign.belongsTo(user_1.default, { foreignKey: "userId" });
76
+ Campaign.belongsTo(campaign_template_1.default, { foreignKey: "campaignTemplateId" });
77
+ Campaign.hasMany(campaign_message_1.default, { foreignKey: "campaignId" });
78
+ Campaign.hasMany(segment_1.default, { foreignKey: "campaignId" });
79
+ Campaign.hasMany(trigger_1.default, { foreignKey: "campaignId" });
80
+ exports.default = Campaign;
79
81
  //# sourceMappingURL=campaign.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../../typed-model/campaign.ts"],"names":[],"mappings":";;;;;AAAA,yCAQmB;AAEnB,kEAAuC;AACvC,wCAA8D;AAC9D,kDAA0B;AAM1B,MAAM,QAAS,SAAQ,iBAGtB;CA0BA;AAED,QAAQ,CAAC,IAAI,CACX;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KACpB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,IAAI;SACV;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE;YACV,KAAK,EAAE,mBAAmB;YAC1B,GAAG,EAAE,IAAI;SACV;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;KACjB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC;QACtD,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC;QACtD,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;KACpB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,UAAU;KAClB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;CACF,EACD;IACE,SAAS,EAAE,UAAU;IACrB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,eAAe;AACf,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;IACrB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AACH,QAAQ,CAAC,SAAS,CAAC,cAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEnD,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../../typed-model/campaign.ts"],"names":[],"mappings":";;;;;AAAA,yCAQmB;AAEnB,kEAAuC;AACvC,wCAA8D;AAC9D,kDAA0B;AAC1B,4EAAmD;AACnD,0EAAiD;AACjD,wDAAgC;AAChC,wDAAgC;AAEhC,MAAM,QAAS,SAAQ,iBAGtB;CA0BA;AAED,QAAQ,CAAC,IAAI,CACX;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KACpB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,IAAI;SACV;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE;YACV,KAAK,EAAE,mBAAmB;YAC1B,GAAG,EAAE,IAAI;SACV;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;KACjB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC;QACtD,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC;QACtD,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;KACpB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,UAAU;KAClB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;CACF,EACD;IACE,SAAS,EAAE,UAAU;IACrB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,eAAe;AACf,QAAQ,CAAC,SAAS,CAAC,cAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,QAAQ,CAAC,SAAS,CAAC,2BAAgB,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAC3E,QAAQ,CAAC,OAAO,CAAC,0BAAe,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAChE,QAAQ,CAAC,OAAO,CAAC,iBAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AACxD,QAAQ,CAAC,OAAO,CAAC,iBAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAExD,kBAAe,QAAQ,CAAC"}
@@ -1,71 +1,71 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const sequelize_1 = require("sequelize");
7
- const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
- const subscription_plan_1 = __importDefault(require("./subscription-plan"));
9
- const types_1 = require("../src/types");
10
- // order of InferAttributes & InferCreationAttributes is important.
11
- class CancellationOffer extends sequelize_1.Model {
12
- }
13
- CancellationOffer.init({
14
- id: {
15
- type: sequelize_1.DataTypes.BIGINT,
16
- primaryKey: true,
17
- allowNull: false,
18
- defaultValue: pb_sequelize_1.default.fn("next_id"),
19
- },
20
- subscriptionPlanId: {
21
- type: sequelize_1.DataTypes.BIGINT,
22
- allowNull: false,
23
- field: "subscription_plan_id",
24
- references: {
25
- model: subscription_plan_1.default,
26
- },
27
- },
28
- discountType: {
29
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.DiscountType)),
30
- field: "discount_type",
31
- },
32
- discountPercent: {
33
- type: sequelize_1.DataTypes.BIGINT,
34
- field: "discount_percent",
35
- },
36
- temporalAmount: {
37
- type: sequelize_1.DataTypes.BIGINT,
38
- field: "temporal_amount",
39
- },
40
- temporalUnit: {
41
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.TemporalUnit)),
42
- field: "temporal_unit",
43
- },
44
- freeTrialDays: {
45
- type: sequelize_1.DataTypes.BIGINT,
46
- field: "free_trial_days",
47
- },
48
- isArchived: {
49
- type: sequelize_1.DataTypes.BOOLEAN,
50
- field: "is_archived",
51
- defaultValue: false,
52
- },
53
- createdAt: sequelize_1.DataTypes.DATE,
54
- updatedAt: sequelize_1.DataTypes.DATE,
55
- archivedAt: sequelize_1.DataTypes.DATE,
56
- }, {
57
- tableName: "cancellation_offers",
58
- sequelize: pb_sequelize_1.default,
59
- });
60
- subscription_plan_1.default.hasMany(CancellationOffer, {
61
- foreignKey: "subscriptionPlanId",
62
- sourceKey: "id",
63
- onDelete: "NO ACTION",
64
- constraints: false,
65
- });
66
- CancellationOffer.belongsTo(subscription_plan_1.default, {
67
- foreignKey: "subscriptionPlanId",
68
- targetKey: "id",
69
- });
70
- exports.default = CancellationOffer;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const sequelize_1 = require("sequelize");
7
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
+ const subscription_plan_1 = __importDefault(require("./subscription-plan"));
9
+ const types_1 = require("../src/types");
10
+ // order of InferAttributes & InferCreationAttributes is important.
11
+ class CancellationOffer extends sequelize_1.Model {
12
+ }
13
+ CancellationOffer.init({
14
+ id: {
15
+ type: sequelize_1.DataTypes.BIGINT,
16
+ primaryKey: true,
17
+ allowNull: false,
18
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
19
+ },
20
+ subscriptionPlanId: {
21
+ type: sequelize_1.DataTypes.BIGINT,
22
+ allowNull: false,
23
+ field: "subscription_plan_id",
24
+ references: {
25
+ model: subscription_plan_1.default,
26
+ },
27
+ },
28
+ discountType: {
29
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.DiscountType)),
30
+ field: "discount_type",
31
+ },
32
+ discountPercent: {
33
+ type: sequelize_1.DataTypes.BIGINT,
34
+ field: "discount_percent",
35
+ },
36
+ temporalAmount: {
37
+ type: sequelize_1.DataTypes.BIGINT,
38
+ field: "temporal_amount",
39
+ },
40
+ temporalUnit: {
41
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.TemporalUnit)),
42
+ field: "temporal_unit",
43
+ },
44
+ freeTrialDays: {
45
+ type: sequelize_1.DataTypes.BIGINT,
46
+ field: "free_trial_days",
47
+ },
48
+ isArchived: {
49
+ type: sequelize_1.DataTypes.BOOLEAN,
50
+ field: "is_archived",
51
+ defaultValue: false,
52
+ },
53
+ createdAt: sequelize_1.DataTypes.DATE,
54
+ updatedAt: sequelize_1.DataTypes.DATE,
55
+ archivedAt: sequelize_1.DataTypes.DATE,
56
+ }, {
57
+ tableName: "cancellation_offers",
58
+ sequelize: pb_sequelize_1.default,
59
+ });
60
+ subscription_plan_1.default.hasMany(CancellationOffer, {
61
+ foreignKey: "subscriptionPlanId",
62
+ sourceKey: "id",
63
+ onDelete: "NO ACTION",
64
+ constraints: false,
65
+ });
66
+ CancellationOffer.belongsTo(subscription_plan_1.default, {
67
+ foreignKey: "subscriptionPlanId",
68
+ targetKey: "id",
69
+ });
70
+ exports.default = CancellationOffer;
71
71
  //# sourceMappingURL=cancellation_offer.js.map
@@ -1,99 +1,99 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const sequelize_1 = require("sequelize");
7
- const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
- const user_1 = __importDefault(require("./user"));
9
- const subscription_plan_on_users_1 = __importDefault(require("./subscription-plan-on-users"));
10
- // order of InferAttributes & InferCreationAttributes is important.
11
- class CancellationReason extends sequelize_1.Model {
12
- }
13
- CancellationReason.init({
14
- id: {
15
- type: sequelize_1.DataTypes.BIGINT,
16
- primaryKey: true,
17
- allowNull: false,
18
- defaultValue: pb_sequelize_1.default.fn("next_id"),
19
- },
20
- userId: {
21
- type: sequelize_1.DataTypes.BIGINT,
22
- allowNull: false,
23
- field: "user_id",
24
- references: {
25
- model: user_1.default,
26
- },
27
- },
28
- subscriptionId: {
29
- type: sequelize_1.DataTypes.BIGINT,
30
- allowNull: false,
31
- field: "subscription_id",
32
- references: {
33
- model: subscription_plan_on_users_1.default,
34
- },
35
- },
36
- reason: {
37
- type: sequelize_1.DataTypes.STRING,
38
- allowNull: false,
39
- field: "reason",
40
- },
41
- metadata: {
42
- type: sequelize_1.DataTypes.JSONB,
43
- allowNull: true,
44
- field: "metadata",
45
- },
46
- createdAt: sequelize_1.DataTypes.DATE,
47
- updatedAt: sequelize_1.DataTypes.DATE,
48
- }, {
49
- tableName: "cancellation_reasons",
50
- sequelize: pb_sequelize_1.default,
51
- });
52
- /*
53
- ====================================================================
54
- Class functions
55
- ====================================================================
56
- */
57
- CancellationReason.getById = async (id) => {
58
- return await CancellationReason.findOne({
59
- where: {
60
- id,
61
- },
62
- });
63
- };
64
- CancellationReason.getByUserId = async (userId) => {
65
- return await CancellationReason.findAll({
66
- where: {
67
- userId,
68
- },
69
- });
70
- };
71
- CancellationReason.getBySubscriptionId = async (subscriptionId) => {
72
- return await CancellationReason.findAll({
73
- where: {
74
- subscriptionId,
75
- },
76
- });
77
- };
78
- user_1.default.hasMany(CancellationReason, {
79
- foreignKey: "userId",
80
- sourceKey: "id",
81
- onDelete: "NO ACTION",
82
- constraints: false,
83
- });
84
- CancellationReason.belongsTo(user_1.default, {
85
- foreignKey: "userId",
86
- targetKey: "id",
87
- });
88
- subscription_plan_on_users_1.default.hasMany(CancellationReason, {
89
- foreignKey: "subscriptionId",
90
- sourceKey: "id",
91
- onDelete: "NO ACTION",
92
- constraints: false,
93
- });
94
- CancellationReason.belongsTo(subscription_plan_on_users_1.default, {
95
- foreignKey: "subscriptionId",
96
- targetKey: "id",
97
- });
98
- exports.default = CancellationReason;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const sequelize_1 = require("sequelize");
7
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
+ const user_1 = __importDefault(require("./user"));
9
+ const subscription_plan_on_users_1 = __importDefault(require("./subscription-plan-on-users"));
10
+ // order of InferAttributes & InferCreationAttributes is important.
11
+ class CancellationReason extends sequelize_1.Model {
12
+ }
13
+ CancellationReason.init({
14
+ id: {
15
+ type: sequelize_1.DataTypes.BIGINT,
16
+ primaryKey: true,
17
+ allowNull: false,
18
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
19
+ },
20
+ userId: {
21
+ type: sequelize_1.DataTypes.BIGINT,
22
+ allowNull: false,
23
+ field: "user_id",
24
+ references: {
25
+ model: user_1.default,
26
+ },
27
+ },
28
+ subscriptionId: {
29
+ type: sequelize_1.DataTypes.BIGINT,
30
+ allowNull: false,
31
+ field: "subscription_id",
32
+ references: {
33
+ model: subscription_plan_on_users_1.default,
34
+ },
35
+ },
36
+ reason: {
37
+ type: sequelize_1.DataTypes.STRING,
38
+ allowNull: false,
39
+ field: "reason",
40
+ },
41
+ metadata: {
42
+ type: sequelize_1.DataTypes.JSONB,
43
+ allowNull: true,
44
+ field: "metadata",
45
+ },
46
+ createdAt: sequelize_1.DataTypes.DATE,
47
+ updatedAt: sequelize_1.DataTypes.DATE,
48
+ }, {
49
+ tableName: "cancellation_reasons",
50
+ sequelize: pb_sequelize_1.default,
51
+ });
52
+ /*
53
+ ====================================================================
54
+ Class functions
55
+ ====================================================================
56
+ */
57
+ CancellationReason.getById = async (id) => {
58
+ return await CancellationReason.findOne({
59
+ where: {
60
+ id,
61
+ },
62
+ });
63
+ };
64
+ CancellationReason.getByUserId = async (userId) => {
65
+ return await CancellationReason.findAll({
66
+ where: {
67
+ userId,
68
+ },
69
+ });
70
+ };
71
+ CancellationReason.getBySubscriptionId = async (subscriptionId) => {
72
+ return await CancellationReason.findAll({
73
+ where: {
74
+ subscriptionId,
75
+ },
76
+ });
77
+ };
78
+ user_1.default.hasMany(CancellationReason, {
79
+ foreignKey: "userId",
80
+ sourceKey: "id",
81
+ onDelete: "NO ACTION",
82
+ constraints: false,
83
+ });
84
+ CancellationReason.belongsTo(user_1.default, {
85
+ foreignKey: "userId",
86
+ targetKey: "id",
87
+ });
88
+ subscription_plan_on_users_1.default.hasMany(CancellationReason, {
89
+ foreignKey: "subscriptionId",
90
+ sourceKey: "id",
91
+ onDelete: "NO ACTION",
92
+ constraints: false,
93
+ });
94
+ CancellationReason.belongsTo(subscription_plan_on_users_1.default, {
95
+ foreignKey: "subscriptionId",
96
+ targetKey: "id",
97
+ });
98
+ exports.default = CancellationReason;
99
99
  //# sourceMappingURL=cancellation_reason.js.map