@winible/winible-typed 2.51.2 → 2.51.3

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 (194) hide show
  1. package/README.md +104 -104
  2. package/dist/index.js +19 -19
  3. package/dist/migrations/20230104055346-oddsjam.js +500 -500
  4. package/dist/migrations/20230104233909-markets.js +27 -27
  5. package/dist/migrations/20230105005418-sportsbook.js +23 -23
  6. package/dist/migrations/20230106044910-player-result.js +58 -58
  7. package/dist/migrations/20230206061925-stale.js +12 -12
  8. package/dist/migrations/20230313175015-league-user.js +28 -28
  9. package/dist/migrations/20230405141245-deprecate-agencies.js +8 -8
  10. package/dist/migrations/20230405142440-deprecate-unused-tables.js +22 -22
  11. package/dist/migrations/20230410144940-deprecate-consent-people.js +8 -8
  12. package/dist/migrations/20230410174328-deprecate-consent-people-table.js +8 -8
  13. package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js +8 -8
  14. package/dist/migrations/20230410202433-migrate-credit-payments-fields.js +11 -11
  15. package/dist/migrations/20230410211059-deprecate-credit-purchases.js +8 -8
  16. package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js +9 -9
  17. package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js +33 -33
  18. package/dist/migrations/20230411054826-create-users-table.js +140 -140
  19. package/dist/migrations/20230411202848-migrate_transactions_table.js +23 -23
  20. package/dist/migrations/20230411203543-migrate_league_users.js +8 -8
  21. package/dist/migrations/20230411205324-migrate_league.js +12 -12
  22. package/dist/migrations/20230411221159-migrate_media.js +8 -8
  23. package/dist/migrations/20230411221327-migrate_media_asset.js +9 -9
  24. package/dist/migrations/20230411221842-migrate_media_asset_fields.js +9 -9
  25. package/dist/migrations/20230411222018-migrate_notifications.js +24 -24
  26. package/dist/migrations/20230412190423-migrate_purchased_contents.js +9 -9
  27. package/dist/migrations/20230412202031-migrate_other_fields.js +26 -26
  28. package/dist/migrations/20230412213952-deprecate_phone_users_and_phone_owners.js +26 -26
  29. package/dist/migrations/20241123184623-whitelist.js +36 -36
  30. package/dist/migrations/20241204220824-pumping-risk-score-monitoring-table.js +47 -47
  31. package/dist/migrations/20241205003230-failed-transactions.js +67 -67
  32. package/dist/migrations/20241216145328-password-tokens.js +33 -33
  33. package/dist/scripts/cleanupRecurlyPlans.js +49 -49
  34. package/dist/scripts/deleteMalformedImages.js +86 -86
  35. package/dist/scripts/test.js +17 -17
  36. package/dist/scripts/testModels.js +56 -56
  37. package/dist/src/index.js +8 -8
  38. package/dist/src/recurlyInstance.js +32 -32
  39. package/dist/src/types.js +86 -86
  40. package/dist/support/index.js +18 -18
  41. package/dist/support/slack-client.js +50 -50
  42. package/dist/support/uploadcare.js +142 -142
  43. package/dist/support/utils.js +68 -68
  44. package/dist/typed-model/affiliate-code.js +97 -97
  45. package/dist/typed-model/affiliate-links-types.js +28 -28
  46. package/dist/typed-model/application.js +89 -89
  47. package/dist/typed-model/bet.js +111 -111
  48. package/dist/typed-model/campaign-message.js +78 -78
  49. package/dist/typed-model/campaign-template.js +67 -62
  50. package/dist/typed-model/campaign-template.js.map +1 -1
  51. package/dist/typed-model/campaign.js +78 -78
  52. package/dist/typed-model/cancellation_offer.js +70 -70
  53. package/dist/typed-model/cancellation_reason.js +98 -98
  54. package/dist/typed-model/content-like.js +69 -69
  55. package/dist/typed-model/coupon_redemptions.js +64 -64
  56. package/dist/typed-model/creator-service-fee.js +50 -50
  57. package/dist/typed-model/discord-integration-log.js +62 -62
  58. package/dist/typed-model/discord-integration.js +128 -128
  59. package/dist/typed-model/failed-transactions.js +95 -95
  60. package/dist/typed-model/featured-creator.js +51 -51
  61. package/dist/typed-model/free-subscription-plan.js +66 -66
  62. package/dist/typed-model/index.js +139 -139
  63. package/dist/typed-model/integration.js +58 -58
  64. package/dist/typed-model/league-on-users.js +59 -59
  65. package/dist/typed-model/league.js +34 -34
  66. package/dist/typed-model/limited-offer.js +58 -58
  67. package/dist/typed-model/media-asset.js +63 -63
  68. package/dist/typed-model/media.js +54 -54
  69. package/dist/typed-model/migration-token.js +52 -52
  70. package/dist/typed-model/notification-preference.js +58 -58
  71. package/dist/typed-model/notification.js +89 -89
  72. package/dist/typed-model/organization.js +57 -57
  73. package/dist/typed-model/password-tokens.js +36 -36
  74. package/dist/typed-model/pb-sequelize.js +43 -43
  75. package/dist/typed-model/permission.js +36 -36
  76. package/dist/typed-model/post.js +128 -128
  77. package/dist/typed-model/post_on_integrations.js +81 -81
  78. package/dist/typed-model/posts-on-users.js +92 -92
  79. package/dist/typed-model/private-feed-users.js +42 -42
  80. package/dist/typed-model/pumping-risk-score-monitoring.js +54 -54
  81. package/dist/typed-model/recurly-account.js +33 -33
  82. package/dist/typed-model/sample.js +24 -24
  83. package/dist/typed-model/segment.js +52 -52
  84. package/dist/typed-model/sms-custom-message.js +46 -46
  85. package/dist/typed-model/sport-on-posts.js +58 -58
  86. package/dist/typed-model/sport.js +29 -29
  87. package/dist/typed-model/store.js +152 -152
  88. package/dist/typed-model/stores_on_organizations.js +55 -55
  89. package/dist/typed-model/subscriber-discord-integration.js +82 -82
  90. package/dist/typed-model/subscriber-telegram-integration.js +82 -82
  91. package/dist/typed-model/subscribers-on-creators.js +80 -80
  92. package/dist/typed-model/subscription-coupon.js +96 -96
  93. package/dist/typed-model/subscription-plan-on-post.js +54 -54
  94. package/dist/typed-model/subscription-plan-on-users.js +143 -143
  95. package/dist/typed-model/subscription-plan.js +121 -121
  96. package/dist/typed-model/subscription-pricing-option-on-coupons.js +54 -54
  97. package/dist/typed-model/subscription-pricing-option.js +77 -77
  98. package/dist/typed-model/telegram-integration-code.js +38 -38
  99. package/dist/typed-model/telegram-integration-invite-link.js +38 -38
  100. package/dist/typed-model/telegram-integration-log.js +62 -62
  101. package/dist/typed-model/telegram-integration.js +109 -109
  102. package/dist/typed-model/transaction.js +109 -109
  103. package/dist/typed-model/trigger.js +65 -65
  104. package/dist/typed-model/user-cookie-preference.js +53 -53
  105. package/dist/typed-model/user-review.js +66 -66
  106. package/dist/typed-model/user-transaction-location.js +89 -89
  107. package/dist/typed-model/user.js +210 -210
  108. package/dist/typed-model/users-on-permissions.js +71 -71
  109. package/dist/typed-model/users_on_creators.js +70 -70
  110. package/dist/typed-model/users_on_organizations.js +55 -55
  111. package/dist/typed-model/whitelist.js +48 -48
  112. package/dist/typed-model/withdrawal.js +32 -32
  113. package/dist/webhooks/index.js +47 -47
  114. package/dist/webhooks/payment/index.js +8 -8
  115. package/dist/webhooks/payment/refund.js +38 -38
  116. package/index.ts +3 -3
  117. package/package.json +79 -79
  118. package/src/index.ts +1 -1
  119. package/src/recurlyInstance.ts +6 -6
  120. package/src/types.ts +139 -139
  121. package/support/index.ts +2 -2
  122. package/support/slack-client.ts +43 -43
  123. package/support/uploadcare.ts +191 -191
  124. package/support/utils.ts +72 -72
  125. package/typed-model/affiliate-code.ts +133 -133
  126. package/typed-model/affiliate-links-types.ts +45 -45
  127. package/typed-model/application.ts +124 -124
  128. package/typed-model/bet.ts +149 -149
  129. package/typed-model/campaign-message.ts +115 -115
  130. package/typed-model/campaign-template.ts +89 -83
  131. package/typed-model/campaign.ts +121 -121
  132. package/typed-model/cancellation_offer.ts +94 -94
  133. package/typed-model/cancellation_reason.ts +135 -135
  134. package/typed-model/content-like.ts +95 -95
  135. package/typed-model/coupon_redemptions.ts +90 -90
  136. package/typed-model/creator-service-fee.ts +69 -69
  137. package/typed-model/discord-integration-log.ts +87 -87
  138. package/typed-model/discord-integration.ts +164 -164
  139. package/typed-model/failed-transactions.ts +123 -123
  140. package/typed-model/featured-creator.ts +75 -75
  141. package/typed-model/free-subscription-plan.ts +97 -97
  142. package/typed-model/index.ts +67 -67
  143. package/typed-model/integration.ts +83 -83
  144. package/typed-model/league-on-users.ts +81 -81
  145. package/typed-model/league.ts +53 -53
  146. package/typed-model/limited-offer.ts +80 -80
  147. package/typed-model/media-asset.ts +87 -87
  148. package/typed-model/media.ts +80 -80
  149. package/typed-model/migration-token.ts +75 -75
  150. package/typed-model/notification-preference.ts +85 -85
  151. package/typed-model/notification.ts +135 -135
  152. package/typed-model/organization.ts +80 -80
  153. package/typed-model/password-tokens.ts +55 -55
  154. package/typed-model/pb-sequelize.ts +44 -44
  155. package/typed-model/permission.ts +62 -62
  156. package/typed-model/post.ts +170 -170
  157. package/typed-model/post_on_integrations.ts +104 -104
  158. package/typed-model/posts-on-users.ts +122 -122
  159. package/typed-model/private-feed-users.ts +63 -63
  160. package/typed-model/pumping-risk-score-monitoring.ts +73 -73
  161. package/typed-model/recurly-account.ts +51 -51
  162. package/typed-model/sample.ts +41 -41
  163. package/typed-model/segment.ts +80 -80
  164. package/typed-model/sms-custom-message.ts +66 -66
  165. package/typed-model/sport-on-posts.ts +80 -80
  166. package/typed-model/sport.ts +46 -46
  167. package/typed-model/store.ts +203 -203
  168. package/typed-model/stores_on_organizations.ts +78 -78
  169. package/typed-model/subscriber-discord-integration.ts +109 -109
  170. package/typed-model/subscriber-telegram-integration.ts +109 -109
  171. package/typed-model/subscribers-on-creators.ts +107 -107
  172. package/typed-model/subscription-coupon.ts +133 -133
  173. package/typed-model/subscription-plan-on-post.ts +77 -77
  174. package/typed-model/subscription-plan-on-users.ts +201 -201
  175. package/typed-model/subscription-plan.ts +173 -173
  176. package/typed-model/subscription-pricing-option-on-coupons.ts +78 -78
  177. package/typed-model/subscription-pricing-option.ts +106 -106
  178. package/typed-model/telegram-integration-code.ts +60 -60
  179. package/typed-model/telegram-integration-invite-link.ts +59 -59
  180. package/typed-model/telegram-integration-log.ts +86 -86
  181. package/typed-model/telegram-integration.ts +141 -141
  182. package/typed-model/transaction.ts +159 -159
  183. package/typed-model/trigger.ts +95 -95
  184. package/typed-model/user-cookie-preference.ts +71 -71
  185. package/typed-model/user-review.ts +87 -87
  186. package/typed-model/user-transaction-location.ts +117 -117
  187. package/typed-model/user.ts +273 -273
  188. package/typed-model/users-on-permissions.ts +96 -96
  189. package/typed-model/users_on_creators.ts +95 -95
  190. package/typed-model/users_on_organizations.ts +78 -78
  191. package/typed-model/whitelist.ts +66 -66
  192. package/typed-model/withdrawal.ts +50 -50
  193. package/dist/typed-model/featured-capper.js +0 -51
  194. package/dist/typed-model/featured-capper.js.map +0 -1
@@ -1,29 +1,29 @@
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
- // order of InferAttributes & InferCreationAttributes is important.
9
- class AffiliateLinkType extends sequelize_1.Model {
10
- }
11
- AffiliateLinkType.init({
12
- id: {
13
- type: sequelize_1.DataTypes.BIGINT,
14
- primaryKey: true,
15
- allowNull: false,
16
- defaultValue: pb_sequelize_1.default.fn("next_id"),
17
- },
18
- name: sequelize_1.DataTypes.STRING,
19
- icon: sequelize_1.DataTypes.STRING,
20
- hexColor: {
21
- type: sequelize_1.DataTypes.STRING,
22
- field: "hex_color",
23
- },
24
- }, {
25
- tableName: "affiliate_link_types",
26
- sequelize: pb_sequelize_1.default,
27
- });
28
- exports.default = AffiliateLinkType;
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
+ // order of InferAttributes & InferCreationAttributes is important.
9
+ class AffiliateLinkType extends sequelize_1.Model {
10
+ }
11
+ AffiliateLinkType.init({
12
+ id: {
13
+ type: sequelize_1.DataTypes.BIGINT,
14
+ primaryKey: true,
15
+ allowNull: false,
16
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
17
+ },
18
+ name: sequelize_1.DataTypes.STRING,
19
+ icon: sequelize_1.DataTypes.STRING,
20
+ hexColor: {
21
+ type: sequelize_1.DataTypes.STRING,
22
+ field: "hex_color",
23
+ },
24
+ }, {
25
+ tableName: "affiliate_link_types",
26
+ sequelize: pb_sequelize_1.default,
27
+ });
28
+ exports.default = AffiliateLinkType;
29
29
  //# sourceMappingURL=affiliate-links-types.js.map
@@ -1,90 +1,90 @@
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
- // order of InferAttributes & InferCreationAttributes is important.
10
- class Application extends sequelize_1.Model {
11
- }
12
- Application.init({
13
- id: {
14
- type: sequelize_1.DataTypes.BIGINT,
15
- primaryKey: true,
16
- allowNull: false,
17
- defaultValue: pb_sequelize_1.default.fn("next_id"),
18
- },
19
- userId: {
20
- type: sequelize_1.DataTypes.BIGINT,
21
- field: "user_id",
22
- references: {
23
- model: user_1.default,
24
- },
25
- },
26
- status: {
27
- type: sequelize_1.DataTypes.STRING,
28
- field: "status",
29
- allowNull: false,
30
- defaultValue: "pending",
31
- },
32
- personalInfo: {
33
- type: sequelize_1.DataTypes.STRING,
34
- field: "personal_info",
35
- },
36
- source: {
37
- type: sequelize_1.DataTypes.STRING,
38
- field: "source",
39
- },
40
- suggestion: {
41
- type: sequelize_1.DataTypes.STRING,
42
- field: "suggestion",
43
- },
44
- capper: {
45
- type: sequelize_1.DataTypes.STRING,
46
- field: "capper",
47
- },
48
- picks: {
49
- type: sequelize_1.DataTypes.STRING,
50
- field: "picks",
51
- },
52
- chargebacks: {
53
- type: sequelize_1.DataTypes.STRING,
54
- field: "chargebacks",
55
- },
56
- socialMediaLinks: {
57
- type: sequelize_1.DataTypes.STRING,
58
- field: "social_media_links",
59
- },
60
- winible: {
61
- type: sequelize_1.DataTypes.STRING,
62
- field: "winible",
63
- },
64
- referral: {
65
- type: sequelize_1.DataTypes.STRING,
66
- field: "referral",
67
- },
68
- createdAt: sequelize_1.DataTypes.DATE,
69
- updatedAt: sequelize_1.DataTypes.DATE,
70
- }, {
71
- sequelize: pb_sequelize_1.default,
72
- tableName: "applications",
73
- });
74
- // Class functions
75
- Application.getById = async (id) => {
76
- return await Application.findOne({
77
- where: {
78
- id,
79
- },
80
- });
81
- };
82
- // Associations
83
- Application.hasOne(user_1.default, {
84
- foreignKey: "id",
85
- sourceKey: "userId",
86
- onDelete: "NO ACTION",
87
- constraints: false,
88
- });
89
- exports.default = Application;
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
+ // order of InferAttributes & InferCreationAttributes is important.
10
+ class Application extends sequelize_1.Model {
11
+ }
12
+ Application.init({
13
+ id: {
14
+ type: sequelize_1.DataTypes.BIGINT,
15
+ primaryKey: true,
16
+ allowNull: false,
17
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
18
+ },
19
+ userId: {
20
+ type: sequelize_1.DataTypes.BIGINT,
21
+ field: "user_id",
22
+ references: {
23
+ model: user_1.default,
24
+ },
25
+ },
26
+ status: {
27
+ type: sequelize_1.DataTypes.STRING,
28
+ field: "status",
29
+ allowNull: false,
30
+ defaultValue: "pending",
31
+ },
32
+ personalInfo: {
33
+ type: sequelize_1.DataTypes.STRING,
34
+ field: "personal_info",
35
+ },
36
+ source: {
37
+ type: sequelize_1.DataTypes.STRING,
38
+ field: "source",
39
+ },
40
+ suggestion: {
41
+ type: sequelize_1.DataTypes.STRING,
42
+ field: "suggestion",
43
+ },
44
+ capper: {
45
+ type: sequelize_1.DataTypes.STRING,
46
+ field: "capper",
47
+ },
48
+ picks: {
49
+ type: sequelize_1.DataTypes.STRING,
50
+ field: "picks",
51
+ },
52
+ chargebacks: {
53
+ type: sequelize_1.DataTypes.STRING,
54
+ field: "chargebacks",
55
+ },
56
+ socialMediaLinks: {
57
+ type: sequelize_1.DataTypes.STRING,
58
+ field: "social_media_links",
59
+ },
60
+ winible: {
61
+ type: sequelize_1.DataTypes.STRING,
62
+ field: "winible",
63
+ },
64
+ referral: {
65
+ type: sequelize_1.DataTypes.STRING,
66
+ field: "referral",
67
+ },
68
+ createdAt: sequelize_1.DataTypes.DATE,
69
+ updatedAt: sequelize_1.DataTypes.DATE,
70
+ }, {
71
+ sequelize: pb_sequelize_1.default,
72
+ tableName: "applications",
73
+ });
74
+ // Class functions
75
+ Application.getById = async (id) => {
76
+ return await Application.findOne({
77
+ where: {
78
+ id,
79
+ },
80
+ });
81
+ };
82
+ // Associations
83
+ Application.hasOne(user_1.default, {
84
+ foreignKey: "id",
85
+ sourceKey: "userId",
86
+ onDelete: "NO ACTION",
87
+ constraints: false,
88
+ });
89
+ exports.default = Application;
90
90
  //# sourceMappingURL=application.js.map
@@ -1,112 +1,112 @@
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 post_1 = __importDefault(require("./post"));
10
- // order of InferAttributes & InferCreationAttributes is important.
11
- class Bet extends sequelize_1.Model {
12
- }
13
- Bet.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
- postId: {
29
- type: sequelize_1.DataTypes.BIGINT,
30
- allowNull: false,
31
- field: "post_id",
32
- references: {
33
- model: post_1.default,
34
- },
35
- },
36
- type: {
37
- type: sequelize_1.DataTypes.STRING,
38
- allowNull: false,
39
- field: "type",
40
- },
41
- stakeInCents: {
42
- type: sequelize_1.DataTypes.INTEGER,
43
- allowNull: true,
44
- field: "stake_in_cents",
45
- comment: "The amount of stake in cents (e.g., 5000 for $50)",
46
- },
47
- returnInCents: {
48
- type: sequelize_1.DataTypes.INTEGER,
49
- allowNull: true,
50
- field: "return_in_cents",
51
- comment: "The potential return amount in cents",
52
- },
53
- stakeInUnits: {
54
- type: sequelize_1.DataTypes.FLOAT,
55
- allowNull: true,
56
- field: "stake_in_units",
57
- comment: "The amount of stake in units (e.g., 1.0 for 1 unit)",
58
- },
59
- returnInUnits: {
60
- type: sequelize_1.DataTypes.FLOAT,
61
- allowNull: true,
62
- field: "return_in_units",
63
- comment: "The potential return amount in units",
64
- },
65
- settled: {
66
- type: sequelize_1.DataTypes.BOOLEAN,
67
- allowNull: false,
68
- defaultValue: false,
69
- field: "settled",
70
- },
71
- result: {
72
- type: sequelize_1.DataTypes.STRING,
73
- allowNull: true,
74
- field: "result",
75
- comment: "Result of the bet: pending, won, lost, push",
76
- },
77
- events: {
78
- type: sequelize_1.DataTypes.JSONB,
79
- allowNull: true,
80
- field: "events",
81
- },
82
- metadata: {
83
- type: sequelize_1.DataTypes.JSONB,
84
- allowNull: true,
85
- field: "metadata",
86
- },
87
- createdAt: {
88
- type: sequelize_1.DataTypes.DATE,
89
- allowNull: false,
90
- field: "created_at",
91
- },
92
- updatedAt: {
93
- type: sequelize_1.DataTypes.DATE,
94
- allowNull: false,
95
- field: "updated_at",
96
- },
97
- }, {
98
- tableName: "bets",
99
- sequelize: pb_sequelize_1.default,
100
- });
101
- post_1.default.hasMany(Bet, {
102
- foreignKey: "postId",
103
- sourceKey: "id",
104
- onDelete: "NO ACTION",
105
- constraints: false,
106
- });
107
- Bet.belongsTo(post_1.default, {
108
- foreignKey: "postId",
109
- targetKey: "id",
110
- });
111
- exports.default = Bet;
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 post_1 = __importDefault(require("./post"));
10
+ // order of InferAttributes & InferCreationAttributes is important.
11
+ class Bet extends sequelize_1.Model {
12
+ }
13
+ Bet.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
+ postId: {
29
+ type: sequelize_1.DataTypes.BIGINT,
30
+ allowNull: false,
31
+ field: "post_id",
32
+ references: {
33
+ model: post_1.default,
34
+ },
35
+ },
36
+ type: {
37
+ type: sequelize_1.DataTypes.STRING,
38
+ allowNull: false,
39
+ field: "type",
40
+ },
41
+ stakeInCents: {
42
+ type: sequelize_1.DataTypes.INTEGER,
43
+ allowNull: true,
44
+ field: "stake_in_cents",
45
+ comment: "The amount of stake in cents (e.g., 5000 for $50)",
46
+ },
47
+ returnInCents: {
48
+ type: sequelize_1.DataTypes.INTEGER,
49
+ allowNull: true,
50
+ field: "return_in_cents",
51
+ comment: "The potential return amount in cents",
52
+ },
53
+ stakeInUnits: {
54
+ type: sequelize_1.DataTypes.FLOAT,
55
+ allowNull: true,
56
+ field: "stake_in_units",
57
+ comment: "The amount of stake in units (e.g., 1.0 for 1 unit)",
58
+ },
59
+ returnInUnits: {
60
+ type: sequelize_1.DataTypes.FLOAT,
61
+ allowNull: true,
62
+ field: "return_in_units",
63
+ comment: "The potential return amount in units",
64
+ },
65
+ settled: {
66
+ type: sequelize_1.DataTypes.BOOLEAN,
67
+ allowNull: false,
68
+ defaultValue: false,
69
+ field: "settled",
70
+ },
71
+ result: {
72
+ type: sequelize_1.DataTypes.STRING,
73
+ allowNull: true,
74
+ field: "result",
75
+ comment: "Result of the bet: pending, won, lost, push",
76
+ },
77
+ events: {
78
+ type: sequelize_1.DataTypes.JSONB,
79
+ allowNull: true,
80
+ field: "events",
81
+ },
82
+ metadata: {
83
+ type: sequelize_1.DataTypes.JSONB,
84
+ allowNull: true,
85
+ field: "metadata",
86
+ },
87
+ createdAt: {
88
+ type: sequelize_1.DataTypes.DATE,
89
+ allowNull: false,
90
+ field: "created_at",
91
+ },
92
+ updatedAt: {
93
+ type: sequelize_1.DataTypes.DATE,
94
+ allowNull: false,
95
+ field: "updated_at",
96
+ },
97
+ }, {
98
+ tableName: "bets",
99
+ sequelize: pb_sequelize_1.default,
100
+ });
101
+ post_1.default.hasMany(Bet, {
102
+ foreignKey: "postId",
103
+ sourceKey: "id",
104
+ onDelete: "NO ACTION",
105
+ constraints: false,
106
+ });
107
+ Bet.belongsTo(post_1.default, {
108
+ foreignKey: "postId",
109
+ targetKey: "id",
110
+ });
111
+ exports.default = Bet;
112
112
  //# sourceMappingURL=bet.js.map
@@ -1,79 +1,79 @@
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 campaign_1 = __importDefault(require("./campaign"));
10
- class CampaignMessage extends sequelize_1.Model {
11
- }
12
- CampaignMessage.init({
13
- id: {
14
- type: sequelize_1.DataTypes.INTEGER,
15
- primaryKey: true,
16
- autoIncrement: true,
17
- },
18
- campaignId: {
19
- type: sequelize_1.DataTypes.INTEGER,
20
- allowNull: false,
21
- field: "campaign_id",
22
- references: {
23
- model: "campaign",
24
- key: "id",
25
- },
26
- },
27
- channel: {
28
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageChannel)),
29
- allowNull: false,
30
- },
31
- order: {
32
- type: sequelize_1.DataTypes.INTEGER,
33
- allowNull: false,
34
- },
35
- timingType: {
36
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageTimingType)),
37
- allowNull: false,
38
- field: "timing_type",
39
- },
40
- delaySeconds: {
41
- type: sequelize_1.DataTypes.INTEGER,
42
- field: "delay_seconds",
43
- },
44
- sendTime: {
45
- type: sequelize_1.DataTypes.DATE,
46
- field: "send_time",
47
- },
48
- subject: {
49
- type: sequelize_1.DataTypes.TEXT,
50
- },
51
- content: {
52
- type: sequelize_1.DataTypes.JSONB,
53
- allowNull: false,
54
- },
55
- complianceStatus: {
56
- type: sequelize_1.DataTypes.JSONB,
57
- field: "compliance_status",
58
- },
59
- createdAt: {
60
- type: sequelize_1.DataTypes.DATE,
61
- field: "created_at",
62
- defaultValue: sequelize_1.DataTypes.NOW,
63
- },
64
- updatedAt: {
65
- type: sequelize_1.DataTypes.DATE,
66
- field: "updated_at",
67
- defaultValue: sequelize_1.DataTypes.NOW,
68
- },
69
- }, {
70
- tableName: "campaign_message",
71
- sequelize: pb_sequelize_1.default,
72
- });
73
- // Associations
74
- campaign_1.default.hasMany(CampaignMessage, { foreignKey: "campaignId" });
75
- CampaignMessage.belongsTo(campaign_1.default, {
76
- foreignKey: "campaignId",
77
- });
78
- exports.default = CampaignMessage;
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 campaign_1 = __importDefault(require("./campaign"));
10
+ class CampaignMessage extends sequelize_1.Model {
11
+ }
12
+ CampaignMessage.init({
13
+ id: {
14
+ type: sequelize_1.DataTypes.INTEGER,
15
+ primaryKey: true,
16
+ autoIncrement: true,
17
+ },
18
+ campaignId: {
19
+ type: sequelize_1.DataTypes.INTEGER,
20
+ allowNull: false,
21
+ field: "campaign_id",
22
+ references: {
23
+ model: "campaign",
24
+ key: "id",
25
+ },
26
+ },
27
+ channel: {
28
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageChannel)),
29
+ allowNull: false,
30
+ },
31
+ order: {
32
+ type: sequelize_1.DataTypes.INTEGER,
33
+ allowNull: false,
34
+ },
35
+ timingType: {
36
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.MessageTimingType)),
37
+ allowNull: false,
38
+ field: "timing_type",
39
+ },
40
+ delaySeconds: {
41
+ type: sequelize_1.DataTypes.INTEGER,
42
+ field: "delay_seconds",
43
+ },
44
+ sendTime: {
45
+ type: sequelize_1.DataTypes.DATE,
46
+ field: "send_time",
47
+ },
48
+ subject: {
49
+ type: sequelize_1.DataTypes.TEXT,
50
+ },
51
+ content: {
52
+ type: sequelize_1.DataTypes.JSONB,
53
+ allowNull: false,
54
+ },
55
+ complianceStatus: {
56
+ type: sequelize_1.DataTypes.JSONB,
57
+ field: "compliance_status",
58
+ },
59
+ createdAt: {
60
+ type: sequelize_1.DataTypes.DATE,
61
+ field: "created_at",
62
+ defaultValue: sequelize_1.DataTypes.NOW,
63
+ },
64
+ updatedAt: {
65
+ type: sequelize_1.DataTypes.DATE,
66
+ field: "updated_at",
67
+ defaultValue: sequelize_1.DataTypes.NOW,
68
+ },
69
+ }, {
70
+ tableName: "campaign_message",
71
+ sequelize: pb_sequelize_1.default,
72
+ });
73
+ // Associations
74
+ campaign_1.default.hasMany(CampaignMessage, { foreignKey: "campaignId" });
75
+ CampaignMessage.belongsTo(campaign_1.default, {
76
+ foreignKey: "campaignId",
77
+ });
78
+ exports.default = CampaignMessage;
79
79
  //# sourceMappingURL=campaign-message.js.map