@winible/winible-typed 2.26.3 → 2.27.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,100 @@
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 post_1 = __importDefault(require("./post"));
10
+ // order of InferAttributes & InferCreationAttributes is important.
11
+ class Bet extends sequelize_1.Model {
12
+ }
13
+ Bet.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
+ userId: {
21
+ type: sequelize_1.DataTypes.BIGINT,
22
+ allowNull: false,
23
+ field: "user_id",
24
+ references: {
25
+ model: user_1.default,
26
+ },
27
+ },
28
+ postId: {
29
+ type: sequelize_1.DataTypes.BIGINT,
30
+ allowNull: false,
31
+ field: "post_id",
32
+ references: {
33
+ model: post_1.default,
34
+ },
35
+ },
36
+ type: {
37
+ type: sequelize_1.DataTypes.STRING,
38
+ allowNull: false,
39
+ field: "type",
40
+ },
41
+ stakeInCents: {
42
+ type: sequelize_1.DataTypes.INTEGER,
43
+ allowNull: false,
44
+ field: "stake_in_cents",
45
+ comment: "The amount of stake in cents (e.g., 5000 for $50)",
46
+ },
47
+ returnInCents: {
48
+ type: sequelize_1.DataTypes.INTEGER,
49
+ allowNull: false,
50
+ field: "return_in_cents",
51
+ comment: "The potential return amount in cents",
52
+ },
53
+ settled: {
54
+ type: sequelize_1.DataTypes.BOOLEAN,
55
+ allowNull: false,
56
+ defaultValue: false,
57
+ field: "settled",
58
+ },
59
+ result: {
60
+ type: sequelize_1.DataTypes.STRING,
61
+ allowNull: true,
62
+ field: "result",
63
+ comment: "Result of the bet: pending, won, lost, push",
64
+ },
65
+ events: {
66
+ type: sequelize_1.DataTypes.JSONB,
67
+ allowNull: true,
68
+ field: "events",
69
+ },
70
+ metadata: {
71
+ type: sequelize_1.DataTypes.JSONB,
72
+ allowNull: true,
73
+ field: "metadata",
74
+ },
75
+ createdAt: {
76
+ type: sequelize_1.DataTypes.DATE,
77
+ allowNull: false,
78
+ field: "created_at",
79
+ },
80
+ updatedAt: {
81
+ type: sequelize_1.DataTypes.DATE,
82
+ allowNull: false,
83
+ field: "updated_at",
84
+ },
85
+ }, {
86
+ tableName: "bets",
87
+ sequelize: pb_sequelize_1.default,
88
+ });
89
+ post_1.default.hasMany(Bet, {
90
+ foreignKey: "postId",
91
+ sourceKey: "id",
92
+ onDelete: "NO ACTION",
93
+ constraints: false,
94
+ });
95
+ Bet.belongsTo(post_1.default, {
96
+ foreignKey: "postId",
97
+ targetKey: "id",
98
+ });
99
+ exports.default = Bet;
100
+ //# sourceMappingURL=bet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bet.js","sourceRoot":"","sources":["../../typed-model/bet.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,kDAA0B;AAC1B,kDAA0B;AAM1B,mEAAmE;AACnE,MAAM,GAAI,SAAQ,iBAAyD;CAyB1E;AAED,GAAG,CAAC,IAAI,CACN;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,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,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,MAAM;KACd;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,mDAAmD;KAC7D;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,sCAAsC;KAChD;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,SAAS;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,6CAA6C;KACvD;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,QAAQ;KAChB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;KAClB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;CACF,EACD;IACE,SAAS,EAAE,MAAM;IACjB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE;IAChB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,GAAG,CAAC,SAAS,CAAC,cAAI,EAAE;IAClB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,GAAG,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.pbSequelize = exports.LimitedOffer = exports.AffiliateLinkType = exports.AffiliateCode = exports.CancellationReason = exports.CancellationOffer = exports.PrivateFeedUsers = exports.FeaturedCreator = exports.PostsOnIntegrations = exports.DiscordIntegrationLog = exports.TelegramIntegrationCode = exports.TelegramIntegrationLog = exports.SubscriberTelegramIntegration = exports.TelegramIntegration = exports.StoresOnOrganizations = exports.UsersOnOrganizations = exports.Organization = exports.SubscriberDiscordIntegration = exports.DiscordIntegration = exports.SportOnPosts = exports.Sport = exports.Integration = exports.UsersOnCreators = exports.Store = exports.Application = exports.NotificationPreference = exports.SubscribersOnCreators = exports.SubscriptionPricingOptionOnCoupons = exports.User = exports.LeagueOnUsers = exports.League = exports.Withdrawal = exports.RecurlyAccount = exports.FreeSubscriptionPlan = exports.SubscriptionPricingOption = exports.SubscriptionCoupon = exports.SubscriptionPlanOnPost = exports.SubscriptionPlanOnUsers = exports.SubscriptionPlan = exports.PostsOnUsers = exports.Post = exports.Notification = exports.Media = exports.MediaAsset = exports.Transaction = exports.ContentLike = void 0;
6
+ exports.pbSequelize = exports.Bet = exports.LimitedOffer = exports.AffiliateLinkType = exports.AffiliateCode = exports.CancellationReason = exports.CancellationOffer = exports.PrivateFeedUsers = exports.FeaturedCreator = exports.PostsOnIntegrations = exports.DiscordIntegrationLog = exports.TelegramIntegrationCode = exports.TelegramIntegrationLog = exports.SubscriberTelegramIntegration = exports.TelegramIntegration = exports.StoresOnOrganizations = exports.UsersOnOrganizations = exports.Organization = exports.SubscriberDiscordIntegration = exports.DiscordIntegration = exports.SportOnPosts = exports.Sport = exports.Integration = exports.UsersOnCreators = exports.Store = exports.Application = exports.NotificationPreference = exports.SubscribersOnCreators = exports.SubscriptionPricingOptionOnCoupons = exports.User = exports.LeagueOnUsers = exports.League = exports.Withdrawal = exports.RecurlyAccount = exports.FreeSubscriptionPlan = exports.SubscriptionPricingOption = exports.SubscriptionCoupon = exports.SubscriptionPlanOnPost = exports.SubscriptionPlanOnUsers = exports.SubscriptionPlan = exports.PostsOnUsers = exports.Post = exports.Notification = exports.Media = exports.MediaAsset = exports.Transaction = exports.ContentLike = void 0;
7
7
  var content_like_1 = require("./content-like");
8
8
  Object.defineProperty(exports, "ContentLike", { enumerable: true, get: function () { return __importDefault(content_like_1).default; } });
9
9
  var transaction_1 = require("./transaction");
@@ -94,6 +94,8 @@ var affiliate_links_types_1 = require("./affiliate-links-types");
94
94
  Object.defineProperty(exports, "AffiliateLinkType", { enumerable: true, get: function () { return __importDefault(affiliate_links_types_1).default; } });
95
95
  var limited_offer_1 = require("./limited-offer");
96
96
  Object.defineProperty(exports, "LimitedOffer", { enumerable: true, get: function () { return __importDefault(limited_offer_1).default; } });
97
+ var bet_1 = require("./bet");
98
+ Object.defineProperty(exports, "Bet", { enumerable: true, get: function () { return __importDefault(bet_1).default; } });
97
99
  var pb_sequelize_1 = require("./pb-sequelize");
98
100
  Object.defineProperty(exports, "pbSequelize", { enumerable: true, get: function () { return __importDefault(pb_sequelize_1).default; } });
99
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typed-model/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAwD;AAA/C,4HAAA,OAAO,OAAe;AAC/B,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,6CAAsD;AAA7C,0HAAA,OAAO,OAAc;AAC9B,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,mDAA2D;AAAlD,+HAAA,OAAO,OAAgB;AAChC,yDAAkE;AAAzD,sIAAA,OAAO,OAAoB;AACpC,2EAAkF;AAAzE,sJAAA,OAAO,OAA2B;AAC3C,yEAAgF;AAAvE,oJAAA,OAAO,OAA0B;AAC1C,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,6EAAqF;AAA5E,yJAAA,OAAO,OAA6B;AAC7C,mEAA2E;AAAlE,+IAAA,OAAO,OAAwB;AACxC,qDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,qDAA6D;AAApD,iIAAA,OAAO,OAAiB;AACjC,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,mGAAyG;AAAhG,6KAAA,OAAO,OAAsC;AACtD,qEAA6E;AAApE,iJAAA,OAAO,OAAyB;AACzC,qEAA8E;AAArE,kJAAA,OAAO,OAA0B;AAC1C,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,yDAAiE;AAAxD,qIAAA,OAAO,OAAmB;AACnC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,mDAA2D;AAAlD,+HAAA,OAAO,OAAgB;AAChC,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,mFAA2F;AAAlF,+JAAA,OAAO,OAAgC;AAChD,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,mEAA2E;AAAlE,+IAAA,OAAO,OAAwB;AACxC,qEAA6E;AAApE,iJAAA,OAAO,OAAyB;AACzC,+DAAwE;AAA/D,4IAAA,OAAO,OAAuB;AACvC,qFAA6F;AAApF,iKAAA,OAAO,OAAiC;AACjD,uEAA+E;AAAtE,mJAAA,OAAO,OAA0B;AAC1C,yEAAiF;AAAxE,qJAAA,OAAO,OAA2B;AAC3C,qEAA6E;AAApE,iJAAA,OAAO,OAAyB;AACzC,+DAAwE;AAA/D,4IAAA,OAAO,OAAuB;AACvC,uDAAgE;AAAvD,oIAAA,OAAO,OAAmB;AACnC,2DAAmE;AAA1D,uIAAA,OAAO,OAAoB;AACpC,2DAAoE;AAA3D,wIAAA,OAAO,OAAqB;AACrC,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB;AACjC,iEAAuE;AAA9D,2IAAA,OAAO,OAAqB;AACrC,iDAA0D;AAAjD,8HAAA,OAAO,OAAgB;AAChC,+CAAwD;AAA/C,4HAAA,OAAO,OAAe"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typed-model/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAwD;AAA/C,4HAAA,OAAO,OAAe;AAC/B,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,6CAAsD;AAA7C,0HAAA,OAAO,OAAc;AAC9B,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,mDAA2D;AAAlD,+HAAA,OAAO,OAAgB;AAChC,yDAAkE;AAAzD,sIAAA,OAAO,OAAoB;AACpC,2EAAkF;AAAzE,sJAAA,OAAO,OAA2B;AAC3C,yEAAgF;AAAvE,oJAAA,OAAO,OAA0B;AAC1C,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,6EAAqF;AAA5E,yJAAA,OAAO,OAA6B;AAC7C,mEAA2E;AAAlE,+IAAA,OAAO,OAAwB;AACxC,qDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,qDAA6D;AAApD,iIAAA,OAAO,OAAiB;AACjC,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,mGAAyG;AAAhG,6KAAA,OAAO,OAAsC;AACtD,qEAA6E;AAApE,iJAAA,OAAO,OAAyB;AACzC,qEAA8E;AAArE,kJAAA,OAAO,OAA0B;AAC1C,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,yDAAiE;AAAxD,qIAAA,OAAO,OAAmB;AACnC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,mDAA2D;AAAlD,+HAAA,OAAO,OAAgB;AAChC,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,mFAA2F;AAAlF,+JAAA,OAAO,OAAgC;AAChD,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,mEAA2E;AAAlE,+IAAA,OAAO,OAAwB;AACxC,qEAA6E;AAApE,iJAAA,OAAO,OAAyB;AACzC,+DAAwE;AAA/D,4IAAA,OAAO,OAAuB;AACvC,qFAA6F;AAApF,iKAAA,OAAO,OAAiC;AACjD,uEAA+E;AAAtE,mJAAA,OAAO,OAA0B;AAC1C,yEAAiF;AAAxE,qJAAA,OAAO,OAA2B;AAC3C,qEAA6E;AAApE,iJAAA,OAAO,OAAyB;AACzC,+DAAwE;AAA/D,4IAAA,OAAO,OAAuB;AACvC,uDAAgE;AAAvD,oIAAA,OAAO,OAAmB;AACnC,2DAAmE;AAA1D,uIAAA,OAAO,OAAoB;AACpC,2DAAoE;AAA3D,wIAAA,OAAO,OAAqB;AACrC,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB;AACjC,iEAAuE;AAA9D,2IAAA,OAAO,OAAqB;AACrC,iDAA0D;AAAjD,8HAAA,OAAO,OAAgB;AAChC,6BAAuC;AAA9B,2GAAA,OAAO,OAAO;AACvB,+CAAwD;AAA/C,4HAAA,OAAO,OAAe"}
@@ -0,0 +1,60 @@
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 league_1 = __importDefault(require("./league"));
8
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
9
+ const user_1 = __importDefault(require("./user"));
10
+ // order of InferAttributes & InferCreationAttributes is important.
11
+ class LeagueUser extends sequelize_1.Model {
12
+ }
13
+ LeagueUser.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
+ leagueId: {
21
+ type: sequelize_1.DataTypes.BIGINT,
22
+ field: "league_id",
23
+ allowNull: false,
24
+ },
25
+ userId: {
26
+ type: sequelize_1.DataTypes.BIGINT,
27
+ field: "user_id",
28
+ allowNull: false,
29
+ },
30
+ createdAt: sequelize_1.DataTypes.DATE,
31
+ updatedAt: sequelize_1.DataTypes.DATE,
32
+ }, {
33
+ // Other model options go here
34
+ tableName: "league_users",
35
+ sequelize: pb_sequelize_1.default,
36
+ });
37
+ LeagueUser.hasOne(league_1.default, {
38
+ foreignKey: "id",
39
+ sourceKey: "leagueId",
40
+ onDelete: "NO ACTION",
41
+ constraints: false,
42
+ });
43
+ league_1.default.hasMany(LeagueUser, {
44
+ foreignKey: "leagueId",
45
+ onDelete: "NO ACTION",
46
+ constraints: false,
47
+ });
48
+ LeagueUser.hasOne(user_1.default, {
49
+ foreignKey: "id",
50
+ sourceKey: "userId",
51
+ onDelete: "NO ACTION",
52
+ constraints: false,
53
+ });
54
+ user_1.default.hasMany(LeagueUser, {
55
+ foreignKey: "userId",
56
+ onDelete: "NO ACTION",
57
+ constraints: false,
58
+ });
59
+ exports.default = LeagueUser;
60
+ //# sourceMappingURL=league-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"league-user.js","sourceRoot":"","sources":["../../typed-model/league-user.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AACnB,sDAA8B;AAE9B,kEAAuC;AACvC,kDAA0B;AAE1B,mEAAmE;AACnE,MAAM,UAAW,SAAQ,iBAGxB;CAQA;AAED,UAAU,CAAC,IAAI,CACb;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,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,cAAc;IACzB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,UAAU,CAAC,MAAM,CAAC,gBAAM,EAAE;IACxB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,gBAAM,CAAC,OAAO,CAAC,UAAU,EAAE;IACzB,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,UAAU,CAAC,MAAM,CAAC,cAAI,EAAE;IACtB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE;IACvB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,82 @@
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 post_1 = __importDefault(require("./post"));
9
+ const telegram_integration_1 = __importDefault(require("./telegram-integration"));
10
+ const discord_integration_1 = __importDefault(require("./discord-integration"));
11
+ class PostIntegrations extends sequelize_1.Model {
12
+ }
13
+ PostIntegrations.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
+ postId: {
21
+ type: sequelize_1.DataTypes.BIGINT,
22
+ allowNull: false,
23
+ field: "post_id",
24
+ references: {
25
+ model: post_1.default,
26
+ key: "id",
27
+ },
28
+ },
29
+ discordIntegrationId: {
30
+ type: sequelize_1.DataTypes.STRING,
31
+ allowNull: true,
32
+ field: "discord_id",
33
+ },
34
+ discordExternalId: {
35
+ type: sequelize_1.DataTypes.STRING,
36
+ allowNull: true,
37
+ field: "discord_external_id",
38
+ },
39
+ telegramIntegrationId: {
40
+ type: sequelize_1.DataTypes.STRING,
41
+ allowNull: true,
42
+ field: "telegram_id",
43
+ },
44
+ telegramExternalId: {
45
+ type: sequelize_1.DataTypes.STRING,
46
+ allowNull: true,
47
+ field: "telegram_external_id",
48
+ },
49
+ createdAt: {
50
+ type: sequelize_1.DataTypes.DATE,
51
+ allowNull: false,
52
+ defaultValue: sequelize_1.DataTypes.NOW,
53
+ },
54
+ updatedAt: {
55
+ type: sequelize_1.DataTypes.DATE,
56
+ allowNull: false,
57
+ defaultValue: sequelize_1.DataTypes.NOW,
58
+ },
59
+ }, {
60
+ tableName: "posts_on_integrations",
61
+ sequelize: pb_sequelize_1.default,
62
+ });
63
+ post_1.default.hasMany(PostIntegrations, {
64
+ foreignKey: "postId",
65
+ sourceKey: "id",
66
+ onDelete: "NO ACTION",
67
+ constraints: false,
68
+ });
69
+ telegram_integration_1.default.hasMany(PostIntegrations, {
70
+ foreignKey: "telegramIntegrationId",
71
+ sourceKey: "id",
72
+ onDelete: "NO ACTION",
73
+ constraints: false,
74
+ });
75
+ discord_integration_1.default.hasMany(PostIntegrations, {
76
+ foreignKey: "discordIntegrationId",
77
+ sourceKey: "id",
78
+ onDelete: "NO ACTION",
79
+ constraints: false,
80
+ });
81
+ exports.default = PostIntegrations;
82
+ //# sourceMappingURL=post_integrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post_integrations.js","sourceRoot":"","sources":["../../typed-model/post_integrations.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,kDAA0B;AAC1B,kFAAyD;AACzD,gFAAuD;AAEvD,MAAM,gBAAiB,SAAQ,iBAG9B;CAUA;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;YACX,GAAG,EAAE,IAAI;SACV;KACF;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,YAAY;KACpB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,qBAAqB;KAC7B;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,aAAa;KACrB;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,sBAAsB;KAC9B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;CACF,EACD;IACE,SAAS,EAAE,uBAAuB;IAClC,SAAS,EAAT,sBAAS;CACV,CACF,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,8BAAmB,CAAC,OAAO,CAAC,gBAAgB,EAAE;IAC5C,UAAU,EAAE,uBAAuB;IACnC,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,6BAAkB,CAAC,OAAO,CAAC,gBAAgB,EAAE;IAC3C,UAAU,EAAE,sBAAsB;IAClC,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winible/winible-typed",
3
- "version": "2.26.3",
3
+ "version": "2.27.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -0,0 +1,137 @@
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 Post from "./post";
12
+
13
+ type BetType = "same-game" | "parlay" | "single";
14
+
15
+ type ResultType = "pending" | "won" | "lost" | "push";
16
+
17
+ // order of InferAttributes & InferCreationAttributes is important.
18
+ class Bet extends Model<InferAttributes<Bet>, InferCreationAttributes<Bet>> {
19
+ declare id: CreationOptional<string>;
20
+ declare userId: string;
21
+ declare postId: string;
22
+ declare type: BetType;
23
+ declare stakeInCents: number;
24
+ declare returnInCents: number;
25
+ declare settled: boolean;
26
+ declare result?: ResultType;
27
+ declare events?: {
28
+ sport: string;
29
+ homeTeam: string;
30
+ awayTeam?: string;
31
+ league?: string;
32
+ odds: {
33
+ value: number;
34
+ market: string;
35
+ line: string;
36
+ description: string;
37
+ }[];
38
+ }[];
39
+ declare metadata?: any;
40
+
41
+ declare createdAt: CreationOptional<Date>;
42
+ declare updatedAt: CreationOptional<Date>;
43
+ }
44
+
45
+ Bet.init(
46
+ {
47
+ id: {
48
+ type: DataTypes.BIGINT,
49
+ primaryKey: true,
50
+ allowNull: false,
51
+ defaultValue: sequelize.fn("next_id"),
52
+ },
53
+ userId: {
54
+ type: DataTypes.BIGINT,
55
+ allowNull: false,
56
+ field: "user_id",
57
+ references: {
58
+ model: User,
59
+ },
60
+ },
61
+ postId: {
62
+ type: DataTypes.BIGINT,
63
+ allowNull: false,
64
+ field: "post_id",
65
+ references: {
66
+ model: Post,
67
+ },
68
+ },
69
+ type: {
70
+ type: DataTypes.STRING,
71
+ allowNull: false,
72
+ field: "type",
73
+ },
74
+ stakeInCents: {
75
+ type: DataTypes.INTEGER,
76
+ allowNull: false,
77
+ field: "stake_in_cents",
78
+ comment: "The amount of stake in cents (e.g., 5000 for $50)",
79
+ },
80
+ returnInCents: {
81
+ type: DataTypes.INTEGER,
82
+ allowNull: false,
83
+ field: "return_in_cents",
84
+ comment: "The potential return amount in cents",
85
+ },
86
+ settled: {
87
+ type: DataTypes.BOOLEAN,
88
+ allowNull: false,
89
+ defaultValue: false,
90
+ field: "settled",
91
+ },
92
+ result: {
93
+ type: DataTypes.STRING,
94
+ allowNull: true,
95
+ field: "result",
96
+ comment: "Result of the bet: pending, won, lost, push",
97
+ },
98
+ events: {
99
+ type: DataTypes.JSONB,
100
+ allowNull: true,
101
+ field: "events",
102
+ },
103
+ metadata: {
104
+ type: DataTypes.JSONB,
105
+ allowNull: true,
106
+ field: "metadata",
107
+ },
108
+ createdAt: {
109
+ type: DataTypes.DATE,
110
+ allowNull: false,
111
+ field: "created_at",
112
+ },
113
+ updatedAt: {
114
+ type: DataTypes.DATE,
115
+ allowNull: false,
116
+ field: "updated_at",
117
+ },
118
+ },
119
+ {
120
+ tableName: "bets",
121
+ sequelize,
122
+ }
123
+ );
124
+
125
+ Post.hasMany(Bet, {
126
+ foreignKey: "postId",
127
+ sourceKey: "id",
128
+ onDelete: "NO ACTION",
129
+ constraints: false,
130
+ });
131
+
132
+ Bet.belongsTo(Post, {
133
+ foreignKey: "postId",
134
+ targetKey: "id",
135
+ });
136
+
137
+ export default Bet;
@@ -43,4 +43,5 @@ export { default as CancellationReason } from "./cancellation_reason";
43
43
  export { default as AffiliateCode } from "./affiliate-code";
44
44
  export { default as AffiliateLinkType } from "./affiliate-links-types";
45
45
  export { default as LimitedOffer } from "./limited-offer";
46
+ export { default as Bet } from "./bet";
46
47
  export { default as pbSequelize } from "./pb-sequelize";