@winible/winible-typed 2.51.1 → 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 (199) 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 +57 -0
  37. package/dist/scripts/testModels.js.map +1 -0
  38. package/dist/src/index.js +8 -8
  39. package/dist/src/recurlyInstance.js +32 -32
  40. package/dist/src/types.js +86 -86
  41. package/dist/support/index.js +18 -18
  42. package/dist/support/slack-client.js +50 -50
  43. package/dist/support/uploadcare.js +142 -142
  44. package/dist/support/utils.js +68 -68
  45. package/dist/typed-model/affiliate-code.js +97 -97
  46. package/dist/typed-model/affiliate-links-types.js +28 -28
  47. package/dist/typed-model/application.js +89 -89
  48. package/dist/typed-model/bet.js +111 -111
  49. package/dist/typed-model/campaign-message.js +78 -75
  50. package/dist/typed-model/campaign-message.js.map +1 -1
  51. package/dist/typed-model/campaign-template.js +67 -62
  52. package/dist/typed-model/campaign-template.js.map +1 -1
  53. package/dist/typed-model/campaign.js +78 -83
  54. package/dist/typed-model/campaign.js.map +1 -1
  55. package/dist/typed-model/cancellation_offer.js +70 -70
  56. package/dist/typed-model/cancellation_reason.js +98 -98
  57. package/dist/typed-model/content-like.js +69 -69
  58. package/dist/typed-model/coupon_redemptions.js +64 -64
  59. package/dist/typed-model/creator-service-fee.js +50 -50
  60. package/dist/typed-model/discord-integration-log.js +62 -62
  61. package/dist/typed-model/discord-integration.js +128 -128
  62. package/dist/typed-model/failed-transactions.js +95 -95
  63. package/dist/typed-model/featured-creator.js +51 -51
  64. package/dist/typed-model/free-subscription-plan.js +66 -66
  65. package/dist/typed-model/index.js +139 -139
  66. package/dist/typed-model/integration.js +58 -58
  67. package/dist/typed-model/league-on-users.js +59 -59
  68. package/dist/typed-model/league.js +34 -34
  69. package/dist/typed-model/limited-offer.js +58 -58
  70. package/dist/typed-model/media-asset.js +63 -63
  71. package/dist/typed-model/media.js +54 -54
  72. package/dist/typed-model/migration-token.js +52 -52
  73. package/dist/typed-model/notification-preference.js +58 -58
  74. package/dist/typed-model/notification.js +89 -89
  75. package/dist/typed-model/organization.js +57 -57
  76. package/dist/typed-model/password-tokens.js +36 -36
  77. package/dist/typed-model/pb-sequelize.js +43 -43
  78. package/dist/typed-model/permission.js +36 -36
  79. package/dist/typed-model/post.js +128 -128
  80. package/dist/typed-model/post_on_integrations.js +81 -81
  81. package/dist/typed-model/posts-on-users.js +92 -92
  82. package/dist/typed-model/private-feed-users.js +42 -42
  83. package/dist/typed-model/pumping-risk-score-monitoring.js +54 -54
  84. package/dist/typed-model/recurly-account.js +33 -33
  85. package/dist/typed-model/sample.js +24 -24
  86. package/dist/typed-model/segment.js +52 -51
  87. package/dist/typed-model/segment.js.map +1 -1
  88. package/dist/typed-model/sms-custom-message.js +46 -46
  89. package/dist/typed-model/sport-on-posts.js +58 -58
  90. package/dist/typed-model/sport.js +29 -29
  91. package/dist/typed-model/store.js +152 -152
  92. package/dist/typed-model/stores_on_organizations.js +55 -55
  93. package/dist/typed-model/subscriber-discord-integration.js +82 -82
  94. package/dist/typed-model/subscriber-telegram-integration.js +82 -82
  95. package/dist/typed-model/subscribers-on-creators.js +80 -80
  96. package/dist/typed-model/subscription-coupon.js +96 -96
  97. package/dist/typed-model/subscription-plan-on-post.js +54 -54
  98. package/dist/typed-model/subscription-plan-on-users.js +143 -143
  99. package/dist/typed-model/subscription-plan.js +121 -121
  100. package/dist/typed-model/subscription-pricing-option-on-coupons.js +54 -54
  101. package/dist/typed-model/subscription-pricing-option.js +77 -77
  102. package/dist/typed-model/telegram-integration-code.js +38 -38
  103. package/dist/typed-model/telegram-integration-invite-link.js +38 -38
  104. package/dist/typed-model/telegram-integration-log.js +62 -62
  105. package/dist/typed-model/telegram-integration.js +109 -109
  106. package/dist/typed-model/transaction.js +109 -109
  107. package/dist/typed-model/trigger.js +65 -63
  108. package/dist/typed-model/trigger.js.map +1 -1
  109. package/dist/typed-model/user-cookie-preference.js +53 -53
  110. package/dist/typed-model/user-review.js +66 -66
  111. package/dist/typed-model/user-transaction-location.js +89 -89
  112. package/dist/typed-model/user.js +210 -210
  113. package/dist/typed-model/users-on-permissions.js +71 -71
  114. package/dist/typed-model/users_on_creators.js +70 -70
  115. package/dist/typed-model/users_on_organizations.js +55 -55
  116. package/dist/typed-model/whitelist.js +48 -48
  117. package/dist/typed-model/withdrawal.js +32 -32
  118. package/dist/webhooks/index.js +47 -47
  119. package/dist/webhooks/payment/index.js +8 -8
  120. package/dist/webhooks/payment/refund.js +38 -38
  121. package/index.ts +3 -3
  122. package/package.json +79 -78
  123. package/src/index.ts +1 -1
  124. package/src/recurlyInstance.ts +6 -6
  125. package/src/types.ts +139 -139
  126. package/support/index.ts +2 -2
  127. package/support/slack-client.ts +43 -43
  128. package/support/uploadcare.ts +191 -191
  129. package/support/utils.ts +72 -72
  130. package/typed-model/affiliate-code.ts +133 -133
  131. package/typed-model/affiliate-links-types.ts +45 -45
  132. package/typed-model/application.ts +124 -124
  133. package/typed-model/bet.ts +149 -149
  134. package/typed-model/campaign-message.ts +115 -112
  135. package/typed-model/campaign-template.ts +89 -83
  136. package/typed-model/campaign.ts +121 -122
  137. package/typed-model/cancellation_offer.ts +94 -94
  138. package/typed-model/cancellation_reason.ts +135 -135
  139. package/typed-model/content-like.ts +95 -95
  140. package/typed-model/coupon_redemptions.ts +90 -90
  141. package/typed-model/creator-service-fee.ts +69 -69
  142. package/typed-model/discord-integration-log.ts +87 -87
  143. package/typed-model/discord-integration.ts +164 -164
  144. package/typed-model/failed-transactions.ts +123 -123
  145. package/typed-model/featured-creator.ts +75 -75
  146. package/typed-model/free-subscription-plan.ts +97 -97
  147. package/typed-model/index.ts +67 -67
  148. package/typed-model/integration.ts +83 -83
  149. package/typed-model/league-on-users.ts +81 -81
  150. package/typed-model/league.ts +53 -53
  151. package/typed-model/limited-offer.ts +80 -80
  152. package/typed-model/media-asset.ts +87 -87
  153. package/typed-model/media.ts +80 -80
  154. package/typed-model/migration-token.ts +75 -75
  155. package/typed-model/notification-preference.ts +85 -85
  156. package/typed-model/notification.ts +135 -135
  157. package/typed-model/organization.ts +80 -80
  158. package/typed-model/password-tokens.ts +55 -55
  159. package/typed-model/pb-sequelize.ts +44 -44
  160. package/typed-model/permission.ts +62 -62
  161. package/typed-model/post.ts +170 -170
  162. package/typed-model/post_on_integrations.ts +104 -104
  163. package/typed-model/posts-on-users.ts +122 -122
  164. package/typed-model/private-feed-users.ts +63 -63
  165. package/typed-model/pumping-risk-score-monitoring.ts +73 -73
  166. package/typed-model/recurly-account.ts +51 -51
  167. package/typed-model/sample.ts +41 -41
  168. package/typed-model/segment.ts +80 -79
  169. package/typed-model/sms-custom-message.ts +66 -66
  170. package/typed-model/sport-on-posts.ts +80 -80
  171. package/typed-model/sport.ts +46 -46
  172. package/typed-model/store.ts +203 -203
  173. package/typed-model/stores_on_organizations.ts +78 -78
  174. package/typed-model/subscriber-discord-integration.ts +109 -109
  175. package/typed-model/subscriber-telegram-integration.ts +109 -109
  176. package/typed-model/subscribers-on-creators.ts +107 -107
  177. package/typed-model/subscription-coupon.ts +133 -133
  178. package/typed-model/subscription-plan-on-post.ts +77 -77
  179. package/typed-model/subscription-plan-on-users.ts +201 -201
  180. package/typed-model/subscription-plan.ts +173 -173
  181. package/typed-model/subscription-pricing-option-on-coupons.ts +78 -78
  182. package/typed-model/subscription-pricing-option.ts +106 -106
  183. package/typed-model/telegram-integration-code.ts +60 -60
  184. package/typed-model/telegram-integration-invite-link.ts +59 -59
  185. package/typed-model/telegram-integration-log.ts +86 -86
  186. package/typed-model/telegram-integration.ts +141 -141
  187. package/typed-model/transaction.ts +159 -159
  188. package/typed-model/trigger.ts +95 -93
  189. package/typed-model/user-cookie-preference.ts +71 -71
  190. package/typed-model/user-review.ts +87 -87
  191. package/typed-model/user-transaction-location.ts +117 -117
  192. package/typed-model/user.ts +273 -273
  193. package/typed-model/users-on-permissions.ts +96 -96
  194. package/typed-model/users_on_creators.ts +95 -95
  195. package/typed-model/users_on_organizations.ts +78 -78
  196. package/typed-model/whitelist.ts +66 -66
  197. package/typed-model/withdrawal.ts +50 -50
  198. package/dist/typed-model/featured-capper.js +0 -51
  199. package/dist/typed-model/featured-capper.js.map +0 -1
@@ -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
- const subscribers_on_creators_1 = __importDefault(require("./subscribers-on-creators"));
10
- const transaction_1 = __importDefault(require("./transaction"));
11
- class UserTransactionLocation extends sequelize_1.Model {
12
- }
13
- UserTransactionLocation.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
- },
25
- userIp: {
26
- type: sequelize_1.DataTypes.TEXT,
27
- allowNull: false,
28
- field: "user_ip",
29
- },
30
- transactionId: {
31
- type: sequelize_1.DataTypes.BIGINT,
32
- allowNull: true,
33
- field: "transaction_id",
34
- },
35
- subscribersOnCreatorsId: {
36
- type: sequelize_1.DataTypes.BIGINT,
37
- allowNull: true,
38
- field: "subscribers_on_creators_id",
39
- },
40
- city: {
41
- type: sequelize_1.DataTypes.TEXT,
42
- allowNull: false,
43
- },
44
- state: {
45
- type: sequelize_1.DataTypes.TEXT,
46
- allowNull: false,
47
- },
48
- country: {
49
- type: sequelize_1.DataTypes.TEXT,
50
- allowNull: false,
51
- },
52
- zip: {
53
- type: sequelize_1.DataTypes.TEXT,
54
- allowNull: true,
55
- },
56
- latitude: {
57
- type: sequelize_1.DataTypes.TEXT,
58
- allowNull: false,
59
- },
60
- longitude: {
61
- type: sequelize_1.DataTypes.TEXT,
62
- allowNull: false,
63
- },
64
- provider: {
65
- type: sequelize_1.DataTypes.TEXT,
66
- allowNull: false,
67
- },
68
- createdAt: sequelize_1.DataTypes.DATE,
69
- updatedAt: sequelize_1.DataTypes.DATE,
70
- }, {
71
- sequelize: pb_sequelize_1.default,
72
- tableName: "user_transaction_locations",
73
- });
74
- UserTransactionLocation.belongsTo(user_1.default, {
75
- foreignKey: "userId",
76
- as: "User",
77
- targetKey: "id",
78
- });
79
- UserTransactionLocation.belongsTo(subscribers_on_creators_1.default, {
80
- foreignKey: "subscribersOnCreatorsId",
81
- as: "SubscribersOnCreators",
82
- targetKey: "id",
83
- });
84
- UserTransactionLocation.belongsTo(transaction_1.default, {
85
- foreignKey: "transactionId",
86
- as: "Transaction",
87
- targetKey: "id",
88
- });
89
- exports.default = UserTransactionLocation;
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 subscribers_on_creators_1 = __importDefault(require("./subscribers-on-creators"));
10
+ const transaction_1 = __importDefault(require("./transaction"));
11
+ class UserTransactionLocation extends sequelize_1.Model {
12
+ }
13
+ UserTransactionLocation.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
+ },
25
+ userIp: {
26
+ type: sequelize_1.DataTypes.TEXT,
27
+ allowNull: false,
28
+ field: "user_ip",
29
+ },
30
+ transactionId: {
31
+ type: sequelize_1.DataTypes.BIGINT,
32
+ allowNull: true,
33
+ field: "transaction_id",
34
+ },
35
+ subscribersOnCreatorsId: {
36
+ type: sequelize_1.DataTypes.BIGINT,
37
+ allowNull: true,
38
+ field: "subscribers_on_creators_id",
39
+ },
40
+ city: {
41
+ type: sequelize_1.DataTypes.TEXT,
42
+ allowNull: false,
43
+ },
44
+ state: {
45
+ type: sequelize_1.DataTypes.TEXT,
46
+ allowNull: false,
47
+ },
48
+ country: {
49
+ type: sequelize_1.DataTypes.TEXT,
50
+ allowNull: false,
51
+ },
52
+ zip: {
53
+ type: sequelize_1.DataTypes.TEXT,
54
+ allowNull: true,
55
+ },
56
+ latitude: {
57
+ type: sequelize_1.DataTypes.TEXT,
58
+ allowNull: false,
59
+ },
60
+ longitude: {
61
+ type: sequelize_1.DataTypes.TEXT,
62
+ allowNull: false,
63
+ },
64
+ provider: {
65
+ type: sequelize_1.DataTypes.TEXT,
66
+ allowNull: false,
67
+ },
68
+ createdAt: sequelize_1.DataTypes.DATE,
69
+ updatedAt: sequelize_1.DataTypes.DATE,
70
+ }, {
71
+ sequelize: pb_sequelize_1.default,
72
+ tableName: "user_transaction_locations",
73
+ });
74
+ UserTransactionLocation.belongsTo(user_1.default, {
75
+ foreignKey: "userId",
76
+ as: "User",
77
+ targetKey: "id",
78
+ });
79
+ UserTransactionLocation.belongsTo(subscribers_on_creators_1.default, {
80
+ foreignKey: "subscribersOnCreatorsId",
81
+ as: "SubscribersOnCreators",
82
+ targetKey: "id",
83
+ });
84
+ UserTransactionLocation.belongsTo(transaction_1.default, {
85
+ foreignKey: "transactionId",
86
+ as: "Transaction",
87
+ targetKey: "id",
88
+ });
89
+ exports.default = UserTransactionLocation;
90
90
  //# sourceMappingURL=user-transaction-location.js.map
@@ -1,211 +1,211 @@
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
- // order of InferAttributes & InferCreationAttributes is important.
10
- class User extends sequelize_1.Model {
11
- }
12
- User.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
- phoneNumber: {
20
- type: sequelize_1.DataTypes.STRING,
21
- allowNull: true,
22
- field: "phone_number",
23
- unique: true,
24
- },
25
- firstName: {
26
- type: sequelize_1.DataTypes.STRING,
27
- allowNull: true,
28
- field: "first_name",
29
- },
30
- lastName: {
31
- type: sequelize_1.DataTypes.STRING,
32
- allowNull: true,
33
- field: "last_name",
34
- },
35
- username: {
36
- type: sequelize_1.DataTypes.STRING,
37
- field: "username",
38
- },
39
- email: {
40
- type: sequelize_1.DataTypes.STRING,
41
- field: "email",
42
- },
43
- password: {
44
- type: sequelize_1.DataTypes.STRING,
45
- field: "password",
46
- },
47
- emailVerified: {
48
- type: sequelize_1.DataTypes.BOOLEAN,
49
- field: "email_verified",
50
- defaultValue: true,
51
- },
52
- userStatus: {
53
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.UserStatus)),
54
- field: "user_status",
55
- defaultValue: types_1.UserStatus.ACTIVE,
56
- },
57
- userRole: {
58
- type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.UserRole)),
59
- field: "user_role",
60
- defaultValue: types_1.UserRole.USER,
61
- },
62
- bio: {
63
- type: sequelize_1.DataTypes.STRING(1000),
64
- field: "bio",
65
- },
66
- headline: {
67
- type: sequelize_1.DataTypes.STRING,
68
- field: "headline",
69
- },
70
- avatarUrl: {
71
- type: sequelize_1.DataTypes.STRING,
72
- field: "avatar_url",
73
- },
74
- twitterUrl: {
75
- type: sequelize_1.DataTypes.STRING,
76
- field: "twitter_url",
77
- },
78
- tiktokUrl: {
79
- type: sequelize_1.DataTypes.STRING,
80
- field: "tiktok_url",
81
- },
82
- instagramUrl: {
83
- type: sequelize_1.DataTypes.STRING,
84
- field: "instagram_url",
85
- },
86
- discordUrl: {
87
- type: sequelize_1.DataTypes.STRING,
88
- field: "discord_url",
89
- },
90
- telegramUrl: {
91
- type: sequelize_1.DataTypes.STRING,
92
- field: "telegram_url",
93
- },
94
- personalSiteUrl: {
95
- type: sequelize_1.DataTypes.STRING,
96
- field: "personal_site_url",
97
- },
98
- bannerImageUrl: {
99
- type: sequelize_1.DataTypes.STRING,
100
- field: "banner_image_url",
101
- },
102
- videoUrl: {
103
- type: sequelize_1.DataTypes.STRING,
104
- field: "video_url",
105
- },
106
- stateCode: {
107
- type: sequelize_1.DataTypes.STRING,
108
- field: "state_code",
109
- },
110
- profit: {
111
- type: sequelize_1.DataTypes.INTEGER,
112
- field: "profit",
113
- defaultValue: 0,
114
- },
115
- units: {
116
- type: sequelize_1.DataTypes.INTEGER,
117
- field: "units",
118
- defaultValue: 0,
119
- },
120
- referringUserId: {
121
- type: sequelize_1.DataTypes.STRING,
122
- field: "referring_user_id",
123
- },
124
- referralPercentage: {
125
- type: sequelize_1.DataTypes.BIGINT,
126
- field: "referral_percentage",
127
- defaultValue: 3,
128
- },
129
- winPercentage: {
130
- type: sequelize_1.DataTypes.BIGINT,
131
- field: "win_percentage",
132
- },
133
- platformFee: {
134
- type: sequelize_1.DataTypes.INTEGER,
135
- field: "platform_fee",
136
- defaultValue: 20,
137
- },
138
- profileViews: {
139
- type: sequelize_1.DataTypes.INTEGER,
140
- field: "profile_views",
141
- defaultValue: 0,
142
- },
143
- masspayUserToken: {
144
- type: sequelize_1.DataTypes.STRING,
145
- field: "masspay_user_token",
146
- },
147
- stytchUserId: {
148
- type: sequelize_1.DataTypes.STRING,
149
- field: "stytch_user_id",
150
- },
151
- optInStatus: {
152
- type: sequelize_1.DataTypes.STRING,
153
- field: "opt_in_status",
154
- defaultValue: "pending",
155
- },
156
- lastPasswordLogin: {
157
- type: sequelize_1.DataTypes.DATE,
158
- field: "last_password_login",
159
- },
160
- intercomHash: {
161
- type: sequelize_1.DataTypes.STRING,
162
- field: "intercom_hash",
163
- },
164
- pushPermissions: {
165
- type: sequelize_1.DataTypes.STRING,
166
- field: "push_permissions",
167
- },
168
- createdAt: sequelize_1.DataTypes.DATE,
169
- updatedAt: sequelize_1.DataTypes.DATE,
170
- }, {
171
- tableName: "users",
172
- sequelize: pb_sequelize_1.default,
173
- defaultScope: {
174
- attributes: { exclude: ["password"] },
175
- },
176
- });
177
- /*
178
- ====================================================================
179
- Class functions
180
- ====================================================================
181
- */
182
- User.getByPhone = async (phoneNumber) => {
183
- return await User.findOne({
184
- where: {
185
- phoneNumber,
186
- },
187
- });
188
- };
189
- User.getByEmail = async (email) => {
190
- return await User.findOne({
191
- where: {
192
- email,
193
- },
194
- });
195
- };
196
- User.getById = async (userId) => {
197
- return await User.findOne({
198
- where: {
199
- id: userId,
200
- },
201
- });
202
- };
203
- User.getOrCreateByPhone = async (phoneNumber) => {
204
- let user = await User.getByPhone(phoneNumber);
205
- if (user) {
206
- return user;
207
- }
208
- return await User.create({ phoneNumber });
209
- };
210
- exports.default = User;
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
+ // order of InferAttributes & InferCreationAttributes is important.
10
+ class User extends sequelize_1.Model {
11
+ }
12
+ User.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
+ phoneNumber: {
20
+ type: sequelize_1.DataTypes.STRING,
21
+ allowNull: true,
22
+ field: "phone_number",
23
+ unique: true,
24
+ },
25
+ firstName: {
26
+ type: sequelize_1.DataTypes.STRING,
27
+ allowNull: true,
28
+ field: "first_name",
29
+ },
30
+ lastName: {
31
+ type: sequelize_1.DataTypes.STRING,
32
+ allowNull: true,
33
+ field: "last_name",
34
+ },
35
+ username: {
36
+ type: sequelize_1.DataTypes.STRING,
37
+ field: "username",
38
+ },
39
+ email: {
40
+ type: sequelize_1.DataTypes.STRING,
41
+ field: "email",
42
+ },
43
+ password: {
44
+ type: sequelize_1.DataTypes.STRING,
45
+ field: "password",
46
+ },
47
+ emailVerified: {
48
+ type: sequelize_1.DataTypes.BOOLEAN,
49
+ field: "email_verified",
50
+ defaultValue: true,
51
+ },
52
+ userStatus: {
53
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.UserStatus)),
54
+ field: "user_status",
55
+ defaultValue: types_1.UserStatus.ACTIVE,
56
+ },
57
+ userRole: {
58
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.UserRole)),
59
+ field: "user_role",
60
+ defaultValue: types_1.UserRole.USER,
61
+ },
62
+ bio: {
63
+ type: sequelize_1.DataTypes.STRING(1000),
64
+ field: "bio",
65
+ },
66
+ headline: {
67
+ type: sequelize_1.DataTypes.STRING,
68
+ field: "headline",
69
+ },
70
+ avatarUrl: {
71
+ type: sequelize_1.DataTypes.STRING,
72
+ field: "avatar_url",
73
+ },
74
+ twitterUrl: {
75
+ type: sequelize_1.DataTypes.STRING,
76
+ field: "twitter_url",
77
+ },
78
+ tiktokUrl: {
79
+ type: sequelize_1.DataTypes.STRING,
80
+ field: "tiktok_url",
81
+ },
82
+ instagramUrl: {
83
+ type: sequelize_1.DataTypes.STRING,
84
+ field: "instagram_url",
85
+ },
86
+ discordUrl: {
87
+ type: sequelize_1.DataTypes.STRING,
88
+ field: "discord_url",
89
+ },
90
+ telegramUrl: {
91
+ type: sequelize_1.DataTypes.STRING,
92
+ field: "telegram_url",
93
+ },
94
+ personalSiteUrl: {
95
+ type: sequelize_1.DataTypes.STRING,
96
+ field: "personal_site_url",
97
+ },
98
+ bannerImageUrl: {
99
+ type: sequelize_1.DataTypes.STRING,
100
+ field: "banner_image_url",
101
+ },
102
+ videoUrl: {
103
+ type: sequelize_1.DataTypes.STRING,
104
+ field: "video_url",
105
+ },
106
+ stateCode: {
107
+ type: sequelize_1.DataTypes.STRING,
108
+ field: "state_code",
109
+ },
110
+ profit: {
111
+ type: sequelize_1.DataTypes.INTEGER,
112
+ field: "profit",
113
+ defaultValue: 0,
114
+ },
115
+ units: {
116
+ type: sequelize_1.DataTypes.INTEGER,
117
+ field: "units",
118
+ defaultValue: 0,
119
+ },
120
+ referringUserId: {
121
+ type: sequelize_1.DataTypes.STRING,
122
+ field: "referring_user_id",
123
+ },
124
+ referralPercentage: {
125
+ type: sequelize_1.DataTypes.BIGINT,
126
+ field: "referral_percentage",
127
+ defaultValue: 3,
128
+ },
129
+ winPercentage: {
130
+ type: sequelize_1.DataTypes.BIGINT,
131
+ field: "win_percentage",
132
+ },
133
+ platformFee: {
134
+ type: sequelize_1.DataTypes.INTEGER,
135
+ field: "platform_fee",
136
+ defaultValue: 20,
137
+ },
138
+ profileViews: {
139
+ type: sequelize_1.DataTypes.INTEGER,
140
+ field: "profile_views",
141
+ defaultValue: 0,
142
+ },
143
+ masspayUserToken: {
144
+ type: sequelize_1.DataTypes.STRING,
145
+ field: "masspay_user_token",
146
+ },
147
+ stytchUserId: {
148
+ type: sequelize_1.DataTypes.STRING,
149
+ field: "stytch_user_id",
150
+ },
151
+ optInStatus: {
152
+ type: sequelize_1.DataTypes.STRING,
153
+ field: "opt_in_status",
154
+ defaultValue: "pending",
155
+ },
156
+ lastPasswordLogin: {
157
+ type: sequelize_1.DataTypes.DATE,
158
+ field: "last_password_login",
159
+ },
160
+ intercomHash: {
161
+ type: sequelize_1.DataTypes.STRING,
162
+ field: "intercom_hash",
163
+ },
164
+ pushPermissions: {
165
+ type: sequelize_1.DataTypes.STRING,
166
+ field: "push_permissions",
167
+ },
168
+ createdAt: sequelize_1.DataTypes.DATE,
169
+ updatedAt: sequelize_1.DataTypes.DATE,
170
+ }, {
171
+ tableName: "users",
172
+ sequelize: pb_sequelize_1.default,
173
+ defaultScope: {
174
+ attributes: { exclude: ["password"] },
175
+ },
176
+ });
177
+ /*
178
+ ====================================================================
179
+ Class functions
180
+ ====================================================================
181
+ */
182
+ User.getByPhone = async (phoneNumber) => {
183
+ return await User.findOne({
184
+ where: {
185
+ phoneNumber,
186
+ },
187
+ });
188
+ };
189
+ User.getByEmail = async (email) => {
190
+ return await User.findOne({
191
+ where: {
192
+ email,
193
+ },
194
+ });
195
+ };
196
+ User.getById = async (userId) => {
197
+ return await User.findOne({
198
+ where: {
199
+ id: userId,
200
+ },
201
+ });
202
+ };
203
+ User.getOrCreateByPhone = async (phoneNumber) => {
204
+ let user = await User.getByPhone(phoneNumber);
205
+ if (user) {
206
+ return user;
207
+ }
208
+ return await User.create({ phoneNumber });
209
+ };
210
+ exports.default = User;
211
211
  //# sourceMappingURL=user.js.map