@winible/winible-typed 2.53.0 → 2.55.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/event-collector-models/index.js +3 -1
- package/dist/event-collector-models/index.js.map +1 -1
- package/dist/event-collector-models/page-view-event.js +80 -0
- package/dist/event-collector-models/page-view-event.js.map +1 -0
- package/dist/typed-model/marketing-phone-number.js +40 -0
- package/dist/typed-model/marketing-phone-number.js.map +1 -0
- package/dist/typed-model/phone-number-assignment.js +46 -0
- package/dist/typed-model/phone-number-assignment.js.map +1 -0
- package/dist/typed-model/sendgrid-domain.js +46 -0
- package/dist/typed-model/sendgrid-domain.js.map +1 -0
- package/dist/typed-model/sendgrid-email-sub-account.js +84 -0
- package/dist/typed-model/sendgrid-email-sub-account.js.map +1 -0
- package/dist/typed-model/sendgrid-ip-pool.js +39 -0
- package/dist/typed-model/sendgrid-ip-pool.js.map +1 -0
- package/event-collector-models/index.ts +2 -0
- package/event-collector-models/page-view-event.ts +102 -0
- package/package.json +1 -1
- package/typed-model/marketing-phone-number.ts +58 -0
- package/typed-model/phone-number-assignment.ts +64 -0
- package/typed-model/sendgrid-domain.ts +65 -0
- package/typed-model/sendgrid-email-sub-account.ts +109 -0
- package/typed-model/sendgrid-ip-pool.ts +57 -0
- package/dist/typed-model/featured-capper.js +0 -51
- package/dist/typed-model/featured-capper.js.map +0 -1
@@ -3,13 +3,15 @@ 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.tsSequelize = exports.ConversionLog = exports.EventSendLog = exports.SendLog = void 0;
|
6
|
+
exports.tsSequelize = exports.PageviewEvent = exports.ConversionLog = exports.EventSendLog = exports.SendLog = void 0;
|
7
7
|
var send_log_1 = require("./send-log");
|
8
8
|
Object.defineProperty(exports, "SendLog", { enumerable: true, get: function () { return __importDefault(send_log_1).default; } });
|
9
9
|
var event_send_log_1 = require("./event-send-log");
|
10
10
|
Object.defineProperty(exports, "EventSendLog", { enumerable: true, get: function () { return __importDefault(event_send_log_1).default; } });
|
11
11
|
var conversion_log_1 = require("./conversion-log");
|
12
12
|
Object.defineProperty(exports, "ConversionLog", { enumerable: true, get: function () { return __importDefault(conversion_log_1).default; } });
|
13
|
+
var page_view_event_1 = require("./page-view-event");
|
14
|
+
Object.defineProperty(exports, "PageviewEvent", { enumerable: true, get: function () { return __importDefault(page_view_event_1).default; } });
|
13
15
|
var ts_sequelize_1 = require("./ts-sequelize");
|
14
16
|
Object.defineProperty(exports, "tsSequelize", { enumerable: true, get: function () { return __importDefault(ts_sequelize_1).default; } });
|
15
17
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../event-collector-models/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAgD;AAAvC,oHAAA,OAAO,OAAW;AAC3B,mDAA2D;AAAlD,+HAAA,OAAO,OAAgB;AAChC,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB;AACjC,+CAAwD;AAA/C,4HAAA,OAAO,OAAe"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../event-collector-models/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAgD;AAAvC,oHAAA,OAAO,OAAW;AAC3B,mDAA2D;AAAlD,+HAAA,OAAO,OAAgB;AAChC,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB;AACjC,qDAA6D;AAApD,iIAAA,OAAO,OAAiB;AAEjC,+CAAwD;AAA/C,4HAAA,OAAO,OAAe"}
|
@@ -0,0 +1,80 @@
|
|
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 ts_sequelize_1 = __importDefault(require("./ts-sequelize"));
|
8
|
+
class PageviewEvent extends sequelize_1.Model {
|
9
|
+
}
|
10
|
+
PageviewEvent.init({
|
11
|
+
eventId: {
|
12
|
+
type: sequelize_1.DataTypes.UUID,
|
13
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
14
|
+
allowNull: false,
|
15
|
+
primaryKey: true,
|
16
|
+
field: "event_id",
|
17
|
+
},
|
18
|
+
userId: {
|
19
|
+
type: sequelize_1.DataTypes.STRING,
|
20
|
+
allowNull: false,
|
21
|
+
field: "user_id",
|
22
|
+
},
|
23
|
+
anonUserId: {
|
24
|
+
type: sequelize_1.DataTypes.STRING,
|
25
|
+
allowNull: false,
|
26
|
+
field: "anon_user_id",
|
27
|
+
},
|
28
|
+
creatorId: {
|
29
|
+
type: sequelize_1.DataTypes.STRING,
|
30
|
+
allowNull: false,
|
31
|
+
field: "creator_id",
|
32
|
+
},
|
33
|
+
campaignId: {
|
34
|
+
type: sequelize_1.DataTypes.STRING,
|
35
|
+
allowNull: true,
|
36
|
+
field: "campaign_id",
|
37
|
+
},
|
38
|
+
pageUrl: {
|
39
|
+
type: sequelize_1.DataTypes.STRING,
|
40
|
+
allowNull: false,
|
41
|
+
field: "page_url",
|
42
|
+
},
|
43
|
+
pageType: {
|
44
|
+
type: sequelize_1.DataTypes.ENUM("store", "checkout", "subscription-plans", "post"),
|
45
|
+
allowNull: false,
|
46
|
+
field: "page_type",
|
47
|
+
},
|
48
|
+
anonUserProvider: {
|
49
|
+
type: sequelize_1.DataTypes.STRING,
|
50
|
+
allowNull: true,
|
51
|
+
field: "anon_user_provider",
|
52
|
+
},
|
53
|
+
referrerUrl: {
|
54
|
+
type: sequelize_1.DataTypes.STRING,
|
55
|
+
allowNull: true,
|
56
|
+
field: "referrer_url",
|
57
|
+
},
|
58
|
+
urlParams: {
|
59
|
+
type: sequelize_1.DataTypes.JSONB,
|
60
|
+
allowNull: false,
|
61
|
+
field: "url_params",
|
62
|
+
},
|
63
|
+
timestamp: {
|
64
|
+
type: sequelize_1.DataTypes.DATE,
|
65
|
+
allowNull: false,
|
66
|
+
field: "timestamp",
|
67
|
+
primaryKey: true,
|
68
|
+
},
|
69
|
+
createdAt: {
|
70
|
+
type: sequelize_1.DataTypes.DATE,
|
71
|
+
allowNull: false,
|
72
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
73
|
+
},
|
74
|
+
}, {
|
75
|
+
sequelize: ts_sequelize_1.default,
|
76
|
+
tableName: "pageview_events",
|
77
|
+
timestamps: false,
|
78
|
+
});
|
79
|
+
exports.default = PageviewEvent;
|
80
|
+
//# sourceMappingURL=page-view-event.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"page-view-event.js","sourceRoot":"","sources":["../../event-collector-models/page-view-event.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AAEvC,MAAM,aAAc,SAAQ,iBAG3B;CAaA;AAED,aAAa,CAAC,IAAI,CAChB;IACE,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,YAAY,EAAE,qBAAS,CAAC,MAAM;QAC9B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,UAAU;KAClB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACjB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,aAAa;KACrB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,UAAU;KAClB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,CAAC;QACvE,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,WAAW;KACnB;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,oBAAoB;KAC5B;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;KAC5B;CACF,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,KAAK;CAClB,CACF,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
@@ -0,0 +1,40 @@
|
|
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 phone_number_assignment_1 = __importDefault(require("./phone-number-assignment"));
|
9
|
+
class MarketingPhoneNumber extends sequelize_1.Model {
|
10
|
+
}
|
11
|
+
MarketingPhoneNumber.init({
|
12
|
+
id: {
|
13
|
+
type: sequelize_1.DataTypes.BIGINT,
|
14
|
+
primaryKey: true,
|
15
|
+
allowNull: false,
|
16
|
+
defaultValue: (0, sequelize_1.fn)("next_id"),
|
17
|
+
},
|
18
|
+
phoneNumber: {
|
19
|
+
type: sequelize_1.DataTypes.STRING,
|
20
|
+
allowNull: false,
|
21
|
+
unique: true,
|
22
|
+
field: "phone_number",
|
23
|
+
},
|
24
|
+
provider: {
|
25
|
+
type: sequelize_1.DataTypes.STRING,
|
26
|
+
allowNull: false,
|
27
|
+
},
|
28
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
29
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
30
|
+
}, {
|
31
|
+
tableName: "marketing_phone_numbers",
|
32
|
+
sequelize: pb_sequelize_1.default,
|
33
|
+
});
|
34
|
+
/* associations */
|
35
|
+
MarketingPhoneNumber.hasMany(phone_number_assignment_1.default, {
|
36
|
+
foreignKey: "phoneNumberId",
|
37
|
+
sourceKey: "id",
|
38
|
+
});
|
39
|
+
exports.default = MarketingPhoneNumber;
|
40
|
+
//# sourceMappingURL=marketing-phone-number.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"marketing-phone-number.js","sourceRoot":"","sources":["../../typed-model/marketing-phone-number.ts"],"names":[],"mappings":";;;;;AAAA,yCAOqB;AAEnB,kEAAuC;AACvC,wFAA8D;AAE9D,MAAM,oBAAqB,SAAQ,iBAGlC;CAMA;AAED,oBAAoB,CAAC,IAAI,CACvB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;KAC5B;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,cAAc;KACtB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,yBAAyB;IACpC,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAkB;AAClB,oBAAoB,CAAC,OAAO,CAAC,iCAAqB,EAAE;IAClD,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,oBAAoB,CAAC"}
|
@@ -0,0 +1,46 @@
|
|
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 marketing_phone_number_1 = __importDefault(require("./marketing-phone-number"));
|
10
|
+
class PhoneNumberAssignment extends sequelize_1.Model {
|
11
|
+
}
|
12
|
+
PhoneNumberAssignment.init({
|
13
|
+
phoneNumberAssignmentId: {
|
14
|
+
type: sequelize_1.DataTypes.BIGINT,
|
15
|
+
primaryKey: true,
|
16
|
+
allowNull: false,
|
17
|
+
defaultValue: (0, sequelize_1.fn)("next_id"),
|
18
|
+
field: "phone_number_assignment_id",
|
19
|
+
},
|
20
|
+
phoneNumberId: {
|
21
|
+
type: sequelize_1.DataTypes.BIGINT,
|
22
|
+
allowNull: false,
|
23
|
+
field: "phone_number_id",
|
24
|
+
},
|
25
|
+
creatorId: {
|
26
|
+
type: sequelize_1.DataTypes.BIGINT,
|
27
|
+
allowNull: false,
|
28
|
+
field: "creator_id",
|
29
|
+
},
|
30
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
31
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
32
|
+
}, {
|
33
|
+
tableName: "phone_number_assignments",
|
34
|
+
sequelize: pb_sequelize_1.default,
|
35
|
+
});
|
36
|
+
/* associations */
|
37
|
+
PhoneNumberAssignment.belongsTo(user_1.default, {
|
38
|
+
foreignKey: "creatorId",
|
39
|
+
targetKey: "id",
|
40
|
+
});
|
41
|
+
PhoneNumberAssignment.belongsTo(marketing_phone_number_1.default, {
|
42
|
+
foreignKey: "phoneNumberId",
|
43
|
+
targetKey: "id",
|
44
|
+
});
|
45
|
+
exports.default = PhoneNumberAssignment;
|
46
|
+
//# sourceMappingURL=phone-number-assignment.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"phone-number-assignment.js","sourceRoot":"","sources":["../../typed-model/phone-number-assignment.ts"],"names":[],"mappings":";;;;;AAAA,yCAOqB;AAEnB,kEAAuC;AACvC,kDAA0B;AAC1B,sFAA4D;AAE5D,MAAM,qBAAsB,SAAQ,iBAGnC;CAMA;AAED,qBAAqB,CAAC,IAAI,CACxB;IACE,uBAAuB,EAAE;QACvB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;QAC3B,KAAK,EAAE,4BAA4B;KACpC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,iBAAiB;KACzB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAkB;AAClB,qBAAqB,CAAC,SAAS,CAAC,cAAI,EAAE;IACpC,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AACH,qBAAqB,CAAC,SAAS,CAAC,gCAAoB,EAAE;IACpD,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,qBAAqB,CAAC"}
|
@@ -0,0 +1,46 @@
|
|
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 sendgrid_email_sub_account_1 = __importDefault(require("./sendgrid-email-sub-account"));
|
9
|
+
class SendgridDomain extends sequelize_1.Model {
|
10
|
+
}
|
11
|
+
SendgridDomain.init({
|
12
|
+
id: {
|
13
|
+
type: sequelize_1.DataTypes.BIGINT,
|
14
|
+
primaryKey: true,
|
15
|
+
allowNull: false,
|
16
|
+
defaultValue: (0, sequelize_1.fn)("next_id"),
|
17
|
+
},
|
18
|
+
domain: {
|
19
|
+
type: sequelize_1.DataTypes.STRING,
|
20
|
+
allowNull: false,
|
21
|
+
unique: true,
|
22
|
+
},
|
23
|
+
authenticationStatus: {
|
24
|
+
type: sequelize_1.DataTypes.STRING,
|
25
|
+
allowNull: false,
|
26
|
+
field: "authentication_status",
|
27
|
+
defaultValue: "Pending",
|
28
|
+
},
|
29
|
+
dkimSettings: {
|
30
|
+
type: sequelize_1.DataTypes.JSONB,
|
31
|
+
allowNull: false,
|
32
|
+
field: "dkim_settings",
|
33
|
+
},
|
34
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
35
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
36
|
+
}, {
|
37
|
+
tableName: "sendgrid_domain",
|
38
|
+
sequelize: pb_sequelize_1.default,
|
39
|
+
});
|
40
|
+
/* associations */
|
41
|
+
SendgridDomain.hasMany(sendgrid_email_sub_account_1.default, {
|
42
|
+
foreignKey: "assignedDomainId",
|
43
|
+
sourceKey: "id",
|
44
|
+
});
|
45
|
+
exports.default = SendgridDomain;
|
46
|
+
//# sourceMappingURL=sendgrid-domain.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sendgrid-domain.js","sourceRoot":"","sources":["../../typed-model/sendgrid-domain.ts"],"names":[],"mappings":";;;;;AAAA,yCAOqB;AAEnB,kEAAuC;AACvC,8FAAmE;AAEnE,MAAM,cAAe,SAAQ,iBAG5B;CAOA;AAED,cAAc,CAAC,IAAI,CACjB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;KAC5B;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,uBAAuB;QAC9B,YAAY,EAAE,SAAS;KACxB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,eAAe;KACvB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAkB;AAClB,cAAc,CAAC,OAAO,CAAC,oCAAuB,EAAE;IAC9C,UAAU,EAAE,kBAAkB;IAC9B,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,cAAc,CAAC"}
|
@@ -0,0 +1,84 @@
|
|
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 sendgrid_ip_pool_1 = __importDefault(require("./sendgrid-ip-pool"));
|
10
|
+
const sendgrid_domain_1 = __importDefault(require("./sendgrid-domain"));
|
11
|
+
class SendgridEmailSubAccount extends sequelize_1.Model {
|
12
|
+
}
|
13
|
+
SendgridEmailSubAccount.init({
|
14
|
+
id: {
|
15
|
+
type: sequelize_1.DataTypes.BIGINT,
|
16
|
+
primaryKey: true,
|
17
|
+
allowNull: false,
|
18
|
+
defaultValue: (0, sequelize_1.fn)("next_id"),
|
19
|
+
},
|
20
|
+
creatorId: {
|
21
|
+
type: sequelize_1.DataTypes.BIGINT,
|
22
|
+
allowNull: false,
|
23
|
+
field: "creator_id",
|
24
|
+
},
|
25
|
+
sendgridSubAccountId: {
|
26
|
+
type: sequelize_1.DataTypes.STRING,
|
27
|
+
allowNull: false,
|
28
|
+
field: "sendgrid_sub_account_id",
|
29
|
+
},
|
30
|
+
sendgridSubAccountUsername: {
|
31
|
+
type: sequelize_1.DataTypes.STRING,
|
32
|
+
allowNull: false,
|
33
|
+
field: "sendgrid_sub_account_username",
|
34
|
+
},
|
35
|
+
sendgridSubAccountEmail: {
|
36
|
+
type: sequelize_1.DataTypes.STRING,
|
37
|
+
allowNull: false,
|
38
|
+
field: "sendgrid_sub_account_email",
|
39
|
+
},
|
40
|
+
sendgridTemplates: {
|
41
|
+
type: sequelize_1.DataTypes.JSONB,
|
42
|
+
allowNull: false,
|
43
|
+
defaultValue: {},
|
44
|
+
field: "sendgrid_templates",
|
45
|
+
},
|
46
|
+
assignedIpPoolId: {
|
47
|
+
type: sequelize_1.DataTypes.BIGINT,
|
48
|
+
field: "assigned_ip_pool_id",
|
49
|
+
},
|
50
|
+
assignedDomainId: {
|
51
|
+
type: sequelize_1.DataTypes.BIGINT,
|
52
|
+
field: "assigned_domain_id",
|
53
|
+
},
|
54
|
+
apiKey: {
|
55
|
+
type: sequelize_1.DataTypes.STRING,
|
56
|
+
allowNull: false,
|
57
|
+
field: "api_key",
|
58
|
+
},
|
59
|
+
apiKeyId: {
|
60
|
+
type: sequelize_1.DataTypes.STRING,
|
61
|
+
allowNull: false,
|
62
|
+
field: "api_key_id",
|
63
|
+
},
|
64
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
65
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
66
|
+
}, {
|
67
|
+
tableName: "sendgrid_email_sub_accounts",
|
68
|
+
sequelize: pb_sequelize_1.default,
|
69
|
+
});
|
70
|
+
/* associations */
|
71
|
+
SendgridEmailSubAccount.belongsTo(user_1.default, {
|
72
|
+
foreignKey: "creatorId",
|
73
|
+
targetKey: "id",
|
74
|
+
});
|
75
|
+
SendgridEmailSubAccount.belongsTo(sendgrid_ip_pool_1.default, {
|
76
|
+
foreignKey: "assignedIpPoolId",
|
77
|
+
targetKey: "id",
|
78
|
+
});
|
79
|
+
SendgridEmailSubAccount.belongsTo(sendgrid_domain_1.default, {
|
80
|
+
foreignKey: "assignedDomainId",
|
81
|
+
targetKey: "id",
|
82
|
+
});
|
83
|
+
exports.default = SendgridEmailSubAccount;
|
84
|
+
//# sourceMappingURL=sendgrid-email-sub-account.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sendgrid-email-sub-account.js","sourceRoot":"","sources":["../../typed-model/sendgrid-email-sub-account.ts"],"names":[],"mappings":";;;;;AAAA,yCAOqB;AAEnB,kEAAuC;AACvC,kDAA0B;AAC1B,0EAAgD;AAChD,wEAA+C;AAE/C,MAAM,uBAAwB,SAAQ,iBAGrC;CAaA;AAED,uBAAuB,CAAC,IAAI,CAC1B;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;KAC5B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,yBAAyB;KACjC;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,+BAA+B;KACvC;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,4BAA4B;KACpC;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,oBAAoB;KAC5B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,qBAAqB;KAC7B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,oBAAoB;KAC5B;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,6BAA6B;IACxC,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAkB;AAClB,uBAAuB,CAAC,SAAS,CAAC,cAAI,EAAE;IACtC,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AACH,uBAAuB,CAAC,SAAS,CAAC,0BAAc,EAAE;IAChD,UAAU,EAAE,kBAAkB;IAC9B,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AACH,uBAAuB,CAAC,SAAS,CAAC,yBAAc,EAAE;IAChD,UAAU,EAAE,kBAAkB;IAC9B,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,uBAAuB,CAAC"}
|
@@ -0,0 +1,39 @@
|
|
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 sendgrid_email_sub_account_1 = __importDefault(require("./sendgrid-email-sub-account"));
|
9
|
+
class SendgridIpPool extends sequelize_1.Model {
|
10
|
+
}
|
11
|
+
SendgridIpPool.init({
|
12
|
+
id: {
|
13
|
+
type: sequelize_1.DataTypes.BIGINT,
|
14
|
+
primaryKey: true,
|
15
|
+
allowNull: false,
|
16
|
+
defaultValue: (0, sequelize_1.fn)("next_id"),
|
17
|
+
},
|
18
|
+
name: {
|
19
|
+
type: sequelize_1.DataTypes.STRING,
|
20
|
+
allowNull: false,
|
21
|
+
},
|
22
|
+
ipAddresses: {
|
23
|
+
type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.STRING),
|
24
|
+
allowNull: false,
|
25
|
+
field: "ip_addresses",
|
26
|
+
},
|
27
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
28
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
29
|
+
}, {
|
30
|
+
tableName: "sendgrid_ip_pool",
|
31
|
+
sequelize: pb_sequelize_1.default,
|
32
|
+
});
|
33
|
+
/* associations */
|
34
|
+
SendgridIpPool.hasMany(sendgrid_email_sub_account_1.default, {
|
35
|
+
foreignKey: "assignedIpPoolId",
|
36
|
+
sourceKey: "id",
|
37
|
+
});
|
38
|
+
exports.default = SendgridIpPool;
|
39
|
+
//# sourceMappingURL=sendgrid-ip-pool.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sendgrid-ip-pool.js","sourceRoot":"","sources":["../../typed-model/sendgrid-ip-pool.ts"],"names":[],"mappings":";;;;;AAAA,yCAOqB;AAEnB,kEAAuC;AACvC,8FAAmE;AAEnE,MAAM,cAAe,SAAQ,iBAG5B;CAMA;AAED,cAAc,CAAC,IAAI,CACjB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;KAC5B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,MAAM,CAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAkB;AAClB,cAAc,CAAC,OAAO,CAAC,oCAAuB,EAAE;IAC9C,UAAU,EAAE,kBAAkB;IAC9B,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,cAAc,CAAC"}
|
@@ -1,4 +1,6 @@
|
|
1
1
|
export { default as SendLog } from "./send-log";
|
2
2
|
export { default as EventSendLog } from "./event-send-log";
|
3
3
|
export { default as ConversionLog } from "./conversion-log";
|
4
|
+
export { default as PageviewEvent } from "./page-view-event";
|
5
|
+
|
4
6
|
export { default as tsSequelize } from "./ts-sequelize";
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import {
|
2
|
+
Model,
|
3
|
+
DataTypes,
|
4
|
+
InferAttributes,
|
5
|
+
InferCreationAttributes,
|
6
|
+
CreationOptional,
|
7
|
+
} from "sequelize";
|
8
|
+
|
9
|
+
import sequelize from "./ts-sequelize";
|
10
|
+
|
11
|
+
class PageviewEvent extends Model<
|
12
|
+
InferAttributes<PageviewEvent>,
|
13
|
+
InferCreationAttributes<PageviewEvent>
|
14
|
+
> {
|
15
|
+
declare eventId: CreationOptional<string>;
|
16
|
+
declare userId: string;
|
17
|
+
declare anonUserId: string;
|
18
|
+
declare creatorId: string;
|
19
|
+
declare campaignId: string | null;
|
20
|
+
declare pageUrl: string;
|
21
|
+
declare pageType: "store" | "checkout" | "subscription-plans" | "post";
|
22
|
+
declare anonUserProvider: string | null;
|
23
|
+
declare referrerUrl: string | null;
|
24
|
+
declare urlParams: Record<string, string>;
|
25
|
+
declare timestamp: Date;
|
26
|
+
declare createdAt: CreationOptional<Date>;
|
27
|
+
}
|
28
|
+
|
29
|
+
PageviewEvent.init(
|
30
|
+
{
|
31
|
+
eventId: {
|
32
|
+
type: DataTypes.UUID,
|
33
|
+
defaultValue: DataTypes.UUIDV4,
|
34
|
+
allowNull: false,
|
35
|
+
primaryKey: true,
|
36
|
+
field: "event_id",
|
37
|
+
},
|
38
|
+
userId: {
|
39
|
+
type: DataTypes.STRING,
|
40
|
+
allowNull: false,
|
41
|
+
field: "user_id",
|
42
|
+
},
|
43
|
+
anonUserId: {
|
44
|
+
type: DataTypes.STRING,
|
45
|
+
allowNull: false,
|
46
|
+
field: "anon_user_id",
|
47
|
+
},
|
48
|
+
creatorId: {
|
49
|
+
type: DataTypes.STRING,
|
50
|
+
allowNull: false,
|
51
|
+
field: "creator_id",
|
52
|
+
},
|
53
|
+
campaignId: {
|
54
|
+
type: DataTypes.STRING,
|
55
|
+
allowNull: true,
|
56
|
+
field: "campaign_id",
|
57
|
+
},
|
58
|
+
pageUrl: {
|
59
|
+
type: DataTypes.STRING,
|
60
|
+
allowNull: false,
|
61
|
+
field: "page_url",
|
62
|
+
},
|
63
|
+
pageType: {
|
64
|
+
type: DataTypes.ENUM("store", "checkout", "subscription-plans", "post"),
|
65
|
+
allowNull: false,
|
66
|
+
field: "page_type",
|
67
|
+
},
|
68
|
+
anonUserProvider: {
|
69
|
+
type: DataTypes.STRING,
|
70
|
+
allowNull: true,
|
71
|
+
field: "anon_user_provider",
|
72
|
+
},
|
73
|
+
referrerUrl: {
|
74
|
+
type: DataTypes.STRING,
|
75
|
+
allowNull: true,
|
76
|
+
field: "referrer_url",
|
77
|
+
},
|
78
|
+
urlParams: {
|
79
|
+
type: DataTypes.JSONB,
|
80
|
+
allowNull: false,
|
81
|
+
field: "url_params",
|
82
|
+
},
|
83
|
+
timestamp: {
|
84
|
+
type: DataTypes.DATE,
|
85
|
+
allowNull: false,
|
86
|
+
field: "timestamp",
|
87
|
+
primaryKey: true,
|
88
|
+
},
|
89
|
+
createdAt: {
|
90
|
+
type: DataTypes.DATE,
|
91
|
+
allowNull: false,
|
92
|
+
defaultValue: DataTypes.NOW,
|
93
|
+
},
|
94
|
+
},
|
95
|
+
{
|
96
|
+
sequelize,
|
97
|
+
tableName: "pageview_events",
|
98
|
+
timestamps: false,
|
99
|
+
}
|
100
|
+
);
|
101
|
+
|
102
|
+
export default PageviewEvent;
|
package/package.json
CHANGED
@@ -0,0 +1,58 @@
|
|
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 PhoneNumberAssignment from "./phone-number-assignment";
|
12
|
+
|
13
|
+
class MarketingPhoneNumber extends Model<
|
14
|
+
InferAttributes<MarketingPhoneNumber>,
|
15
|
+
InferCreationAttributes<MarketingPhoneNumber>
|
16
|
+
> {
|
17
|
+
declare id: CreationOptional<string>;
|
18
|
+
declare phoneNumber: string;
|
19
|
+
declare provider: string;
|
20
|
+
declare createdAt: CreationOptional<Date>;
|
21
|
+
declare updatedAt: CreationOptional<Date>;
|
22
|
+
}
|
23
|
+
|
24
|
+
MarketingPhoneNumber.init(
|
25
|
+
{
|
26
|
+
id: {
|
27
|
+
type: DataTypes.BIGINT,
|
28
|
+
primaryKey: true,
|
29
|
+
allowNull: false,
|
30
|
+
defaultValue: fn("next_id"),
|
31
|
+
},
|
32
|
+
phoneNumber: {
|
33
|
+
type: DataTypes.STRING,
|
34
|
+
allowNull: false,
|
35
|
+
unique: true,
|
36
|
+
field: "phone_number",
|
37
|
+
},
|
38
|
+
provider: {
|
39
|
+
type: DataTypes.STRING,
|
40
|
+
allowNull: false,
|
41
|
+
},
|
42
|
+
createdAt: DataTypes.DATE,
|
43
|
+
updatedAt: DataTypes.DATE,
|
44
|
+
},
|
45
|
+
{
|
46
|
+
tableName: "marketing_phone_numbers",
|
47
|
+
sequelize,
|
48
|
+
}
|
49
|
+
);
|
50
|
+
|
51
|
+
/* associations */
|
52
|
+
MarketingPhoneNumber.hasMany(PhoneNumberAssignment, {
|
53
|
+
foreignKey: "phoneNumberId",
|
54
|
+
sourceKey: "id",
|
55
|
+
});
|
56
|
+
|
57
|
+
export default MarketingPhoneNumber;
|
58
|
+
|
@@ -0,0 +1,64 @@
|
|
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 User from "./user";
|
12
|
+
import MarketingPhoneNumber from "./marketing-phone-number";
|
13
|
+
|
14
|
+
class PhoneNumberAssignment extends Model<
|
15
|
+
InferAttributes<PhoneNumberAssignment>,
|
16
|
+
InferCreationAttributes<PhoneNumberAssignment>
|
17
|
+
> {
|
18
|
+
declare phoneNumberAssignmentId: CreationOptional<string>;
|
19
|
+
declare phoneNumberId: string;
|
20
|
+
declare creatorId: string;
|
21
|
+
declare createdAt: CreationOptional<Date>;
|
22
|
+
declare updatedAt: CreationOptional<Date>;
|
23
|
+
}
|
24
|
+
|
25
|
+
PhoneNumberAssignment.init(
|
26
|
+
{
|
27
|
+
phoneNumberAssignmentId: {
|
28
|
+
type: DataTypes.BIGINT,
|
29
|
+
primaryKey: true,
|
30
|
+
allowNull: false,
|
31
|
+
defaultValue: fn("next_id"),
|
32
|
+
field: "phone_number_assignment_id",
|
33
|
+
},
|
34
|
+
phoneNumberId: {
|
35
|
+
type: DataTypes.BIGINT,
|
36
|
+
allowNull: false,
|
37
|
+
field: "phone_number_id",
|
38
|
+
},
|
39
|
+
creatorId: {
|
40
|
+
type: DataTypes.BIGINT,
|
41
|
+
allowNull: false,
|
42
|
+
field: "creator_id",
|
43
|
+
},
|
44
|
+
createdAt: DataTypes.DATE,
|
45
|
+
updatedAt: DataTypes.DATE,
|
46
|
+
},
|
47
|
+
{
|
48
|
+
tableName: "phone_number_assignments",
|
49
|
+
sequelize,
|
50
|
+
}
|
51
|
+
);
|
52
|
+
|
53
|
+
/* associations */
|
54
|
+
PhoneNumberAssignment.belongsTo(User, {
|
55
|
+
foreignKey: "creatorId",
|
56
|
+
targetKey: "id",
|
57
|
+
});
|
58
|
+
PhoneNumberAssignment.belongsTo(MarketingPhoneNumber, {
|
59
|
+
foreignKey: "phoneNumberId",
|
60
|
+
targetKey: "id",
|
61
|
+
});
|
62
|
+
|
63
|
+
export default PhoneNumberAssignment;
|
64
|
+
|
@@ -0,0 +1,65 @@
|
|
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 SendgridEmailSubAccount from "./sendgrid-email-sub-account";
|
12
|
+
|
13
|
+
class SendgridDomain extends Model<
|
14
|
+
InferAttributes<SendgridDomain>,
|
15
|
+
InferCreationAttributes<SendgridDomain>
|
16
|
+
> {
|
17
|
+
declare id: CreationOptional<string>;
|
18
|
+
declare domain: string;
|
19
|
+
declare authenticationStatus: CreationOptional<string>;
|
20
|
+
declare dkimSettings: object;
|
21
|
+
declare createdAt: CreationOptional<Date>;
|
22
|
+
declare updatedAt: CreationOptional<Date>;
|
23
|
+
}
|
24
|
+
|
25
|
+
SendgridDomain.init(
|
26
|
+
{
|
27
|
+
id: {
|
28
|
+
type: DataTypes.BIGINT,
|
29
|
+
primaryKey: true,
|
30
|
+
allowNull: false,
|
31
|
+
defaultValue: fn("next_id"),
|
32
|
+
},
|
33
|
+
domain: {
|
34
|
+
type: DataTypes.STRING,
|
35
|
+
allowNull: false,
|
36
|
+
unique: true,
|
37
|
+
},
|
38
|
+
authenticationStatus: {
|
39
|
+
type: DataTypes.STRING,
|
40
|
+
allowNull: false,
|
41
|
+
field: "authentication_status",
|
42
|
+
defaultValue: "Pending",
|
43
|
+
},
|
44
|
+
dkimSettings: {
|
45
|
+
type: DataTypes.JSONB,
|
46
|
+
allowNull: false,
|
47
|
+
field: "dkim_settings",
|
48
|
+
},
|
49
|
+
createdAt: DataTypes.DATE,
|
50
|
+
updatedAt: DataTypes.DATE,
|
51
|
+
},
|
52
|
+
{
|
53
|
+
tableName: "sendgrid_domain",
|
54
|
+
sequelize,
|
55
|
+
}
|
56
|
+
);
|
57
|
+
|
58
|
+
/* associations */
|
59
|
+
SendgridDomain.hasMany(SendgridEmailSubAccount, {
|
60
|
+
foreignKey: "assignedDomainId",
|
61
|
+
sourceKey: "id",
|
62
|
+
});
|
63
|
+
|
64
|
+
export default SendgridDomain;
|
65
|
+
|
@@ -0,0 +1,109 @@
|
|
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 User from "./user";
|
12
|
+
import SendgridIpPool from "./sendgrid-ip-pool";
|
13
|
+
import SendgridDomain from "./sendgrid-domain";
|
14
|
+
|
15
|
+
class SendgridEmailSubAccount extends Model<
|
16
|
+
InferAttributes<SendgridEmailSubAccount>,
|
17
|
+
InferCreationAttributes<SendgridEmailSubAccount>
|
18
|
+
> {
|
19
|
+
declare id: CreationOptional<string>;
|
20
|
+
declare creatorId: string;
|
21
|
+
declare sendgridSubAccountId: string;
|
22
|
+
declare sendgridSubAccountUsername: string;
|
23
|
+
declare sendgridSubAccountEmail: string;
|
24
|
+
declare sendgridTemplates: object;
|
25
|
+
declare assignedIpPoolId?: string | null;
|
26
|
+
declare assignedDomainId?: string | null;
|
27
|
+
declare apiKey: string;
|
28
|
+
declare apiKeyId: string;
|
29
|
+
declare createdAt: CreationOptional<Date>;
|
30
|
+
declare updatedAt: CreationOptional<Date>;
|
31
|
+
}
|
32
|
+
|
33
|
+
SendgridEmailSubAccount.init(
|
34
|
+
{
|
35
|
+
id: {
|
36
|
+
type: DataTypes.BIGINT,
|
37
|
+
primaryKey: true,
|
38
|
+
allowNull: false,
|
39
|
+
defaultValue: fn("next_id"),
|
40
|
+
},
|
41
|
+
creatorId: {
|
42
|
+
type: DataTypes.BIGINT,
|
43
|
+
allowNull: false,
|
44
|
+
field: "creator_id",
|
45
|
+
},
|
46
|
+
sendgridSubAccountId: {
|
47
|
+
type: DataTypes.STRING,
|
48
|
+
allowNull: false,
|
49
|
+
field: "sendgrid_sub_account_id",
|
50
|
+
},
|
51
|
+
sendgridSubAccountUsername: {
|
52
|
+
type: DataTypes.STRING,
|
53
|
+
allowNull: false,
|
54
|
+
field: "sendgrid_sub_account_username",
|
55
|
+
},
|
56
|
+
sendgridSubAccountEmail: {
|
57
|
+
type: DataTypes.STRING,
|
58
|
+
allowNull: false,
|
59
|
+
field: "sendgrid_sub_account_email",
|
60
|
+
},
|
61
|
+
sendgridTemplates: {
|
62
|
+
type: DataTypes.JSONB,
|
63
|
+
allowNull: false,
|
64
|
+
defaultValue: {},
|
65
|
+
field: "sendgrid_templates",
|
66
|
+
},
|
67
|
+
assignedIpPoolId: {
|
68
|
+
type: DataTypes.BIGINT,
|
69
|
+
field: "assigned_ip_pool_id",
|
70
|
+
},
|
71
|
+
assignedDomainId: {
|
72
|
+
type: DataTypes.BIGINT,
|
73
|
+
field: "assigned_domain_id",
|
74
|
+
},
|
75
|
+
apiKey: {
|
76
|
+
type: DataTypes.STRING,
|
77
|
+
allowNull: false,
|
78
|
+
field: "api_key",
|
79
|
+
},
|
80
|
+
apiKeyId: {
|
81
|
+
type: DataTypes.STRING,
|
82
|
+
allowNull: false,
|
83
|
+
field: "api_key_id",
|
84
|
+
},
|
85
|
+
createdAt: DataTypes.DATE,
|
86
|
+
updatedAt: DataTypes.DATE,
|
87
|
+
},
|
88
|
+
{
|
89
|
+
tableName: "sendgrid_email_sub_accounts",
|
90
|
+
sequelize,
|
91
|
+
}
|
92
|
+
);
|
93
|
+
|
94
|
+
/* associations */
|
95
|
+
SendgridEmailSubAccount.belongsTo(User, {
|
96
|
+
foreignKey: "creatorId",
|
97
|
+
targetKey: "id",
|
98
|
+
});
|
99
|
+
SendgridEmailSubAccount.belongsTo(SendgridIpPool, {
|
100
|
+
foreignKey: "assignedIpPoolId",
|
101
|
+
targetKey: "id",
|
102
|
+
});
|
103
|
+
SendgridEmailSubAccount.belongsTo(SendgridDomain, {
|
104
|
+
foreignKey: "assignedDomainId",
|
105
|
+
targetKey: "id",
|
106
|
+
});
|
107
|
+
|
108
|
+
export default SendgridEmailSubAccount;
|
109
|
+
|
@@ -0,0 +1,57 @@
|
|
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 SendgridEmailSubAccount from "./sendgrid-email-sub-account";
|
12
|
+
|
13
|
+
class SendgridIpPool extends Model<
|
14
|
+
InferAttributes<SendgridIpPool>,
|
15
|
+
InferCreationAttributes<SendgridIpPool>
|
16
|
+
> {
|
17
|
+
declare id: CreationOptional<string>;
|
18
|
+
declare name: string;
|
19
|
+
declare ipAddresses: string[];
|
20
|
+
declare createdAt: CreationOptional<Date>;
|
21
|
+
declare updatedAt: CreationOptional<Date>;
|
22
|
+
}
|
23
|
+
|
24
|
+
SendgridIpPool.init(
|
25
|
+
{
|
26
|
+
id: {
|
27
|
+
type: DataTypes.BIGINT,
|
28
|
+
primaryKey: true,
|
29
|
+
allowNull: false,
|
30
|
+
defaultValue: fn("next_id"),
|
31
|
+
},
|
32
|
+
name: {
|
33
|
+
type: DataTypes.STRING,
|
34
|
+
allowNull: false,
|
35
|
+
},
|
36
|
+
ipAddresses: {
|
37
|
+
type: DataTypes.ARRAY(DataTypes.STRING),
|
38
|
+
allowNull: false,
|
39
|
+
field: "ip_addresses",
|
40
|
+
},
|
41
|
+
createdAt: DataTypes.DATE,
|
42
|
+
updatedAt: DataTypes.DATE,
|
43
|
+
},
|
44
|
+
{
|
45
|
+
tableName: "sendgrid_ip_pool",
|
46
|
+
sequelize,
|
47
|
+
}
|
48
|
+
);
|
49
|
+
|
50
|
+
/* associations */
|
51
|
+
SendgridIpPool.hasMany(SendgridEmailSubAccount, {
|
52
|
+
foreignKey: "assignedIpPoolId",
|
53
|
+
sourceKey: "id",
|
54
|
+
});
|
55
|
+
|
56
|
+
export default SendgridIpPool;
|
57
|
+
|
@@ -1,51 +0,0 @@
|
|
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
|
-
// order of InferAttributes & InferCreationAttributes is important.
|
10
|
-
class FeaturedCapper extends sequelize_1.Model {
|
11
|
-
}
|
12
|
-
FeaturedCapper.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
|
-
userId: {
|
20
|
-
type: sequelize_1.DataTypes.BIGINT,
|
21
|
-
allowNull: false,
|
22
|
-
field: "user_id",
|
23
|
-
references: {
|
24
|
-
model: user_1.default,
|
25
|
-
},
|
26
|
-
},
|
27
|
-
priority: {
|
28
|
-
type: sequelize_1.DataTypes.SMALLINT,
|
29
|
-
field: "priority",
|
30
|
-
},
|
31
|
-
customLabel: {
|
32
|
-
type: sequelize_1.DataTypes.STRING,
|
33
|
-
field: "custom_label",
|
34
|
-
},
|
35
|
-
createdAt: sequelize_1.DataTypes.DATE,
|
36
|
-
updatedAt: sequelize_1.DataTypes.DATE,
|
37
|
-
}, {
|
38
|
-
tableName: "featured_cappers",
|
39
|
-
sequelize: pb_sequelize_1.default,
|
40
|
-
});
|
41
|
-
user_1.default.hasOne(FeaturedCapper, {
|
42
|
-
foreignKey: "userId",
|
43
|
-
sourceKey: "id",
|
44
|
-
});
|
45
|
-
FeaturedCapper.hasOne(user_1.default, {
|
46
|
-
foreignKey: "id",
|
47
|
-
sourceKey: "userId",
|
48
|
-
onDelete: "NO ACTION",
|
49
|
-
});
|
50
|
-
exports.default = FeaturedCapper;
|
51
|
-
//# sourceMappingURL=featured-capper.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"featured-capper.js","sourceRoot":"","sources":["../../typed-model/featured-capper.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,kDAA0B;AAE1B,mEAAmE;AACnE,MAAM,cAAe,SAAQ,iBAG5B;CAUA;AAED,cAAc,CAAC,IAAI,CACjB;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,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,QAAQ;QACxB,KAAK,EAAE,UAAU;KAClB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,cAAc;KACtB;IAED,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,cAAI,CAAC,MAAM,CAAC,cAAc,EAAE;IAC1B,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,cAAc,CAAC,MAAM,CAAC,cAAI,EAAE;IAC1B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAC;AAEH,kBAAe,cAAc,CAAC"}
|