@winible/winible-typed 2.20.14 → 2.21.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.
@@ -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.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.PostIntegrations = 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");
@@ -72,6 +72,8 @@ var telegram_integration_1 = require("./telegram-integration");
72
72
  Object.defineProperty(exports, "TelegramIntegration", { enumerable: true, get: function () { return __importDefault(telegram_integration_1).default; } });
73
73
  var subscriber_telegram_integration_1 = require("./subscriber-telegram-integration");
74
74
  Object.defineProperty(exports, "SubscriberTelegramIntegration", { enumerable: true, get: function () { return __importDefault(subscriber_telegram_integration_1).default; } });
75
+ var post_integrations_1 = require("./post_integrations");
76
+ Object.defineProperty(exports, "PostIntegrations", { enumerable: true, get: function () { return __importDefault(post_integrations_1).default; } });
75
77
  var pb_sequelize_1 = require("./pb-sequelize");
76
78
  Object.defineProperty(exports, "pbSequelize", { enumerable: true, get: function () { return __importDefault(pb_sequelize_1).default; } });
77
79
  //# 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,+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,yDAAkE;AAAzD,sIAAA,OAAO,OAAoB;AACpC,+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.20.14",
3
+ "version": "2.21.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -32,4 +32,5 @@ export { default as UsersOnOrganizations } from "./users_on_organizations";
32
32
  export { default as StoresOnOrganizations } from "./stores_on_organizations";
33
33
  export { default as TelegramIntegration } from "./telegram-integration";
34
34
  export { default as SubscriberTelegramIntegration } from "./subscriber-telegram-integration";
35
+ export { default as PostIntegrations } from "./post_integrations";
35
36
  export { default as pbSequelize } from "./pb-sequelize";
@@ -12,7 +12,7 @@ import User from "./user";
12
12
 
13
13
  import { NotificationType } from "./notification";
14
14
 
15
- type NotificationPreferenceDevice = "PHONE_NUMBER" | "EMAIL";
15
+ type NotificationPreferenceDevice = "PHONE_NUMBER" | "EMAIL" | "PUSH";
16
16
 
17
17
  // order of InferAttributes & InferCreationAttributes is important.
18
18
  class NotificationPreference extends Model<
@@ -0,0 +1,104 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ } from "sequelize";
8
+
9
+ import sequelize from "./pb-sequelize";
10
+ import Post from "./post";
11
+ import TelegramIntegration from "./telegram-integration";
12
+ import DiscordIntegration from "./discord-integration";
13
+
14
+ class PostIntegrations extends Model<
15
+ InferAttributes<PostIntegrations>,
16
+ InferCreationAttributes<PostIntegrations>
17
+ > {
18
+ declare id: CreationOptional<string>;
19
+ declare postId: string;
20
+ declare discordIntegrationId: string;
21
+ declare discordExternalId: string;
22
+ declare telegramIntegrationId: string;
23
+ declare telegramExternalId: string;
24
+
25
+ declare createdAt: CreationOptional<Date>;
26
+ declare updatedAt: CreationOptional<Date>;
27
+ }
28
+
29
+ PostIntegrations.init(
30
+ {
31
+ id: {
32
+ type: DataTypes.BIGINT,
33
+ primaryKey: true,
34
+ allowNull: false,
35
+ defaultValue: sequelize.fn("next_id"),
36
+ },
37
+ postId: {
38
+ type: DataTypes.BIGINT,
39
+ allowNull: false,
40
+ field: "post_id",
41
+ references: {
42
+ model: Post,
43
+ key: "id",
44
+ },
45
+ },
46
+ discordIntegrationId: {
47
+ type: DataTypes.STRING,
48
+ allowNull: true,
49
+ field: "discord_id",
50
+ },
51
+ discordExternalId: {
52
+ type: DataTypes.STRING,
53
+ allowNull: true,
54
+ field: "discord_external_id",
55
+ },
56
+ telegramIntegrationId: {
57
+ type: DataTypes.STRING,
58
+ allowNull: true,
59
+ field: "telegram_id",
60
+ },
61
+ telegramExternalId: {
62
+ type: DataTypes.STRING,
63
+ allowNull: true,
64
+ field: "telegram_external_id",
65
+ },
66
+ createdAt: {
67
+ type: DataTypes.DATE,
68
+ allowNull: false,
69
+ defaultValue: DataTypes.NOW,
70
+ },
71
+ updatedAt: {
72
+ type: DataTypes.DATE,
73
+ allowNull: false,
74
+ defaultValue: DataTypes.NOW,
75
+ },
76
+ },
77
+ {
78
+ tableName: "posts_on_integrations",
79
+ sequelize,
80
+ }
81
+ );
82
+
83
+ Post.hasMany(PostIntegrations, {
84
+ foreignKey: "postId",
85
+ sourceKey: "id",
86
+ onDelete: "NO ACTION",
87
+ constraints: false,
88
+ });
89
+
90
+ TelegramIntegration.hasMany(PostIntegrations, {
91
+ foreignKey: "telegramIntegrationId",
92
+ sourceKey: "id",
93
+ onDelete: "NO ACTION",
94
+ constraints: false,
95
+ });
96
+
97
+ DiscordIntegration.hasMany(PostIntegrations, {
98
+ foreignKey: "discordIntegrationId",
99
+ sourceKey: "id",
100
+ onDelete: "NO ACTION",
101
+ constraints: false,
102
+ });
103
+
104
+ export default PostIntegrations;