@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.
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/20230104055346-oddsjam.js +501 -0
- package/dist/migrations/20230104055346-oddsjam.js.map +1 -0
- package/dist/migrations/20230104233909-markets.js +28 -0
- package/dist/migrations/20230104233909-markets.js.map +1 -0
- package/dist/migrations/20230105005418-sportsbook.js +24 -0
- package/dist/migrations/20230105005418-sportsbook.js.map +1 -0
- package/dist/migrations/20230106044910-player-result.js +59 -0
- package/dist/migrations/20230106044910-player-result.js.map +1 -0
- package/dist/migrations/20230206061925-stale.js +13 -0
- package/dist/migrations/20230206061925-stale.js.map +1 -0
- package/dist/migrations/20230313175015-league-user.js +29 -0
- package/dist/migrations/20230313175015-league-user.js.map +1 -0
- package/dist/migrations/20230405141245-deprecate-agencies.js +9 -0
- package/dist/migrations/20230405141245-deprecate-agencies.js.map +1 -0
- package/dist/migrations/20230405142440-deprecate-unused-tables.js +23 -0
- package/dist/migrations/20230405142440-deprecate-unused-tables.js.map +1 -0
- package/dist/migrations/20230410144940-deprecate-consent-people.js +9 -0
- package/dist/migrations/20230410144940-deprecate-consent-people.js.map +1 -0
- package/dist/migrations/20230410174328-deprecate-consent-people-table.js +9 -0
- package/dist/migrations/20230410174328-deprecate-consent-people-table.js.map +1 -0
- package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js +9 -0
- package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js.map +1 -0
- package/dist/migrations/20230410202433-migrate-credit-payments-fields.js +12 -0
- package/dist/migrations/20230410202433-migrate-credit-payments-fields.js.map +1 -0
- package/dist/migrations/20230410211059-deprecate-credit-purchases.js +9 -0
- package/dist/migrations/20230410211059-deprecate-credit-purchases.js.map +1 -0
- package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js +10 -0
- package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js.map +1 -0
- package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js +34 -0
- package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js.map +1 -0
- package/dist/migrations/20230411054826-create-users-table.js +141 -0
- package/dist/migrations/20230411054826-create-users-table.js.map +1 -0
- package/dist/migrations/20230411202848-migrate_transactions_table.js +24 -0
- package/dist/migrations/20230411202848-migrate_transactions_table.js.map +1 -0
- package/dist/migrations/20230411203543-migrate_league_users.js +9 -0
- package/dist/migrations/20230411203543-migrate_league_users.js.map +1 -0
- package/dist/migrations/20230411205324-migrate_league.js +13 -0
- package/dist/migrations/20230411205324-migrate_league.js.map +1 -0
- package/dist/migrations/20230411221159-migrate_media.js +9 -0
- package/dist/migrations/20230411221159-migrate_media.js.map +1 -0
- package/dist/migrations/20230411221327-migrate_media_asset.js +10 -0
- package/dist/migrations/20230411221327-migrate_media_asset.js.map +1 -0
- package/dist/migrations/20230411221842-migrate_media_asset_fields.js +10 -0
- package/dist/migrations/20230411221842-migrate_media_asset_fields.js.map +1 -0
- package/dist/migrations/20230411222018-migrate_notifications.js +25 -0
- package/dist/migrations/20230411222018-migrate_notifications.js.map +1 -0
- package/dist/migrations/20230412190423-migrate_purchased_contents.js +10 -0
- package/dist/migrations/20230412190423-migrate_purchased_contents.js.map +1 -0
- package/dist/migrations/20230412202031-migrate_other_fields.js +27 -0
- package/dist/migrations/20230412202031-migrate_other_fields.js.map +1 -0
- package/dist/migrations/20230412213952-deprecate_phone_users_and_phone_owners.js +27 -0
- package/dist/migrations/20230412213952-deprecate_phone_users_and_phone_owners.js.map +1 -0
- package/dist/scripts/cleanupRecurlyPlans.js +50 -0
- package/dist/scripts/cleanupRecurlyPlans.js.map +1 -0
- package/dist/scripts/deleteMalformedImages.js +87 -0
- package/dist/scripts/deleteMalformedImages.js.map +1 -0
- package/dist/scripts/test.js +18 -0
- package/dist/scripts/test.js.map +1 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/recurlyInstance.js +33 -0
- package/dist/src/recurlyInstance.js.map +1 -0
- package/dist/src/types.js +35 -0
- package/dist/src/types.js.map +1 -0
- package/dist/support/index.js +19 -0
- package/dist/support/index.js.map +1 -0
- package/dist/support/slack-client.js +51 -0
- package/dist/support/slack-client.js.map +1 -0
- package/dist/support/uploadcare.js +143 -0
- package/dist/support/uploadcare.js.map +1 -0
- package/dist/support/utils.js +69 -0
- package/dist/support/utils.js.map +1 -0
- package/dist/typed-model/application.js +66 -0
- package/dist/typed-model/application.js.map +1 -0
- package/dist/typed-model/content-like.js +70 -0
- package/dist/typed-model/content-like.js.map +1 -0
- package/dist/typed-model/index.js +61 -0
- package/dist/typed-model/index.js.map +1 -0
- package/dist/typed-model/integration.js +59 -0
- package/dist/typed-model/integration.js.map +1 -0
- package/dist/typed-model/league-on-users.js +60 -0
- package/dist/typed-model/league-on-users.js.map +1 -0
- package/dist/typed-model/league-user.js +60 -0
- package/dist/typed-model/league-user.js.map +1 -0
- package/dist/typed-model/league.js +35 -0
- package/dist/typed-model/league.js.map +1 -0
- package/dist/typed-model/media-asset.js +64 -0
- package/dist/typed-model/media-asset.js.map +1 -0
- package/dist/typed-model/media.js +55 -0
- package/dist/typed-model/media.js.map +1 -0
- package/dist/typed-model/notification-preference.js +54 -0
- package/dist/typed-model/notification-preference.js.map +1 -0
- package/dist/typed-model/notification.js +85 -0
- package/dist/typed-model/notification.js.map +1 -0
- package/dist/typed-model/pb-sequelize.js +25 -0
- package/dist/typed-model/pb-sequelize.js.map +1 -0
- package/dist/typed-model/post.js +119 -0
- package/dist/typed-model/post.js.map +1 -0
- package/dist/typed-model/posts-on-users.js +93 -0
- package/dist/typed-model/posts-on-users.js.map +1 -0
- package/dist/typed-model/recurly-account.js +34 -0
- package/dist/typed-model/recurly-account.js.map +1 -0
- package/dist/typed-model/sport-on-posts.js +59 -0
- package/dist/typed-model/sport-on-posts.js.map +1 -0
- package/dist/typed-model/sport.js +30 -0
- package/dist/typed-model/sport.js.map +1 -0
- package/dist/typed-model/store.js +139 -0
- package/dist/typed-model/store.js.map +1 -0
- package/dist/typed-model/subscribers-on-creators.js +65 -0
- package/dist/typed-model/subscribers-on-creators.js.map +1 -0
- package/dist/typed-model/subscription-coupon.js +88 -0
- package/dist/typed-model/subscription-coupon.js.map +1 -0
- package/dist/typed-model/subscription-plan-on-post.js +55 -0
- package/dist/typed-model/subscription-plan-on-post.js.map +1 -0
- package/dist/typed-model/subscription-plan-on-users.js +133 -0
- package/dist/typed-model/subscription-plan-on-users.js.map +1 -0
- package/dist/typed-model/subscription-plan.js +81 -0
- package/dist/typed-model/subscription-plan.js.map +1 -0
- package/dist/typed-model/subscription-pricing-option-on-coupons.js +55 -0
- package/dist/typed-model/subscription-pricing-option-on-coupons.js.map +1 -0
- package/dist/typed-model/subscription-pricing-option.js +63 -0
- package/dist/typed-model/subscription-pricing-option.js.map +1 -0
- package/dist/typed-model/transaction.js +110 -0
- package/dist/typed-model/transaction.js.map +1 -0
- package/dist/typed-model/user.js +199 -0
- package/dist/typed-model/user.js.map +1 -0
- package/dist/typed-model/users_on_creators.js +71 -0
- package/dist/typed-model/users_on_creators.js.map +1 -0
- package/dist/typed-model/withdrawal.js +33 -0
- package/dist/typed-model/withdrawal.js.map +1 -0
- package/dist/webhooks/index.js +48 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/payment/index.js +9 -0
- package/dist/webhooks/payment/index.js.map +1 -0
- package/dist/webhooks/payment/refund.js +39 -0
- package/dist/webhooks/payment/refund.js.map +1 -0
- package/package.json +1 -1
- package/typed-model/index.ts +2 -0
- package/typed-model/sport-on-posts.ts +80 -0
- 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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"}
|