@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,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;