@winible/winible-typed 2.8.2 → 2.9.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/src/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TemporalUnit = exports.DiscountType = exports.UserRole = exports.UserStatus = void 0;
3
+ exports.TemporalUnit = exports.DiscountType = exports.UserStoreRole = exports.UserRole = exports.UserStatus = void 0;
4
4
  var UserStatus;
5
5
  (function (UserStatus) {
6
6
  UserStatus["PENDING_REVIEW"] = "PENDING_REVIEW";
@@ -13,6 +13,12 @@ var UserRole;
13
13
  UserRole["USER"] = "USER";
14
14
  UserRole["ADMIN"] = "ADMIN";
15
15
  })(UserRole = exports.UserRole || (exports.UserRole = {}));
16
+ var UserStoreRole;
17
+ (function (UserStoreRole) {
18
+ UserStoreRole["CREATOR"] = "CREATOR";
19
+ UserStoreRole["READ_ONLY"] = "READ_ONLY";
20
+ UserStoreRole["ADMIN"] = "ADMIN";
21
+ })(UserStoreRole = exports.UserStoreRole || (exports.UserStoreRole = {}));
16
22
  var DiscountType;
17
23
  (function (DiscountType) {
18
24
  DiscountType["percent"] = "percent";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAyCA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+CAAiC,CAAA;IACjC,mCAAqB,CAAA;IACrB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;AAC3B,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6BAAa,CAAA;AACf,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAyCA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+CAAiC,CAAA;IACjC,mCAAqB,CAAA;IACrB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,gCAAe,CAAA;AACjB,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;AAC3B,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6BAAa,CAAA;AACf,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB"}
@@ -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.Application = exports.NotificationPreference = exports.SubscribersOnCreators = exports.SubscriptionPricingOptionOnCoupons = exports.User = exports.LeagueOnUsers = exports.League = exports.Withdrawal = exports.RecurlyAccount = 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.UsersOnCreators = exports.Store = exports.Application = exports.NotificationPreference = exports.SubscribersOnCreators = exports.SubscriptionPricingOptionOnCoupons = exports.User = exports.LeagueOnUsers = exports.League = exports.Withdrawal = exports.RecurlyAccount = 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");
@@ -46,6 +46,10 @@ var notification_preference_1 = require("./notification-preference");
46
46
  Object.defineProperty(exports, "NotificationPreference", { enumerable: true, get: function () { return __importDefault(notification_preference_1).default; } });
47
47
  var application_1 = require("./application");
48
48
  Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return __importDefault(application_1).default; } });
49
+ var store_1 = require("./store");
50
+ Object.defineProperty(exports, "Store", { enumerable: true, get: function () { return __importDefault(store_1).default; } });
51
+ var users_on_creators_1 = require("./users_on_creators");
52
+ Object.defineProperty(exports, "UsersOnCreators", { enumerable: true, get: function () { return __importDefault(users_on_creators_1).default; } });
49
53
  var pb_sequelize_1 = require("./pb-sequelize");
50
54
  Object.defineProperty(exports, "pbSequelize", { enumerable: true, get: function () { return __importDefault(pb_sequelize_1).default; } });
51
55
  //# 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,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,+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,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,+CAAwD;AAA/C,4HAAA,OAAO,OAAe"}
@@ -0,0 +1,110 @@
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 _1 = require(".");
8
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
9
+ // order of InferAttributes & InferCreationAttributes is important.
10
+ class Store extends sequelize_1.Model {
11
+ }
12
+ Store.init({
13
+ id: {
14
+ type: sequelize_1.DataTypes.BIGINT,
15
+ primaryKey: true,
16
+ allowNull: false,
17
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
18
+ },
19
+ creatorId: {
20
+ type: sequelize_1.DataTypes.BIGINT,
21
+ allowNull: false,
22
+ field: "creator_id",
23
+ references: {
24
+ model: _1.User,
25
+ },
26
+ },
27
+ storeName: {
28
+ type: sequelize_1.DataTypes.STRING,
29
+ allowNull: true,
30
+ field: "store_name",
31
+ },
32
+ bio: {
33
+ type: sequelize_1.DataTypes.STRING(1000),
34
+ field: "bio",
35
+ },
36
+ headline: {
37
+ type: sequelize_1.DataTypes.STRING,
38
+ field: "headline",
39
+ },
40
+ avatarUrl: {
41
+ type: sequelize_1.DataTypes.STRING,
42
+ field: "avatar_url",
43
+ },
44
+ twitterUrl: {
45
+ type: sequelize_1.DataTypes.STRING,
46
+ field: "twitter_url",
47
+ },
48
+ tiktokUrl: {
49
+ type: sequelize_1.DataTypes.STRING,
50
+ field: "tiktok_url",
51
+ },
52
+ instagramUrl: {
53
+ type: sequelize_1.DataTypes.STRING,
54
+ field: "instagram_url",
55
+ },
56
+ discordUrl: {
57
+ type: sequelize_1.DataTypes.STRING,
58
+ field: "discord_url",
59
+ },
60
+ telegramUrl: {
61
+ type: sequelize_1.DataTypes.STRING,
62
+ field: "telegram_url",
63
+ },
64
+ personalSiteUrl: {
65
+ type: sequelize_1.DataTypes.STRING,
66
+ field: "personal_site_url",
67
+ },
68
+ bannerImageUrl: {
69
+ type: sequelize_1.DataTypes.STRING,
70
+ field: "banner_image_url",
71
+ },
72
+ videoUrl: {
73
+ type: sequelize_1.DataTypes.STRING,
74
+ field: "video_url",
75
+ },
76
+ stateCode: {
77
+ type: sequelize_1.DataTypes.STRING,
78
+ field: "state_code",
79
+ },
80
+ profit: {
81
+ type: sequelize_1.DataTypes.INTEGER,
82
+ field: "profit",
83
+ defaultValue: 0,
84
+ },
85
+ units: {
86
+ type: sequelize_1.DataTypes.INTEGER,
87
+ field: "units",
88
+ defaultValue: 0,
89
+ },
90
+ winPercentage: {
91
+ type: sequelize_1.DataTypes.BIGINT,
92
+ field: "win_percentage",
93
+ },
94
+ createdAt: sequelize_1.DataTypes.DATE,
95
+ updatedAt: sequelize_1.DataTypes.DATE,
96
+ }, {
97
+ sequelize: pb_sequelize_1.default,
98
+ tableName: "stores",
99
+ });
100
+ _1.User.hasOne(Store, {
101
+ foreignKey: "creatorId",
102
+ sourceKey: "id",
103
+ });
104
+ Store.hasOne(_1.User, {
105
+ foreignKey: "id",
106
+ sourceKey: "creatorId",
107
+ onDelete: "NO ACTION",
108
+ });
109
+ exports.default = Store;
110
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../typed-model/store.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,wBAAyB;AAEzB,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,KAAM,SAAQ,iBAGnB;CAyBA;AAED,KAAK,CAAC,IAAI,CACR;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,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE;YACV,KAAK,EAAE,OAAI;SACZ;KACF;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,YAAY;KACpB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE,KAAK;KACb;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,UAAU;KAClB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,YAAY;KACpB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,aAAa;KACrB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,YAAY;KACpB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,eAAe;KACvB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,aAAa;KACrB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,cAAc;KACtB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,mBAAmB;KAC3B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,kBAAkB;KAC1B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,WAAW;KACnB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,YAAY;KACpB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,CAAC;KAChB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,CAAC;KAChB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,gBAAgB;KACxB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,QAAQ;CACpB,CACF,CAAC;AAEF,OAAI,CAAC,MAAM,CAAC,KAAK,EAAE;IACjB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,KAAK,CAAC,MAAM,CAAC,OAAI,EAAE;IACjB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAC;AAEH,kBAAe,KAAK,CAAC"}
@@ -22,6 +22,16 @@ User.init({
22
22
  field: "phone_number",
23
23
  unique: true,
24
24
  },
25
+ firstName: {
26
+ type: sequelize_1.DataTypes.STRING,
27
+ allowNull: true,
28
+ field: "first_name",
29
+ },
30
+ lastName: {
31
+ type: sequelize_1.DataTypes.STRING,
32
+ allowNull: true,
33
+ field: "last_name",
34
+ },
25
35
  username: {
26
36
  type: sequelize_1.DataTypes.STRING,
27
37
  field: "username",
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../typed-model/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../typed-model/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
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 _1 = require(".");
8
+ const types_1 = require("../src/types");
9
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
10
+ // order of InferAttributes & InferCreationAttributes is important.
11
+ class UsersOnCreators extends sequelize_1.Model {
12
+ }
13
+ UsersOnCreators.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
+ creatorId: {
21
+ type: sequelize_1.DataTypes.BIGINT,
22
+ allowNull: false,
23
+ field: "creator_id",
24
+ references: {
25
+ model: _1.User,
26
+ },
27
+ },
28
+ userId: {
29
+ type: sequelize_1.DataTypes.BIGINT,
30
+ allowNull: false,
31
+ field: "user_id",
32
+ references: {
33
+ model: _1.User,
34
+ },
35
+ },
36
+ userRole: {
37
+ type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.UserStoreRole)),
38
+ field: "user_role",
39
+ defaultValue: types_1.UserStoreRole.READ_ONLY,
40
+ },
41
+ status: {
42
+ type: sequelize_1.DataTypes.STRING,
43
+ field: "status",
44
+ defaultValue: "active",
45
+ },
46
+ createdAt: sequelize_1.DataTypes.DATE,
47
+ updatedAt: sequelize_1.DataTypes.DATE,
48
+ }, {
49
+ sequelize: pb_sequelize_1.default,
50
+ tableName: "users_on_creators",
51
+ });
52
+ _1.User.hasMany(UsersOnCreators, {
53
+ foreignKey: "userId",
54
+ sourceKey: "id",
55
+ });
56
+ UsersOnCreators.hasMany(_1.User, {
57
+ foreignKey: "id",
58
+ sourceKey: "userId",
59
+ onDelete: "NO ACTION",
60
+ });
61
+ _1.User.hasMany(UsersOnCreators, {
62
+ foreignKey: "creatorId",
63
+ sourceKey: "id",
64
+ });
65
+ UsersOnCreators.hasMany(_1.User, {
66
+ foreignKey: "id",
67
+ sourceKey: "creatorId",
68
+ onDelete: "NO ACTION",
69
+ });
70
+ exports.default = UsersOnCreators;
71
+ //# sourceMappingURL=users_on_creators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users_on_creators.js","sourceRoot":"","sources":["../../typed-model/users_on_creators.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,wBAAyB;AACzB,wCAA6C;AAE7C,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,eAAgB,SAAQ,iBAG7B;CAUA;AAED,eAAe,CAAC,IAAI,CAClB;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,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE;YACV,KAAK,EAAE,OAAI;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,OAAI;SACZ;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC;QACrD,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,qBAAa,CAAC,SAAS;KACtC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,QAAQ;KACvB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,mBAAmB;CAC/B,CACF,CAAC;AAEF,OAAI,CAAC,OAAO,CAAC,eAAe,EAAE;IAC5B,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,eAAe,CAAC,OAAO,CAAC,OAAI,EAAE;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAC;AAEH,OAAI,CAAC,OAAO,CAAC,eAAe,EAAE;IAC5B,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,eAAe,CAAC,OAAO,CAAC,OAAI,EAAE;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAC;AAEH,kBAAe,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winible/winible-typed",
3
- "version": "2.8.2",
3
+ "version": "2.9.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/src/types.ts CHANGED
@@ -51,6 +51,12 @@ export enum UserRole {
51
51
  ADMIN = "ADMIN",
52
52
  }
53
53
 
54
+ export enum UserStoreRole {
55
+ CREATOR = "CREATOR",
56
+ READ_ONLY = "READ_ONLY",
57
+ ADMIN = "ADMIN",
58
+ }
59
+
54
60
  export enum DiscountType {
55
61
  percent = "percent",
56
62
  dollars = "dollars",
@@ -19,4 +19,6 @@ export { default as SubscriptionPricingOptionOnCoupons } from "./subscription-pr
19
19
  export { default as SubscribersOnCreators } from "./subscribers-on-creators";
20
20
  export { default as NotificationPreference } from "./notification-preference";
21
21
  export { default as Application } from "./application";
22
+ export { default as Store } from "./store";
23
+ export { default as UsersOnCreators } from "./users_on_creators";
22
24
  export { default as pbSequelize } from "./pb-sequelize";
@@ -0,0 +1,147 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ } from "sequelize";
8
+
9
+ import { User } from ".";
10
+
11
+ import sequelize from "./pb-sequelize";
12
+
13
+ // order of InferAttributes & InferCreationAttributes is important.
14
+ class Store extends Model<
15
+ InferAttributes<Store>,
16
+ InferCreationAttributes<Store>
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 creatorId: string;
22
+
23
+ declare storeName?: string;
24
+ declare bio?: string;
25
+ declare headline?: string;
26
+ declare avatarUrl?: string;
27
+ declare twitterUrl?: string;
28
+ declare tiktokUrl?: string;
29
+ declare instagramUrl?: string;
30
+ declare discordUrl?: string;
31
+ declare telegramUrl?: string;
32
+ declare personalSiteUrl?: string;
33
+ declare bannerImageUrl?: string;
34
+ declare videoUrl?: string;
35
+ declare stateCode?: string;
36
+ declare profit?: number;
37
+ declare units?: number;
38
+ declare winPercentage?: number;
39
+
40
+ declare createdAt: CreationOptional<Date>;
41
+ declare updatedAt: CreationOptional<Date>;
42
+ }
43
+
44
+ Store.init(
45
+ {
46
+ id: {
47
+ type: DataTypes.BIGINT,
48
+ primaryKey: true,
49
+ allowNull: false,
50
+ defaultValue: sequelize.fn("next_id"),
51
+ },
52
+ creatorId: {
53
+ type: DataTypes.BIGINT,
54
+ allowNull: false,
55
+ field: "creator_id",
56
+ references: {
57
+ model: User,
58
+ },
59
+ },
60
+ storeName: {
61
+ type: DataTypes.STRING,
62
+ allowNull: true,
63
+ field: "store_name",
64
+ },
65
+ bio: {
66
+ type: DataTypes.STRING(1000),
67
+ field: "bio",
68
+ },
69
+ headline: {
70
+ type: DataTypes.STRING,
71
+ field: "headline",
72
+ },
73
+ avatarUrl: {
74
+ type: DataTypes.STRING,
75
+ field: "avatar_url",
76
+ },
77
+ twitterUrl: {
78
+ type: DataTypes.STRING,
79
+ field: "twitter_url",
80
+ },
81
+ tiktokUrl: {
82
+ type: DataTypes.STRING,
83
+ field: "tiktok_url",
84
+ },
85
+ instagramUrl: {
86
+ type: DataTypes.STRING,
87
+ field: "instagram_url",
88
+ },
89
+ discordUrl: {
90
+ type: DataTypes.STRING,
91
+ field: "discord_url",
92
+ },
93
+ telegramUrl: {
94
+ type: DataTypes.STRING,
95
+ field: "telegram_url",
96
+ },
97
+ personalSiteUrl: {
98
+ type: DataTypes.STRING,
99
+ field: "personal_site_url",
100
+ },
101
+ bannerImageUrl: {
102
+ type: DataTypes.STRING,
103
+ field: "banner_image_url",
104
+ },
105
+ videoUrl: {
106
+ type: DataTypes.STRING,
107
+ field: "video_url",
108
+ },
109
+ stateCode: {
110
+ type: DataTypes.STRING,
111
+ field: "state_code",
112
+ },
113
+ profit: {
114
+ type: DataTypes.INTEGER,
115
+ field: "profit",
116
+ defaultValue: 0,
117
+ },
118
+ units: {
119
+ type: DataTypes.INTEGER,
120
+ field: "units",
121
+ defaultValue: 0,
122
+ },
123
+ winPercentage: {
124
+ type: DataTypes.BIGINT,
125
+ field: "win_percentage",
126
+ },
127
+ createdAt: DataTypes.DATE,
128
+ updatedAt: DataTypes.DATE,
129
+ },
130
+ {
131
+ sequelize,
132
+ tableName: "stores",
133
+ }
134
+ );
135
+
136
+ User.hasOne(Store, {
137
+ foreignKey: "creatorId",
138
+ sourceKey: "id",
139
+ });
140
+
141
+ Store.hasOne(User, {
142
+ foreignKey: "id",
143
+ sourceKey: "creatorId",
144
+ onDelete: "NO ACTION",
145
+ });
146
+
147
+ export default Store;
@@ -18,6 +18,8 @@ class User extends Model<InferAttributes<User>, InferCreationAttributes<User>> {
18
18
  declare id: CreationOptional<string>;
19
19
  declare email?: string;
20
20
  declare password?: string;
21
+ declare firstName?: string;
22
+ declare lastName?: string;
21
23
  declare username?: string;
22
24
  declare emailVerified?: boolean;
23
25
  declare userStatus?: UserStatus;
@@ -36,7 +38,6 @@ class User extends Model<InferAttributes<User>, InferCreationAttributes<User>> {
36
38
  declare bannerImageUrl?: string;
37
39
  declare videoUrl?: string;
38
40
  declare stateCode?: string;
39
-
40
41
  declare profit?: number;
41
42
  declare units?: number;
42
43
  declare winPercentage?: number;
@@ -47,7 +48,6 @@ class User extends Model<InferAttributes<User>, InferCreationAttributes<User>> {
47
48
  declare stytchUserId?: string;
48
49
  declare platformFee?: number;
49
50
  declare profileViews?: number;
50
- declare acceptedNotifications?: boolean;
51
51
  declare optInStatus?: OptInStatus;
52
52
  declare createdAt: CreationOptional<Date>;
53
53
  declare updatedAt: CreationOptional<Date>;
@@ -72,6 +72,16 @@ User.init(
72
72
  field: "phone_number",
73
73
  unique: true,
74
74
  },
75
+ firstName: {
76
+ type: DataTypes.STRING,
77
+ allowNull: true,
78
+ field: "first_name",
79
+ },
80
+ lastName: {
81
+ type: DataTypes.STRING,
82
+ allowNull: true,
83
+ field: "last_name",
84
+ },
75
85
  username: {
76
86
  type: DataTypes.STRING,
77
87
  field: "username",
@@ -0,0 +1,95 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ } from "sequelize";
8
+
9
+ import { User } from ".";
10
+ import { UserStoreRole } from "../src/types";
11
+
12
+ import sequelize from "./pb-sequelize";
13
+
14
+ // order of InferAttributes & InferCreationAttributes is important.
15
+ class UsersOnCreators extends Model<
16
+ InferAttributes<UsersOnCreators>,
17
+ InferCreationAttributes<UsersOnCreators>
18
+ > {
19
+ // 'CreationOptional' is a special type that marks the field as optional
20
+ // when creating an instance of the model (such as using Model.create()).
21
+ declare id: CreationOptional<string>;
22
+ declare creatorId: string;
23
+ declare userId: string;
24
+ declare userRole: UserStoreRole;
25
+ declare status: "active" | "inactive";
26
+ declare createdAt: CreationOptional<Date>;
27
+ declare updatedAt: CreationOptional<Date>;
28
+ }
29
+
30
+ UsersOnCreators.init(
31
+ {
32
+ id: {
33
+ type: DataTypes.BIGINT,
34
+ primaryKey: true,
35
+ allowNull: false,
36
+ defaultValue: sequelize.fn("next_id"),
37
+ },
38
+ creatorId: {
39
+ type: DataTypes.BIGINT,
40
+ allowNull: false,
41
+ field: "creator_id",
42
+ references: {
43
+ model: User,
44
+ },
45
+ },
46
+ userId: {
47
+ type: DataTypes.BIGINT,
48
+ allowNull: false,
49
+ field: "user_id",
50
+ references: {
51
+ model: User,
52
+ },
53
+ },
54
+ userRole: {
55
+ type: DataTypes.ENUM(...Object.values(UserStoreRole)),
56
+ field: "user_role",
57
+ defaultValue: UserStoreRole.READ_ONLY,
58
+ },
59
+ status: {
60
+ type: DataTypes.STRING,
61
+ field: "status",
62
+ defaultValue: "active",
63
+ },
64
+ createdAt: DataTypes.DATE,
65
+ updatedAt: DataTypes.DATE,
66
+ },
67
+ {
68
+ sequelize,
69
+ tableName: "users_on_creators",
70
+ }
71
+ );
72
+
73
+ User.hasMany(UsersOnCreators, {
74
+ foreignKey: "userId",
75
+ sourceKey: "id",
76
+ });
77
+
78
+ UsersOnCreators.hasMany(User, {
79
+ foreignKey: "id",
80
+ sourceKey: "userId",
81
+ onDelete: "NO ACTION",
82
+ });
83
+
84
+ User.hasMany(UsersOnCreators, {
85
+ foreignKey: "creatorId",
86
+ sourceKey: "id",
87
+ });
88
+
89
+ UsersOnCreators.hasMany(User, {
90
+ foreignKey: "id",
91
+ sourceKey: "creatorId",
92
+ onDelete: "NO ACTION",
93
+ });
94
+
95
+ export default UsersOnCreators;