@winible/winible-typed 1.0.10 → 2.0.0
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/migrations/20230330174702-extend-premium-content.js +35 -0
- package/dist/migrations/20230330174702-extend-premium-content.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/scripts/cleanupRecurlyPlans.js +12 -5
- package/dist/scripts/cleanupRecurlyPlans.js.map +1 -1
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.js +12 -5
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.js.map +1 -1
- package/dist/src/index.js +1 -18
- package/dist/src/index.js.map +1 -1
- package/dist/typed-model/credit-payment.js +133 -82
- package/dist/typed-model/credit-payment.js.map +1 -1
- package/dist/typed-model/index.js +3 -81
- package/dist/typed-model/index.js.map +1 -1
- package/dist/typed-model/league-user.js +28 -4
- package/dist/typed-model/league-user.js.map +1 -1
- package/dist/typed-model/media-asset.js +0 -9
- package/dist/typed-model/media-asset.js.map +1 -1
- package/dist/typed-model/notification.js +34 -24
- package/dist/typed-model/notification.js.map +1 -1
- package/dist/typed-model/pb-sequelize.js +18 -4
- package/dist/typed-model/pb-sequelize.js.map +1 -1
- package/dist/typed-model/subscription-plan-on-premium-content.js +57 -0
- package/dist/typed-model/subscription-plan-on-premium-content.js.map +1 -0
- package/dist/typed-model/subscription-plan.js +0 -9
- package/dist/typed-model/subscription-plan.js.map +1 -1
- package/dist/typed-model/subscription.js +0 -14
- package/dist/typed-model/subscription.js.map +1 -1
- package/dist/typed-model/user.js +194 -0
- package/dist/typed-model/user.js.map +1 -0
- package/package.json +3 -2
- package/src/index.ts +0 -2
- package/typed-model/credit-payment.ts +124 -126
- package/typed-model/index.ts +1 -51
- package/typed-model/media-asset.ts +0 -10
- package/typed-model/notification.ts +39 -44
- package/typed-model/pb-sequelize.ts +18 -4
- package/typed-model/subscription-plan.ts +0 -10
- package/typed-model/subscription.ts +1 -15
- package/typed-model/user.ts +248 -0
- package/dist/index.d.ts +0 -3
- package/dist/migrations/20220601151258-custom_name_describing_your_migration.d.ts +0 -6
- package/dist/migrations/20220605225655-create-dashboard-user-permissions.d.ts +0 -6
- package/dist/migrations/20220606001300-update-dashboard-user-permissions.d.ts +0 -6
- package/dist/migrations/20220607091109-add-read-date-for-message.d.ts +0 -6
- package/dist/migrations/20220616225456-add-delete-columns.d.ts +0 -6
- package/dist/migrations/20220709202211-disable-feed.d.ts +0 -6
- package/dist/migrations/20220723215213-limit-promotion-claims.d.ts +0 -6
- package/dist/migrations/20220723220233-num_claims.d.ts +0 -6
- package/dist/migrations/20220723221907-default_false_promos.d.ts +0 -6
- package/dist/migrations/20220724172559-default_zero_claims.d.ts +0 -6
- package/dist/migrations/20220724201419-pinned_post.d.ts +0 -6
- package/dist/migrations/20220729164625-unsend_mass.d.ts +0 -6
- package/dist/migrations/20220823033002-interval-unit.d.ts +0 -6
- package/dist/migrations/20220830193530-processorId.d.ts +0 -6
- package/dist/migrations/20220907121932-add-processor-to-sub.d.ts +0 -6
- package/dist/migrations/20220907212232-add-trans-id.d.ts +0 -6
- package/dist/migrations/20220907220423-big-int-trans.d.ts +0 -6
- package/dist/migrations/20220909161902-add-stale.d.ts +0 -6
- package/dist/migrations/20220922000225-verified-spender.d.ts +0 -6
- package/dist/migrations/20220922212108-verified-spender-2.d.ts +0 -6
- package/dist/migrations/20221013223648-product-subscription-list.d.ts +0 -6
- package/dist/migrations/20221014001037-product-subscription-list.d.ts +0 -6
- package/dist/migrations/20221026055245-update-type.d.ts +0 -6
- package/dist/migrations/20221108060019-recurly-sub.d.ts +0 -6
- package/dist/migrations/20221110170148-rename-recurly-account.d.ts +0 -6
- package/dist/migrations/20221112212510-archive-promo.d.ts +0 -6
- package/dist/migrations/20221117044529-sub-status.d.ts +0 -6
- package/dist/migrations/20221122051433-default-plan.d.ts +0 -6
- package/dist/migrations/20221128034620-invoice-id.d.ts +0 -6
- package/dist/migrations/20230313175014-league-user.js +0 -27
- package/dist/migrations/20230313175014-league-user.js.map +0 -1
- package/dist/scripts/bet-syncing/checkForPrizePicks.js +0 -85
- package/dist/scripts/bet-syncing/checkForPrizePicks.js.map +0 -1
- package/dist/scripts/bet-syncing/pullTeams.d.ts +0 -1
- package/dist/scripts/cleanupRecurlyPlans.d.ts +0 -1
- package/dist/scripts/createDashboardLink.d.ts +0 -1
- package/dist/scripts/createRecurlyPlans.d.ts +0 -1
- package/dist/scripts/deleteMalformedImages.d.ts +0 -1
- package/dist/scripts/fixSaltedPasswords.js +0 -40
- package/dist/scripts/fixSaltedPasswords.js.map +0 -1
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.d.ts +0 -1
- package/dist/scripts/payoutRecurlySubs.d.ts +0 -1
- package/dist/scripts/payoutSubscriptions.d.ts +0 -1
- package/dist/scripts/removeUnreferenceSubs.d.ts +0 -1
- package/dist/scripts/test.d.ts +0 -1
- package/dist/slack/index.d.ts +0 -1
- package/dist/slack/v1/bypassCreator.d.ts +0 -8
- package/dist/slack/v1/cancelSubscription.d.ts +0 -6
- package/dist/slack/v1/changeName.d.ts +0 -8
- package/dist/slack/v1/checkAuthSub.d.ts +0 -6
- package/dist/slack/v1/dashboardLink.d.ts +0 -8
- package/dist/slack/v1/index.d.ts +0 -7
- package/dist/slack/v1/refund.d.ts +0 -6
- package/dist/slack/v1/searchUser.d.ts +0 -6
- package/dist/src/index.d.ts +0 -3
- package/dist/src/pk-client.d.ts +0 -151
- package/dist/src/pk-sub.d.ts +0 -77
- package/dist/src/recurlyInstance.d.ts +0 -3
- package/dist/src/types.d.ts +0 -30
- package/dist/support/index.d.ts +0 -2
- package/dist/support/slack-client.d.ts +0 -3
- package/dist/support/uploadcare.d.ts +0 -14
- package/dist/support/utils.d.ts +0 -2
- package/dist/typed-model/asset-category.d.ts +0 -9
- package/dist/typed-model/asset-constent-person.d.ts +0 -13
- package/dist/typed-model/bet.d.ts +0 -12
- package/dist/typed-model/blocked-ip.d.ts +0 -8
- package/dist/typed-model/category-tag.d.ts +0 -9
- package/dist/typed-model/consent-person.d.ts +0 -13
- package/dist/typed-model/content-category-tag.d.ts +0 -9
- package/dist/typed-model/content-like.d.ts +0 -10
- package/dist/typed-model/credit-payment.d.ts +0 -34
- package/dist/typed-model/credit-payout.d.ts +0 -10
- package/dist/typed-model/credit-purchase.d.ts +0 -10
- package/dist/typed-model/customer-profile.d.ts +0 -17
- package/dist/typed-model/dashboard-user-permissions.d.ts +0 -9
- package/dist/typed-model/dashboard-user.d.ts +0 -20
- package/dist/typed-model/fan-list.d.ts +0 -10
- package/dist/typed-model/fraud.d.ts +0 -9
- package/dist/typed-model/game.d.ts +0 -56
- package/dist/typed-model/index.d.ts +0 -46
- package/dist/typed-model/league.d.ts +0 -9
- package/dist/typed-model/list-member.d.ts +0 -9
- package/dist/typed-model/mass-message.d.ts +0 -11
- package/dist/typed-model/media-asset.d.ts +0 -15
- package/dist/typed-model/media-category.d.ts +0 -10
- package/dist/typed-model/media.d.ts +0 -14
- package/dist/typed-model/message-media.d.ts +0 -9
- package/dist/typed-model/message.d.ts +0 -27
- package/dist/typed-model/notification.d.ts +0 -18
- package/dist/typed-model/odds.d.ts +0 -30
- package/dist/typed-model/parlay.d.ts +0 -8
- package/dist/typed-model/pb-sequelize.d.ts +0 -3
- package/dist/typed-model/phone-chat-participation.d.ts +0 -20
- package/dist/typed-model/phone-chat.d.ts +0 -16
- package/dist/typed-model/phone-owner.d.ts +0 -53
- package/dist/typed-model/phone-user.d.ts +0 -21
- package/dist/typed-model/player.d.ts +0 -22
- package/dist/typed-model/premium-content.d.ts +0 -23
- package/dist/typed-model/purchased-content.d.ts +0 -11
- package/dist/typed-model/recurly-account.d.ts +0 -9
- package/dist/typed-model/short-url.d.ts +0 -12
- package/dist/typed-model/subscription-bundle.d.ts +0 -12
- package/dist/typed-model/subscription-category-tags.d.ts +0 -9
- package/dist/typed-model/subscription-plan.d.ts +0 -27
- package/dist/typed-model/subscription-promotion.d.ts +0 -19
- package/dist/typed-model/subscription.d.ts +0 -26
- package/dist/typed-model/team.d.ts +0 -16
- package/dist/typed-model/twilio-phone.d.ts +0 -17
- package/dist/typed-model/user-follow.d.ts +0 -13
- package/dist/typed-model/verification-code.d.ts +0 -11
- package/dist/webhooks/index.d.ts +0 -1
- package/dist/webhooks/payment/index.d.ts +0 -1
- package/dist/webhooks/payment/refund.d.ts +0 -2
- package/src/pk-client.ts +0 -1650
- package/src/pk-sub.ts +0 -455
- package/typed-model/asset-category.ts +0 -57
- package/typed-model/asset-constent-person.ts +0 -82
- package/typed-model/bet.ts +0 -84
- package/typed-model/blocked-ip.ts +0 -52
- package/typed-model/category-tag.ts +0 -66
- package/typed-model/consent-person.ts +0 -78
- package/typed-model/content-category-tag.ts +0 -79
- package/typed-model/credit-purchase.ts +0 -67
- package/typed-model/customer-profile.ts +0 -71
- package/typed-model/dashboard-user-permissions.ts +0 -51
- package/typed-model/dashboard-user.ts +0 -146
- package/typed-model/fan-list.ts +0 -68
- package/typed-model/fraud.ts +0 -62
- package/typed-model/game.ts +0 -311
- package/typed-model/list-member.ts +0 -67
- package/typed-model/market.ts +0 -54
- package/typed-model/mass-message.ts +0 -64
- package/typed-model/media-category.ts +0 -70
- package/typed-model/message-media.ts +0 -74
- package/typed-model/message.ts +0 -258
- package/typed-model/odds.ts +0 -238
- package/typed-model/parlay.ts +0 -47
- package/typed-model/phone-chat-participation.ts +0 -166
- package/typed-model/phone-chat.ts +0 -185
- package/typed-model/player-result.ts +0 -93
- package/typed-model/player.ts +0 -118
- package/typed-model/short-url.ts +0 -120
- package/typed-model/sportsbook.ts +0 -48
- package/typed-model/subscription-bundle.ts +0 -80
- package/typed-model/subscription-category-tags.ts +0 -79
- package/typed-model/subscription-promotion.ts +0 -134
- package/typed-model/team.ts +0 -91
- package/typed-model/twilio-phone.ts +0 -149
- package/typed-model/user-follow.ts +0 -141
- package/typed-model/verification-code.ts +0 -74
@@ -0,0 +1,248 @@
|
|
1
|
+
import {
|
2
|
+
Model,
|
3
|
+
InferAttributes,
|
4
|
+
InferCreationAttributes,
|
5
|
+
CreationOptional,
|
6
|
+
DataTypes,
|
7
|
+
} from "sequelize";
|
8
|
+
|
9
|
+
import sequelize from "./pb-sequelize";
|
10
|
+
|
11
|
+
export enum UserStatus {
|
12
|
+
PENDING_REVIEW = "PENDING_REVIEW",
|
13
|
+
ARCHIVED = "ARCHIVED",
|
14
|
+
ACTIVE = "ACTIVE",
|
15
|
+
}
|
16
|
+
|
17
|
+
export enum UserRole {
|
18
|
+
CREATOR = "CREATOR",
|
19
|
+
USER = "USER",
|
20
|
+
}
|
21
|
+
|
22
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
23
|
+
class User extends Model<InferAttributes<User>, InferCreationAttributes<User>> {
|
24
|
+
// 'CreationOptional' is a special type that marks the field as optional
|
25
|
+
// when creating an instance of the model (such as using Model.create()).
|
26
|
+
declare id: CreationOptional<string>;
|
27
|
+
declare email?: string;
|
28
|
+
declare password?: string;
|
29
|
+
declare username?: string;
|
30
|
+
declare emailVerified?: boolean;
|
31
|
+
declare userStatus?: string;
|
32
|
+
declare userRole?: string;
|
33
|
+
declare phoneNumber?: string;
|
34
|
+
|
35
|
+
declare bio?: string;
|
36
|
+
declare headline?: string;
|
37
|
+
declare avatarUrl?: string;
|
38
|
+
declare twitterUrl?: string;
|
39
|
+
declare tiktokUrl?: string;
|
40
|
+
declare instagramUrl?: string;
|
41
|
+
declare discordUrl?: string;
|
42
|
+
declare telegramUrl?: string;
|
43
|
+
declare personalSiteUrl?: string;
|
44
|
+
declare bannerImageUrl?: string;
|
45
|
+
declare videoUrl?: string;
|
46
|
+
declare stateCode?: string;
|
47
|
+
|
48
|
+
declare profit?: number;
|
49
|
+
declare units?: number;
|
50
|
+
declare winPercentage?: number;
|
51
|
+
|
52
|
+
declare referringUserId?: number;
|
53
|
+
declare referralPercentage?: number;
|
54
|
+
declare masspayUserToken?: string;
|
55
|
+
declare stytchUserId?: string;
|
56
|
+
declare platformFee?: number;
|
57
|
+
declare profileViews?: number;
|
58
|
+
declare createdAt: CreationOptional<Date>;
|
59
|
+
declare updatedAt: CreationOptional<Date>;
|
60
|
+
|
61
|
+
static getOrCreateByPhone: (phone: string) => Promise<any>;
|
62
|
+
static getById: (userId: string) => Promise<User | null>;
|
63
|
+
static getByEmail: (email: string) => Promise<User | null>;
|
64
|
+
static getByPhone: (phone: string) => Promise<User | null>;
|
65
|
+
}
|
66
|
+
|
67
|
+
User.init(
|
68
|
+
{
|
69
|
+
id: {
|
70
|
+
type: DataTypes.BIGINT,
|
71
|
+
primaryKey: true,
|
72
|
+
allowNull: false,
|
73
|
+
defaultValue: sequelize.fn("next_id"),
|
74
|
+
},
|
75
|
+
phoneNumber: {
|
76
|
+
type: DataTypes.STRING,
|
77
|
+
allowNull: true,
|
78
|
+
field: "phone_number",
|
79
|
+
unique: true,
|
80
|
+
},
|
81
|
+
username: {
|
82
|
+
type: DataTypes.STRING,
|
83
|
+
field: "username",
|
84
|
+
},
|
85
|
+
email: {
|
86
|
+
type: DataTypes.STRING,
|
87
|
+
field: "email",
|
88
|
+
unique: true,
|
89
|
+
},
|
90
|
+
password: {
|
91
|
+
type: DataTypes.STRING,
|
92
|
+
field: "password",
|
93
|
+
},
|
94
|
+
emailVerified: {
|
95
|
+
type: DataTypes.BOOLEAN,
|
96
|
+
field: "email_verified",
|
97
|
+
defaultValue: true,
|
98
|
+
},
|
99
|
+
userStatus: {
|
100
|
+
type: DataTypes.ENUM(...Object.values(UserStatus)),
|
101
|
+
field: "user_status",
|
102
|
+
defaultValue: UserStatus.ACTIVE,
|
103
|
+
},
|
104
|
+
userRole: {
|
105
|
+
type: DataTypes.ENUM(...Object.values(UserRole)),
|
106
|
+
field: "user_role",
|
107
|
+
defaultValue: UserRole.USER,
|
108
|
+
},
|
109
|
+
bio: {
|
110
|
+
type: DataTypes.STRING,
|
111
|
+
field: "bio",
|
112
|
+
},
|
113
|
+
headline: {
|
114
|
+
type: DataTypes.STRING,
|
115
|
+
field: "headline",
|
116
|
+
},
|
117
|
+
avatarUrl: {
|
118
|
+
type: DataTypes.STRING,
|
119
|
+
field: "avatar_url",
|
120
|
+
},
|
121
|
+
twitterUrl: {
|
122
|
+
type: DataTypes.STRING,
|
123
|
+
field: "twitter_url",
|
124
|
+
},
|
125
|
+
tiktokUrl: {
|
126
|
+
type: DataTypes.STRING,
|
127
|
+
field: "tiktok_url",
|
128
|
+
},
|
129
|
+
instagramUrl: {
|
130
|
+
type: DataTypes.STRING,
|
131
|
+
field: "instagram_url",
|
132
|
+
},
|
133
|
+
discordUrl: {
|
134
|
+
type: DataTypes.STRING,
|
135
|
+
field: "discord_url",
|
136
|
+
},
|
137
|
+
telegramUrl: {
|
138
|
+
type: DataTypes.STRING,
|
139
|
+
field: "telegram_url",
|
140
|
+
},
|
141
|
+
personalSiteUrl: {
|
142
|
+
type: DataTypes.STRING,
|
143
|
+
field: "personal_site_url",
|
144
|
+
},
|
145
|
+
bannerImageUrl: {
|
146
|
+
type: DataTypes.STRING,
|
147
|
+
field: "banner_image_url",
|
148
|
+
},
|
149
|
+
videoUrl: {
|
150
|
+
type: DataTypes.STRING,
|
151
|
+
field: "video_url",
|
152
|
+
},
|
153
|
+
stateCode: {
|
154
|
+
type: DataTypes.STRING,
|
155
|
+
field: "state_code",
|
156
|
+
},
|
157
|
+
profit: {
|
158
|
+
type: DataTypes.INTEGER,
|
159
|
+
field: "profit",
|
160
|
+
defaultValue: 0,
|
161
|
+
},
|
162
|
+
units: {
|
163
|
+
type: DataTypes.INTEGER,
|
164
|
+
field: "units",
|
165
|
+
defaultValue: 0,
|
166
|
+
},
|
167
|
+
referringUserId: {
|
168
|
+
type: DataTypes.BIGINT,
|
169
|
+
field: "referring_user_id",
|
170
|
+
},
|
171
|
+
referralPercentage: {
|
172
|
+
type: DataTypes.BIGINT,
|
173
|
+
field: "referral_percentage",
|
174
|
+
},
|
175
|
+
winPercentage: {
|
176
|
+
type: DataTypes.BIGINT,
|
177
|
+
field: "win_percentage",
|
178
|
+
},
|
179
|
+
platformFee: {
|
180
|
+
type: DataTypes.INTEGER,
|
181
|
+
field: "platform_fee",
|
182
|
+
},
|
183
|
+
profileViews: {
|
184
|
+
type: DataTypes.INTEGER,
|
185
|
+
field: "profile_views",
|
186
|
+
defaultValue: 0,
|
187
|
+
},
|
188
|
+
masspayUserToken: {
|
189
|
+
type: DataTypes.STRING,
|
190
|
+
field: "masspay_user_token",
|
191
|
+
},
|
192
|
+
stytchUserId: {
|
193
|
+
type: DataTypes.STRING,
|
194
|
+
field: "stytch_user_id",
|
195
|
+
},
|
196
|
+
createdAt: DataTypes.DATE,
|
197
|
+
updatedAt: DataTypes.DATE,
|
198
|
+
},
|
199
|
+
{
|
200
|
+
tableName: "users",
|
201
|
+
sequelize,
|
202
|
+
defaultScope: {
|
203
|
+
attributes: { exclude: ["password"] },
|
204
|
+
},
|
205
|
+
}
|
206
|
+
);
|
207
|
+
|
208
|
+
/*
|
209
|
+
====================================================================
|
210
|
+
Class functions
|
211
|
+
====================================================================
|
212
|
+
*/
|
213
|
+
|
214
|
+
User.getByPhone = async (phoneNumber: string) => {
|
215
|
+
return await User.findOne({
|
216
|
+
where: {
|
217
|
+
phoneNumber,
|
218
|
+
},
|
219
|
+
});
|
220
|
+
};
|
221
|
+
|
222
|
+
User.getByEmail = async (email: string) => {
|
223
|
+
return await User.findOne({
|
224
|
+
where: {
|
225
|
+
email,
|
226
|
+
},
|
227
|
+
});
|
228
|
+
};
|
229
|
+
|
230
|
+
User.getById = async (userId: string) => {
|
231
|
+
return await User.findOne({
|
232
|
+
where: {
|
233
|
+
id: userId,
|
234
|
+
},
|
235
|
+
});
|
236
|
+
};
|
237
|
+
|
238
|
+
User.getOrCreateByPhone = async (phoneNumber: string) => {
|
239
|
+
let user = await User.getByPhone(phoneNumber);
|
240
|
+
|
241
|
+
if (user) {
|
242
|
+
return user;
|
243
|
+
}
|
244
|
+
|
245
|
+
return await User.create({ phoneNumber });
|
246
|
+
};
|
247
|
+
|
248
|
+
export default User;
|
package/dist/index.d.ts
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const sequelize_1 = require("sequelize");
|
4
|
-
exports.default = {
|
5
|
-
async up(queryInterface, sequelize) {
|
6
|
-
queryInterface.createTable("league_users", {
|
7
|
-
id: {
|
8
|
-
type: sequelize_1.DataTypes.BIGINT,
|
9
|
-
primaryKey: true,
|
10
|
-
allowNull: false,
|
11
|
-
defaultValue: (0, sequelize_1.fn)("next_id"),
|
12
|
-
},
|
13
|
-
leagueId: {
|
14
|
-
type: new sequelize_1.DataTypes.BIGINT(),
|
15
|
-
allowNull: false,
|
16
|
-
},
|
17
|
-
userId: {
|
18
|
-
type: new sequelize_1.DataTypes.BIGINT(),
|
19
|
-
allowNull: false,
|
20
|
-
},
|
21
|
-
createdAt: sequelize_1.DataTypes.DATE,
|
22
|
-
updatedAt: sequelize_1.DataTypes.DATE,
|
23
|
-
});
|
24
|
-
},
|
25
|
-
async down(queryInterface, sequelize) { },
|
26
|
-
};
|
27
|
-
//# sourceMappingURL=20230313175014-league-user.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"20230313175014-league-user.js","sourceRoot":"","sources":["../../migrations/20230313175014-league-user.ts"],"names":[],"mappings":";;AAAA,yCAAqE;AAErE,kBAAe;IACb,KAAK,CAAC,EAAE,CAAC,cAA8B,EAAE,SAAoB;QAC3D,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE;YACzC,EAAE,EAAE;gBACF,IAAI,EAAE,qBAAS,CAAC,MAAM;gBACtB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;aAC5B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE;gBAC5B,SAAS,EAAE,KAAK;aACjB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE;gBAC5B,SAAS,EAAE,KAAK;aACjB;YACD,SAAS,EAAE,qBAAS,CAAC,IAAI;YACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAA8B,EAAE,SAAoB,IAAG,CAAC;CACpE,CAAC"}
|
@@ -1,85 +0,0 @@
|
|
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 dotenv = require("dotenv");
|
7
|
-
const oddsjam_js_wrapper_1 = __importDefault(require("@winible/oddsjam-js-wrapper"));
|
8
|
-
const sequelize = require("../../typed-model/pb-sequelize");
|
9
|
-
dotenv.config();
|
10
|
-
const OddsJamClient = (0, oddsjam_js_wrapper_1.default)(process.env.ODDS_JAM_API_KEY);
|
11
|
-
function timeout(ms) {
|
12
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
13
|
-
}
|
14
|
-
const run = async () => {
|
15
|
-
sequelize.default.query(`
|
16
|
-
WITH normalized_odds AS (SELECT
|
17
|
-
*,
|
18
|
-
CASE WHEN price > 0 THEN price - 100 WHEN price < 0 THEN price + 100 END as normalized_price
|
19
|
-
FROM odds
|
20
|
-
WHERE NOW() - odds."createdAt" <= interval '24 hours' and sports_book_name != 'PrizePicks'
|
21
|
-
)
|
22
|
-
SELECT
|
23
|
-
market_id,
|
24
|
-
game_id,
|
25
|
-
player_id,
|
26
|
-
team_id,
|
27
|
-
label,
|
28
|
-
bet_points,
|
29
|
-
sub.name,
|
30
|
-
sports_book_name,
|
31
|
-
rnum,
|
32
|
-
normalized_price,
|
33
|
-
max_price,
|
34
|
-
min_price,
|
35
|
-
avg_price,
|
36
|
-
total_books,
|
37
|
-
normalized_price - min_price as ev_diff,
|
38
|
-
normalized_price - avg_price as ev_avg_diff
|
39
|
-
FROM
|
40
|
-
(
|
41
|
-
select
|
42
|
-
market_id,
|
43
|
-
game_id,
|
44
|
-
player_id,
|
45
|
-
team_id,
|
46
|
-
markets.label,
|
47
|
-
sportsbooks.name as sports_book_name,
|
48
|
-
price,
|
49
|
-
odds_jam_id,
|
50
|
-
bet_points,
|
51
|
-
normalized_odds.name,
|
52
|
-
normalized_price,
|
53
|
-
best_price.max_price,
|
54
|
-
best_price.min_price,
|
55
|
-
best_price.avg_price,
|
56
|
-
total_books,
|
57
|
-
row_number() OVER (PARTITION BY market_id, game_id, player_id, team_id, markets.label, bet_points, normalized_odds.name ORDER BY price DESC) AS rnum
|
58
|
-
-- json_agg(json_build_object('sportsbook',sportsbook_id,'price',price, 'book_name', sportsbooks.name))
|
59
|
-
from normalized_odds
|
60
|
-
LEFT join
|
61
|
-
(
|
62
|
-
select
|
63
|
-
market_id,
|
64
|
-
game_id,
|
65
|
-
name,
|
66
|
-
max(normalized_price) as max_price,
|
67
|
-
min(normalized_price) as min_price,
|
68
|
-
avg(normalized_price) as avg_price,
|
69
|
-
count(*) as total_books
|
70
|
-
from normalized_odds group by 1, 2, 3)
|
71
|
-
best_price USING (market_id, game_id, name)
|
72
|
-
join sportsbooks on sportsbook_id = sportsbooks.id
|
73
|
-
join markets on markets.id = normalized_odds.market_id
|
74
|
-
--group by 1, 2, 3, 4, 5;
|
75
|
-
) sub where sports_book_name like 'PrizePicks%' and total_books > 3 order by ev_diff desc
|
76
|
-
`);
|
77
|
-
};
|
78
|
-
if (require.main === module) {
|
79
|
-
if (require.main === module) {
|
80
|
-
run().then(async () => {
|
81
|
-
console.log("Finished");
|
82
|
-
});
|
83
|
-
}
|
84
|
-
}
|
85
|
-
//# sourceMappingURL=checkForPrizePicks.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"checkForPrizePicks.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/checkForPrizePicks.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AAOlD,4DAA6D;AAE7D,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,aAAa,GAAG,IAAA,4BAAO,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAC;AAE7D,SAAS,OAAO,CAAC,EAAE;IACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6DrB,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;QAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;KACJ;CACF"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,40 +0,0 @@
|
|
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 dotenv = require("dotenv");
|
7
|
-
dotenv.config();
|
8
|
-
const bcrypt_1 = __importDefault(require("bcrypt"));
|
9
|
-
const typed_model_1 = require("../typed-model");
|
10
|
-
const run = async () => {
|
11
|
-
var args = process.argv.slice(2);
|
12
|
-
for (let id of args) {
|
13
|
-
console.log("User_id: " + id);
|
14
|
-
const dashboardUser = await typed_model_1.DashboardUser.unscoped().findOne({
|
15
|
-
where: { id },
|
16
|
-
});
|
17
|
-
let hashedPassword = await new Promise((resolve, reject) => {
|
18
|
-
bcrypt_1.default.hash(dashboardUser === null || dashboardUser === void 0 ? void 0 : dashboardUser.password, 10, function (err, hash) {
|
19
|
-
if (err)
|
20
|
-
reject(err);
|
21
|
-
resolve(hash);
|
22
|
-
});
|
23
|
-
});
|
24
|
-
let user = await typed_model_1.PhoneUser.getById(dashboardUser.userId);
|
25
|
-
console.log(dashboardUser === null || dashboardUser === void 0 ? void 0 : dashboardUser.password);
|
26
|
-
console.log(hashedPassword);
|
27
|
-
dashboardUser.password = hashedPassword;
|
28
|
-
user.password = hashedPassword;
|
29
|
-
await (dashboardUser === null || dashboardUser === void 0 ? void 0 : dashboardUser.save());
|
30
|
-
await (user === null || user === void 0 ? void 0 : user.save());
|
31
|
-
}
|
32
|
-
};
|
33
|
-
if (require.main === module) {
|
34
|
-
if (require.main === module) {
|
35
|
-
run().then(async () => {
|
36
|
-
console.log("Finished");
|
37
|
-
});
|
38
|
-
}
|
39
|
-
}
|
40
|
-
//# sourceMappingURL=fixSaltedPasswords.js.map
|