@winible/winible-typed 1.0.10 → 2.0.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/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
package/typed-model/message.ts
DELETED
@@ -1,258 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
Model,
|
3
|
-
InferAttributes,
|
4
|
-
InferCreationAttributes,
|
5
|
-
CreationOptional,
|
6
|
-
DataTypes,
|
7
|
-
fn,
|
8
|
-
NOW,
|
9
|
-
Op,
|
10
|
-
literal,
|
11
|
-
} from "sequelize";
|
12
|
-
import CreditPayments from "./credit-payment";
|
13
|
-
import MediaAsset from "./media-asset";
|
14
|
-
|
15
|
-
import sequelize from "./pb-sequelize";
|
16
|
-
import PhoneOwner from "./phone-owner";
|
17
|
-
import PhoneUser from "./phone-user";
|
18
|
-
import Notification from "./notification";
|
19
|
-
import Media from "./media";
|
20
|
-
import MessageMedia from "./message-media";
|
21
|
-
import MassMessage from "./mass-message";
|
22
|
-
|
23
|
-
// order of InferAttributes & InferCreationAttributes is important.
|
24
|
-
class Message extends Model<
|
25
|
-
InferAttributes<Message>,
|
26
|
-
InferCreationAttributes<Message>
|
27
|
-
> {
|
28
|
-
// 'CreationOptional' is a special type that marks the field as optional
|
29
|
-
// when creating an instance of the model (such as using Model.create()).
|
30
|
-
declare id: CreationOptional<string>;
|
31
|
-
declare fromOwner: boolean;
|
32
|
-
declare userId: string;
|
33
|
-
declare ownerId: string;
|
34
|
-
declare message: string;
|
35
|
-
declare isTip: boolean;
|
36
|
-
declare amountInCents?: number;
|
37
|
-
declare creditPaymentId?: string;
|
38
|
-
declare isRead: boolean;
|
39
|
-
declare massMessageId?: string;
|
40
|
-
declare messageMediaId?: string;
|
41
|
-
declare isFollowTemplate?: boolean;
|
42
|
-
declare isSubscriberTemplate?: boolean;
|
43
|
-
declare sendDate: Date;
|
44
|
-
declare readDate: Date;
|
45
|
-
declare unsendDate: Date;
|
46
|
-
declare createdAt: CreationOptional<Date>;
|
47
|
-
declare updatedAt: CreationOptional<Date>;
|
48
|
-
static sendMessage: (
|
49
|
-
message: Message,
|
50
|
-
mediaAssets?: MediaAsset[]
|
51
|
-
) => Promise<Message | null>;
|
52
|
-
static getPurchasedMessages: (
|
53
|
-
ownerId: string,
|
54
|
-
userId: string,
|
55
|
-
earliestId: string
|
56
|
-
) => Promise<Message[]>;
|
57
|
-
static readMessages: (ownerId: string, userId: string) => Promise<void>;
|
58
|
-
static getConversationsForOwner: (ownerId: string) => Promise<Message[]>;
|
59
|
-
}
|
60
|
-
|
61
|
-
Message.init(
|
62
|
-
{
|
63
|
-
id: {
|
64
|
-
type: DataTypes.BIGINT,
|
65
|
-
defaultValue: fn("next_id"),
|
66
|
-
allowNull: false,
|
67
|
-
primaryKey: true,
|
68
|
-
},
|
69
|
-
fromOwner: {
|
70
|
-
field: "from_owner",
|
71
|
-
type: DataTypes.BOOLEAN,
|
72
|
-
defaultValue: false,
|
73
|
-
},
|
74
|
-
userId: {
|
75
|
-
type: DataTypes.BIGINT,
|
76
|
-
field: "user_id",
|
77
|
-
},
|
78
|
-
ownerId: {
|
79
|
-
type: DataTypes.BIGINT,
|
80
|
-
field: "owner_id",
|
81
|
-
},
|
82
|
-
message: {
|
83
|
-
type: DataTypes.STRING(500),
|
84
|
-
field: "message",
|
85
|
-
},
|
86
|
-
isTip: {
|
87
|
-
field: "is_tip",
|
88
|
-
type: DataTypes.BOOLEAN,
|
89
|
-
defaultValue: false,
|
90
|
-
},
|
91
|
-
amountInCents: {
|
92
|
-
field: "amount_in_cents",
|
93
|
-
type: DataTypes.INTEGER,
|
94
|
-
},
|
95
|
-
creditPaymentId: {
|
96
|
-
type: DataTypes.BIGINT,
|
97
|
-
field: "credit_payment_id",
|
98
|
-
},
|
99
|
-
isRead: {
|
100
|
-
field: "is_read",
|
101
|
-
type: DataTypes.BOOLEAN,
|
102
|
-
defaultValue: false,
|
103
|
-
},
|
104
|
-
massMessageId: {
|
105
|
-
type: DataTypes.BIGINT,
|
106
|
-
field: "mass_message_id",
|
107
|
-
},
|
108
|
-
messageMediaId: {
|
109
|
-
type: DataTypes.BIGINT,
|
110
|
-
field: "message_media_id",
|
111
|
-
},
|
112
|
-
isFollowTemplate: {
|
113
|
-
type: DataTypes.BOOLEAN,
|
114
|
-
field: "is_follow_template",
|
115
|
-
},
|
116
|
-
isSubscriberTemplate: {
|
117
|
-
type: DataTypes.BOOLEAN,
|
118
|
-
field: "is_sub_template",
|
119
|
-
},
|
120
|
-
sendDate: {
|
121
|
-
type: DataTypes.DATE,
|
122
|
-
field: "send_date",
|
123
|
-
defaultValue: NOW,
|
124
|
-
allowNull: false,
|
125
|
-
},
|
126
|
-
readDate: {
|
127
|
-
type: DataTypes.DATE,
|
128
|
-
field: "read_date",
|
129
|
-
defaultValue: null,
|
130
|
-
},
|
131
|
-
unsendDate: {
|
132
|
-
type: DataTypes.DATE,
|
133
|
-
field: "unsend_date",
|
134
|
-
defaultValue: null,
|
135
|
-
},
|
136
|
-
createdAt: DataTypes.DATE,
|
137
|
-
updatedAt: DataTypes.DATE,
|
138
|
-
},
|
139
|
-
{
|
140
|
-
tableName: "messages",
|
141
|
-
sequelize,
|
142
|
-
}
|
143
|
-
);
|
144
|
-
|
145
|
-
/*
|
146
|
-
====================================================================
|
147
|
-
Class functions
|
148
|
-
====================================================================
|
149
|
-
*/
|
150
|
-
|
151
|
-
Message.sendMessage = async (message: Message, mediaAssets?: MediaAsset[]) => {
|
152
|
-
if (message.isTip) {
|
153
|
-
const user = await PhoneUser.getById(message.userId);
|
154
|
-
const owner = await PhoneOwner.getById(message.ownerId);
|
155
|
-
const cp = await CreditPayments.logTip(
|
156
|
-
user!,
|
157
|
-
owner!,
|
158
|
-
message.amountInCents!
|
159
|
-
);
|
160
|
-
message.creditPaymentId = cp.id;
|
161
|
-
}
|
162
|
-
|
163
|
-
const createdMessage = await Message.create(message);
|
164
|
-
|
165
|
-
if (mediaAssets && mediaAssets.length > 0) {
|
166
|
-
mediaAssets.map((ma, index) => {
|
167
|
-
return { ...ma, index };
|
168
|
-
});
|
169
|
-
|
170
|
-
let alreadyCreatedAssets = mediaAssets.filter((ma) => !!ma.id) || [];
|
171
|
-
let needsCreationAssets = mediaAssets.filter((ma) => !ma.id) || [];
|
172
|
-
|
173
|
-
let newlyCreatedAssets = await MediaAsset.bulkCreate(needsCreationAssets, {
|
174
|
-
returning: true,
|
175
|
-
});
|
176
|
-
|
177
|
-
let mediaObjects = alreadyCreatedAssets
|
178
|
-
.concat(newlyCreatedAssets)
|
179
|
-
.map((ma) => {
|
180
|
-
let order = mediaAssets.findIndex(
|
181
|
-
(a) => a.id === ma.id || a.url === ma.url
|
182
|
-
);
|
183
|
-
return {
|
184
|
-
order,
|
185
|
-
messageId: createdMessage.id,
|
186
|
-
mediaAssetId: ma.id,
|
187
|
-
};
|
188
|
-
});
|
189
|
-
|
190
|
-
await Media.bulkCreate(mediaObjects);
|
191
|
-
return await Message.findOne({
|
192
|
-
where: { id: createdMessage.id },
|
193
|
-
include: {
|
194
|
-
model: Media,
|
195
|
-
required: true,
|
196
|
-
include: [
|
197
|
-
{
|
198
|
-
model: MediaAsset,
|
199
|
-
required: true,
|
200
|
-
},
|
201
|
-
],
|
202
|
-
},
|
203
|
-
});
|
204
|
-
}
|
205
|
-
return createdMessage;
|
206
|
-
};
|
207
|
-
|
208
|
-
Message.getPurchasedMessages = async (
|
209
|
-
ownerId: string,
|
210
|
-
userId: string,
|
211
|
-
earliestId: string
|
212
|
-
) => {
|
213
|
-
const messages = await Message.findAll({
|
214
|
-
where: {
|
215
|
-
ownerId,
|
216
|
-
userId,
|
217
|
-
creditPaymentId: {
|
218
|
-
[Op.gt]: earliestId,
|
219
|
-
},
|
220
|
-
isTip: false,
|
221
|
-
},
|
222
|
-
order: [["updatedAt", "DESC"]],
|
223
|
-
});
|
224
|
-
return messages;
|
225
|
-
};
|
226
|
-
|
227
|
-
PhoneOwner.hasMany(Message, {
|
228
|
-
foreignKey: "owner_id",
|
229
|
-
onDelete: "NO ACTION",
|
230
|
-
constraints: false,
|
231
|
-
});
|
232
|
-
PhoneUser.hasMany(Message, {
|
233
|
-
foreignKey: "user_id",
|
234
|
-
onDelete: "NO ACTION",
|
235
|
-
constraints: false,
|
236
|
-
});
|
237
|
-
MassMessage.hasMany(Message, { foreignKey: "massMessageId" });
|
238
|
-
Message.hasOne(PhoneOwner, {
|
239
|
-
foreignKey: "id",
|
240
|
-
sourceKey: "owner_id",
|
241
|
-
onDelete: "NO ACTION",
|
242
|
-
constraints: false,
|
243
|
-
});
|
244
|
-
Message.hasOne(PhoneUser, {
|
245
|
-
foreignKey: "id",
|
246
|
-
sourceKey: "user_id",
|
247
|
-
onDelete: "NO ACTION",
|
248
|
-
constraints: false,
|
249
|
-
});
|
250
|
-
Message.hasOne(MassMessage, { foreignKey: "id", sourceKey: "massMessageId" });
|
251
|
-
|
252
|
-
Notification.hasOne(Message, {
|
253
|
-
foreignKey: "id",
|
254
|
-
sourceKey: "messageId",
|
255
|
-
constraints: false,
|
256
|
-
});
|
257
|
-
|
258
|
-
export default Message;
|
package/typed-model/odds.ts
DELETED
@@ -1,238 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
Model,
|
3
|
-
InferAttributes,
|
4
|
-
InferCreationAttributes,
|
5
|
-
CreationOptional,
|
6
|
-
DataTypes,
|
7
|
-
fn,
|
8
|
-
} from "sequelize";
|
9
|
-
import Bet from "./bet";
|
10
|
-
import Game from "./game";
|
11
|
-
|
12
|
-
import sequelize from "./pb-sequelize";
|
13
|
-
import Player from "./player";
|
14
|
-
import Team from "./team";
|
15
|
-
|
16
|
-
// order of InferAttributes & InferCreationAttributes is important.
|
17
|
-
class Odds extends Model<InferAttributes<Odds>, InferCreationAttributes<Odds>> {
|
18
|
-
// 'CreationOptional' is a special type that marks the field as optional
|
19
|
-
// when creating an instance of the model (such as using Model.create()).
|
20
|
-
declare id: CreationOptional<string>;
|
21
|
-
declare oddsJamId: string;
|
22
|
-
declare sportsBookName:
|
23
|
-
| "Pinnacle"
|
24
|
-
| "5Dimes"
|
25
|
-
| "DraftKings"
|
26
|
-
| "BetMGM"
|
27
|
-
| "WynnBET"
|
28
|
-
| "theScore"
|
29
|
-
| "Bally Bet"
|
30
|
-
| "Elite Sportsbook"
|
31
|
-
| "FOX Bet"
|
32
|
-
| "FanDuel"
|
33
|
-
| "Points Bet"
|
34
|
-
| "Caesars"
|
35
|
-
| "Barstool"
|
36
|
-
| "Borgota"
|
37
|
-
| "Unibet"
|
38
|
-
| "BetRivers"
|
39
|
-
| "Wind Creek"
|
40
|
-
| "BetAnySports"
|
41
|
-
| "BookMaker"
|
42
|
-
| "SugarHouse"
|
43
|
-
| "TwinSpires"
|
44
|
-
| "BetUS"
|
45
|
-
| "bwin"
|
46
|
-
| "Betfred"
|
47
|
-
| "Betfair"
|
48
|
-
| "BetOnline"
|
49
|
-
| "Betway"
|
50
|
-
| "Bovada"
|
51
|
-
| "Bodog"
|
52
|
-
| "Casumo"
|
53
|
-
| "10Bet"
|
54
|
-
| "888 sport (Canada)"
|
55
|
-
| "MyBookie"
|
56
|
-
| "Betcris"
|
57
|
-
| "OddsJam";
|
58
|
-
declare name: string;
|
59
|
-
declare price: number;
|
60
|
-
declare checkedDate: string;
|
61
|
-
declare betPoints?: number;
|
62
|
-
declare isMain: boolean;
|
63
|
-
declare isLive: boolean;
|
64
|
-
declare marketName: string;
|
65
|
-
declare homeRotationNumber?: number;
|
66
|
-
declare awayRotationNumber?: number;
|
67
|
-
declare deepLinkUrl: string;
|
68
|
-
declare oddsJamPlayerId: string;
|
69
|
-
declare marketId: string;
|
70
|
-
declare sportsbookId: string;
|
71
|
-
declare gameId: string;
|
72
|
-
declare oddsJamGameId: string;
|
73
|
-
declare teamId?: string;
|
74
|
-
declare playerId?: string;
|
75
|
-
declare betResult?: string;
|
76
|
-
declare homeScore?: number;
|
77
|
-
declare awayScore?: number;
|
78
|
-
declare playerScore?: number;
|
79
|
-
declare isStale?: boolean;
|
80
|
-
declare createdAt: CreationOptional<Date>;
|
81
|
-
declare updatedAt: CreationOptional<Date>;
|
82
|
-
|
83
|
-
declare Game?: Game;
|
84
|
-
}
|
85
|
-
|
86
|
-
Odds.init(
|
87
|
-
{
|
88
|
-
id: {
|
89
|
-
type: DataTypes.BIGINT,
|
90
|
-
primaryKey: true,
|
91
|
-
allowNull: false,
|
92
|
-
defaultValue: sequelize.fn("next_id"),
|
93
|
-
},
|
94
|
-
oddsJamId: {
|
95
|
-
type: DataTypes.STRING,
|
96
|
-
field: "odds_jam_id",
|
97
|
-
unique: true,
|
98
|
-
},
|
99
|
-
sportsBookName: {
|
100
|
-
type: DataTypes.STRING,
|
101
|
-
field: "sports_book_name",
|
102
|
-
},
|
103
|
-
name: {
|
104
|
-
type: DataTypes.STRING,
|
105
|
-
field: "name",
|
106
|
-
},
|
107
|
-
price: {
|
108
|
-
type: DataTypes.DOUBLE,
|
109
|
-
field: "price",
|
110
|
-
},
|
111
|
-
checkedDate: {
|
112
|
-
type: DataTypes.STRING,
|
113
|
-
field: "checked_date",
|
114
|
-
},
|
115
|
-
betPoints: {
|
116
|
-
type: DataTypes.DOUBLE,
|
117
|
-
field: "bet_points",
|
118
|
-
},
|
119
|
-
isMain: {
|
120
|
-
type: DataTypes.BOOLEAN,
|
121
|
-
field: "is_main",
|
122
|
-
},
|
123
|
-
isLive: {
|
124
|
-
type: DataTypes.BOOLEAN,
|
125
|
-
field: "is_live",
|
126
|
-
},
|
127
|
-
marketName: {
|
128
|
-
type: DataTypes.STRING,
|
129
|
-
field: "market_name",
|
130
|
-
},
|
131
|
-
homeRotationNumber: {
|
132
|
-
type: DataTypes.INTEGER,
|
133
|
-
field: "home_rotation_number",
|
134
|
-
},
|
135
|
-
awayRotationNumber: {
|
136
|
-
type: DataTypes.INTEGER,
|
137
|
-
field: "away_rotation_number",
|
138
|
-
},
|
139
|
-
deepLinkUrl: {
|
140
|
-
type: DataTypes.STRING,
|
141
|
-
field: "deep_link_url",
|
142
|
-
},
|
143
|
-
oddsJamPlayerId: {
|
144
|
-
type: DataTypes.STRING,
|
145
|
-
field: "odds_jam_player_id",
|
146
|
-
},
|
147
|
-
marketId: {
|
148
|
-
type: DataTypes.BIGINT,
|
149
|
-
field: "market_id",
|
150
|
-
},
|
151
|
-
sportsbookId: {
|
152
|
-
type: DataTypes.BIGINT,
|
153
|
-
field: "sportsbook_id",
|
154
|
-
},
|
155
|
-
gameId: {
|
156
|
-
type: DataTypes.BIGINT,
|
157
|
-
field: "game_id",
|
158
|
-
},
|
159
|
-
oddsJamGameId: {
|
160
|
-
type: DataTypes.STRING,
|
161
|
-
field: "odds_jam_game_id",
|
162
|
-
},
|
163
|
-
teamId: {
|
164
|
-
type: DataTypes.BIGINT,
|
165
|
-
field: "team_id",
|
166
|
-
},
|
167
|
-
playerId: {
|
168
|
-
type: DataTypes.BIGINT,
|
169
|
-
field: "player_id",
|
170
|
-
},
|
171
|
-
betResult: {
|
172
|
-
type: DataTypes.STRING,
|
173
|
-
field: "bet_result",
|
174
|
-
},
|
175
|
-
homeScore: {
|
176
|
-
type: DataTypes.INTEGER,
|
177
|
-
field: "home_score",
|
178
|
-
},
|
179
|
-
awayScore: {
|
180
|
-
type: DataTypes.INTEGER,
|
181
|
-
field: "away_score",
|
182
|
-
},
|
183
|
-
playerScore: {
|
184
|
-
type: DataTypes.INTEGER,
|
185
|
-
field: "player_score",
|
186
|
-
},
|
187
|
-
isStale: {
|
188
|
-
type: DataTypes.BOOLEAN,
|
189
|
-
field: "stale",
|
190
|
-
defaultValue: false,
|
191
|
-
},
|
192
|
-
createdAt: DataTypes.DATE,
|
193
|
-
updatedAt: DataTypes.DATE,
|
194
|
-
},
|
195
|
-
{
|
196
|
-
// Other model options go here
|
197
|
-
tableName: "odds",
|
198
|
-
sequelize,
|
199
|
-
}
|
200
|
-
);
|
201
|
-
|
202
|
-
Bet.hasOne(Odds, {
|
203
|
-
foreignKey: "id",
|
204
|
-
sourceKey: "oddsId",
|
205
|
-
});
|
206
|
-
Odds.hasMany(Bet, {
|
207
|
-
foreignKey: "odds_id",
|
208
|
-
sourceKey: "id",
|
209
|
-
});
|
210
|
-
|
211
|
-
Odds.hasOne(Game, {
|
212
|
-
foreignKey: "id",
|
213
|
-
sourceKey: "gameId",
|
214
|
-
});
|
215
|
-
Game.hasMany(Odds, {
|
216
|
-
foreignKey: "game_id",
|
217
|
-
sourceKey: "id",
|
218
|
-
});
|
219
|
-
|
220
|
-
Odds.hasOne(Player, {
|
221
|
-
foreignKey: "id",
|
222
|
-
sourceKey: "playerId",
|
223
|
-
});
|
224
|
-
Player.hasMany(Odds, {
|
225
|
-
foreignKey: "player_id",
|
226
|
-
sourceKey: "id",
|
227
|
-
});
|
228
|
-
|
229
|
-
Odds.hasOne(Team, {
|
230
|
-
foreignKey: "id",
|
231
|
-
sourceKey: "teamId",
|
232
|
-
});
|
233
|
-
Team.hasMany(Odds, {
|
234
|
-
foreignKey: "team_id",
|
235
|
-
sourceKey: "id",
|
236
|
-
});
|
237
|
-
|
238
|
-
export default Odds;
|
package/typed-model/parlay.ts
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
Model,
|
3
|
-
InferAttributes,
|
4
|
-
InferCreationAttributes,
|
5
|
-
CreationOptional,
|
6
|
-
DataTypes,
|
7
|
-
fn,
|
8
|
-
} from "sequelize";
|
9
|
-
|
10
|
-
import sequelize from "./pb-sequelize";
|
11
|
-
|
12
|
-
// order of InferAttributes & InferCreationAttributes is important.
|
13
|
-
class Parlay extends Model<
|
14
|
-
InferAttributes<Parlay>,
|
15
|
-
InferCreationAttributes<Parlay>
|
16
|
-
> {
|
17
|
-
// 'CreationOptional' is a special type that marks the field as optional
|
18
|
-
// when creating an instance of the model (such as using Model.create()).
|
19
|
-
declare id: CreationOptional<string>;
|
20
|
-
declare numBets: number;
|
21
|
-
declare createdAt: CreationOptional<Date>;
|
22
|
-
declare updatedAt: CreationOptional<Date>;
|
23
|
-
}
|
24
|
-
|
25
|
-
Parlay.init(
|
26
|
-
{
|
27
|
-
id: {
|
28
|
-
type: DataTypes.BIGINT,
|
29
|
-
primaryKey: true,
|
30
|
-
allowNull: false,
|
31
|
-
defaultValue: sequelize.fn("next_id"),
|
32
|
-
},
|
33
|
-
numBets: {
|
34
|
-
type: DataTypes.INTEGER,
|
35
|
-
field: "num_bets",
|
36
|
-
},
|
37
|
-
createdAt: DataTypes.DATE,
|
38
|
-
updatedAt: DataTypes.DATE,
|
39
|
-
},
|
40
|
-
{
|
41
|
-
// Other model options go here
|
42
|
-
tableName: "parlays",
|
43
|
-
sequelize,
|
44
|
-
}
|
45
|
-
);
|
46
|
-
|
47
|
-
export default Parlay;
|
@@ -1,166 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
Model,
|
3
|
-
InferAttributes,
|
4
|
-
InferCreationAttributes,
|
5
|
-
CreationOptional,
|
6
|
-
DataTypes,
|
7
|
-
fn,
|
8
|
-
} from "sequelize";
|
9
|
-
|
10
|
-
import sequelize from "./pb-sequelize";
|
11
|
-
import PhoneUser from "./phone-user";
|
12
|
-
|
13
|
-
// order of InferAttributes & InferCreationAttributes is important.
|
14
|
-
class PhoneChatParticipant extends Model<
|
15
|
-
InferAttributes<PhoneChatParticipant>,
|
16
|
-
InferCreationAttributes<PhoneChatParticipant>
|
17
|
-
> {
|
18
|
-
// 'CreationOptional' is a special type that marks the field as optional
|
19
|
-
// when creating an instance of the model (such as using Model.create()).
|
20
|
-
declare id: CreationOptional<string>;
|
21
|
-
declare chatId: string;
|
22
|
-
declare userId: string;
|
23
|
-
declare sentMessageCount?: number;
|
24
|
-
declare messageCountToBill?: number;
|
25
|
-
declare totalCallLength?: number;
|
26
|
-
declare callLengthToBill?: number;
|
27
|
-
declare totalTipAmount?: number;
|
28
|
-
declare tipAmountToBill?: number;
|
29
|
-
declare isTipping?: boolean;
|
30
|
-
declare isActive?: boolean;
|
31
|
-
declare stripePaymentIntentId?: string;
|
32
|
-
declare createdAt: CreationOptional<Date>;
|
33
|
-
declare updatedAt: CreationOptional<Date>;
|
34
|
-
static getAllByChatId: (chatId: string) => Promise<PhoneChatParticipant[]>;
|
35
|
-
static getByChatIdAndUserId: (
|
36
|
-
chatId: string,
|
37
|
-
userId: string
|
38
|
-
) => Promise<PhoneChatParticipant | null>;
|
39
|
-
}
|
40
|
-
|
41
|
-
PhoneChatParticipant.init(
|
42
|
-
{
|
43
|
-
id: {
|
44
|
-
type: DataTypes.BIGINT,
|
45
|
-
primaryKey: true,
|
46
|
-
allowNull: false,
|
47
|
-
defaultValue: sequelize.fn("next_id"),
|
48
|
-
},
|
49
|
-
chatId: {
|
50
|
-
type: DataTypes.BIGINT,
|
51
|
-
allowNull: false,
|
52
|
-
field: "chat_id",
|
53
|
-
},
|
54
|
-
userId: {
|
55
|
-
type: DataTypes.BIGINT,
|
56
|
-
allowNull: false,
|
57
|
-
field: "user_id",
|
58
|
-
},
|
59
|
-
sentMessageCount: {
|
60
|
-
type: DataTypes.INTEGER,
|
61
|
-
allowNull: false,
|
62
|
-
field: "sent_message_count",
|
63
|
-
defaultValue: 0,
|
64
|
-
},
|
65
|
-
messageCountToBill: {
|
66
|
-
type: DataTypes.INTEGER,
|
67
|
-
allowNull: false,
|
68
|
-
field: "message_count_to_bill",
|
69
|
-
defaultValue: 0,
|
70
|
-
},
|
71
|
-
totalCallLength: {
|
72
|
-
type: DataTypes.INTEGER,
|
73
|
-
allowNull: false,
|
74
|
-
field: "total_call_length",
|
75
|
-
defaultValue: 0,
|
76
|
-
},
|
77
|
-
callLengthToBill: {
|
78
|
-
type: DataTypes.INTEGER,
|
79
|
-
allowNull: false,
|
80
|
-
field: "call_length_to_bill",
|
81
|
-
defaultValue: 0,
|
82
|
-
},
|
83
|
-
totalTipAmount: {
|
84
|
-
type: DataTypes.INTEGER,
|
85
|
-
allowNull: false,
|
86
|
-
field: "total_tip_amount",
|
87
|
-
defaultValue: 0,
|
88
|
-
},
|
89
|
-
tipAmountToBill: {
|
90
|
-
type: DataTypes.INTEGER,
|
91
|
-
allowNull: false,
|
92
|
-
field: "tip_amount_to_bill",
|
93
|
-
defaultValue: 0,
|
94
|
-
},
|
95
|
-
isTipping: {
|
96
|
-
type: DataTypes.BOOLEAN,
|
97
|
-
allowNull: false,
|
98
|
-
field: "is_tipping",
|
99
|
-
defaultValue: false,
|
100
|
-
},
|
101
|
-
isActive: {
|
102
|
-
type: DataTypes.BOOLEAN,
|
103
|
-
allowNull: false,
|
104
|
-
field: "is_active",
|
105
|
-
defaultValue: true,
|
106
|
-
},
|
107
|
-
stripePaymentIntentId: {
|
108
|
-
type: DataTypes.STRING,
|
109
|
-
field: "stripe_payment_intent_id",
|
110
|
-
},
|
111
|
-
createdAt: DataTypes.DATE,
|
112
|
-
updatedAt: DataTypes.DATE,
|
113
|
-
},
|
114
|
-
{
|
115
|
-
// Other model options go here
|
116
|
-
tableName: "chat_participants",
|
117
|
-
sequelize,
|
118
|
-
}
|
119
|
-
);
|
120
|
-
|
121
|
-
/*
|
122
|
-
====================================================================
|
123
|
-
Class functions
|
124
|
-
====================================================================
|
125
|
-
*/
|
126
|
-
|
127
|
-
PhoneChatParticipant.getAllByChatId = async (chatId: string) => {
|
128
|
-
return await PhoneChatParticipant.findAll({
|
129
|
-
where: {
|
130
|
-
chatId,
|
131
|
-
isActive: true,
|
132
|
-
},
|
133
|
-
include: [
|
134
|
-
{
|
135
|
-
model: PhoneUser,
|
136
|
-
required: true,
|
137
|
-
},
|
138
|
-
],
|
139
|
-
});
|
140
|
-
};
|
141
|
-
|
142
|
-
PhoneChatParticipant.getByChatIdAndUserId = async (
|
143
|
-
chatId: string,
|
144
|
-
userId: string
|
145
|
-
) => {
|
146
|
-
return await PhoneChatParticipant.findOne({
|
147
|
-
where: {
|
148
|
-
chatId,
|
149
|
-
userId,
|
150
|
-
isActive: true,
|
151
|
-
},
|
152
|
-
});
|
153
|
-
};
|
154
|
-
|
155
|
-
PhoneUser.hasMany(PhoneChatParticipant, {
|
156
|
-
foreignKey: "user_id",
|
157
|
-
onDelete: "NO ACTION",
|
158
|
-
constraints: false,
|
159
|
-
});
|
160
|
-
PhoneChatParticipant.belongsTo(PhoneUser, {
|
161
|
-
foreignKey: "user_id",
|
162
|
-
onDelete: "NO ACTION",
|
163
|
-
constraints: false,
|
164
|
-
});
|
165
|
-
|
166
|
-
export default PhoneChatParticipant;
|