@winible/winible-typed 2.13.0 → 2.13.1
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 +57 -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.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/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
@@ -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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"}
|
@@ -0,0 +1,199 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const types_1 = require("../src/types");
|
9
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
10
|
+
class User extends sequelize_1.Model {
|
11
|
+
}
|
12
|
+
User.init({
|
13
|
+
id: {
|
14
|
+
type: sequelize_1.DataTypes.BIGINT,
|
15
|
+
primaryKey: true,
|
16
|
+
allowNull: false,
|
17
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
18
|
+
},
|
19
|
+
phoneNumber: {
|
20
|
+
type: sequelize_1.DataTypes.STRING,
|
21
|
+
allowNull: true,
|
22
|
+
field: "phone_number",
|
23
|
+
unique: true,
|
24
|
+
},
|
25
|
+
firstName: {
|
26
|
+
type: sequelize_1.DataTypes.STRING,
|
27
|
+
allowNull: true,
|
28
|
+
field: "first_name",
|
29
|
+
},
|
30
|
+
lastName: {
|
31
|
+
type: sequelize_1.DataTypes.STRING,
|
32
|
+
allowNull: true,
|
33
|
+
field: "last_name",
|
34
|
+
},
|
35
|
+
username: {
|
36
|
+
type: sequelize_1.DataTypes.STRING,
|
37
|
+
field: "username",
|
38
|
+
},
|
39
|
+
email: {
|
40
|
+
type: sequelize_1.DataTypes.STRING,
|
41
|
+
field: "email",
|
42
|
+
},
|
43
|
+
password: {
|
44
|
+
type: sequelize_1.DataTypes.STRING,
|
45
|
+
field: "password",
|
46
|
+
},
|
47
|
+
emailVerified: {
|
48
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
49
|
+
field: "email_verified",
|
50
|
+
defaultValue: true,
|
51
|
+
},
|
52
|
+
userStatus: {
|
53
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.UserStatus)),
|
54
|
+
field: "user_status",
|
55
|
+
defaultValue: types_1.UserStatus.ACTIVE,
|
56
|
+
},
|
57
|
+
userRole: {
|
58
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.UserRole)),
|
59
|
+
field: "user_role",
|
60
|
+
defaultValue: types_1.UserRole.USER,
|
61
|
+
},
|
62
|
+
bio: {
|
63
|
+
type: sequelize_1.DataTypes.STRING(1000),
|
64
|
+
field: "bio",
|
65
|
+
},
|
66
|
+
headline: {
|
67
|
+
type: sequelize_1.DataTypes.STRING,
|
68
|
+
field: "headline",
|
69
|
+
},
|
70
|
+
avatarUrl: {
|
71
|
+
type: sequelize_1.DataTypes.STRING,
|
72
|
+
field: "avatar_url",
|
73
|
+
},
|
74
|
+
twitterUrl: {
|
75
|
+
type: sequelize_1.DataTypes.STRING,
|
76
|
+
field: "twitter_url",
|
77
|
+
},
|
78
|
+
tiktokUrl: {
|
79
|
+
type: sequelize_1.DataTypes.STRING,
|
80
|
+
field: "tiktok_url",
|
81
|
+
},
|
82
|
+
instagramUrl: {
|
83
|
+
type: sequelize_1.DataTypes.STRING,
|
84
|
+
field: "instagram_url",
|
85
|
+
},
|
86
|
+
discordUrl: {
|
87
|
+
type: sequelize_1.DataTypes.STRING,
|
88
|
+
field: "discord_url",
|
89
|
+
},
|
90
|
+
telegramUrl: {
|
91
|
+
type: sequelize_1.DataTypes.STRING,
|
92
|
+
field: "telegram_url",
|
93
|
+
},
|
94
|
+
personalSiteUrl: {
|
95
|
+
type: sequelize_1.DataTypes.STRING,
|
96
|
+
field: "personal_site_url",
|
97
|
+
},
|
98
|
+
bannerImageUrl: {
|
99
|
+
type: sequelize_1.DataTypes.STRING,
|
100
|
+
field: "banner_image_url",
|
101
|
+
},
|
102
|
+
videoUrl: {
|
103
|
+
type: sequelize_1.DataTypes.STRING,
|
104
|
+
field: "video_url",
|
105
|
+
},
|
106
|
+
stateCode: {
|
107
|
+
type: sequelize_1.DataTypes.STRING,
|
108
|
+
field: "state_code",
|
109
|
+
},
|
110
|
+
profit: {
|
111
|
+
type: sequelize_1.DataTypes.INTEGER,
|
112
|
+
field: "profit",
|
113
|
+
defaultValue: 0,
|
114
|
+
},
|
115
|
+
units: {
|
116
|
+
type: sequelize_1.DataTypes.INTEGER,
|
117
|
+
field: "units",
|
118
|
+
defaultValue: 0,
|
119
|
+
},
|
120
|
+
referringUserId: {
|
121
|
+
type: sequelize_1.DataTypes.STRING,
|
122
|
+
field: "referring_user_id",
|
123
|
+
},
|
124
|
+
referralPercentage: {
|
125
|
+
type: sequelize_1.DataTypes.BIGINT,
|
126
|
+
field: "referral_percentage",
|
127
|
+
defaultValue: 3,
|
128
|
+
},
|
129
|
+
winPercentage: {
|
130
|
+
type: sequelize_1.DataTypes.BIGINT,
|
131
|
+
field: "win_percentage",
|
132
|
+
},
|
133
|
+
platformFee: {
|
134
|
+
type: sequelize_1.DataTypes.INTEGER,
|
135
|
+
field: "platform_fee",
|
136
|
+
defaultValue: 20,
|
137
|
+
},
|
138
|
+
profileViews: {
|
139
|
+
type: sequelize_1.DataTypes.INTEGER,
|
140
|
+
field: "profile_views",
|
141
|
+
defaultValue: 0,
|
142
|
+
},
|
143
|
+
masspayUserToken: {
|
144
|
+
type: sequelize_1.DataTypes.STRING,
|
145
|
+
field: "masspay_user_token",
|
146
|
+
},
|
147
|
+
stytchUserId: {
|
148
|
+
type: sequelize_1.DataTypes.STRING,
|
149
|
+
field: "stytch_user_id",
|
150
|
+
},
|
151
|
+
optInStatus: {
|
152
|
+
type: sequelize_1.DataTypes.STRING,
|
153
|
+
field: "opt_in_status",
|
154
|
+
defaultValue: "pending",
|
155
|
+
},
|
156
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
157
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
158
|
+
}, {
|
159
|
+
tableName: "users",
|
160
|
+
sequelize: pb_sequelize_1.default,
|
161
|
+
defaultScope: {
|
162
|
+
attributes: { exclude: ["password"] },
|
163
|
+
},
|
164
|
+
});
|
165
|
+
/*
|
166
|
+
====================================================================
|
167
|
+
Class functions
|
168
|
+
====================================================================
|
169
|
+
*/
|
170
|
+
User.getByPhone = async (phoneNumber) => {
|
171
|
+
return await User.findOne({
|
172
|
+
where: {
|
173
|
+
phoneNumber,
|
174
|
+
},
|
175
|
+
});
|
176
|
+
};
|
177
|
+
User.getByEmail = async (email) => {
|
178
|
+
return await User.findOne({
|
179
|
+
where: {
|
180
|
+
email,
|
181
|
+
},
|
182
|
+
});
|
183
|
+
};
|
184
|
+
User.getById = async (userId) => {
|
185
|
+
return await User.findOne({
|
186
|
+
where: {
|
187
|
+
id: userId,
|
188
|
+
},
|
189
|
+
});
|
190
|
+
};
|
191
|
+
User.getOrCreateByPhone = async (phoneNumber) => {
|
192
|
+
let user = await User.getByPhone(phoneNumber);
|
193
|
+
if (user) {
|
194
|
+
return user;
|
195
|
+
}
|
196
|
+
return await User.create({ phoneNumber });
|
197
|
+
};
|
198
|
+
exports.default = User;
|
199
|
+
//# sourceMappingURL=user.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../typed-model/user.ts"],"names":[],"mappings":"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"}
|