@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,67 +1,67 @@
1
- export { default as ContentLike } from "./content-like";
2
- export { default as Transaction } from "./transaction";
3
- export { default as MediaAsset } from "./media-asset";
4
- export { default as Media } from "./media";
5
- export { default as Notification } from "./notification";
6
- export { default as PasswordTokens } from "./password-tokens";
7
- export { default as Post } from "./post";
8
- export { default as PostsOnUsers } from "./posts-on-users";
9
- export { default as SubscriptionPlan } from "./subscription-plan";
10
- export { default as SubscriptionPlanOnUsers } from "./subscription-plan-on-users";
11
- export { default as SubscriptionPlanOnPost } from "./subscription-plan-on-post";
12
- export { default as SubscriptionCoupon } from "./subscription-coupon";
13
- export { default as SubscriptionPricingOption } from "./subscription-pricing-option";
14
- export { default as FreeSubscriptionPlan } from "./free-subscription-plan";
15
- export { default as RecurlyAccount } from "./recurly-account";
16
- export { default as Withdrawal } from "./withdrawal";
17
- export { default as League } from "./league";
18
- export { default as LeagueOnUsers } from "./league-on-users";
19
- export { default as User } from "./user";
20
- export { default as SubscriptionPricingOptionOnCoupons } from "./subscription-pricing-option-on-coupons";
21
- export { default as SubscribersOnCreators } from "./subscribers-on-creators";
22
- export { default as NotificationPreference } from "./notification-preference";
23
- export { default as Application } from "./application";
24
- export { default as Store } from "./store";
25
- export { default as UsersOnCreators } from "./users_on_creators";
26
- export { default as Integration } from "./integration";
27
- export { default as Sport } from "./sport";
28
- export { default as SportOnPosts } from "./sport-on-posts";
29
- export { default as DiscordIntegration } from "./discord-integration";
30
- export { default as SubscriberDiscordIntegration } from "./subscriber-discord-integration";
31
- export { default as Whitelist } from "./whitelist";
32
- export { default as FailedTransactions } from "./failed-transactions";
33
- export { default as Organization } from "./organization";
34
- export { default as UsersOnOrganizations } from "./users_on_organizations";
35
- export { default as StoresOnOrganizations } from "./stores_on_organizations";
36
- export { default as TelegramIntegration } from "./telegram-integration";
37
- export { default as SubscriberTelegramIntegration } from "./subscriber-telegram-integration";
38
- export { default as TelegramIntegrationLog } from "./telegram-integration-log";
39
- export { default as TelegramIntegrationCode } from "./telegram-integration-code";
40
- export { default as TelegramIntegrationInviteLink } from "./telegram-integration-invite-link";
41
- export { default as DiscordIntegrationLog } from "./discord-integration-log";
42
- export { default as PostsOnIntegrations } from "./post_on_integrations";
43
- export { default as FeaturedCreator } from "./featured-creator";
44
- export { default as PrivateFeedUsers } from "./private-feed-users";
45
- export { default as CancellationOffer } from "./cancellation_offer";
46
- export { default as CancellationReason } from "./cancellation_reason";
47
- export { default as AffiliateCode } from "./affiliate-code";
48
- export { default as AffiliateLinkType } from "./affiliate-links-types";
49
- export { default as LimitedOffer } from "./limited-offer";
50
- export { default as Bet } from "./bet";
51
- export { default as MigrationToken } from "./migration-token";
52
- export { default as SMSCustomMessage } from "./sms-custom-message";
53
- export { default as Permission } from "./permission";
54
- export { default as UsersOnPermissions } from "./users-on-permissions";
55
- export { default as PumpingRiskScoreMonitoring } from "./pumping-risk-score-monitoring";
56
- export { default as UserReview } from "./user-review";
57
- export { default as UserTransactionLocation } from "./user-transaction-location";
58
- export { default as CouponRedemptions } from "./coupon_redemptions";
59
- export { default as UserCookiePreference } from "./user-cookie-preference";
60
- export { default as CreatorServiceFee } from "./creator-service-fee";
61
- export { default as CampaignTemplate } from "./campaign-template";
62
- export { default as Campaign } from "./campaign";
63
- export { default as CampaignMessage } from "./campaign-message";
64
- export { default as Trigger } from "./trigger";
65
- export { default as Segment } from "./segment";
66
-
67
- export { default as pbSequelize } from "./pb-sequelize";
1
+ export { default as ContentLike } from "./content-like";
2
+ export { default as Transaction } from "./transaction";
3
+ export { default as MediaAsset } from "./media-asset";
4
+ export { default as Media } from "./media";
5
+ export { default as Notification } from "./notification";
6
+ export { default as PasswordTokens } from "./password-tokens";
7
+ export { default as Post } from "./post";
8
+ export { default as PostsOnUsers } from "./posts-on-users";
9
+ export { default as SubscriptionPlan } from "./subscription-plan";
10
+ export { default as SubscriptionPlanOnUsers } from "./subscription-plan-on-users";
11
+ export { default as SubscriptionPlanOnPost } from "./subscription-plan-on-post";
12
+ export { default as SubscriptionCoupon } from "./subscription-coupon";
13
+ export { default as SubscriptionPricingOption } from "./subscription-pricing-option";
14
+ export { default as FreeSubscriptionPlan } from "./free-subscription-plan";
15
+ export { default as RecurlyAccount } from "./recurly-account";
16
+ export { default as Withdrawal } from "./withdrawal";
17
+ export { default as League } from "./league";
18
+ export { default as LeagueOnUsers } from "./league-on-users";
19
+ export { default as User } from "./user";
20
+ export { default as SubscriptionPricingOptionOnCoupons } from "./subscription-pricing-option-on-coupons";
21
+ export { default as SubscribersOnCreators } from "./subscribers-on-creators";
22
+ export { default as NotificationPreference } from "./notification-preference";
23
+ export { default as Application } from "./application";
24
+ export { default as Store } from "./store";
25
+ export { default as UsersOnCreators } from "./users_on_creators";
26
+ export { default as Integration } from "./integration";
27
+ export { default as Sport } from "./sport";
28
+ export { default as SportOnPosts } from "./sport-on-posts";
29
+ export { default as DiscordIntegration } from "./discord-integration";
30
+ export { default as SubscriberDiscordIntegration } from "./subscriber-discord-integration";
31
+ export { default as Whitelist } from "./whitelist";
32
+ export { default as FailedTransactions } from "./failed-transactions";
33
+ export { default as Organization } from "./organization";
34
+ export { default as UsersOnOrganizations } from "./users_on_organizations";
35
+ export { default as StoresOnOrganizations } from "./stores_on_organizations";
36
+ export { default as TelegramIntegration } from "./telegram-integration";
37
+ export { default as SubscriberTelegramIntegration } from "./subscriber-telegram-integration";
38
+ export { default as TelegramIntegrationLog } from "./telegram-integration-log";
39
+ export { default as TelegramIntegrationCode } from "./telegram-integration-code";
40
+ export { default as TelegramIntegrationInviteLink } from "./telegram-integration-invite-link";
41
+ export { default as DiscordIntegrationLog } from "./discord-integration-log";
42
+ export { default as PostsOnIntegrations } from "./post_on_integrations";
43
+ export { default as FeaturedCreator } from "./featured-creator";
44
+ export { default as PrivateFeedUsers } from "./private-feed-users";
45
+ export { default as CancellationOffer } from "./cancellation_offer";
46
+ export { default as CancellationReason } from "./cancellation_reason";
47
+ export { default as AffiliateCode } from "./affiliate-code";
48
+ export { default as AffiliateLinkType } from "./affiliate-links-types";
49
+ export { default as LimitedOffer } from "./limited-offer";
50
+ export { default as Bet } from "./bet";
51
+ export { default as MigrationToken } from "./migration-token";
52
+ export { default as SMSCustomMessage } from "./sms-custom-message";
53
+ export { default as Permission } from "./permission";
54
+ export { default as UsersOnPermissions } from "./users-on-permissions";
55
+ export { default as PumpingRiskScoreMonitoring } from "./pumping-risk-score-monitoring";
56
+ export { default as UserReview } from "./user-review";
57
+ export { default as UserTransactionLocation } from "./user-transaction-location";
58
+ export { default as CouponRedemptions } from "./coupon_redemptions";
59
+ export { default as UserCookiePreference } from "./user-cookie-preference";
60
+ export { default as CreatorServiceFee } from "./creator-service-fee";
61
+ export { default as CampaignTemplate } from "./campaign-template";
62
+ export { default as Campaign } from "./campaign";
63
+ export { default as CampaignMessage } from "./campaign-message";
64
+ export { default as Trigger } from "./trigger";
65
+ export { default as Segment } from "./segment";
66
+
67
+ export { default as pbSequelize } from "./pb-sequelize";
@@ -1,83 +1,83 @@
1
- import {
2
- Model,
3
- InferAttributes,
4
- InferCreationAttributes,
5
- CreationOptional,
6
- DataTypes,
7
- } from "sequelize";
8
-
9
- import sequelize from "./pb-sequelize";
10
- import User from "./user";
11
-
12
- type IntegrationProviderType = "stripe";
13
-
14
- // order of InferAttributes & InferCreationAttributes is important.
15
- class Integration extends Model<
16
- InferAttributes<Integration>,
17
- InferCreationAttributes<Integration>
18
- > {
19
- // 'CreationOptional' is a special type that marks the field as optional
20
- // when creating an instance of the model (such as using Model.create()).
21
- declare id: CreationOptional<string>;
22
- declare userId: string;
23
- declare externalId: string;
24
- declare provider: IntegrationProviderType;
25
- declare metadata: string;
26
-
27
- declare createdAt: CreationOptional<Date>;
28
- declare updatedAt: CreationOptional<Date>;
29
- }
30
-
31
- Integration.init(
32
- {
33
- id: {
34
- type: DataTypes.BIGINT,
35
- primaryKey: true,
36
- allowNull: false,
37
- defaultValue: sequelize.fn("next_id"),
38
- },
39
- userId: {
40
- type: DataTypes.BIGINT,
41
- allowNull: false,
42
- field: "user_id",
43
- references: {
44
- model: User,
45
- },
46
- },
47
- externalId: {
48
- type: DataTypes.STRING,
49
- allowNull: true,
50
- field: "external_id",
51
- },
52
- provider: {
53
- type: DataTypes.STRING,
54
- allowNull: true,
55
- field: "provider",
56
- },
57
- metadata: {
58
- type: DataTypes.STRING,
59
- allowNull: true,
60
- field: "metadata",
61
- },
62
- createdAt: DataTypes.DATE,
63
- updatedAt: DataTypes.DATE,
64
- },
65
- {
66
- tableName: "integrations",
67
- sequelize,
68
- }
69
- );
70
-
71
- User.hasMany(Integration, {
72
- foreignKey: "userId",
73
- sourceKey: "id",
74
- onDelete: "NO ACTION",
75
- constraints: false,
76
- });
77
-
78
- Integration.hasOne(User, {
79
- foreignKey: "id",
80
- sourceKey: "userId",
81
- });
82
-
83
- export default Integration;
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ } from "sequelize";
8
+
9
+ import sequelize from "./pb-sequelize";
10
+ import User from "./user";
11
+
12
+ type IntegrationProviderType = "stripe";
13
+
14
+ // order of InferAttributes & InferCreationAttributes is important.
15
+ class Integration extends Model<
16
+ InferAttributes<Integration>,
17
+ InferCreationAttributes<Integration>
18
+ > {
19
+ // 'CreationOptional' is a special type that marks the field as optional
20
+ // when creating an instance of the model (such as using Model.create()).
21
+ declare id: CreationOptional<string>;
22
+ declare userId: string;
23
+ declare externalId: string;
24
+ declare provider: IntegrationProviderType;
25
+ declare metadata: string;
26
+
27
+ declare createdAt: CreationOptional<Date>;
28
+ declare updatedAt: CreationOptional<Date>;
29
+ }
30
+
31
+ Integration.init(
32
+ {
33
+ id: {
34
+ type: DataTypes.BIGINT,
35
+ primaryKey: true,
36
+ allowNull: false,
37
+ defaultValue: sequelize.fn("next_id"),
38
+ },
39
+ userId: {
40
+ type: DataTypes.BIGINT,
41
+ allowNull: false,
42
+ field: "user_id",
43
+ references: {
44
+ model: User,
45
+ },
46
+ },
47
+ externalId: {
48
+ type: DataTypes.STRING,
49
+ allowNull: true,
50
+ field: "external_id",
51
+ },
52
+ provider: {
53
+ type: DataTypes.STRING,
54
+ allowNull: true,
55
+ field: "provider",
56
+ },
57
+ metadata: {
58
+ type: DataTypes.STRING,
59
+ allowNull: true,
60
+ field: "metadata",
61
+ },
62
+ createdAt: DataTypes.DATE,
63
+ updatedAt: DataTypes.DATE,
64
+ },
65
+ {
66
+ tableName: "integrations",
67
+ sequelize,
68
+ }
69
+ );
70
+
71
+ User.hasMany(Integration, {
72
+ foreignKey: "userId",
73
+ sourceKey: "id",
74
+ onDelete: "NO ACTION",
75
+ constraints: false,
76
+ });
77
+
78
+ Integration.hasOne(User, {
79
+ foreignKey: "id",
80
+ sourceKey: "userId",
81
+ });
82
+
83
+ export default Integration;
@@ -1,81 +1,81 @@
1
- import {
2
- Model,
3
- InferAttributes,
4
- InferCreationAttributes,
5
- CreationOptional,
6
- DataTypes,
7
- } from "sequelize";
8
- import League from "./league";
9
-
10
- import sequelize from "./pb-sequelize";
11
- import User from "./user";
12
-
13
- // order of InferAttributes & InferCreationAttributes is important.
14
- class LeagueOnUsers extends Model<
15
- InferAttributes<LeagueOnUsers>,
16
- InferCreationAttributes<LeagueOnUsers>
17
- > {
18
- // 'CreationOptional' is a special type that marks the field as optional
19
- // when creating an instance of the model (such as using Model.create()).
20
- declare id: CreationOptional<string>;
21
- declare leagueId: string;
22
- declare userId: string;
23
- declare createdAt: CreationOptional<Date>;
24
- declare updatedAt: CreationOptional<Date>;
25
- }
26
-
27
- LeagueOnUsers.init(
28
- {
29
- id: {
30
- type: DataTypes.BIGINT,
31
- primaryKey: true,
32
- allowNull: false,
33
- defaultValue: sequelize.fn("next_id"),
34
- },
35
- leagueId: {
36
- type: DataTypes.BIGINT,
37
- field: "league_id",
38
- allowNull: false,
39
- },
40
- userId: {
41
- type: DataTypes.BIGINT,
42
- field: "user_id",
43
- allowNull: false,
44
- },
45
- createdAt: DataTypes.DATE,
46
- updatedAt: DataTypes.DATE,
47
- },
48
- {
49
- // Other model options go here
50
- tableName: "league_on_users",
51
- sequelize,
52
- }
53
- );
54
-
55
- LeagueOnUsers.hasOne(League, {
56
- foreignKey: "id",
57
- sourceKey: "leagueId",
58
- onDelete: "NO ACTION",
59
- constraints: false,
60
- });
61
-
62
- League.hasMany(LeagueOnUsers, {
63
- foreignKey: "leagueId",
64
- onDelete: "NO ACTION",
65
- constraints: false,
66
- });
67
-
68
- LeagueOnUsers.hasOne(User, {
69
- foreignKey: "id",
70
- sourceKey: "userId",
71
- onDelete: "NO ACTION",
72
- constraints: false,
73
- });
74
-
75
- User.hasMany(LeagueOnUsers, {
76
- foreignKey: "userId",
77
- onDelete: "NO ACTION",
78
- constraints: false,
79
- });
80
-
81
- export default LeagueOnUsers;
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ } from "sequelize";
8
+ import League from "./league";
9
+
10
+ import sequelize from "./pb-sequelize";
11
+ import User from "./user";
12
+
13
+ // order of InferAttributes & InferCreationAttributes is important.
14
+ class LeagueOnUsers extends Model<
15
+ InferAttributes<LeagueOnUsers>,
16
+ InferCreationAttributes<LeagueOnUsers>
17
+ > {
18
+ // 'CreationOptional' is a special type that marks the field as optional
19
+ // when creating an instance of the model (such as using Model.create()).
20
+ declare id: CreationOptional<string>;
21
+ declare leagueId: string;
22
+ declare userId: string;
23
+ declare createdAt: CreationOptional<Date>;
24
+ declare updatedAt: CreationOptional<Date>;
25
+ }
26
+
27
+ LeagueOnUsers.init(
28
+ {
29
+ id: {
30
+ type: DataTypes.BIGINT,
31
+ primaryKey: true,
32
+ allowNull: false,
33
+ defaultValue: sequelize.fn("next_id"),
34
+ },
35
+ leagueId: {
36
+ type: DataTypes.BIGINT,
37
+ field: "league_id",
38
+ allowNull: false,
39
+ },
40
+ userId: {
41
+ type: DataTypes.BIGINT,
42
+ field: "user_id",
43
+ allowNull: false,
44
+ },
45
+ createdAt: DataTypes.DATE,
46
+ updatedAt: DataTypes.DATE,
47
+ },
48
+ {
49
+ // Other model options go here
50
+ tableName: "league_on_users",
51
+ sequelize,
52
+ }
53
+ );
54
+
55
+ LeagueOnUsers.hasOne(League, {
56
+ foreignKey: "id",
57
+ sourceKey: "leagueId",
58
+ onDelete: "NO ACTION",
59
+ constraints: false,
60
+ });
61
+
62
+ League.hasMany(LeagueOnUsers, {
63
+ foreignKey: "leagueId",
64
+ onDelete: "NO ACTION",
65
+ constraints: false,
66
+ });
67
+
68
+ LeagueOnUsers.hasOne(User, {
69
+ foreignKey: "id",
70
+ sourceKey: "userId",
71
+ onDelete: "NO ACTION",
72
+ constraints: false,
73
+ });
74
+
75
+ User.hasMany(LeagueOnUsers, {
76
+ foreignKey: "userId",
77
+ onDelete: "NO ACTION",
78
+ constraints: false,
79
+ });
80
+
81
+ export default LeagueOnUsers;
@@ -1,53 +1,53 @@
1
- import {
2
- Model,
3
- InferAttributes,
4
- InferCreationAttributes,
5
- CreationOptional,
6
- DataTypes,
7
- fn,
8
- } from "sequelize";
9
-
10
- import sequelize from "./pb-sequelize";
11
-
12
- // order of InferAttributes & InferCreationAttributes is important.
13
- class League extends Model<
14
- InferAttributes<League>,
15
- InferCreationAttributes<League>
16
- > {
17
- // 'CreationOptional' is a special type that marks the field as optional
18
- // when creating an instance of the model (such as using Model.create()).
19
- declare id: CreationOptional<string>;
20
- declare sport: string;
21
- declare leagueName: string;
22
- declare createdAt: CreationOptional<Date>;
23
- declare updatedAt: CreationOptional<Date>;
24
- }
25
-
26
- League.init(
27
- {
28
- id: {
29
- type: DataTypes.BIGINT,
30
- primaryKey: true,
31
- allowNull: false,
32
- defaultValue: sequelize.fn("next_id"),
33
- },
34
- sport: {
35
- type: DataTypes.STRING,
36
- field: "sport",
37
- },
38
- leagueName: {
39
- type: DataTypes.STRING,
40
- field: "league_name",
41
- unique: true,
42
- },
43
- createdAt: DataTypes.DATE,
44
- updatedAt: DataTypes.DATE,
45
- },
46
- {
47
- // Other model options go here
48
- tableName: "leagues",
49
- sequelize,
50
- }
51
- );
52
-
53
- export default League;
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ fn,
8
+ } from "sequelize";
9
+
10
+ import sequelize from "./pb-sequelize";
11
+
12
+ // order of InferAttributes & InferCreationAttributes is important.
13
+ class League extends Model<
14
+ InferAttributes<League>,
15
+ InferCreationAttributes<League>
16
+ > {
17
+ // 'CreationOptional' is a special type that marks the field as optional
18
+ // when creating an instance of the model (such as using Model.create()).
19
+ declare id: CreationOptional<string>;
20
+ declare sport: string;
21
+ declare leagueName: string;
22
+ declare createdAt: CreationOptional<Date>;
23
+ declare updatedAt: CreationOptional<Date>;
24
+ }
25
+
26
+ League.init(
27
+ {
28
+ id: {
29
+ type: DataTypes.BIGINT,
30
+ primaryKey: true,
31
+ allowNull: false,
32
+ defaultValue: sequelize.fn("next_id"),
33
+ },
34
+ sport: {
35
+ type: DataTypes.STRING,
36
+ field: "sport",
37
+ },
38
+ leagueName: {
39
+ type: DataTypes.STRING,
40
+ field: "league_name",
41
+ unique: true,
42
+ },
43
+ createdAt: DataTypes.DATE,
44
+ updatedAt: DataTypes.DATE,
45
+ },
46
+ {
47
+ // Other model options go here
48
+ tableName: "leagues",
49
+ sequelize,
50
+ }
51
+ );
52
+
53
+ export default League;