@winible/winible-typed 2.13.0 → 2.13.2

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 (142) hide show
  1. package/dist/index.js +20 -0
  2. package/dist/index.js.map +1 -0
  3. package/dist/migrations/20230104055346-oddsjam.js +501 -0
  4. package/dist/migrations/20230104055346-oddsjam.js.map +1 -0
  5. package/dist/migrations/20230104233909-markets.js +28 -0
  6. package/dist/migrations/20230104233909-markets.js.map +1 -0
  7. package/dist/migrations/20230105005418-sportsbook.js +24 -0
  8. package/dist/migrations/20230105005418-sportsbook.js.map +1 -0
  9. package/dist/migrations/20230106044910-player-result.js +59 -0
  10. package/dist/migrations/20230106044910-player-result.js.map +1 -0
  11. package/dist/migrations/20230206061925-stale.js +13 -0
  12. package/dist/migrations/20230206061925-stale.js.map +1 -0
  13. package/dist/migrations/20230313175015-league-user.js +29 -0
  14. package/dist/migrations/20230313175015-league-user.js.map +1 -0
  15. package/dist/migrations/20230405141245-deprecate-agencies.js +9 -0
  16. package/dist/migrations/20230405141245-deprecate-agencies.js.map +1 -0
  17. package/dist/migrations/20230405142440-deprecate-unused-tables.js +23 -0
  18. package/dist/migrations/20230405142440-deprecate-unused-tables.js.map +1 -0
  19. package/dist/migrations/20230410144940-deprecate-consent-people.js +9 -0
  20. package/dist/migrations/20230410144940-deprecate-consent-people.js.map +1 -0
  21. package/dist/migrations/20230410174328-deprecate-consent-people-table.js +9 -0
  22. package/dist/migrations/20230410174328-deprecate-consent-people-table.js.map +1 -0
  23. package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js +9 -0
  24. package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js.map +1 -0
  25. package/dist/migrations/20230410202433-migrate-credit-payments-fields.js +12 -0
  26. package/dist/migrations/20230410202433-migrate-credit-payments-fields.js.map +1 -0
  27. package/dist/migrations/20230410211059-deprecate-credit-purchases.js +9 -0
  28. package/dist/migrations/20230410211059-deprecate-credit-purchases.js.map +1 -0
  29. package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js +10 -0
  30. package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js.map +1 -0
  31. package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js +34 -0
  32. package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js.map +1 -0
  33. package/dist/migrations/20230411054826-create-users-table.js +141 -0
  34. package/dist/migrations/20230411054826-create-users-table.js.map +1 -0
  35. package/dist/migrations/20230411202848-migrate_transactions_table.js +24 -0
  36. package/dist/migrations/20230411202848-migrate_transactions_table.js.map +1 -0
  37. package/dist/migrations/20230411203543-migrate_league_users.js +9 -0
  38. package/dist/migrations/20230411203543-migrate_league_users.js.map +1 -0
  39. package/dist/migrations/20230411205324-migrate_league.js +13 -0
  40. package/dist/migrations/20230411205324-migrate_league.js.map +1 -0
  41. package/dist/migrations/20230411221159-migrate_media.js +9 -0
  42. package/dist/migrations/20230411221159-migrate_media.js.map +1 -0
  43. package/dist/migrations/20230411221327-migrate_media_asset.js +10 -0
  44. package/dist/migrations/20230411221327-migrate_media_asset.js.map +1 -0
  45. package/dist/migrations/20230411221842-migrate_media_asset_fields.js +10 -0
  46. package/dist/migrations/20230411221842-migrate_media_asset_fields.js.map +1 -0
  47. package/dist/migrations/20230411222018-migrate_notifications.js +25 -0
  48. package/dist/migrations/20230411222018-migrate_notifications.js.map +1 -0
  49. package/dist/migrations/20230412190423-migrate_purchased_contents.js +10 -0
  50. package/dist/migrations/20230412190423-migrate_purchased_contents.js.map +1 -0
  51. package/dist/migrations/20230412202031-migrate_other_fields.js +27 -0
  52. package/dist/migrations/20230412202031-migrate_other_fields.js.map +1 -0
  53. package/dist/migrations/20230412213952-deprecate_phone_users_and_phone_owners.js +27 -0
  54. package/dist/migrations/20230412213952-deprecate_phone_users_and_phone_owners.js.map +1 -0
  55. package/dist/scripts/cleanupRecurlyPlans.js +50 -0
  56. package/dist/scripts/cleanupRecurlyPlans.js.map +1 -0
  57. package/dist/scripts/deleteMalformedImages.js +87 -0
  58. package/dist/scripts/deleteMalformedImages.js.map +1 -0
  59. package/dist/scripts/test.js +18 -0
  60. package/dist/scripts/test.js.map +1 -0
  61. package/dist/src/index.js +9 -0
  62. package/dist/src/index.js.map +1 -0
  63. package/dist/src/recurlyInstance.js +33 -0
  64. package/dist/src/recurlyInstance.js.map +1 -0
  65. package/dist/src/types.js +35 -0
  66. package/dist/src/types.js.map +1 -0
  67. package/dist/support/index.js +19 -0
  68. package/dist/support/index.js.map +1 -0
  69. package/dist/support/slack-client.js +51 -0
  70. package/dist/support/slack-client.js.map +1 -0
  71. package/dist/support/uploadcare.js +143 -0
  72. package/dist/support/uploadcare.js.map +1 -0
  73. package/dist/support/utils.js +69 -0
  74. package/dist/support/utils.js.map +1 -0
  75. package/dist/typed-model/application.js +66 -0
  76. package/dist/typed-model/application.js.map +1 -0
  77. package/dist/typed-model/content-like.js +70 -0
  78. package/dist/typed-model/content-like.js.map +1 -0
  79. package/dist/typed-model/index.js +61 -0
  80. package/dist/typed-model/index.js.map +1 -0
  81. package/dist/typed-model/integration.js +59 -0
  82. package/dist/typed-model/integration.js.map +1 -0
  83. package/dist/typed-model/league-on-users.js +60 -0
  84. package/dist/typed-model/league-on-users.js.map +1 -0
  85. package/dist/typed-model/league-user.js +60 -0
  86. package/dist/typed-model/league-user.js.map +1 -0
  87. package/dist/typed-model/league.js +35 -0
  88. package/dist/typed-model/league.js.map +1 -0
  89. package/dist/typed-model/media-asset.js +64 -0
  90. package/dist/typed-model/media-asset.js.map +1 -0
  91. package/dist/typed-model/media.js +55 -0
  92. package/dist/typed-model/media.js.map +1 -0
  93. package/dist/typed-model/notification-preference.js +54 -0
  94. package/dist/typed-model/notification-preference.js.map +1 -0
  95. package/dist/typed-model/notification.js +85 -0
  96. package/dist/typed-model/notification.js.map +1 -0
  97. package/dist/typed-model/pb-sequelize.js +25 -0
  98. package/dist/typed-model/pb-sequelize.js.map +1 -0
  99. package/dist/typed-model/post.js +119 -0
  100. package/dist/typed-model/post.js.map +1 -0
  101. package/dist/typed-model/posts-on-users.js +93 -0
  102. package/dist/typed-model/posts-on-users.js.map +1 -0
  103. package/dist/typed-model/recurly-account.js +34 -0
  104. package/dist/typed-model/recurly-account.js.map +1 -0
  105. package/dist/typed-model/sport-on-posts.js +59 -0
  106. package/dist/typed-model/sport-on-posts.js.map +1 -0
  107. package/dist/typed-model/sport.js +30 -0
  108. package/dist/typed-model/sport.js.map +1 -0
  109. package/dist/typed-model/store.js +139 -0
  110. package/dist/typed-model/store.js.map +1 -0
  111. package/dist/typed-model/subscribers-on-creators.js +65 -0
  112. package/dist/typed-model/subscribers-on-creators.js.map +1 -0
  113. package/dist/typed-model/subscription-coupon.js +88 -0
  114. package/dist/typed-model/subscription-coupon.js.map +1 -0
  115. package/dist/typed-model/subscription-plan-on-post.js +55 -0
  116. package/dist/typed-model/subscription-plan-on-post.js.map +1 -0
  117. package/dist/typed-model/subscription-plan-on-users.js +133 -0
  118. package/dist/typed-model/subscription-plan-on-users.js.map +1 -0
  119. package/dist/typed-model/subscription-plan.js +81 -0
  120. package/dist/typed-model/subscription-plan.js.map +1 -0
  121. package/dist/typed-model/subscription-pricing-option-on-coupons.js +55 -0
  122. package/dist/typed-model/subscription-pricing-option-on-coupons.js.map +1 -0
  123. package/dist/typed-model/subscription-pricing-option.js +63 -0
  124. package/dist/typed-model/subscription-pricing-option.js.map +1 -0
  125. package/dist/typed-model/transaction.js +110 -0
  126. package/dist/typed-model/transaction.js.map +1 -0
  127. package/dist/typed-model/user.js +199 -0
  128. package/dist/typed-model/user.js.map +1 -0
  129. package/dist/typed-model/users_on_creators.js +71 -0
  130. package/dist/typed-model/users_on_creators.js.map +1 -0
  131. package/dist/typed-model/withdrawal.js +33 -0
  132. package/dist/typed-model/withdrawal.js.map +1 -0
  133. package/dist/webhooks/index.js +48 -0
  134. package/dist/webhooks/index.js.map +1 -0
  135. package/dist/webhooks/payment/index.js +9 -0
  136. package/dist/webhooks/payment/index.js.map +1 -0
  137. package/dist/webhooks/payment/refund.js +39 -0
  138. package/dist/webhooks/payment/refund.js.map +1 -0
  139. package/package.json +1 -1
  140. package/typed-model/index.ts +2 -0
  141. package/typed-model/sport-on-posts.ts +80 -0
  142. package/typed-model/sport.ts +46 -0
@@ -0,0 +1,88 @@
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
+ // import SubscriptionPlan from "./subscription-plan";
9
+ const types_1 = require("../src/types");
10
+ const _1 = require(".");
11
+ // order of InferAttributes & InferCreationAttributes is important.
12
+ class SubscriptionCoupon extends sequelize_1.Model {
13
+ }
14
+ SubscriptionCoupon.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
+ subscriptionPlanId: {
22
+ type: sequelize_1.DataTypes.BIGINT,
23
+ allowNull: false,
24
+ field: "subscription_plan_id",
25
+ references: {
26
+ model: _1.SubscriptionPlan,
27
+ },
28
+ },
29
+ name: {
30
+ type: sequelize_1.DataTypes.STRING,
31
+ field: "name",
32
+ },
33
+ code: {
34
+ type: sequelize_1.DataTypes.STRING,
35
+ field: "code",
36
+ },
37
+ discountType: {
38
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.DiscountType)),
39
+ field: "discount_type",
40
+ },
41
+ discountPercent: {
42
+ type: sequelize_1.DataTypes.BIGINT,
43
+ field: "discount_percent",
44
+ },
45
+ maxRedemptions: {
46
+ type: sequelize_1.DataTypes.BIGINT,
47
+ field: "max_redemptions",
48
+ },
49
+ redemptions: {
50
+ type: sequelize_1.DataTypes.BIGINT,
51
+ field: "redemptions",
52
+ },
53
+ temporalAmount: {
54
+ type: sequelize_1.DataTypes.BIGINT,
55
+ field: "temporal_amount",
56
+ },
57
+ temporalUnit: {
58
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.TemporalUnit)),
59
+ field: "temporal_unit",
60
+ },
61
+ createdAt: sequelize_1.DataTypes.DATE,
62
+ updatedAt: sequelize_1.DataTypes.DATE,
63
+ }, {
64
+ tableName: "subscription_coupons",
65
+ sequelize: pb_sequelize_1.default,
66
+ });
67
+ _1.SubscriptionPlan.hasMany(SubscriptionCoupon, {
68
+ foreignKey: "subscriptionPlanId",
69
+ sourceKey: "id",
70
+ onDelete: "NO ACTION",
71
+ constraints: false,
72
+ });
73
+ SubscriptionCoupon.hasOne(_1.SubscriptionPlan, {
74
+ foreignKey: "id",
75
+ sourceKey: "subscriptionPlanId",
76
+ });
77
+ // SubscriptionPricingOption.hasMany(SubscriptionCoupon, {
78
+ // foreignKey: "subscriptionPricingOptionId",
79
+ // sourceKey: "id",
80
+ // onDelete: "NO ACTION",
81
+ // constraints: false,
82
+ // });
83
+ // SubscriptionCoupon.hasOne(SubscriptionPricingOption, {
84
+ // foreignKey: "id",
85
+ // sourceKey: "subscriptionPricingOptionId",
86
+ // });
87
+ exports.default = SubscriptionCoupon;
88
+ //# sourceMappingURL=subscription-coupon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-coupon.js","sourceRoot":"","sources":["../../typed-model/subscription-coupon.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,sDAAsD;AAEtD,wCAA0D;AAC1D,wBAAqC;AAErC,mEAAmE;AACnE,MAAM,kBAAmB,SAAQ,iBAGhC;CAeA;AAED,kBAAkB,CAAC,IAAI,CACrB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE;YACV,KAAK,EAAE,mBAAgB;SACxB;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,MAAM;KACd;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,MAAM;KACd;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;QACpD,KAAK,EAAE,eAAe;KACvB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,kBAAkB;KAC1B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,iBAAiB;KACzB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,aAAa;KACrB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,iBAAiB;KACzB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;QACpD,KAAK,EAAE,eAAe;KACvB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,sBAAsB;IACjC,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,mBAAgB,CAAC,OAAO,CAAC,kBAAkB,EAAE;IAC3C,UAAU,EAAE,oBAAoB;IAChC,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAkB,CAAC,MAAM,CAAC,mBAAgB,EAAE;IAC1C,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,oBAAoB;CAChC,CAAC,CAAC;AAEH,0DAA0D;AAC1D,+CAA+C;AAC/C,qBAAqB;AACrB,2BAA2B;AAC3B,wBAAwB;AACxB,MAAM;AAEN,yDAAyD;AACzD,sBAAsB;AACtB,8CAA8C;AAC9C,MAAM;AAEN,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,55 @@
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 _1 = require(".");
8
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
9
+ // order of InferAttributes & InferCreationAttributes is important.
10
+ class SubscriptionPlanOnPost extends sequelize_1.Model {
11
+ }
12
+ SubscriptionPlanOnPost.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
+ postId: {
20
+ type: sequelize_1.DataTypes.BIGINT,
21
+ field: "post_id",
22
+ },
23
+ subscriptionPlanId: {
24
+ type: sequelize_1.DataTypes.BIGINT,
25
+ field: "subscription_plan_id",
26
+ },
27
+ createdAt: sequelize_1.DataTypes.DATE,
28
+ updatedAt: sequelize_1.DataTypes.DATE,
29
+ }, {
30
+ sequelize: pb_sequelize_1.default,
31
+ tableName: "subscription_plan_on_post",
32
+ });
33
+ _1.Post.hasMany(SubscriptionPlanOnPost, {
34
+ foreignKey: "postId",
35
+ sourceKey: "id",
36
+ });
37
+ SubscriptionPlanOnPost.hasOne(_1.Post, {
38
+ foreignKey: "id",
39
+ sourceKey: "postId",
40
+ onDelete: "NO ACTION",
41
+ constraints: false,
42
+ });
43
+ _1.SubscriptionPlan.hasMany(SubscriptionPlanOnPost, {
44
+ foreignKey: "subscriptionPlanId",
45
+ onDelete: "NO ACTION",
46
+ constraints: false,
47
+ });
48
+ SubscriptionPlanOnPost.hasOne(_1.SubscriptionPlan, {
49
+ foreignKey: "id",
50
+ sourceKey: "subscriptionPlanId",
51
+ onDelete: "NO ACTION",
52
+ constraints: false,
53
+ });
54
+ exports.default = SubscriptionPlanOnPost;
55
+ //# sourceMappingURL=subscription-plan-on-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-plan-on-post.js","sourceRoot":"","sources":["../../typed-model/subscription-plan-on-post.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AACnB,wBAA2C;AAE3C,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,sBAAuB,SAAQ,iBAGpC;CASA;AAED,sBAAsB,CAAC,IAAI,CACzB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,SAAS;KACjB;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,sBAAsB;KAC9B;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,2BAA2B;CACvC,CACF,CAAC;AAEF,OAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;IACnC,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,sBAAsB,CAAC,MAAM,CAAC,OAAI,EAAE;IAClC,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,mBAAgB,CAAC,OAAO,CAAC,sBAAsB,EAAE;IAC/C,UAAU,EAAE,oBAAoB;IAChC,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,sBAAsB,CAAC,MAAM,CAAC,mBAAgB,EAAE;IAC9C,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,sBAAsB,CAAC"}
@@ -0,0 +1,133 @@
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 subscription_plan_1 = __importDefault(require("./subscription-plan"));
9
+ const subscription_pricing_option_1 = __importDefault(require("./subscription-pricing-option"));
10
+ const user_1 = __importDefault(require("./user"));
11
+ // order of InferAttributes & InferCreationAttributes is important.
12
+ class SubscriptionPlanOnUsers extends sequelize_1.Model {
13
+ }
14
+ SubscriptionPlanOnUsers.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
+ },
26
+ subscriptionPlanId: {
27
+ type: sequelize_1.DataTypes.BIGINT,
28
+ allowNull: false,
29
+ field: "subscription_plan_id",
30
+ references: {
31
+ model: subscription_plan_1.default,
32
+ },
33
+ },
34
+ subscriptionPricingOptionId: {
35
+ type: sequelize_1.DataTypes.BIGINT,
36
+ allowNull: false,
37
+ field: "subscription_pricing_option_id",
38
+ references: {
39
+ model: subscription_pricing_option_1.default,
40
+ },
41
+ },
42
+ lastPaymentDate: {
43
+ type: sequelize_1.DataTypes.DATE,
44
+ field: "last_payment_date",
45
+ },
46
+ cancelDate: {
47
+ type: sequelize_1.DataTypes.DATE,
48
+ field: "cancel_date",
49
+ },
50
+ numberOfPayments: {
51
+ type: sequelize_1.DataTypes.INTEGER,
52
+ defaultValue: 0,
53
+ field: "number_of_payments",
54
+ },
55
+ stale: {
56
+ type: sequelize_1.DataTypes.BOOLEAN,
57
+ field: "stale",
58
+ defaultValue: false,
59
+ },
60
+ recurlySubscriptionId: {
61
+ type: sequelize_1.DataTypes.STRING,
62
+ field: "recurly_subscription_id",
63
+ defaultValue: false,
64
+ },
65
+ status: {
66
+ type: sequelize_1.DataTypes.STRING,
67
+ field: "status",
68
+ defaultValue: "active",
69
+ },
70
+ createdAt: sequelize_1.DataTypes.DATE,
71
+ updatedAt: sequelize_1.DataTypes.DATE,
72
+ }, {
73
+ tableName: "subscription_plan_on_users",
74
+ sequelize: pb_sequelize_1.default,
75
+ });
76
+ /*
77
+ ====================================================================
78
+ Class functions
79
+ ====================================================================
80
+ */
81
+ SubscriptionPlanOnUsers.getById = async (id) => {
82
+ return await SubscriptionPlanOnUsers.findOne({
83
+ where: {
84
+ id,
85
+ },
86
+ });
87
+ };
88
+ SubscriptionPlanOnUsers.getByUserId = async (userId) => {
89
+ return await SubscriptionPlanOnUsers.findOne({
90
+ where: {
91
+ userId,
92
+ },
93
+ });
94
+ };
95
+ SubscriptionPlanOnUsers.getBySubscriptionPlanId = async (subscriptionPlanId) => {
96
+ return await SubscriptionPlanOnUsers.findOne({
97
+ where: {
98
+ subscriptionPlanId,
99
+ },
100
+ });
101
+ };
102
+ user_1.default.hasMany(SubscriptionPlanOnUsers, {
103
+ foreignKey: "userId",
104
+ sourceKey: "id",
105
+ onDelete: "NO ACTION",
106
+ constraints: false,
107
+ });
108
+ SubscriptionPlanOnUsers.hasOne(user_1.default, {
109
+ foreignKey: "id",
110
+ sourceKey: "userId",
111
+ });
112
+ subscription_plan_1.default.hasMany(SubscriptionPlanOnUsers, {
113
+ foreignKey: "subscriptionPlanId",
114
+ sourceKey: "id",
115
+ onDelete: "NO ACTION",
116
+ constraints: false,
117
+ });
118
+ SubscriptionPlanOnUsers.hasOne(subscription_plan_1.default, {
119
+ foreignKey: "id",
120
+ sourceKey: "subscriptionPlanId",
121
+ });
122
+ subscription_pricing_option_1.default.hasMany(SubscriptionPlanOnUsers, {
123
+ foreignKey: "subscriptionPricingOptionId",
124
+ sourceKey: "id",
125
+ onDelete: "NO ACTION",
126
+ constraints: false,
127
+ });
128
+ SubscriptionPlanOnUsers.hasOne(subscription_pricing_option_1.default, {
129
+ foreignKey: "id",
130
+ sourceKey: "subscriptionPricingOptionId",
131
+ });
132
+ exports.default = SubscriptionPlanOnUsers;
133
+ //# sourceMappingURL=subscription-plan-on-users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-plan-on-users.js","sourceRoot":"","sources":["../../typed-model/subscription-plan-on-users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const sequelize_1 = require("sequelize");
7
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
+ const user_1 = __importDefault(require("./user"));
9
+ // order of InferAttributes & InferCreationAttributes is important.
10
+ class SubscriptionPlan extends sequelize_1.Model {
11
+ }
12
+ SubscriptionPlan.init({
13
+ id: {
14
+ type: sequelize_1.DataTypes.BIGINT,
15
+ primaryKey: true,
16
+ allowNull: false,
17
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
18
+ },
19
+ userId: {
20
+ type: sequelize_1.DataTypes.BIGINT,
21
+ allowNull: false,
22
+ field: "user_id",
23
+ references: {
24
+ model: user_1.default,
25
+ },
26
+ },
27
+ planName: {
28
+ type: sequelize_1.DataTypes.STRING,
29
+ field: "plan_name",
30
+ },
31
+ planDescription: {
32
+ type: sequelize_1.DataTypes.STRING(1000),
33
+ field: "plan_description",
34
+ },
35
+ isArchived: {
36
+ type: sequelize_1.DataTypes.BOOLEAN,
37
+ field: "is_archived",
38
+ defaultValue: false,
39
+ },
40
+ order: {
41
+ type: sequelize_1.DataTypes.INTEGER,
42
+ field: "order",
43
+ defaultValue: 0,
44
+ },
45
+ createdAt: sequelize_1.DataTypes.DATE,
46
+ updatedAt: sequelize_1.DataTypes.DATE,
47
+ }, {
48
+ tableName: "subscription_plans",
49
+ sequelize: pb_sequelize_1.default,
50
+ });
51
+ /*
52
+ ====================================================================
53
+ Class functions
54
+ ====================================================================
55
+ */
56
+ SubscriptionPlan.getById = async (id) => {
57
+ return await SubscriptionPlan.findOne({
58
+ where: {
59
+ id,
60
+ },
61
+ });
62
+ };
63
+ SubscriptionPlan.getByUserId = async (userId) => {
64
+ return await SubscriptionPlan.findOne({
65
+ where: {
66
+ userId,
67
+ },
68
+ });
69
+ };
70
+ user_1.default.hasMany(SubscriptionPlan, {
71
+ foreignKey: "userId",
72
+ sourceKey: "id",
73
+ onDelete: "NO ACTION",
74
+ constraints: false,
75
+ });
76
+ SubscriptionPlan.hasOne(user_1.default, {
77
+ foreignKey: "id",
78
+ sourceKey: "userId",
79
+ });
80
+ exports.default = SubscriptionPlan;
81
+ //# sourceMappingURL=subscription-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-plan.js","sourceRoot":"","sources":["../../typed-model/subscription-plan.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AACvC,kDAA0B;AAI1B,mEAAmE;AACnE,MAAM,gBAAiB,SAAQ,iBAG9B;CAmBA;AAED,gBAAgB,CAAC,IAAI,CACnB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,cAAI;SACZ;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,WAAW;KACnB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE,kBAAkB;KAC1B;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,KAAK;KACpB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,CAAC;KAChB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,oBAAoB;IAC/B,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF;;;;EAIE;AAEF,gBAAgB,CAAC,OAAO,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;IAC9C,OAAO,MAAM,gBAAgB,CAAC,OAAO,CAAC;QACpC,KAAK,EAAE;YACL,EAAE;SACH;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,gBAAgB,CAAC,WAAW,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACtD,OAAO,MAAM,gBAAgB,CAAC,OAAO,CAAC;QACpC,KAAK,EAAE;YACL,MAAM;SACP;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,cAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;IAC7B,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,gBAAgB,CAAC,MAAM,CAAC,cAAI,EAAE;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,55 @@
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 _1 = require(".");
8
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
9
+ // order of InferAttributes & InferCreationAttributes is important.
10
+ class SubscriptionPricingOptionOnCoupons extends sequelize_1.Model {
11
+ }
12
+ SubscriptionPricingOptionOnCoupons.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
+ subscriptionCouponId: {
20
+ type: sequelize_1.DataTypes.BIGINT,
21
+ field: "subscription_coupon_id",
22
+ },
23
+ subscriptionPricingOptionId: {
24
+ type: sequelize_1.DataTypes.BIGINT,
25
+ field: "subscription_pricing_option_id",
26
+ },
27
+ createdAt: sequelize_1.DataTypes.DATE,
28
+ updatedAt: sequelize_1.DataTypes.DATE,
29
+ }, {
30
+ sequelize: pb_sequelize_1.default,
31
+ tableName: "subscription_pricing_option_on_coupons",
32
+ });
33
+ _1.SubscriptionCoupon.hasMany(SubscriptionPricingOptionOnCoupons, {
34
+ foreignKey: "subscriptionCouponId",
35
+ sourceKey: "id",
36
+ });
37
+ SubscriptionPricingOptionOnCoupons.hasOne(_1.SubscriptionCoupon, {
38
+ foreignKey: "id",
39
+ sourceKey: "subscriptionCouponId",
40
+ onDelete: "NO ACTION",
41
+ constraints: false,
42
+ });
43
+ _1.SubscriptionPricingOption.hasMany(SubscriptionPricingOptionOnCoupons, {
44
+ foreignKey: "subscriptionPricingOptionId",
45
+ onDelete: "NO ACTION",
46
+ constraints: false,
47
+ });
48
+ SubscriptionPricingOptionOnCoupons.hasOne(_1.SubscriptionPricingOption, {
49
+ foreignKey: "id",
50
+ sourceKey: "subscriptionPricingOptionId",
51
+ onDelete: "NO ACTION",
52
+ constraints: false,
53
+ });
54
+ exports.default = SubscriptionPricingOptionOnCoupons;
55
+ //# sourceMappingURL=subscription-pricing-option-on-coupons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-pricing-option-on-coupons.js","sourceRoot":"","sources":["../../typed-model/subscription-pricing-option-on-coupons.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,wBAAkE;AAElE,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,kCAAmC,SAAQ,iBAGhD;CASA;AAED,kCAAkC,CAAC,IAAI,CACrC;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,wBAAwB;KAChC;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,gCAAgC;KACxC;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,wCAAwC;CACpD,CACF,CAAC;AAEF,qBAAkB,CAAC,OAAO,CAAC,kCAAkC,EAAE;IAC7D,UAAU,EAAE,sBAAsB;IAClC,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kCAAkC,CAAC,MAAM,CAAC,qBAAkB,EAAE;IAC5D,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,sBAAsB;IACjC,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,4BAAyB,CAAC,OAAO,CAAC,kCAAkC,EAAE;IACpE,UAAU,EAAE,6BAA6B;IACzC,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kCAAkC,CAAC,MAAM,CAAC,4BAAyB,EAAE;IACnE,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,6BAA6B;IACxC,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,kCAAkC,CAAC"}
@@ -0,0 +1,63 @@
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 subscription_plan_1 = __importDefault(require("./subscription-plan"));
9
+ // order of InferAttributes & InferCreationAttributes is important.
10
+ class SubscriptionPricingOption extends sequelize_1.Model {
11
+ }
12
+ SubscriptionPricingOption.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
+ subscriptionPlanId: {
20
+ type: sequelize_1.DataTypes.BIGINT,
21
+ allowNull: false,
22
+ field: "subscription_plan_id",
23
+ references: {
24
+ model: subscription_plan_1.default,
25
+ },
26
+ },
27
+ price: {
28
+ type: sequelize_1.DataTypes.BIGINT,
29
+ allowNull: false,
30
+ field: "price",
31
+ },
32
+ intervalLength: {
33
+ type: sequelize_1.DataTypes.INTEGER,
34
+ field: "interval_length",
35
+ defaultValue: 1,
36
+ },
37
+ intervalUnit: {
38
+ type: sequelize_1.DataTypes.STRING,
39
+ field: "interval_unit",
40
+ defaultValue: "months",
41
+ },
42
+ recurlyPlanId: {
43
+ type: sequelize_1.DataTypes.STRING,
44
+ field: "recurly_plan_id",
45
+ },
46
+ createdAt: sequelize_1.DataTypes.DATE,
47
+ updatedAt: sequelize_1.DataTypes.DATE,
48
+ }, {
49
+ tableName: "subscription_pricing_options",
50
+ sequelize: pb_sequelize_1.default,
51
+ });
52
+ subscription_plan_1.default.hasMany(SubscriptionPricingOption, {
53
+ foreignKey: "subscriptionPlanId",
54
+ sourceKey: "id",
55
+ onDelete: "NO ACTION",
56
+ constraints: false,
57
+ });
58
+ SubscriptionPricingOption.hasOne(subscription_plan_1.default, {
59
+ foreignKey: "id",
60
+ sourceKey: "subscriptionPlanId",
61
+ });
62
+ exports.default = SubscriptionPricingOption;
63
+ //# sourceMappingURL=subscription-pricing-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-pricing-option.js","sourceRoot":"","sources":["../../typed-model/subscription-pricing-option.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,4EAAmD;AAInD,mEAAmE;AACnE,MAAM,yBAA0B,SAAQ,iBAGvC;CAYA;AAED,yBAAyB,CAAC,IAAI,CAC5B;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE;YACV,KAAK,EAAE,2BAAgB;SACxB;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,OAAO;KACf;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,KAAK,EAAE,iBAAiB;QACxB,YAAY,EAAE,CAAC;KAChB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,eAAe;QACtB,YAAY,EAAE,QAAQ;KACvB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,iBAAiB;KACzB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,8BAA8B;IACzC,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,2BAAgB,CAAC,OAAO,CAAC,yBAAyB,EAAE;IAClD,UAAU,EAAE,oBAAoB;IAChC,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,yBAAyB,CAAC,MAAM,CAAC,2BAAgB,EAAE;IACjD,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,oBAAoB;CAChC,CAAC,CAAC;AAEH,kBAAe,yBAAyB,CAAC"}
@@ -0,0 +1,110 @@
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 notification_1 = __importDefault(require("./notification"));
10
+ // order of InferAttributes & InferCreationAttributes is important.
11
+ class Transaction extends sequelize_1.Model {
12
+ }
13
+ Transaction.init({
14
+ id: {
15
+ type: sequelize_1.DataTypes.BIGINT,
16
+ primaryKey: true,
17
+ allowNull: false,
18
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
19
+ },
20
+ payerId: {
21
+ type: sequelize_1.DataTypes.BIGINT,
22
+ field: "payer_id",
23
+ },
24
+ recipientId: {
25
+ type: sequelize_1.DataTypes.BIGINT,
26
+ field: "recipient_id",
27
+ },
28
+ transactionAmountInCents: {
29
+ type: sequelize_1.DataTypes.INTEGER,
30
+ field: "transaction_amount_in_cents",
31
+ },
32
+ transactionType: {
33
+ type: sequelize_1.DataTypes.STRING,
34
+ field: "transaction_type",
35
+ },
36
+ withdrawalId: {
37
+ type: sequelize_1.DataTypes.BIGINT,
38
+ field: "withdrawal_id",
39
+ },
40
+ withdrawalDate: {
41
+ type: sequelize_1.DataTypes.DATE,
42
+ field: "withdrawal_date",
43
+ },
44
+ metadata: {
45
+ type: sequelize_1.DataTypes.STRING,
46
+ field: "metadata",
47
+ },
48
+ earningAmountInCents: {
49
+ type: sequelize_1.DataTypes.INTEGER,
50
+ field: "earning_amount_in_cents",
51
+ },
52
+ referredTransactionId: {
53
+ type: sequelize_1.DataTypes.BIGINT,
54
+ field: "referred_transaction_id",
55
+ },
56
+ recurlyInvoiceId: {
57
+ type: sequelize_1.DataTypes.STRING,
58
+ field: "recurly_invoice_id",
59
+ },
60
+ createdAt: sequelize_1.DataTypes.DATE,
61
+ updatedAt: sequelize_1.DataTypes.DATE,
62
+ }, {
63
+ tableName: "transactions",
64
+ sequelize: pb_sequelize_1.default,
65
+ });
66
+ const REFERRAL_PERCENTAGE = 0.03;
67
+ /*
68
+ ====================================================================
69
+ Class functions
70
+ ====================================================================
71
+ */
72
+ Transaction.getById = async (id) => {
73
+ return await Transaction.findOne({
74
+ where: {
75
+ id,
76
+ },
77
+ });
78
+ };
79
+ user_1.default.hasMany(Transaction, {
80
+ foreignKey: "payerId",
81
+ onDelete: "NO ACTION",
82
+ constraints: false,
83
+ });
84
+ Transaction.hasOne(user_1.default, {
85
+ as: "payer",
86
+ foreignKey: "id",
87
+ sourceKey: "payerId",
88
+ onDelete: "NO ACTION",
89
+ constraints: false,
90
+ });
91
+ user_1.default.hasMany(Transaction, {
92
+ foreignKey: "recipientId",
93
+ onDelete: "NO ACTION",
94
+ constraints: false,
95
+ });
96
+ Transaction.hasOne(user_1.default, {
97
+ as: "recipient",
98
+ foreignKey: "id",
99
+ sourceKey: "recipientId",
100
+ onDelete: "NO ACTION",
101
+ constraints: false,
102
+ });
103
+ notification_1.default.hasOne(Transaction, {
104
+ foreignKey: "id",
105
+ sourceKey: "transactionId",
106
+ constraints: false,
107
+ onDelete: "NO ACTION",
108
+ });
109
+ exports.default = Transaction;
110
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../typed-model/transaction.ts"],"names":[],"mappings":"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"}