@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,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
@@ -1,72 +1,72 @@
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 organization_1 = __importDefault(require("./organization"));
10
- const users_on_organizations_1 = __importDefault(require("./users_on_organizations"));
11
- // order of InferAttributes & InferCreationAttributes is important.
12
- class UsersOnPermissions extends sequelize_1.Model {
13
- }
14
- UsersOnPermissions.init({
15
- id: {
16
- type: sequelize_1.DataTypes.BIGINT,
17
- primaryKey: true,
18
- allowNull: false,
19
- defaultValue: pb_sequelize_1.default.fn("next_id"),
20
- },
21
- userId: {
22
- type: sequelize_1.DataTypes.BIGINT,
23
- allowNull: false,
24
- field: "user_id",
25
- references: {
26
- model: user_1.default,
27
- },
28
- },
29
- targetUserId: {
30
- type: sequelize_1.DataTypes.BIGINT,
31
- field: "target_user_id",
32
- },
33
- organizationId: {
34
- type: sequelize_1.DataTypes.BIGINT,
35
- allowNull: false,
36
- field: "organization_id",
37
- references: {
38
- model: organization_1.default,
39
- },
40
- },
41
- userOnOrganizationId: {
42
- type: sequelize_1.DataTypes.BIGINT,
43
- allowNull: false,
44
- field: "user_on_organization_id",
45
- references: {
46
- model: users_on_organizations_1.default,
47
- },
48
- },
49
- permissions: {
50
- type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.STRING),
51
- defaultValue: [],
52
- },
53
- createdAt: sequelize_1.DataTypes.DATE,
54
- updatedAt: sequelize_1.DataTypes.DATE,
55
- }, {
56
- tableName: "users_on_permissions",
57
- sequelize: pb_sequelize_1.default,
58
- });
59
- user_1.default.hasMany(UsersOnPermissions, {
60
- foreignKey: "userId",
61
- sourceKey: "id",
62
- });
63
- organization_1.default.hasMany(UsersOnPermissions, {
64
- foreignKey: "organizationId",
65
- sourceKey: "id",
66
- });
67
- users_on_organizations_1.default.hasMany(UsersOnPermissions, {
68
- foreignKey: "userOnOrganizationId",
69
- sourceKey: "id",
70
- });
71
- exports.default = UsersOnPermissions;
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 organization_1 = __importDefault(require("./organization"));
10
+ const users_on_organizations_1 = __importDefault(require("./users_on_organizations"));
11
+ // order of InferAttributes & InferCreationAttributes is important.
12
+ class UsersOnPermissions extends sequelize_1.Model {
13
+ }
14
+ UsersOnPermissions.init({
15
+ id: {
16
+ type: sequelize_1.DataTypes.BIGINT,
17
+ primaryKey: true,
18
+ allowNull: false,
19
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
20
+ },
21
+ userId: {
22
+ type: sequelize_1.DataTypes.BIGINT,
23
+ allowNull: false,
24
+ field: "user_id",
25
+ references: {
26
+ model: user_1.default,
27
+ },
28
+ },
29
+ targetUserId: {
30
+ type: sequelize_1.DataTypes.BIGINT,
31
+ field: "target_user_id",
32
+ },
33
+ organizationId: {
34
+ type: sequelize_1.DataTypes.BIGINT,
35
+ allowNull: false,
36
+ field: "organization_id",
37
+ references: {
38
+ model: organization_1.default,
39
+ },
40
+ },
41
+ userOnOrganizationId: {
42
+ type: sequelize_1.DataTypes.BIGINT,
43
+ allowNull: false,
44
+ field: "user_on_organization_id",
45
+ references: {
46
+ model: users_on_organizations_1.default,
47
+ },
48
+ },
49
+ permissions: {
50
+ type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.STRING),
51
+ defaultValue: [],
52
+ },
53
+ createdAt: sequelize_1.DataTypes.DATE,
54
+ updatedAt: sequelize_1.DataTypes.DATE,
55
+ }, {
56
+ tableName: "users_on_permissions",
57
+ sequelize: pb_sequelize_1.default,
58
+ });
59
+ user_1.default.hasMany(UsersOnPermissions, {
60
+ foreignKey: "userId",
61
+ sourceKey: "id",
62
+ });
63
+ organization_1.default.hasMany(UsersOnPermissions, {
64
+ foreignKey: "organizationId",
65
+ sourceKey: "id",
66
+ });
67
+ users_on_organizations_1.default.hasMany(UsersOnPermissions, {
68
+ foreignKey: "userOnOrganizationId",
69
+ sourceKey: "id",
70
+ });
71
+ exports.default = UsersOnPermissions;
72
72
  //# sourceMappingURL=users-on-permissions.js.map