@social-mail/social-mail-web-server 1.4.978 → 1.4.979
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/common/ApexDomain.d.ts +4 -0
- package/dist/common/ApexDomain.d.ts.map +1 -0
- package/dist/common/ApexDomain.js +14 -0
- package/dist/common/ApexDomain.js.map +1 -0
- package/dist/server/model/entities/HostedZone.d.ts.map +1 -1
- package/dist/server/model/entities/HostedZone.js +15 -3
- package/dist/server/model/entities/HostedZone.js.map +1 -1
- package/dist/server/model/events/HostedZoneEvents.d.ts.map +1 -1
- package/dist/server/model/events/HostedZoneEvents.js +4 -0
- package/dist/server/model/events/HostedZoneEvents.js.map +1 -1
- package/dist/server/model/events/WebSiteFolderEvents.d.ts +1 -1
- package/dist/server/model/events/WebSiteFolderEvents.d.ts.map +1 -1
- package/dist/server/model/events/WebSiteFolderEvents.js +10 -5
- package/dist/server/model/events/WebSiteFolderEvents.js.map +1 -1
- package/dist/server/workflows/dns/SyncDnsZoneRecordsWorkflow.d.ts +11 -0
- package/dist/server/workflows/dns/SyncDnsZoneRecordsWorkflow.d.ts.map +1 -0
- package/dist/server/workflows/dns/SyncDnsZoneRecordsWorkflow.js +153 -0
- package/dist/server/workflows/dns/SyncDnsZoneRecordsWorkflow.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/common/ApexDomain.ts +16 -0
- package/src/server/model/entities/HostedZone.ts +15 -3
- package/src/server/model/events/HostedZoneEvents.ts +4 -0
- package/src/server/model/events/WebSiteFolderEvents.ts +13 -4
- package/src/server/workflows/dns/SyncDnsZoneRecordsWorkflow.ts +163 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApexDomain.d.ts","sourceRoot":"","sources":["../../src/common/ApexDomain.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,UAAU;IAE3B,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;CAWpC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { parse_host } from "tld-extract";
|
|
2
|
+
export default class ApexDomain {
|
|
3
|
+
static getApexDomain(host) {
|
|
4
|
+
if (/((^localhost)|(\.localhost))$/.test(host)) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
if (/^\d+\.\d+\.\d+\.\d+$/.test(host)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const { tld, domain, sub } = parse_host(host);
|
|
11
|
+
return domain;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ApexDomain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApexDomain.js","sourceRoot":"","sources":["../../src/common/ApexDomain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,UAAU;IAE3B,MAAM,CAAC,aAAa,CAAC,IAAY;QAC7B,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QACD,IAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostedZone.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/HostedZone.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,aAAa,CAAC;AAKjC,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,QAAA,MAAQ,MAAM,gFAA8I,CAAC;AAI7J,MAAM,CAAC,OAAO,OAAO,UAAU;IAO3B,MAAM,EAAE,MAAM,CAAC;IAIf,QAAQ,EAAE,MAAM,CAAC;IAIjB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IAGxB,IAAI,EAAE,MAAM,CAAC;CAEhB;AAED,qBACa,cAAc;
|
|
1
|
+
{"version":3,"file":"HostedZone.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/HostedZone.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,aAAa,CAAC;AAKjC,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,QAAA,MAAQ,MAAM,gFAA8I,CAAC;AAI7J,MAAM,CAAC,OAAO,OAAO,UAAU;IAO3B,MAAM,EAAE,MAAM,CAAC;IAIf,QAAQ,EAAE,MAAM,CAAC;IAIjB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IAGxB,IAAI,EAAE,MAAM,CAAC;CAEhB;AAED,qBACa,cAAc;IAUvB,MAAM,EAAE,MAAM,CAAC;IAWf,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACd;AAGD,qBAQa,gBAAgB;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAWjB,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,EAAE,OAAO,CAAC;IAGlB,QAAQ,EAAE,OAAO,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAIb,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IAG5B,OAAO,EAAE,OAAO,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,GAAG,EAAE,MAAM,CAAC;IAGZ,WAAW,EAAE,QAAQ,CAAC;IAGtB,WAAW,EAAE,QAAQ,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,QAAQ,CAAC;IAGrB,MAAM,EAAE,OAAO,CAAC;IAIhB,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,UAAU,CAAC;CAE3B"}
|
|
@@ -52,7 +52,11 @@ __decorate([
|
|
|
52
52
|
Column({ dataType: "BigInt", key: true }),
|
|
53
53
|
RelateTo(HostedZone, {
|
|
54
54
|
property: (x) => x.zone,
|
|
55
|
-
inverseProperty: (x) => x.users
|
|
55
|
+
inverseProperty: (x) => x.users,
|
|
56
|
+
foreignKeyConstraint: {
|
|
57
|
+
cascade: "delete",
|
|
58
|
+
name: "fk_hosted_zone_users_zone_id"
|
|
59
|
+
}
|
|
56
60
|
}),
|
|
57
61
|
__metadata("design:type", Number)
|
|
58
62
|
], HostedZoneUser.prototype, "zoneID", void 0);
|
|
@@ -60,7 +64,11 @@ __decorate([
|
|
|
60
64
|
Column({ dataType: "BigInt", key: true }),
|
|
61
65
|
RelateTo(User, {
|
|
62
66
|
property: (x) => x.user,
|
|
63
|
-
inverseProperty: (x) => x.hostedZones
|
|
67
|
+
inverseProperty: (x) => x.hostedZones,
|
|
68
|
+
foreignKeyConstraint: {
|
|
69
|
+
cascade: "delete",
|
|
70
|
+
name: "fk_hosted_zone_users_user_id"
|
|
71
|
+
}
|
|
64
72
|
}),
|
|
65
73
|
__metadata("design:type", Number)
|
|
66
74
|
], HostedZoneUser.prototype, "userID", void 0);
|
|
@@ -78,7 +86,11 @@ __decorate([
|
|
|
78
86
|
Column({ dataType: "BigInt" }),
|
|
79
87
|
RelateTo(HostedZone, {
|
|
80
88
|
property: (x) => x.zone,
|
|
81
|
-
inverseProperty: (x) => x.records
|
|
89
|
+
inverseProperty: (x) => x.records,
|
|
90
|
+
foreignKeyConstraint: {
|
|
91
|
+
cascade: "delete",
|
|
92
|
+
name: "fk_hosted_zone_records_zone_id"
|
|
93
|
+
}
|
|
82
94
|
}),
|
|
83
95
|
__metadata("design:type", Number)
|
|
84
96
|
], HostedZoneRecord.prototype, "zoneID", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostedZone.js","sourceRoot":"","sources":["../../../../src/server/model/entities/HostedZone.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAC1E,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AAC/G,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAW,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAC,CAAC,CAAC;AAI9I,IAAM,UAAU,GAAhB,MAAM,UAAU;CAwB9B,CAAA;AAjBG;IALC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACzC,WAAW,CAAC,MAAM,EAAE;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;QACzB,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;KACvC,CAAC;;0CACa;AAIf;IAFC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,oBAAoB;;4CACJ;AAIjB;IAFC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,oBAAoB;;0CACN;AAOf;IADC,YAAY,CAAC,EAAE,CAAC;;wCACJ;AAtBI,UAAU;IAD9B,KAAK,CAAC,aAAa,CAAC;GACA,UAAU,CAwB9B;eAxBoB,UAAU;AA2BxB,IAAM,cAAc,GAApB,MAAM,cAAc;
|
|
1
|
+
{"version":3,"file":"HostedZone.js","sourceRoot":"","sources":["../../../../src/server/model/entities/HostedZone.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostedZoneEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/HostedZoneEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,UAAU,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,WAAW,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"HostedZoneEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/HostedZoneEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,UAAU,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,WAAW,MAAM,gEAAgE,CAAC;AAWzF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,mBAAmB,CAAC,UAAU,CAAC;IAEzE,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC;IAUhC,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC;IAe/D,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC;CAwFvE;AAED,qBAAa,sBAAuB,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IAE7E,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC;IAU5C,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC;IAOtC,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAU1E,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC;CAUnF;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB,CAAC,cAAc,CAAC;IAEzE,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC;CAU7C"}
|
|
@@ -6,6 +6,8 @@ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
|
6
6
|
import { globalEnv } from "../../../common/globalEnv.js";
|
|
7
7
|
import EmailAddressService from "../../services/EmailAddressService.js";
|
|
8
8
|
import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js";
|
|
9
|
+
import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
|
|
10
|
+
import SyncDnsZoneRecordsWorkflow from "../../workflows/dns/SyncDnsZoneRecordsWorkflow.js";
|
|
9
11
|
export default class HostedZoneEvents extends AuthenticatedEvents {
|
|
10
12
|
filter(query) {
|
|
11
13
|
if (this.verify) {
|
|
@@ -99,6 +101,8 @@ export default class HostedZoneEvents extends AuthenticatedEvents {
|
|
|
99
101
|
fqdn: `*.${domain}`,
|
|
100
102
|
readonly: true
|
|
101
103
|
});
|
|
104
|
+
const wc = ServiceProvider.resolve(this, WorkflowContext);
|
|
105
|
+
await SyncDnsZoneRecordsWorkflow.enqueue(wc, zoneID);
|
|
102
106
|
}
|
|
103
107
|
}
|
|
104
108
|
export class HostedZoneRecordEvents extends AuthenticatedEvents {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostedZoneEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/HostedZoneEvents.ts"],"names":[],"mappings":"AAEA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,iBAAiB,MAAM,+DAA+D,CAAC;
|
|
1
|
+
{"version":3,"file":"HostedZoneEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/HostedZoneEvents.ts"],"names":[],"mappings":"AAEA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,iBAAiB,MAAM,+DAA+D,CAAC;AAC9F,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,0BAA0B,MAAM,mDAAmD,CAAC;AAE3F,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,mBAA+B;IAEzE,MAAM,CAAC,KAA+B;QAClC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAkB,EAAE,KAA8B;QACjE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkB,EAAE,KAA8B;QAGhE,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;QAEpD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;QACjC,MAAM,WAAW,GAAG,WAAW,CAAC;QAEhC,8BAA8B;QAC9B,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAG,IAAI,CAAC;QAEjB,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,MAAM;YACN,WAAW;YACX,WAAW;YACX,GAAG;YACH,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG;YACxB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,MAAM;YACN,WAAW;YACX,WAAW;YACX,GAAG;YACH,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,GAAG,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACrD,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,MAAM;YACN,WAAW;YACX,WAAW;YACX,GAAG;YACH,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,2CAA2C,MAAM,GAAG;YAC3D,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,MAAM;YACN,WAAW;YACX,WAAW;YACX,GAAG;YACH,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,GAAG,MAAM,EAAE;YACjB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,MAAM;YACN,WAAW;YACX,WAAW;YACX,GAAG;YACH,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,OAAO,MAAM,EAAE;YACrB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,MAAM;YACN,WAAW;YACX,WAAW;YACX,GAAG;YACH,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,KAAK,MAAM,EAAE;YACnB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC1D,MAAM,0BAA0B,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;CAEJ;AAED,MAAM,OAAO,sBAAuB,SAAQ,mBAAqC;IAE7E,MAAM,CAAC,KAAqC;QACxC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,CAAC,KAAqC;QACxC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAwB,EAAE,KAAoC;QAC5E,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QAC9E,MAAM,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;aAChF,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAwB,EAAE,KAAoC;QAC5E,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QAC9E,MAAM,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;aAChF,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAAE,CAAC,CAAC,CAAC;IACrD,CAAC;CAEJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,mBAAmC;IAEzE,MAAM,CAAC,KAAmC;QACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;CAEJ"}
|
|
@@ -11,7 +11,7 @@ export declare class WebSiteFolderHostEvents extends AuthenticatedEvents<WebSite
|
|
|
11
11
|
private globalEvents;
|
|
12
12
|
filter(query: IEntityQuery<WebSiteFolderHost>): IEntityQuery<WebSiteFolderHost>;
|
|
13
13
|
modify(query: IEntityQuery<WebSiteFolderHost>): IEntityQuery<WebSiteFolderHost>;
|
|
14
|
-
afterInsert(entity: WebSiteFolderHost, entry: ChangeEntry<WebSiteFolderHost>): void
|
|
14
|
+
afterInsert(entity: WebSiteFolderHost, entry: ChangeEntry<WebSiteFolderHost>): Promise<void>;
|
|
15
15
|
includeFilter(query: IEntityQuery<WebSiteFolderHost>, type?: any, key?: string): IEntityQuery<WebSiteFolderHost>;
|
|
16
16
|
}
|
|
17
17
|
export declare class WebSiteChannelEvents extends AuthenticatedEvents<WebSiteChannel> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSiteFolderEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/WebSiteFolderEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,aAAa,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,OAAO,WAAW,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"WebSiteFolderEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/WebSiteFolderEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,aAAa,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,OAAO,WAAW,MAAM,gEAAgE,CAAC;AAazF,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IAG/E,SAAS;IAMT,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC;IAWzC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC;CAW5C;AAGD,qBAAa,uBAAwB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAG/E,OAAO,CAAC,YAAY,CAAe;IAEnC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAW7C,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAWvC,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAWlF,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;CAIjF;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB,CAAC,cAAc,CAAC;IAEzE,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC;IAW1C,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC;CAW7C"}
|
|
@@ -12,8 +12,11 @@ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
|
12
12
|
import Inject, { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
|
|
13
13
|
import SocialMailContext from "../SocialMailContext.js";
|
|
14
14
|
import GlobalEvents from "../../../common/GlobalEvents.js";
|
|
15
|
-
import { globalEnv } from "../../../common/globalEnv.js";
|
|
16
15
|
import ExternalQuery from "@entity-access/server-pages/dist/decorators/ExternalQuery.js";
|
|
16
|
+
import SyncDnsZoneRecordsWorkflow from "../../workflows/dns/SyncDnsZoneRecordsWorkflow.js";
|
|
17
|
+
import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
|
|
18
|
+
import ApexDomain from "../../../common/ApexDomain.js";
|
|
19
|
+
import EmailAddressService from "../../services/EmailAddressService.js";
|
|
17
20
|
export default class WebSiteFolderEvents extends AuthenticatedEvents {
|
|
18
21
|
templates() {
|
|
19
22
|
const db = ServiceProvider.resolve(this, SocialMailContext);
|
|
@@ -68,10 +71,12 @@ export class WebSiteFolderHostEvents extends AuthenticatedEvents {
|
|
|
68
71
|
const { writeFileAccess } = this.sessionUser;
|
|
69
72
|
return query.where({ writeFileAccess }, (p) => (x) => Sql.text.likeAny(x.folder.folder.path, p.writeFileAccess));
|
|
70
73
|
}
|
|
71
|
-
afterInsert(entity, entry) {
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
|
|
74
|
+
async afterInsert(entity, entry) {
|
|
75
|
+
const wc = ServiceProvider.resolve(this, WorkflowContext);
|
|
76
|
+
const eas = ServiceProvider.resolve(this, EmailAddressService);
|
|
77
|
+
const domain = ApexDomain.getApexDomain(entity.host);
|
|
78
|
+
const zoneID = await eas.getOrCreateDomain(domain);
|
|
79
|
+
await SyncDnsZoneRecordsWorkflow.enqueue(wc, zoneID);
|
|
75
80
|
}
|
|
76
81
|
includeFilter(query, type, key) {
|
|
77
82
|
return query;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSiteFolderEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/WebSiteFolderEvents.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAE/D,OAAO,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,YAAY,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"WebSiteFolderEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/WebSiteFolderEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Workflow from "@entity-access/entity-access/dist/workflows/Workflow.js";
|
|
2
|
+
import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
|
|
3
|
+
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
4
|
+
export default class SyncDnsZoneRecordsWorkflow extends Workflow {
|
|
5
|
+
static enqueue(context: WorkflowContext, zoneID: any): Promise<string>;
|
|
6
|
+
run(): Promise<void>;
|
|
7
|
+
syncMX(db?: SocialMailContext): Promise<void>;
|
|
8
|
+
syncDomainKeys(db?: SocialMailContext): Promise<void>;
|
|
9
|
+
syncWebHosts(db?: SocialMailContext): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=SyncDnsZoneRecordsWorkflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncDnsZoneRecordsWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/dns/SyncDnsZoneRecordsWorkflow.ts"],"names":[],"mappings":"AAEA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AACnG,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAIjE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,QAAQ;IAE5D,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,KAAA;IAUzC,GAAG;IAOH,MAAM,CACA,EAAE,CAAC,EAAE,iBAAiB;IAsC5B,cAAc,CACR,EAAE,CAAC,EAAE,iBAAiB;IAsC5B,YAAY,CACN,EAAE,CAAC,EAAE,iBAAiB;CAwDrC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import Inject from "@entity-access/entity-access/dist/di/di.js";
|
|
14
|
+
import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
15
|
+
import Workflow, { UniqueActivity } from "@entity-access/entity-access/dist/workflows/Workflow.js";
|
|
16
|
+
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
17
|
+
import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
18
|
+
export default class SyncDnsZoneRecordsWorkflow extends Workflow {
|
|
19
|
+
static enqueue(context, zoneID) {
|
|
20
|
+
return context.queue(SyncDnsZoneRecordsWorkflow, zoneID, {
|
|
21
|
+
id: `dns-sync-${zoneID}-${DateTime.now.msSinceEpoch}`,
|
|
22
|
+
throttle: {
|
|
23
|
+
group: `sync-dns-records-${zoneID}`,
|
|
24
|
+
maxPerSecond: 1 / 15
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async run() {
|
|
29
|
+
await this.syncMX();
|
|
30
|
+
await this.syncDomainKeys();
|
|
31
|
+
await this.syncWebHosts();
|
|
32
|
+
}
|
|
33
|
+
async syncMX(db) {
|
|
34
|
+
const domainID = this.input;
|
|
35
|
+
const zoneID = domainID;
|
|
36
|
+
const domain = await db.domains.statements.select({}, { domainID });
|
|
37
|
+
const hostedDomain = await db.hostedDomains.statements.select({}, { domainID });
|
|
38
|
+
/** Setup MX */
|
|
39
|
+
if (!hostedDomain) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const type = "MX";
|
|
43
|
+
const name = "@";
|
|
44
|
+
const value = "10 $HOST$";
|
|
45
|
+
const fqdn = domain.name;
|
|
46
|
+
const dateCreated = DateTime.now;
|
|
47
|
+
const dateUpdated = dateCreated;
|
|
48
|
+
const ttl = 8600;
|
|
49
|
+
// sync...
|
|
50
|
+
await db.hostedZoneRecords.statements.upsert({
|
|
51
|
+
name,
|
|
52
|
+
type,
|
|
53
|
+
value,
|
|
54
|
+
fqdn,
|
|
55
|
+
readonly: true,
|
|
56
|
+
dateCreated,
|
|
57
|
+
dateUpdated,
|
|
58
|
+
ttl
|
|
59
|
+
}, void 0, { zoneID, name, type });
|
|
60
|
+
}
|
|
61
|
+
async syncDomainKeys(db) {
|
|
62
|
+
const domainID = this.input;
|
|
63
|
+
const zoneID = domainID;
|
|
64
|
+
const domain = await db.domains.statements.select({}, { domainID });
|
|
65
|
+
const dateCreated = DateTime.now;
|
|
66
|
+
const dateUpdated = dateCreated;
|
|
67
|
+
const ttl = 8600;
|
|
68
|
+
/** Sync all domain keys */
|
|
69
|
+
const domainKeys = await db.domainKeys
|
|
70
|
+
.where({ domainID }, (p) => (x) => x.domainID === p.domainID)
|
|
71
|
+
.toArray();
|
|
72
|
+
for (const { name: keyName, keyType, publicKey } of domainKeys) {
|
|
73
|
+
const name = `${keyName}._domainkey`;
|
|
74
|
+
const type = "TXT";
|
|
75
|
+
const value = `v=DKIM1; k=${keyType}; p=${publicKey}`;
|
|
76
|
+
const fqdn = `${name}.${domain.name}`;
|
|
77
|
+
// sync...
|
|
78
|
+
await db.hostedZoneRecords.statements.upsert({
|
|
79
|
+
name,
|
|
80
|
+
type,
|
|
81
|
+
value,
|
|
82
|
+
fqdn,
|
|
83
|
+
readonly: true,
|
|
84
|
+
dateCreated,
|
|
85
|
+
dateUpdated,
|
|
86
|
+
ttl,
|
|
87
|
+
}, void 0, { zoneID, name, type });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async syncWebHosts(db) {
|
|
91
|
+
const domainID = this.input;
|
|
92
|
+
const zoneID = domainID;
|
|
93
|
+
const domain = await db.domains.statements.select({}, { domainID });
|
|
94
|
+
/** Sync all web hosts, only if wildcard isn't hosted here */
|
|
95
|
+
const wildcard = await db.hostedZoneRecords.where({ domainID }, (p) => (x) => x.hosted === true
|
|
96
|
+
&& x.zoneID === p.domainID
|
|
97
|
+
&& x.name === "*"
|
|
98
|
+
&& x.value === "$HOST$").first();
|
|
99
|
+
if (wildcard) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const hostMatch = `%${domain.name}`;
|
|
103
|
+
const domainName = domain.name;
|
|
104
|
+
const dateCreated = DateTime.now;
|
|
105
|
+
const dateUpdated = dateCreated;
|
|
106
|
+
const ttl = 8600;
|
|
107
|
+
const hosts = await db.websiteFolderHosts
|
|
108
|
+
.where({ domainName, hostMatch }, (p) => (x) => x.host === p.domainName || Sql.text.iLike(x.host, p.hostMatch))
|
|
109
|
+
.toArray();
|
|
110
|
+
for (const host of hosts) {
|
|
111
|
+
const webHost = host.host.toLocaleLowerCase().trim();
|
|
112
|
+
const name = webHost !== domainName
|
|
113
|
+
? webHost.substring(0, webHost.length - domainName.length)
|
|
114
|
+
: webHost;
|
|
115
|
+
const type = "CNAME";
|
|
116
|
+
const value = `$HOST$`;
|
|
117
|
+
const fqdn = name;
|
|
118
|
+
// sync...
|
|
119
|
+
await db.hostedZoneRecords.statements.upsert({
|
|
120
|
+
name,
|
|
121
|
+
type,
|
|
122
|
+
value,
|
|
123
|
+
fqdn,
|
|
124
|
+
readonly: true,
|
|
125
|
+
dateCreated,
|
|
126
|
+
dateUpdated,
|
|
127
|
+
ttl,
|
|
128
|
+
}, void 0, { zoneID, name, type });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
__decorate([
|
|
133
|
+
UniqueActivity,
|
|
134
|
+
__param(0, Inject),
|
|
135
|
+
__metadata("design:type", Function),
|
|
136
|
+
__metadata("design:paramtypes", [SocialMailContext]),
|
|
137
|
+
__metadata("design:returntype", Promise)
|
|
138
|
+
], SyncDnsZoneRecordsWorkflow.prototype, "syncMX", null);
|
|
139
|
+
__decorate([
|
|
140
|
+
UniqueActivity,
|
|
141
|
+
__param(0, Inject),
|
|
142
|
+
__metadata("design:type", Function),
|
|
143
|
+
__metadata("design:paramtypes", [SocialMailContext]),
|
|
144
|
+
__metadata("design:returntype", Promise)
|
|
145
|
+
], SyncDnsZoneRecordsWorkflow.prototype, "syncDomainKeys", null);
|
|
146
|
+
__decorate([
|
|
147
|
+
UniqueActivity,
|
|
148
|
+
__param(0, Inject),
|
|
149
|
+
__metadata("design:type", Function),
|
|
150
|
+
__metadata("design:paramtypes", [SocialMailContext]),
|
|
151
|
+
__metadata("design:returntype", Promise)
|
|
152
|
+
], SyncDnsZoneRecordsWorkflow.prototype, "syncWebHosts", null);
|
|
153
|
+
//# sourceMappingURL=SyncDnsZoneRecordsWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncDnsZoneRecordsWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/dns/SyncDnsZoneRecordsWorkflow.ts"],"names":[],"mappings":"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"}
|