@winible/winible-typed 2.90.1 → 2.91.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.
@@ -0,0 +1,156 @@
|
|
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 affiliate_link_1 = __importDefault(require("./affiliate-link"));
|
10
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
11
|
+
class BannerCreative extends sequelize_1.Model {
|
12
|
+
}
|
13
|
+
BannerCreative.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
|
+
affiliateLinkId: {
|
21
|
+
type: sequelize_1.DataTypes.BIGINT,
|
22
|
+
allowNull: false,
|
23
|
+
references: {
|
24
|
+
model: affiliate_link_1.default,
|
25
|
+
key: "id",
|
26
|
+
},
|
27
|
+
field: "affiliate_link_id",
|
28
|
+
},
|
29
|
+
mediaType: {
|
30
|
+
type: sequelize_1.DataTypes.ENUM("image", "video"),
|
31
|
+
allowNull: false,
|
32
|
+
field: "media_type",
|
33
|
+
},
|
34
|
+
assetUrls: {
|
35
|
+
type: sequelize_1.DataTypes.JSONB,
|
36
|
+
allowNull: false,
|
37
|
+
field: "asset_urls",
|
38
|
+
},
|
39
|
+
videoUrl: {
|
40
|
+
type: sequelize_1.DataTypes.TEXT,
|
41
|
+
allowNull: true,
|
42
|
+
field: "video_url",
|
43
|
+
},
|
44
|
+
videoNaturalMs: {
|
45
|
+
type: sequelize_1.DataTypes.INTEGER,
|
46
|
+
allowNull: true,
|
47
|
+
field: "video_natural_ms",
|
48
|
+
},
|
49
|
+
imageDurationMs: {
|
50
|
+
type: sequelize_1.DataTypes.INTEGER,
|
51
|
+
allowNull: true,
|
52
|
+
field: "image_duration_ms",
|
53
|
+
},
|
54
|
+
headline: {
|
55
|
+
type: sequelize_1.DataTypes.TEXT,
|
56
|
+
allowNull: true,
|
57
|
+
field: "headline",
|
58
|
+
},
|
59
|
+
ctaText: {
|
60
|
+
type: sequelize_1.DataTypes.TEXT,
|
61
|
+
allowNull: true,
|
62
|
+
field: "cta_text",
|
63
|
+
},
|
64
|
+
clickUrl: {
|
65
|
+
type: sequelize_1.DataTypes.TEXT,
|
66
|
+
allowNull: true,
|
67
|
+
field: "click_url",
|
68
|
+
},
|
69
|
+
ctaBackgroundCss: {
|
70
|
+
type: sequelize_1.DataTypes.TEXT,
|
71
|
+
allowNull: true,
|
72
|
+
field: "cta_background_css",
|
73
|
+
},
|
74
|
+
altText: {
|
75
|
+
type: sequelize_1.DataTypes.TEXT,
|
76
|
+
allowNull: true,
|
77
|
+
field: "alt_text",
|
78
|
+
},
|
79
|
+
locale: {
|
80
|
+
type: sequelize_1.DataTypes.TEXT,
|
81
|
+
allowNull: true,
|
82
|
+
field: "locale",
|
83
|
+
},
|
84
|
+
status: {
|
85
|
+
type: sequelize_1.DataTypes.ENUM("draft", "approved", "paused", "expired"),
|
86
|
+
allowNull: false,
|
87
|
+
field: "status",
|
88
|
+
},
|
89
|
+
startAt: {
|
90
|
+
type: sequelize_1.DataTypes.DATE,
|
91
|
+
allowNull: false,
|
92
|
+
field: "start_at",
|
93
|
+
},
|
94
|
+
endAt: {
|
95
|
+
type: sequelize_1.DataTypes.DATE,
|
96
|
+
allowNull: false,
|
97
|
+
field: "end_at",
|
98
|
+
},
|
99
|
+
version: {
|
100
|
+
type: sequelize_1.DataTypes.INTEGER,
|
101
|
+
allowNull: false,
|
102
|
+
defaultValue: 1,
|
103
|
+
field: "version",
|
104
|
+
},
|
105
|
+
createdBy: {
|
106
|
+
type: sequelize_1.DataTypes.BIGINT,
|
107
|
+
allowNull: false,
|
108
|
+
references: {
|
109
|
+
model: user_1.default,
|
110
|
+
key: "id",
|
111
|
+
},
|
112
|
+
field: "created_by",
|
113
|
+
},
|
114
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
115
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
116
|
+
notes: {
|
117
|
+
type: sequelize_1.DataTypes.TEXT,
|
118
|
+
allowNull: true,
|
119
|
+
field: "notes",
|
120
|
+
},
|
121
|
+
}, {
|
122
|
+
tableName: "banner_creatives",
|
123
|
+
sequelize: pb_sequelize_1.default,
|
124
|
+
});
|
125
|
+
/*
|
126
|
+
====================================================================
|
127
|
+
Class functions
|
128
|
+
====================================================================
|
129
|
+
*/
|
130
|
+
BannerCreative.getById = async (id) => {
|
131
|
+
return await BannerCreative.findOne({
|
132
|
+
where: {
|
133
|
+
id,
|
134
|
+
},
|
135
|
+
});
|
136
|
+
};
|
137
|
+
// Relationships
|
138
|
+
affiliate_link_1.default.hasMany(BannerCreative, {
|
139
|
+
foreignKey: "affiliateLinkId",
|
140
|
+
onDelete: "NO ACTION",
|
141
|
+
constraints: false,
|
142
|
+
});
|
143
|
+
BannerCreative.belongsTo(affiliate_link_1.default, {
|
144
|
+
foreignKey: "affiliateLinkId",
|
145
|
+
});
|
146
|
+
user_1.default.hasMany(BannerCreative, {
|
147
|
+
foreignKey: "createdBy",
|
148
|
+
onDelete: "NO ACTION",
|
149
|
+
constraints: false,
|
150
|
+
});
|
151
|
+
BannerCreative.belongsTo(user_1.default, {
|
152
|
+
as: "creator",
|
153
|
+
foreignKey: "createdBy",
|
154
|
+
});
|
155
|
+
exports.default = BannerCreative;
|
156
|
+
//# sourceMappingURL=banner-creative.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"banner-creative.js","sourceRoot":"","sources":["../../typed-model/banner-creative.ts"],"names":[],"mappings":"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"}
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.MigrationToken = exports.Bet = exports.LimitedOffer = exports.AffiliateLinkType = exports.AffiliateCode = exports.CancellationReason = exports.CancellationOffer = exports.PrivateFeedUsers = exports.FeaturedCreator = exports.PostsOnIntegrations = exports.DiscordIntegrationLog = exports.TelegramIntegrationInviteLink = exports.TelegramIntegrationCode = exports.TelegramIntegrationLog = exports.SubscriberTelegramIntegration = exports.TelegramIntegration = exports.StoresOnOrganizations = exports.UsersOnOrganizations = exports.Organization = exports.FailedTransactions = exports.Whitelist = exports.SubscriberDiscordIntegration = exports.DiscordIntegration = exports.SportOnPosts = exports.Sport = exports.Integration = exports.UsersOnCreators = exports.Store = exports.Application = exports.NewNotificationPreference = exports.NotificationPreference = exports.SubscribersOnCreators = exports.SubscriptionPricingOptionOnCoupons = exports.User = exports.Withdrawal = exports.RecurlyAccount = exports.FreeSubscriptionPlan = exports.SubscriptionPricingOption = exports.SubscriptionCoupon = exports.SubscriptionPlanOnPost = exports.SubscriptionPlanOnUsers = exports.SubscriptionPlan = exports.PostsOnUsers = exports.Post = exports.PasswordTokens = exports.Notification = exports.Media = exports.MediaAsset = exports.Transaction = exports.ContentLike = void 0;
|
7
|
-
exports.pbSequelize = exports.SportsbookOnMarket = exports.Dispute = exports.DefaultCompliancePolicy = exports.ParlaysOnBets = exports.OddsOnParlays = exports.OddsOnBets = exports.ComplianceRuleSportsbook = exports.Parlay = exports.Odd = exports.AffiliateLink = exports.MarketOnLeague = exports.League = exports.ComplianceRule = exports.Sportsbook = exports.Market = exports.BetSport = exports.SendgridDomain = exports.SendgridIpPool = exports.SendgridEmailSubAccount = exports.PhoneNumberAssignment = exports.MarketingPhoneNumber = exports.Segment = exports.Trigger = exports.CampaignMessage = exports.Campaign = exports.CampaignTemplate = exports.CreatorServiceFee = exports.UserCookiePreference = exports.CouponRedemptions = exports.UserTransactionLocation = exports.UserReview = exports.PumpingRiskScoreMonitoring = exports.UsersOnPermissions = exports.Permission = exports.SMSCustomMessage = void 0;
|
7
|
+
exports.pbSequelize = exports.BannerCreative = exports.SportsbookOnMarket = exports.Dispute = exports.DefaultCompliancePolicy = exports.ParlaysOnBets = exports.OddsOnParlays = exports.OddsOnBets = exports.ComplianceRuleSportsbook = exports.Parlay = exports.Odd = exports.AffiliateLink = exports.MarketOnLeague = exports.League = exports.ComplianceRule = exports.Sportsbook = exports.Market = exports.BetSport = exports.SendgridDomain = exports.SendgridIpPool = exports.SendgridEmailSubAccount = exports.PhoneNumberAssignment = exports.MarketingPhoneNumber = exports.Segment = exports.Trigger = exports.CampaignMessage = exports.Campaign = exports.CampaignTemplate = exports.CreatorServiceFee = exports.UserCookiePreference = exports.CouponRedemptions = exports.UserTransactionLocation = exports.UserReview = exports.PumpingRiskScoreMonitoring = exports.UsersOnPermissions = exports.Permission = exports.SMSCustomMessage = void 0;
|
8
8
|
var content_like_1 = require("./content-like");
|
9
9
|
Object.defineProperty(exports, "ContentLike", { enumerable: true, get: function () { return __importDefault(content_like_1).default; } });
|
10
10
|
var transaction_1 = require("./transaction");
|
@@ -175,6 +175,8 @@ var dispute_1 = require("./dispute");
|
|
175
175
|
Object.defineProperty(exports, "Dispute", { enumerable: true, get: function () { return __importDefault(dispute_1).default; } });
|
176
176
|
var sportsbook_on_market_1 = require("./sportsbook-on-market");
|
177
177
|
Object.defineProperty(exports, "SportsbookOnMarket", { enumerable: true, get: function () { return __importDefault(sportsbook_on_market_1).default; } });
|
178
|
+
var banner_creative_1 = require("./banner-creative");
|
179
|
+
Object.defineProperty(exports, "BannerCreative", { enumerable: true, get: function () { return __importDefault(banner_creative_1).default; } });
|
178
180
|
var pb_sequelize_1 = require("./pb-sequelize");
|
179
181
|
Object.defineProperty(exports, "pbSequelize", { enumerable: true, get: function () { return __importDefault(pb_sequelize_1).default; } });
|
180
182
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../typed-model/index.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../typed-model/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -0,0 +1,200 @@
|
|
1
|
+
import {
|
2
|
+
Model,
|
3
|
+
InferAttributes,
|
4
|
+
InferCreationAttributes,
|
5
|
+
CreationOptional,
|
6
|
+
DataTypes,
|
7
|
+
} from "sequelize";
|
8
|
+
|
9
|
+
import sequelize from "./pb-sequelize";
|
10
|
+
import User from "./user";
|
11
|
+
import AffiliateLinks from "./affiliate-link";
|
12
|
+
|
13
|
+
type MediaType = "image" | "video";
|
14
|
+
type BannerStatus = "draft" | "approved" | "paused" | "expired";
|
15
|
+
|
16
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
17
|
+
class BannerCreative extends Model<
|
18
|
+
InferAttributes<BannerCreative>,
|
19
|
+
InferCreationAttributes<BannerCreative>
|
20
|
+
> {
|
21
|
+
// 'CreationOptional' is a special type that marks the field as optional
|
22
|
+
// when creating an instance of the model (such as using Model.create()).
|
23
|
+
declare id: CreationOptional<string>;
|
24
|
+
declare affiliateLinkId: string;
|
25
|
+
declare mediaType: MediaType;
|
26
|
+
declare assetUrls: string[]; // JSONB array field
|
27
|
+
declare videoUrl?: string;
|
28
|
+
declare videoNaturalMs?: number;
|
29
|
+
declare imageDurationMs?: number;
|
30
|
+
declare headline?: string;
|
31
|
+
declare ctaText?: string;
|
32
|
+
declare clickUrl?: string;
|
33
|
+
declare ctaBackgroundCss?: string;
|
34
|
+
declare altText?: string;
|
35
|
+
declare locale?: string;
|
36
|
+
declare status: BannerStatus;
|
37
|
+
declare startAt: Date;
|
38
|
+
declare endAt: Date;
|
39
|
+
declare version: number;
|
40
|
+
declare createdBy: string;
|
41
|
+
declare createdAt: CreationOptional<Date>;
|
42
|
+
declare updatedAt: CreationOptional<Date>;
|
43
|
+
declare notes?: string;
|
44
|
+
|
45
|
+
static getById: (id: string) => Promise<BannerCreative | null>;
|
46
|
+
}
|
47
|
+
|
48
|
+
BannerCreative.init(
|
49
|
+
{
|
50
|
+
id: {
|
51
|
+
type: DataTypes.BIGINT,
|
52
|
+
primaryKey: true,
|
53
|
+
allowNull: false,
|
54
|
+
defaultValue: sequelize.fn("next_id"),
|
55
|
+
},
|
56
|
+
affiliateLinkId: {
|
57
|
+
type: DataTypes.BIGINT,
|
58
|
+
allowNull: false,
|
59
|
+
references: {
|
60
|
+
model: AffiliateLinks,
|
61
|
+
key: "id",
|
62
|
+
},
|
63
|
+
field: "affiliate_link_id",
|
64
|
+
},
|
65
|
+
mediaType: {
|
66
|
+
type: DataTypes.ENUM("image", "video"),
|
67
|
+
allowNull: false,
|
68
|
+
field: "media_type",
|
69
|
+
},
|
70
|
+
assetUrls: {
|
71
|
+
type: DataTypes.JSONB,
|
72
|
+
allowNull: false,
|
73
|
+
field: "asset_urls",
|
74
|
+
},
|
75
|
+
videoUrl: {
|
76
|
+
type: DataTypes.TEXT,
|
77
|
+
allowNull: true,
|
78
|
+
field: "video_url",
|
79
|
+
},
|
80
|
+
videoNaturalMs: {
|
81
|
+
type: DataTypes.INTEGER,
|
82
|
+
allowNull: true,
|
83
|
+
field: "video_natural_ms",
|
84
|
+
},
|
85
|
+
imageDurationMs: {
|
86
|
+
type: DataTypes.INTEGER,
|
87
|
+
allowNull: true,
|
88
|
+
field: "image_duration_ms",
|
89
|
+
},
|
90
|
+
headline: {
|
91
|
+
type: DataTypes.TEXT,
|
92
|
+
allowNull: true,
|
93
|
+
field: "headline",
|
94
|
+
},
|
95
|
+
ctaText: {
|
96
|
+
type: DataTypes.TEXT,
|
97
|
+
allowNull: true,
|
98
|
+
field: "cta_text",
|
99
|
+
},
|
100
|
+
clickUrl: {
|
101
|
+
type: DataTypes.TEXT,
|
102
|
+
allowNull: true,
|
103
|
+
field: "click_url",
|
104
|
+
},
|
105
|
+
ctaBackgroundCss: {
|
106
|
+
type: DataTypes.TEXT,
|
107
|
+
allowNull: true,
|
108
|
+
field: "cta_background_css",
|
109
|
+
},
|
110
|
+
altText: {
|
111
|
+
type: DataTypes.TEXT,
|
112
|
+
allowNull: true,
|
113
|
+
field: "alt_text",
|
114
|
+
},
|
115
|
+
locale: {
|
116
|
+
type: DataTypes.TEXT,
|
117
|
+
allowNull: true,
|
118
|
+
field: "locale",
|
119
|
+
},
|
120
|
+
status: {
|
121
|
+
type: DataTypes.ENUM("draft", "approved", "paused", "expired"),
|
122
|
+
allowNull: false,
|
123
|
+
field: "status",
|
124
|
+
},
|
125
|
+
startAt: {
|
126
|
+
type: DataTypes.DATE,
|
127
|
+
allowNull: false,
|
128
|
+
field: "start_at",
|
129
|
+
},
|
130
|
+
endAt: {
|
131
|
+
type: DataTypes.DATE,
|
132
|
+
allowNull: false,
|
133
|
+
field: "end_at",
|
134
|
+
},
|
135
|
+
version: {
|
136
|
+
type: DataTypes.INTEGER,
|
137
|
+
allowNull: false,
|
138
|
+
defaultValue: 1,
|
139
|
+
field: "version",
|
140
|
+
},
|
141
|
+
createdBy: {
|
142
|
+
type: DataTypes.BIGINT,
|
143
|
+
allowNull: false,
|
144
|
+
references: {
|
145
|
+
model: User,
|
146
|
+
key: "id",
|
147
|
+
},
|
148
|
+
field: "created_by",
|
149
|
+
},
|
150
|
+
createdAt: DataTypes.DATE,
|
151
|
+
updatedAt: DataTypes.DATE,
|
152
|
+
notes: {
|
153
|
+
type: DataTypes.TEXT,
|
154
|
+
allowNull: true,
|
155
|
+
field: "notes",
|
156
|
+
},
|
157
|
+
},
|
158
|
+
{
|
159
|
+
tableName: "banner_creatives",
|
160
|
+
sequelize,
|
161
|
+
}
|
162
|
+
);
|
163
|
+
|
164
|
+
/*
|
165
|
+
====================================================================
|
166
|
+
Class functions
|
167
|
+
====================================================================
|
168
|
+
*/
|
169
|
+
|
170
|
+
BannerCreative.getById = async (id: string) => {
|
171
|
+
return await BannerCreative.findOne({
|
172
|
+
where: {
|
173
|
+
id,
|
174
|
+
},
|
175
|
+
});
|
176
|
+
};
|
177
|
+
|
178
|
+
// Relationships
|
179
|
+
AffiliateLinks.hasMany(BannerCreative, {
|
180
|
+
foreignKey: "affiliateLinkId",
|
181
|
+
onDelete: "NO ACTION",
|
182
|
+
constraints: false,
|
183
|
+
});
|
184
|
+
|
185
|
+
BannerCreative.belongsTo(AffiliateLinks, {
|
186
|
+
foreignKey: "affiliateLinkId",
|
187
|
+
});
|
188
|
+
|
189
|
+
User.hasMany(BannerCreative, {
|
190
|
+
foreignKey: "createdBy",
|
191
|
+
onDelete: "NO ACTION",
|
192
|
+
constraints: false,
|
193
|
+
});
|
194
|
+
|
195
|
+
BannerCreative.belongsTo(User, {
|
196
|
+
as: "creator",
|
197
|
+
foreignKey: "createdBy",
|
198
|
+
});
|
199
|
+
|
200
|
+
export default BannerCreative;
|
package/typed-model/index.ts
CHANGED
@@ -83,5 +83,6 @@ export { default as ParlaysOnBets } from "./parlays-on-bets";
|
|
83
83
|
export { default as DefaultCompliancePolicy } from "./default-compliance-policy";
|
84
84
|
export { default as Dispute } from "./dispute";
|
85
85
|
export { default as SportsbookOnMarket } from "./sportsbook-on-market";
|
86
|
+
export { default as BannerCreative } from "./banner-creative";
|
86
87
|
|
87
88
|
export { default as pbSequelize } from "./pb-sequelize";
|