@social-mail/social-mail-web-server 1.5.0 → 1.5.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/dns/zones/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAG5D,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AAGpF,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,EAAE,EAAE,iBAAiB,CAAC;IAEhB,GAAG;CA+CZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/dns/zones/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAG5D,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AAGpF,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,EAAE,EAAE,iBAAiB,CAAC;IAEhB,GAAG;CAqDZ"}
@@ -21,8 +21,12 @@ export default class default_1 extends Page {
21
21
  }
22
22
  const [zoneID] = this.childPath;
23
23
  if (!zoneID) {
24
- const zones = await this.db.hostedZones
25
- .where(void 0, (p) => (x) => x.dateSigned === null)
24
+ const unsignedOnly = /true|yes/i.test(this.query.unsignedOnly ?? "true");
25
+ let q = this.db.hostedZones.asQuery();
26
+ if (unsignedOnly) {
27
+ q = q.where(void 0, (p) => (x) => x.dateSigned === null);
28
+ }
29
+ const zones = await q
26
30
  .include((x) => x.domain)
27
31
  .toArray();
28
32
  const result = zones.map((x) => ({ ...x, zone: x.domain.name, domain: void 0 }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/dns/zones/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AAGpF,MAAM,CAAC,OAAO,gBAAO,SAAQ,IAAI;IAK7B,KAAK,CAAC,GAAG;QAEL,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,OAAO,CAAC;gBAChB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG;aACd,CAAC,CAAC;QACP,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAkB,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;YAEV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW;iBAClC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;iBAClD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxB,OAAO,EAAE,CAAC;YAEf,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC;YAEjF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;aACzH,OAAO,EAAE,CAAC;QAEf,MAAM,MAAM,GAAG,CAAC,CAAmB,EAAE,EAAE;YAEnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAE5B,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAEpB,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEzC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,EAAE,CAAC;gBACL,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;YAEhB,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1C,CAAC;CACJ;AAjDG;IADC,MAAM;8BACH,iBAAiB;qCAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/dns/zones/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AAGpF,MAAM,CAAC,OAAO,gBAAO,SAAQ,IAAI;IAK7B,KAAK,CAAC,GAAG;QAEL,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,OAAO,CAAC;gBAChB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG;aACd,CAAC,CAAC;QACP,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAkB,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;YAEzE,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,YAAY,EAAE,CAAC;gBACf,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC;iBAChB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxB,OAAO,EAAE,CAAC;YAEf,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC;YAEjF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;aACzH,OAAO,EAAE,CAAC;QAEf,MAAM,MAAM,GAAG,CAAC,CAAmB,EAAE,EAAE;YAEnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAE5B,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAEpB,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEzC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,EAAE,CAAC;gBACL,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;YAEhB,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1C,CAAC;CACJ;AAvDG;IADC,MAAM;8BACH,iBAAiB;qCAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-web-server",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -28,7 +28,8 @@ export const globalEnv = {
28
28
  dns: {
29
29
  enabled: /^(true|yes)$/i.test(process.env.SOCIAL_MAIL_DNS_ENABLED),
30
30
  soa: (process.env.SOCIAL_MAIL_DNS_SOA || "admin.socialmail.in somewhere.com").split(/[\s\,\;]/g).map((txt: string) => txt.endsWith(".") ? txt : txt + "."),
31
- letsEncryptPrefix: process.env.SOCIAL_MAIL_DNS_LE_PREFIX
31
+ letsEncryptPrefix: process.env.SOCIAL_MAIL_DNS_LE_PREFIX,
32
+ ns: (process.env.SOCIAL_MAIL_DNS_NS || "ns1,ns2").split(/\,\;/).map((x) => x.trim()).filter((x) => x),
32
33
  },
33
34
  altHosts: (process.env.SOCIAL_MAIL_ALT_HOSTS || "").split(","),
34
35
  wildcardDomain: process.env.SOCIAL_MAIL_WILDCARD_DOMAIN,
@@ -81,6 +81,20 @@ export default class SyncDnsZoneRecordsWorkflow extends Workflow {
81
81
  readonly: true,
82
82
  });
83
83
 
84
+ for (const ns of globalEnv.dns.ns) {
85
+ await db.hostedZoneRecords.statements.insert({
86
+ zoneID,
87
+ dateCreated,
88
+ dateUpdated,
89
+ ttl,
90
+ name: "@",
91
+ type: "NS",
92
+ value: ns,
93
+ fqdn: domain,
94
+ readonly: true,
95
+ });
96
+ }
97
+
84
98
 
85
99
  await db.hostedZoneRecords.statements.insert({
86
100
  zoneID,
@@ -22,8 +22,14 @@ export default class extends Page {
22
22
 
23
23
  if (!zoneID) {
24
24
 
25
- const zones = await this.db.hostedZones
26
- .where(void 0, (p) => (x) => x.dateSigned === null)
25
+ const unsignedOnly = /true|yes/i.test(this.query.unsignedOnly ?? "true");
26
+
27
+ let q = this.db.hostedZones.asQuery();
28
+ if (unsignedOnly) {
29
+ q = q.where(void 0, (p) => (x) => x.dateSigned === null);
30
+ }
31
+
32
+ const zones = await q
27
33
  .include((x) => x.domain)
28
34
  .toArray();
29
35