@serve.zone/coremail 1.1.0 → 1.3.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/changelog.md +43 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.auth.d.ts +19 -0
- package/dist_ts/classes.auth.js +58 -1
- package/dist_ts/classes.coremail.d.ts +3 -0
- package/dist_ts/classes.coremail.js +11 -4
- package/dist_ts/classes.gateway.d.ts +11 -1
- package/dist_ts/classes.gateway.js +101 -63
- package/dist_ts/classes.inbound.d.ts +10 -1
- package/dist_ts/classes.inbound.js +45 -7
- package/dist_ts/classes.maintenance.js +16 -1
- package/dist_ts/classes.models.d.ts +24 -2
- package/dist_ts/classes.models.js +72 -2
- package/dist_ts/classes.server.d.ts +6 -2
- package/dist_ts/classes.server.js +18 -68
- package/dist_ts/classes.smtpsubmission.d.ts +85 -0
- package/dist_ts/classes.smtpsubmission.js +379 -0
- package/dist_ts/classes.storage.d.ts +9 -0
- package/dist_ts/classes.storage.js +44 -1
- package/dist_ts/classes.submissions.d.ts +27 -1
- package/dist_ts/classes.submissions.js +164 -14
- package/dist_ts/coremail.errors.d.ts +18 -0
- package/dist_ts/coremail.errors.js +84 -0
- package/dist_ts/coremail.log.d.ts +1 -1
- package/dist_ts/coremail.log.js +1 -1
- package/dist_ts/coremail.mime.d.ts +15 -0
- package/dist_ts/coremail.mime.js +76 -1
- package/dist_ts/coremail.persistence.d.ts +38 -1
- package/dist_ts/coremail.persistence.js +124 -40
- package/dist_ts/coremail.stats.d.ts +72 -0
- package/dist_ts/coremail.stats.js +242 -0
- package/dist_ts/coremail.validation.d.ts +15 -2
- package/dist_ts/coremail.validation.js +26 -78
- package/dist_ts/interfaces.d.ts +18 -0
- package/dist_ts/plugins.d.ts +1 -0
- package/dist_ts/plugins.js +2 -1
- package/package.json +12 -11
- package/readme.md +51 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.auth.ts +77 -0
- package/ts/classes.coremail.ts +20 -0
- package/ts/classes.gateway.ts +121 -66
- package/ts/classes.inbound.ts +71 -6
- package/ts/classes.maintenance.ts +14 -0
- package/ts/classes.models.ts +67 -1
- package/ts/classes.server.ts +23 -80
- package/ts/classes.smtpsubmission.ts +466 -0
- package/ts/classes.storage.ts +54 -0
- package/ts/classes.submissions.ts +247 -12
- package/ts/coremail.errors.ts +111 -0
- package/ts/coremail.log.ts +1 -0
- package/ts/coremail.mime.ts +89 -0
- package/ts/coremail.persistence.ts +196 -48
- package/ts/coremail.stats.ts +342 -0
- package/ts/coremail.validation.ts +31 -103
- package/ts/interfaces.ts +20 -0
- package/ts/plugins.ts +1 -0
|
@@ -2,8 +2,11 @@ import * as plugins from './plugins.js';
|
|
|
2
2
|
import {} from './classes.models.js';
|
|
3
3
|
import { createOpaqueToken, createSha256, } from './classes.storage.js';
|
|
4
4
|
import { CoreMailTransferService } from './classes.transfer.js';
|
|
5
|
-
import {
|
|
5
|
+
import { normalizeCoreMailEnvelope, normalizeCoreMailMailboxAddress, } from './coremail.validation.js';
|
|
6
6
|
import { CoreMailInboundCursorCodec } from './coremail.cursor.js';
|
|
7
|
+
import { logCoreMailFailure } from './coremail.log.js';
|
|
8
|
+
import { coreMailHeaderScanBytes, parseCoreMailMessageHeaders, } from './coremail.mime.js';
|
|
9
|
+
import { createCoreMailStatDescriptor, ensureCoreMailStatCounter, incrementCoreMailStatCounter, } from './coremail.stats.js';
|
|
7
10
|
import { createCoreMailPendingQuotaDescriptor, decrementCoreMailQuotaCounter, ensureCoreMailQuotaCounter, incrementCoreMailQuotaCounter, withCoreMailTransaction, } from './coremail.quota.js';
|
|
8
11
|
import { requireCoreMailIdentifier, requireCoreMailUuid, } from './coremail.selectors.js';
|
|
9
12
|
const routingHandleTtlMs = plugins.serveZoneInterfaces.data.coreMailLimits.routingHandleTtlMs;
|
|
@@ -50,7 +53,13 @@ const toPublicDelivery = (deliveryArg) => ({
|
|
|
50
53
|
}
|
|
51
54
|
: {}),
|
|
52
55
|
});
|
|
53
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Routing-handle binding digest over the exact normalized envelope and source.
|
|
58
|
+
* Exported so a regression test can pin the byte layout: the normalizers were
|
|
59
|
+
* moved to the upstream contract package, and a silently different shape here
|
|
60
|
+
* would invalidate every issued handle.
|
|
61
|
+
*/
|
|
62
|
+
export const createEnvelopeDigest = (envelopeArg, sourceArg) => createSha256(JSON.stringify({
|
|
54
63
|
envelope: envelopeArg,
|
|
55
64
|
source: sourceArg,
|
|
56
65
|
}));
|
|
@@ -76,14 +85,16 @@ export class CoreMailInboundService {
|
|
|
76
85
|
database;
|
|
77
86
|
models;
|
|
78
87
|
transfers;
|
|
88
|
+
storage;
|
|
79
89
|
serviceId;
|
|
80
90
|
getDesiredState;
|
|
81
91
|
now;
|
|
82
92
|
cursorCodec;
|
|
83
|
-
constructor(database, models, transfers, serviceId, getDesiredState, resolveRuntimeSecretArg, now = Date.now) {
|
|
93
|
+
constructor(database, models, transfers, storage, serviceId, getDesiredState, resolveRuntimeSecretArg, now = Date.now) {
|
|
84
94
|
this.database = database;
|
|
85
95
|
this.models = models;
|
|
86
96
|
this.transfers = transfers;
|
|
97
|
+
this.storage = storage;
|
|
87
98
|
this.serviceId = serviceId;
|
|
88
99
|
this.getDesiredState = getDesiredState;
|
|
89
100
|
this.now = now;
|
|
@@ -100,7 +111,7 @@ export class CoreMailInboundService {
|
|
|
100
111
|
throw new Error('CoreMail gateway recipients are invalid.');
|
|
101
112
|
}
|
|
102
113
|
const envelope = normalizeCoreMailEnvelope(requestArg.envelope);
|
|
103
|
-
const source = normalizeCoreMailConnectionInfo(requestArg.source);
|
|
114
|
+
const source = plugins.serveZoneInterfaces.data.normalizeCoreMailConnectionInfo(requestArg.source);
|
|
104
115
|
const envelopeDigest = createEnvelopeDigest(envelope, source);
|
|
105
116
|
const recipients = requestArg.recipients.map(normalizeCoreMailMailboxAddress);
|
|
106
117
|
if (new Set(recipients).size !== recipients.length) {
|
|
@@ -188,8 +199,8 @@ export class CoreMailInboundService {
|
|
|
188
199
|
if (new Set(routingHandles).size !== routingHandles.length) {
|
|
189
200
|
throw new Error('CoreMail inbound handoff contains duplicate routing handles.');
|
|
190
201
|
}
|
|
191
|
-
const message = normalizeCoreMailGatewayMessage(requestArg.message);
|
|
192
|
-
const source = normalizeCoreMailConnectionInfo(requestArg.source);
|
|
202
|
+
const message = plugins.serveZoneInterfaces.data.normalizeCoreMailGatewayMessage(requestArg.message);
|
|
203
|
+
const source = plugins.serveZoneInterfaces.data.normalizeCoreMailConnectionInfo(requestArg.source);
|
|
193
204
|
const envelopeDigest = createEnvelopeDigest(message.envelope, source);
|
|
194
205
|
const existing = await this.models.InboundHandoff.exact.findStoredOne({
|
|
195
206
|
transportDeliveryId,
|
|
@@ -364,6 +375,18 @@ export class CoreMailInboundService {
|
|
|
364
375
|
grouped.set(key, group);
|
|
365
376
|
}
|
|
366
377
|
const groups = [...grouped.values()];
|
|
378
|
+
// The gateway message descriptor cannot carry Message-ID or Subject, so
|
|
379
|
+
// both are read from the stored bytes. A scan failure must never lose a
|
|
380
|
+
// delivery: the fields stay absent.
|
|
381
|
+
let headers = {};
|
|
382
|
+
try {
|
|
383
|
+
headers = parseCoreMailMessageHeaders(await this.storage.readObjectHeadBytes(handoff.objectKey, handoff.message.rawMime.lengthBytes, handoff.message.rawMime.sha256, plugins.serveZoneInterfaces.data.coreMailLimits.serializedMimeBytes, coreMailHeaderScanBytes));
|
|
384
|
+
}
|
|
385
|
+
catch (error) {
|
|
386
|
+
await logCoreMailFailure('gateway', 'HEADER_SCAN_FAILED', error, {
|
|
387
|
+
handoffId: handoff.handoffId,
|
|
388
|
+
}).catch(() => undefined);
|
|
389
|
+
}
|
|
367
390
|
const candidates = [];
|
|
368
391
|
for (const group of groups) {
|
|
369
392
|
const authority = group[0];
|
|
@@ -373,6 +396,7 @@ export class CoreMailInboundService {
|
|
|
373
396
|
const quota = createCoreMailPendingQuotaDescriptor(authority);
|
|
374
397
|
await ensureCoreMailQuotaCounter(this.models, quota);
|
|
375
398
|
const receivedAt = this.now();
|
|
399
|
+
await ensureCoreMailStatCounter(this.models, createCoreMailStatDescriptor(authority, receivedAt));
|
|
376
400
|
candidates.push({
|
|
377
401
|
deliveryId: plugins.nodeCrypto.randomUUID(),
|
|
378
402
|
tenantId: authority.tenantId,
|
|
@@ -389,6 +413,10 @@ export class CoreMailInboundService {
|
|
|
389
413
|
rawMimeSha256: handoff.message.rawMime.sha256,
|
|
390
414
|
rawMimeLengthBytes: handoff.message.rawMime.lengthBytes,
|
|
391
415
|
rawMimeObjectKey: handoff.objectKey,
|
|
416
|
+
...(headers.messageId === undefined
|
|
417
|
+
? {}
|
|
418
|
+
: { messageId: headers.messageId }),
|
|
419
|
+
...(headers.subject === undefined ? {} : { subject: headers.subject }),
|
|
392
420
|
receivedAt,
|
|
393
421
|
updatedAt: receivedAt,
|
|
394
422
|
});
|
|
@@ -419,6 +447,9 @@ export class CoreMailInboundService {
|
|
|
419
447
|
if (inserted.status === 'conflict') {
|
|
420
448
|
throw new Error('CoreMail inbound delivery identity conflict.');
|
|
421
449
|
}
|
|
450
|
+
// Counted with the insert, so a replayed completion that finds
|
|
451
|
+
// the delivery already present counts nothing.
|
|
452
|
+
await incrementCoreMailStatCounter(this.models, createCoreMailStatDescriptor(authority, candidate.receivedAt), 'received', candidate.receivedAt, transactionArg);
|
|
422
453
|
}
|
|
423
454
|
for (const originalHandle of group) {
|
|
424
455
|
const handle = await this.models.RecipientHandle.exact.findStoredOne({ routingHandle: originalHandle.routingHandle }, { session: transactionArg });
|
|
@@ -652,6 +683,8 @@ export class CoreMailInboundService {
|
|
|
652
683
|
bindingRevision: sessionArg.bindingRevision,
|
|
653
684
|
});
|
|
654
685
|
await ensureCoreMailQuotaCounter(this.models, quota);
|
|
686
|
+
const statDescriptor = createCoreMailStatDescriptor(sessionArg, updatedAt);
|
|
687
|
+
await ensureCoreMailStatCounter(this.models, statDescriptor);
|
|
655
688
|
const transactionResult = await withCoreMailTransaction(this.database, async (transactionArg) => {
|
|
656
689
|
const current = await this.models.InboundDelivery.exact.findStoredOne(workloadFilter(sessionArg, requestArg.deliveryId), { session: transactionArg });
|
|
657
690
|
if (!current) {
|
|
@@ -679,6 +712,11 @@ export class CoreMailInboundService {
|
|
|
679
712
|
if (update.status !== 'transitioned') {
|
|
680
713
|
throw new Error('CoreMail inbound acknowledgement fence changed.');
|
|
681
714
|
}
|
|
715
|
+
// Counted with the acknowledgement transition; the replay branch above
|
|
716
|
+
// returns before reaching this point.
|
|
717
|
+
await incrementCoreMailStatCounter(this.models, statDescriptor, requestArg.outcome === 'processed'
|
|
718
|
+
? 'acknowledgedProcessed'
|
|
719
|
+
: 'acknowledgedDiscarded', updatedAt, transactionArg);
|
|
682
720
|
return { replayed: false };
|
|
683
721
|
});
|
|
684
722
|
const committed = await this.requireDelivery(sessionArg, requestArg.deliveryId);
|
|
@@ -701,4 +739,4 @@ export class CoreMailInboundService {
|
|
|
701
739
|
return delivery;
|
|
702
740
|
}
|
|
703
741
|
}
|
|
704
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5pbmJvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5pbmJvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBd0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQiwrQkFBK0IsR0FDaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3BDLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsNkJBQTZCLEVBQzdCLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsbUJBQW1CLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7QUFvQmpDLE1BQU0sa0JBQWtCLEdBQ3RCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0FBQ3JFLE1BQU0sZ0JBQWdCLEdBQ3BCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQztBQUVsRSxNQUFNLGdCQUFnQixHQUFHLENBQUMsWUFBb0IsRUFBc0IsRUFBRSxDQUFDLENBQUM7SUFDdEUsSUFBSSxFQUFFLFNBQVM7SUFDZixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxHQUFHO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxpQkFBaUIs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
|
|
742
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5pbmJvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5pbmJvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBd0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksR0FFYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsK0JBQStCLEdBQ2hDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QiwyQkFBMkIsR0FDNUIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6Qiw0QkFBNEIsR0FDN0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsb0NBQW9DLEVBQ3BDLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsNkJBQTZCLEVBQzdCLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsbUJBQW1CLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7QUFvQmpDLE1BQU0sa0JBQWtCLEdBQ3RCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0FBQ3JFLE1BQU0sZ0JBQWdCLEdBQ3BCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQztBQUVsRSxNQUFNLGdCQUFnQixH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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
2
|
import { logCoreMailFailure } from './coremail.log.js';
|
|
3
|
+
import { coreMailStatRetentionMs } from './coremail.stats.js';
|
|
3
4
|
const sweepIntervalMs = 60_000;
|
|
4
5
|
const batchSize = 100;
|
|
5
6
|
const transferRetirementGraceMs = plugins.serveZoneInterfaces.data.coreMailLimits.transferGrantTtlMs
|
|
@@ -280,6 +281,20 @@ export class CoreMailMaintenanceService {
|
|
|
280
281
|
if (handles.length < batchSize)
|
|
281
282
|
break;
|
|
282
283
|
}
|
|
284
|
+
const statCutoff = now - coreMailStatRetentionMs;
|
|
285
|
+
while (!signalArg?.aborted) {
|
|
286
|
+
const statCounters = await this.models.StatCounter.exact.findStored({
|
|
287
|
+
filter: { dayUtc: { $lte: statCutoff } },
|
|
288
|
+
sort: { dayUtc: 1, statId: 1 },
|
|
289
|
+
limit: batchSize,
|
|
290
|
+
});
|
|
291
|
+
for (const statCounter of statCounters) {
|
|
292
|
+
signalArg?.throwIfAborted();
|
|
293
|
+
await this.models.StatCounter.exact.delete({ current: statCounter });
|
|
294
|
+
}
|
|
295
|
+
if (statCounters.length < batchSize)
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
283
298
|
while (!signalArg?.aborted) {
|
|
284
299
|
const counters = await this.models.QuotaCounter.exact.findStored({
|
|
285
300
|
filter: {
|
|
@@ -337,4 +352,4 @@ export class CoreMailMaintenanceService {
|
|
|
337
352
|
}
|
|
338
353
|
}
|
|
339
354
|
}
|
|
340
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5tYWludGVuYW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMubWFpbnRlbmFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFHeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDO0FBQy9CLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLHlCQUF5QixHQUM3QixPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0I7TUFDaEUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCO01BQ3hFLENBQUMsR0FBRyxNQUFNLENBQUM7QUFFZixNQUFNLE9BQU8sMEJBQTBCO0lBTWxCO0lBQ0E7SUFDQTtJQVBYLFVBQVUsR0FBMEMsSUFBSSxDQUFDO0lBQ3pELFNBQVMsR0FBeUIsSUFBSSxDQUFDO0lBQ3ZDLGVBQWUsR0FBMkIsSUFBSSxDQUFDO0lBRXZELFlBQ21CLE1BQXVCLEVBQ3ZCLE9BQXdCLEVBQ3hCLE1BQW9CLElBQUksQ0FBQyxHQUFHO1FBRjVCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQXlCO0lBQzVDLENBQUM7SUFFRyxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ2pDLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDNUIs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
|
|
355
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5tYWludGVuYW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMubWFpbnRlbmFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFHeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDO0FBQy9CLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLHlCQUF5QixHQUM3QixPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0I7TUFDaEUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCO01BQ3hFLENBQUMsR0FBRyxNQUFNLENBQUM7QUFFZixNQUFNLE9BQU8sMEJBQTBCO0lBTWxCO0lBQ0E7SUFDQTtJQVBYLFVBQVUsR0FBMEMsSUFBSSxDQUFDO0lBQ3pELFNBQVMsR0FBeUIsSUFBSSxDQUFDO0lBQ3ZDLGVBQWUsR0FBMkIsSUFBSSxDQUFDO0lBRXZELFlBQ21CLE1BQXVCLEVBQ3ZCLE9BQXdCLEVBQ3hCLE1BQW9CLElBQUksQ0FBQyxHQUFHO1FBRjVCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQXlCO0lBQzVDLENBQUM7SUFFRyxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ2pDLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNwQixJ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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
|
-
import type { ISubmissionPartRecord, TTransferGrantPurpose } from './interfaces.js';
|
|
3
|
-
import { type ICoreMailDesiredSnapshotRecord, type ICoreMailInboundDeliveryRecord, type ICoreMailInboundHandoffRecord, type ICoreMailQuotaCounterRecord, type ICoreMailRecipientHandleRecord, type ICoreMailStateRecord, type ICoreMailSubmissionRecord, type ICoreMailTransferGrantRecord } from './coremail.persistence.js';
|
|
2
|
+
import type { ISubmissionPartRecord, TCoreMailSubmissionSource, TTransferGrantPurpose } from './interfaces.js';
|
|
3
|
+
import { type ICoreMailDesiredSnapshotRecord, type ICoreMailInboundDeliveryRecord, type ICoreMailInboundHandoffRecord, type ICoreMailQuotaCounterRecord, type ICoreMailRecipientHandleRecord, type ICoreMailStatCounterRecord, type ICoreMailStateRecord, type ICoreMailSubmissionRecord, type ICoreMailTransferGrantRecord } from './coremail.persistence.js';
|
|
4
4
|
type TCoreMailSha256 = plugins.serveZoneInterfaces.data.TCoreMailSha256;
|
|
5
5
|
export declare class CoreMailStateDoc extends plugins.smartdata.SmartDataDbDoc<CoreMailStateDoc, ICoreMailStateRecord> implements ICoreMailStateRecord {
|
|
6
6
|
static exact: plugins.smartdata.TExact<CoreMailStateDoc>;
|
|
@@ -59,6 +59,25 @@ export declare class CoreMailTransferGrantDoc extends plugins.smartdata.SmartDat
|
|
|
59
59
|
createdAt: number;
|
|
60
60
|
consumedAt?: number;
|
|
61
61
|
}
|
|
62
|
+
export declare class CoreMailStatCounterDoc extends plugins.smartdata.SmartDataDbDoc<CoreMailStatCounterDoc, ICoreMailStatCounterRecord> implements ICoreMailStatCounterRecord {
|
|
63
|
+
static exact: plugins.smartdata.TExact<CoreMailStatCounterDoc>;
|
|
64
|
+
statId: TCoreMailSha256;
|
|
65
|
+
tenantId: string;
|
|
66
|
+
serviceId: string;
|
|
67
|
+
bindingId: string;
|
|
68
|
+
dayUtc: number;
|
|
69
|
+
submittedApi: number;
|
|
70
|
+
submittedSmtp: number;
|
|
71
|
+
delivered: number;
|
|
72
|
+
deferred: number;
|
|
73
|
+
failed: number;
|
|
74
|
+
deadLettered: number;
|
|
75
|
+
received: number;
|
|
76
|
+
acknowledgedProcessed: number;
|
|
77
|
+
acknowledgedDiscarded: number;
|
|
78
|
+
createdAt: number;
|
|
79
|
+
updatedAt: number;
|
|
80
|
+
}
|
|
62
81
|
export declare class CoreMailSubmissionDoc extends plugins.smartdata.SmartDataDbDoc<CoreMailSubmissionDoc, ICoreMailSubmissionRecord> implements ICoreMailSubmissionRecord {
|
|
63
82
|
static exact: plugins.smartdata.TExact<CoreMailSubmissionDoc>;
|
|
64
83
|
submissionId: string;
|
|
@@ -70,6 +89,8 @@ export declare class CoreMailSubmissionDoc extends plugins.smartdata.SmartDataDb
|
|
|
70
89
|
idempotencyKey: string;
|
|
71
90
|
submissionDigest: TCoreMailSha256;
|
|
72
91
|
state: plugins.serveZoneInterfaces.data.TCoreMailSubmissionState;
|
|
92
|
+
source?: TCoreMailSubmissionSource;
|
|
93
|
+
statsSubmittedCountedAt?: number;
|
|
73
94
|
message: plugins.serveZoneInterfaces.data.ICoreMailOutboundMessageDescriptor;
|
|
74
95
|
parts: ISubmissionPartRecord[];
|
|
75
96
|
mimeObjectKey?: string;
|
|
@@ -150,6 +171,7 @@ export interface ICoreMailModels {
|
|
|
150
171
|
State: typeof CoreMailStateDoc;
|
|
151
172
|
DesiredSnapshot: typeof CoreMailDesiredSnapshotDoc;
|
|
152
173
|
QuotaCounter: typeof CoreMailQuotaCounterDoc;
|
|
174
|
+
StatCounter: typeof CoreMailStatCounterDoc;
|
|
153
175
|
TransferGrant: typeof CoreMailTransferGrantDoc;
|
|
154
176
|
Submission: typeof CoreMailSubmissionDoc;
|
|
155
177
|
InboundDelivery: typeof CoreMailInboundDeliveryDoc;
|
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import * as plugins from './plugins.js';
|
|
36
|
-
import { assertCoreMailDesiredSnapshotRecord, assertCoreMailInboundDeliveryRecord, assertCoreMailInboundHandoffRecord, assertCoreMailQuotaCounterRecord, assertCoreMailRecipientHandleRecord, assertCoreMailStateRecord, assertCoreMailSubmissionRecord, assertCoreMailTransferGrantRecord, } from './coremail.persistence.js';
|
|
36
|
+
import { assertCoreMailDesiredSnapshotRecord, assertCoreMailInboundDeliveryRecord, assertCoreMailInboundHandoffRecord, assertCoreMailQuotaCounterRecord, assertCoreMailRecipientHandleRecord, assertCoreMailStatCounterRecord, assertCoreMailStateRecord, assertCoreMailSubmissionRecord, assertCoreMailTransferGrantRecord, } from './coremail.persistence.js';
|
|
37
37
|
let CoreMailStateDoc = (() => {
|
|
38
38
|
let _classDecorators = [plugins.smartdata.exactPersistence({
|
|
39
39
|
assertDocument: assertCoreMailStateRecord,
|
|
@@ -167,6 +167,44 @@ let CoreMailTransferGrantDoc = (() => {
|
|
|
167
167
|
return CoreMailTransferGrantDoc = _classThis;
|
|
168
168
|
})();
|
|
169
169
|
export { CoreMailTransferGrantDoc };
|
|
170
|
+
let CoreMailStatCounterDoc = (() => {
|
|
171
|
+
let _classDecorators = [plugins.smartdata.exactPersistence({
|
|
172
|
+
assertDocument: assertCoreMailStatCounterRecord,
|
|
173
|
+
reconcileBy: 'statId',
|
|
174
|
+
})];
|
|
175
|
+
let _classDescriptor;
|
|
176
|
+
let _classExtraInitializers = [];
|
|
177
|
+
let _classThis;
|
|
178
|
+
let _classSuper = plugins.smartdata.SmartDataDbDoc;
|
|
179
|
+
var CoreMailStatCounterDoc = class extends _classSuper {
|
|
180
|
+
static { _classThis = this; }
|
|
181
|
+
static {
|
|
182
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
183
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
184
|
+
CoreMailStatCounterDoc = _classThis = _classDescriptor.value;
|
|
185
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
186
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
187
|
+
}
|
|
188
|
+
statId;
|
|
189
|
+
tenantId;
|
|
190
|
+
serviceId;
|
|
191
|
+
bindingId;
|
|
192
|
+
dayUtc;
|
|
193
|
+
submittedApi;
|
|
194
|
+
submittedSmtp;
|
|
195
|
+
delivered;
|
|
196
|
+
deferred;
|
|
197
|
+
failed;
|
|
198
|
+
deadLettered;
|
|
199
|
+
received;
|
|
200
|
+
acknowledgedProcessed;
|
|
201
|
+
acknowledgedDiscarded;
|
|
202
|
+
createdAt;
|
|
203
|
+
updatedAt;
|
|
204
|
+
};
|
|
205
|
+
return CoreMailStatCounterDoc = _classThis;
|
|
206
|
+
})();
|
|
207
|
+
export { CoreMailStatCounterDoc };
|
|
170
208
|
let CoreMailSubmissionDoc = (() => {
|
|
171
209
|
let _classDecorators = [plugins.smartdata.exactPersistence({
|
|
172
210
|
assertDocument: assertCoreMailSubmissionRecord,
|
|
@@ -194,6 +232,8 @@ let CoreMailSubmissionDoc = (() => {
|
|
|
194
232
|
idempotencyKey;
|
|
195
233
|
submissionDigest;
|
|
196
234
|
state;
|
|
235
|
+
source;
|
|
236
|
+
statsSubmittedCountedAt;
|
|
197
237
|
message;
|
|
198
238
|
parts;
|
|
199
239
|
mimeObjectKey;
|
|
@@ -379,6 +419,34 @@ export const createCoreMailModels = (dbArg) => {
|
|
|
379
419
|
key: { state: 1, updatedAt: 1 },
|
|
380
420
|
},
|
|
381
421
|
]),
|
|
422
|
+
StatCounter: bind(CoreMailStatCounterDoc, 'CoreMailStatCounter', [
|
|
423
|
+
'statId',
|
|
424
|
+
'tenantId',
|
|
425
|
+
'serviceId',
|
|
426
|
+
'bindingId',
|
|
427
|
+
'dayUtc',
|
|
428
|
+
'submittedApi',
|
|
429
|
+
'submittedSmtp',
|
|
430
|
+
'delivered',
|
|
431
|
+
'deferred',
|
|
432
|
+
'failed',
|
|
433
|
+
'deadLettered',
|
|
434
|
+
'received',
|
|
435
|
+
'acknowledgedProcessed',
|
|
436
|
+
'acknowledgedDiscarded',
|
|
437
|
+
'createdAt',
|
|
438
|
+
'updatedAt',
|
|
439
|
+
], 'statId', [
|
|
440
|
+
{
|
|
441
|
+
name: 'authority_day_unique',
|
|
442
|
+
key: { tenantId: 1, serviceId: 1, bindingId: 1, dayUtc: 1 },
|
|
443
|
+
options: { unique: true },
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
name: 'day_retention',
|
|
447
|
+
key: { dayUtc: 1, statId: 1 },
|
|
448
|
+
},
|
|
449
|
+
]),
|
|
382
450
|
QuotaCounter: bind(CoreMailQuotaCounterDoc, 'CoreMailQuotaCounter', [
|
|
383
451
|
'counterId',
|
|
384
452
|
'tenantId',
|
|
@@ -444,6 +512,8 @@ export const createCoreMailModels = (dbArg) => {
|
|
|
444
512
|
'idempotencyKey',
|
|
445
513
|
'submissionDigest',
|
|
446
514
|
'state',
|
|
515
|
+
'source',
|
|
516
|
+
'statsSubmittedCountedAt',
|
|
447
517
|
'message',
|
|
448
518
|
'parts',
|
|
449
519
|
'mimeObjectKey',
|
|
@@ -592,4 +662,4 @@ export const createCoreMailModels = (dbArg) => {
|
|
|
592
662
|
export const prepareCoreMailModelsForTransactions = async (modelsArg) => {
|
|
593
663
|
await Promise.all(Object.values(modelsArg).map((modelArg) => modelArg.exact.prepare()));
|
|
594
664
|
};
|
|
595
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyxtQ0FBbUMsRUFDbkMsa0NBQWtDLEVBQ2xDLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUM5QixpQ0FBaUMsR0FTbEMsTUFBTSwyQkFBMkIsQ0FBQztJQVF0QixnQkFBZ0I7NEJBSjVCLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7WUFDbEMsY0FBYyxFQUFFLHlCQUF5QjtZQUN6QyxXQUFXLEVBQUUsU0FBUztTQUN2QixDQUFDOzs7O3NCQUNvQyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWM7Z0NBQXhDLFNBQVEsV0FHckM7Ozs7WUFIRCw2S0FVQzs7O1lBVlksdURBQWdCOztRQUtwQixPQUFPLENBQVU7UUFDakIsa0JBQWtCLENBQVU7UUFDNUIseUJBQXlCLENBQW1CO1FBQzVDLFVBQVUsQ0FBVTtRQUNwQixTQUFTLENBQVU7Ozs7U0FUZixnQkFBZ0I7SUFnQmhCLDBCQUEwQjs0QkFKdEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsQyxjQUFjLEVBQUUsbUNBQW1DO1lBQ25ELFdBQVcsRUFBRSxZQUFZO1NBQzFCLENBQUM7Ozs7c0JBQzhDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYzswQ0FBeEMsU0FBUSxXQUcvQzs7OztZQUhELDZLQW1CQzs7O1lBbkJZLHVEQUEwQjs7UUFNOUIsVUFBVSxDQUFVO1FBQ3BCLGdCQUFnQixDQUFVO1FBQzFCLDBCQUEwQixDQUFVO1FBQ3BDLFdBQVcsQ0FBVTtRQUNyQixrQkFBa0IsQ0FBbUI7UUFDckMsV0FB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
|
|
665
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFNeEMsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyxtQ0FBbUMsRUFDbkMsa0NBQWtDLEVBQ2xDLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6Qiw4QkFBOEIsRUFDOUIsaUNBQWlDLEdBVWxDLE1BQU0sMkJBQTJCLENBQUM7SUFRdEIsZ0JBQWdCOzRCQUo1QixPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1lBQ2xDLGNBQWMsRUFBRSx5QkFBeUI7WUFDekMsV0FBVyxFQUFFLFNBQVM7U0FDdkIsQ0FBQzs7OztzQkFDb0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjO2dDQUF4QyxTQUFRLFdBR3JDOzs7O1lBSEQsNktBVUM7OztZQVZZLHVEQUFnQjs7UUFLcEIsT0FBTyxDQUFVO1FBQ2pCLGtCQUFrQixDQUFVO1FBQzVCLHlCQUF5QixDQUFtQjtRQUM1QyxVQUFVLENBQVU7UUFDcEIsU0FBUyxDQUFVOzs7O1NBVGYsZ0JBQWdCO0lBZ0JoQiwwQkFBMEI7NEJBSnRDLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7WUFDbEMsY0FBYyxFQUFFLG1DQUFtQztZQUNuRCxXQUFXLEVBQUUsWUFBWTtTQUMxQixDQUFDOzs7O3NCQUM4QyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWM7MENBQXhDLFNBQVEsV0FHL0M7Ozs7WUFIRCw2S0FtQkM7OztZQW5CWSx1REFBMEI7O1FBTTlCLFVBQVUsQ0FBVTtRQUNwQixnQkFBZ0IsQ0FBVTtRQUMxQiwwQkFBMEIsQ0FBVTtRQUNwQyxXQUFXLENBQVU7UUFDckIsa0JBQWtCLENB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
|