@serve.zone/dcrouter 17.2.4 → 17.4.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/deno.json +1 -1
- package/dist_serve/bundle.js +2024 -1758
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.dcrouter.d.ts +11 -1
- package/dist_ts/classes.dcrouter.js +63 -3
- package/dist_ts/config/classes.api-token-manager.d.ts +20 -2
- package/dist_ts/config/classes.api-token-manager.js +201 -6
- package/dist_ts/config/classes.gateway-client-manager.d.ts +36 -2
- package/dist_ts/config/classes.gateway-client-manager.js +391 -27
- package/dist_ts/db/documents/classes.api-token.doc.d.ts +2 -1
- package/dist_ts/db/documents/classes.api-token.doc.js +8 -2
- package/dist_ts/db/documents/classes.cached.email.d.ts +10 -1
- package/dist_ts/db/documents/classes.cached.email.js +27 -2
- package/dist_ts/db/documents/classes.gateway-client.doc.d.ts +25 -0
- package/dist_ts/db/documents/classes.gateway-client.doc.js +73 -2
- package/dist_ts/db/documents/classes.ops-config-event.doc.d.ts +55 -0
- package/dist_ts/db/documents/classes.ops-config-event.doc.js +296 -0
- package/dist_ts/db/documents/index.d.ts +1 -0
- package/dist_ts/db/documents/index.js +2 -1
- package/dist_ts/dns/classes.gateway-route-dns-reconciler.d.ts +52 -0
- package/dist_ts/dns/classes.gateway-route-dns-reconciler.js +609 -0
- package/dist_ts/dns/index.d.ts +1 -0
- package/dist_ts/dns/index.js +2 -1
- package/dist_ts/dns/manager.dns.d.ts +19 -0
- package/dist_ts/dns/manager.dns.js +25 -1
- package/dist_ts/email/classes.accepted-email-spool.d.ts +8 -1
- package/dist_ts/email/classes.accepted-email-spool.js +93 -1
- package/dist_ts/email/classes.smartmta-storage-manager.d.ts +7 -1
- package/dist_ts/email/classes.smartmta-storage-manager.js +46 -1
- package/dist_ts/email/smartmta-storage-policy.js +3 -1
- package/dist_ts/monitoring/classes.ops-event-manager.d.ts +32 -0
- package/dist_ts/monitoring/classes.ops-event-manager.js +71 -0
- package/dist_ts/monitoring/index.d.ts +1 -0
- package/dist_ts/monitoring/index.js +2 -1
- package/dist_ts/opsserver/classes.opsserver.d.ts +1 -0
- package/dist_ts/opsserver/classes.opsserver.js +3 -1
- package/dist_ts/opsserver/handlers/certificate.handler.d.ts +1 -0
- package/dist_ts/opsserver/handlers/certificate.handler.js +35 -5
- package/dist_ts/opsserver/handlers/config-event.handler.d.ts +12 -0
- package/dist_ts/opsserver/handlers/config-event.handler.js +47 -0
- package/dist_ts/opsserver/handlers/dns-record.handler.d.ts +1 -0
- package/dist_ts/opsserver/handlers/dns-record.handler.js +82 -3
- package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +6 -0
- package/dist_ts/opsserver/handlers/email-ops.handler.js +40 -9
- package/dist_ts/opsserver/handlers/gatewayclient.handler.d.ts +9 -1
- package/dist_ts/opsserver/handlers/gatewayclient.handler.js +714 -162
- package/dist_ts/opsserver/handlers/index.d.ts +1 -0
- package/dist_ts/opsserver/handlers/index.js +2 -1
- package/dist_ts/opsserver/helpers/gateway-client-auth.d.ts +25 -0
- package/dist_ts/opsserver/helpers/gateway-client-auth.js +168 -0
- package/dist_ts/plugins.d.ts +2 -1
- package/dist_ts/plugins.js +3 -2
- package/dist_ts_apiclient/classes.gatewayclient.d.ts +13 -1
- package/dist_ts_apiclient/classes.gatewayclient.js +18 -2
- package/dist_ts_interfaces/data/config-events.d.ts +34 -0
- package/dist_ts_interfaces/data/config-events.js +8 -0
- package/dist_ts_interfaces/data/index.d.ts +1 -0
- package/dist_ts_interfaces/data/index.js +2 -1
- package/dist_ts_interfaces/data/route-management.d.ts +28 -1
- package/dist_ts_interfaces/data/route-management.js +3 -1
- package/dist_ts_interfaces/data/workhoster.d.ts +1 -0
- package/dist_ts_interfaces/requests/config-events.d.ts +35 -0
- package/dist_ts_interfaces/requests/config-events.js +4 -0
- package/dist_ts_interfaces/requests/index.d.ts +1 -0
- package/dist_ts_interfaces/requests/index.js +2 -1
- package/dist_ts_interfaces/requests/realtime.d.ts +1 -1
- package/dist_ts_interfaces/requests/realtime.js +2 -1
- package/dist_ts_migrations/index.js +148 -9
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/appstate/config-events.d.ts +19 -0
- package/dist_ts_web/appstate/config-events.js +68 -0
- package/dist_ts_web/appstate/runtime.js +7 -1
- package/dist_ts_web/appstate.d.ts +1 -0
- package/dist_ts_web/appstate.js +2 -1
- package/dist_ts_web/elements/ops-platform-events.d.ts +21 -0
- package/dist_ts_web/elements/ops-platform-events.js +361 -0
- package/dist_ts_web/elements/ops-view-logs.d.ts +4 -0
- package/dist_ts_web/elements/ops-view-logs.js +96 -9
- package/package.json +4 -4
- package/readme.plan.md +22 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.dcrouter.ts +72 -2
- package/ts/config/classes.api-token-manager.ts +237 -4
- package/ts/config/classes.gateway-client-manager.ts +463 -19
- package/ts/db/documents/classes.api-token.doc.ts +8 -1
- package/ts/db/documents/classes.cached.email.ts +21 -1
- package/ts/db/documents/classes.gateway-client.doc.ts +86 -0
- package/ts/db/documents/classes.ops-config-event.doc.ts +257 -0
- package/ts/db/documents/index.ts +1 -0
- package/ts/dns/classes.gateway-route-dns-reconciler.ts +801 -0
- package/ts/dns/index.ts +1 -0
- package/ts/dns/manager.dns.ts +36 -0
- package/ts/email/classes.accepted-email-spool.ts +111 -0
- package/ts/email/classes.smartmta-storage-manager.ts +57 -1
- package/ts/email/smartmta-storage-policy.ts +2 -0
- package/ts/monitoring/classes.ops-event-manager.ts +99 -0
- package/ts/monitoring/index.ts +2 -1
- package/ts/opsserver/classes.opsserver.ts +2 -0
- package/ts/opsserver/handlers/certificate.handler.ts +51 -4
- package/ts/opsserver/handlers/config-event.handler.ts +62 -0
- package/ts/opsserver/handlers/dns-record.handler.ts +101 -2
- package/ts/opsserver/handlers/email-ops.handler.ts +42 -8
- package/ts/opsserver/handlers/gatewayclient.handler.ts +804 -136
- package/ts/opsserver/handlers/index.ts +1 -0
- package/ts/opsserver/helpers/gateway-client-auth.ts +198 -0
- package/ts/plugins.ts +2 -0
- package/ts_apiclient/classes.gatewayclient.ts +45 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/appstate/config-events.ts +98 -0
- package/ts_web/appstate/runtime.ts +8 -1
- package/ts_web/appstate.ts +1 -0
- package/ts_web/elements/ops-platform-events.ts +315 -0
- package/ts_web/elements/ops-view-logs.ts +84 -7
|
@@ -87,6 +87,12 @@ let CachedEmail = (() => {
|
|
|
87
87
|
let _status_decorators;
|
|
88
88
|
let _status_initializers = [];
|
|
89
89
|
let _status_extraInitializers = [];
|
|
90
|
+
let _attachmentCount_decorators;
|
|
91
|
+
let _attachmentCount_initializers = [];
|
|
92
|
+
let _attachmentCount_extraInitializers = [];
|
|
93
|
+
let _inboundSecurityResults_decorators;
|
|
94
|
+
let _inboundSecurityResults_initializers = [];
|
|
95
|
+
let _inboundSecurityResults_extraInitializers = [];
|
|
90
96
|
let _attempts_decorators;
|
|
91
97
|
let _attempts_initializers = [];
|
|
92
98
|
let _attempts_extraInitializers = [];
|
|
@@ -139,6 +145,8 @@ let CachedEmail = (() => {
|
|
|
139
145
|
_rawContentSize_decorators = [plugins.smartdata.svDb()];
|
|
140
146
|
_smtpTransactions_decorators = [plugins.smartdata.svDb()];
|
|
141
147
|
_status_decorators = [plugins.smartdata.index(), plugins.smartdata.svDb()];
|
|
148
|
+
_attachmentCount_decorators = [plugins.smartdata.svDb()];
|
|
149
|
+
_inboundSecurityResults_decorators = [plugins.smartdata.svDb()];
|
|
142
150
|
_attempts_decorators = [plugins.smartdata.svDb()];
|
|
143
151
|
_maxAttempts_decorators = [plugins.smartdata.svDb()];
|
|
144
152
|
_nextAttempt_decorators = [plugins.smartdata.svDb()];
|
|
@@ -163,6 +171,8 @@ let CachedEmail = (() => {
|
|
|
163
171
|
__esDecorate(null, null, _rawContentSize_decorators, { kind: "field", name: "rawContentSize", static: false, private: false, access: { has: obj => "rawContentSize" in obj, get: obj => obj.rawContentSize, set: (obj, value) => { obj.rawContentSize = value; } }, metadata: _metadata }, _rawContentSize_initializers, _rawContentSize_extraInitializers);
|
|
164
172
|
__esDecorate(null, null, _smtpTransactions_decorators, { kind: "field", name: "smtpTransactions", static: false, private: false, access: { has: obj => "smtpTransactions" in obj, get: obj => obj.smtpTransactions, set: (obj, value) => { obj.smtpTransactions = value; } }, metadata: _metadata }, _smtpTransactions_initializers, _smtpTransactions_extraInitializers);
|
|
165
173
|
__esDecorate(null, null, _status_decorators, { kind: "field", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
|
|
174
|
+
__esDecorate(null, null, _attachmentCount_decorators, { kind: "field", name: "attachmentCount", static: false, private: false, access: { has: obj => "attachmentCount" in obj, get: obj => obj.attachmentCount, set: (obj, value) => { obj.attachmentCount = value; } }, metadata: _metadata }, _attachmentCount_initializers, _attachmentCount_extraInitializers);
|
|
175
|
+
__esDecorate(null, null, _inboundSecurityResults_decorators, { kind: "field", name: "inboundSecurityResults", static: false, private: false, access: { has: obj => "inboundSecurityResults" in obj, get: obj => obj.inboundSecurityResults, set: (obj, value) => { obj.inboundSecurityResults = value; } }, metadata: _metadata }, _inboundSecurityResults_initializers, _inboundSecurityResults_extraInitializers);
|
|
166
176
|
__esDecorate(null, null, _attempts_decorators, { kind: "field", name: "attempts", static: false, private: false, access: { has: obj => "attempts" in obj, get: obj => obj.attempts, set: (obj, value) => { obj.attempts = value; } }, metadata: _metadata }, _attempts_initializers, _attempts_extraInitializers);
|
|
167
177
|
__esDecorate(null, null, _maxAttempts_decorators, { kind: "field", name: "maxAttempts", static: false, private: false, access: { has: obj => "maxAttempts" in obj, get: obj => obj.maxAttempts, set: (obj, value) => { obj.maxAttempts = value; } }, metadata: _metadata }, _maxAttempts_initializers, _maxAttempts_extraInitializers);
|
|
168
178
|
__esDecorate(null, null, _nextAttempt_decorators, { kind: "field", name: "nextAttempt", static: false, private: false, access: { has: obj => "nextAttempt" in obj, get: obj => obj.nextAttempt, set: (obj, value) => { obj.nextAttempt = value; } }, metadata: _metadata }, _nextAttempt_initializers, _nextAttempt_extraInitializers);
|
|
@@ -220,10 +230,14 @@ let CachedEmail = (() => {
|
|
|
220
230
|
* Current status of the email
|
|
221
231
|
*/
|
|
222
232
|
status = (__runInitializers(this, _smtpTransactions_extraInitializers), __runInitializers(this, _status_initializers, void 0));
|
|
233
|
+
/** Attachment count derived from the parsed message at acceptance. */
|
|
234
|
+
attachmentCount = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _attachmentCount_initializers, void 0));
|
|
235
|
+
/** JSON-serialized inbound SPF/DKIM/DMARC verdicts from the SMTP session. */
|
|
236
|
+
inboundSecurityResults = (__runInitializers(this, _attachmentCount_extraInitializers), __runInitializers(this, _inboundSecurityResults_initializers, void 0));
|
|
223
237
|
/**
|
|
224
238
|
* Number of delivery attempts
|
|
225
239
|
*/
|
|
226
|
-
attempts = (__runInitializers(this,
|
|
240
|
+
attempts = (__runInitializers(this, _inboundSecurityResults_extraInitializers), __runInitializers(this, _attempts_initializers, 0));
|
|
227
241
|
/**
|
|
228
242
|
* Maximum number of delivery attempts
|
|
229
243
|
*/
|
|
@@ -377,6 +391,17 @@ let CachedEmail = (() => {
|
|
|
377
391
|
this.status = 'delivered';
|
|
378
392
|
this.deliveredAt = new Date();
|
|
379
393
|
}
|
|
394
|
+
/**
|
|
395
|
+
* Mark as terminally stored (catch-all inbound): visible in the email log,
|
|
396
|
+
* pruned after the retention window.
|
|
397
|
+
*/
|
|
398
|
+
markStored(retentionMs) {
|
|
399
|
+
this.status = 'stored';
|
|
400
|
+
this.deliveredAt = new Date();
|
|
401
|
+
// Base-class TTL: the CacheCleaner deletes expired rows and their raw
|
|
402
|
+
// payloads via beforeDeleteCachedEmail.
|
|
403
|
+
this.setTTL(retentionMs);
|
|
404
|
+
}
|
|
380
405
|
/**
|
|
381
406
|
* Mark as failed with error
|
|
382
407
|
*/
|
|
@@ -430,4 +455,4 @@ let CachedEmail = (() => {
|
|
|
430
455
|
return CachedEmail = _classThis;
|
|
431
456
|
})();
|
|
432
457
|
export { CachedEmail };
|
|
433
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jYWNoZWQuZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9kYi9kb2N1bWVudHMvY2xhc3Nlcy5jYWNoZWQuZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7QUE2RGpEOztHQUVHO0FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBRXJEOzs7OztHQUtHO0lBRVUsV0FBVzs0QkFEdkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7Ozs7c0JBQ1gsT0FBTyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MkJBQWpELFNBQVEsV0FBc0Q7Ozs7OEJBSXBGLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQ3ZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO3FDQU14QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtnQ0FNeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7OEJBTXhCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFOzhCQU14QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTsrQkFNeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7bUNBTXhCLE9BQU8sQ0FB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
|
|
458
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jYWNoZWQuZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9kYi9kb2N1bWVudHMvY2xhc3Nlcy5jYWNoZWQuZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7QUE2RGpEOztHQUVHO0FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBRXJEOzs7OztHQUtHO0lBRVUsV0FBVzs0QkFEdkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7Ozs7c0JBQ1gsT0FBTyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MkJBQWpELFNBQVEsV0FBc0Q7Ozs7OEJBSXBGLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQ3ZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO3FDQU14QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtnQ0FNeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7OEJBTXhCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFOzhCQU14QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTsrQkFNeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7bUNBTXhCLE9B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
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import * as plugins from '../../plugins.js';
|
|
2
2
|
import type { IApiTokenPolicy, TGatewayClientType } from '../../../dist_ts_interfaces/data/route-management.js';
|
|
3
|
+
export interface IGatewayClientPendingProvisioning {
|
|
4
|
+
type: TGatewayClientType;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string | null;
|
|
7
|
+
hostnamePatterns: string[];
|
|
8
|
+
allowedRouteTargets: NonNullable<IApiTokenPolicy['allowedRouteTargets']>;
|
|
9
|
+
capabilities: NonNullable<IApiTokenPolicy['capabilities']>;
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
policyGeneration: number;
|
|
12
|
+
policyDigest: string;
|
|
13
|
+
credentialSequence: number;
|
|
14
|
+
stagedAt: number;
|
|
15
|
+
stagedBy: string;
|
|
16
|
+
}
|
|
3
17
|
export declare class GatewayClientDoc extends plugins.smartdata.SmartDataDbDoc<GatewayClientDoc, GatewayClientDoc> {
|
|
4
18
|
id: string;
|
|
5
19
|
type: TGatewayClientType;
|
|
@@ -9,10 +23,21 @@ export declare class GatewayClientDoc extends plugins.smartdata.SmartDataDbDoc<G
|
|
|
9
23
|
allowedRouteTargets: NonNullable<IApiTokenPolicy['allowedRouteTargets']>;
|
|
10
24
|
capabilities: NonNullable<IApiTokenPolicy['capabilities']>;
|
|
11
25
|
enabled: boolean;
|
|
26
|
+
policyGeneration: number;
|
|
27
|
+
credentialSequence: number;
|
|
28
|
+
/** Exact provisioned credential sequence authorized for the active policy. */
|
|
29
|
+
activeCredentialSequence: number;
|
|
30
|
+
/** Monotonic compare-and-set authority for every mutable client field. */
|
|
31
|
+
mutationRevision: number;
|
|
32
|
+
pendingProvisioning: IGatewayClientPendingProvisioning | null;
|
|
12
33
|
createdAt: number;
|
|
13
34
|
updatedAt: number;
|
|
14
35
|
createdBy: string;
|
|
15
36
|
constructor();
|
|
16
37
|
static findById(id: string): Promise<GatewayClientDoc | null>;
|
|
38
|
+
private static getNativeCollection;
|
|
39
|
+
private static buildRevisionSelector;
|
|
40
|
+
static compareAndSet(idArg: string, expectedRevisionArg: number, setArg: Record<string, unknown>, unsetArg?: string[]): Promise<GatewayClientDoc | null>;
|
|
41
|
+
static deleteIfRevision(idArg: string, expectedRevisionArg: number): Promise<boolean>;
|
|
17
42
|
static findAll(): Promise<GatewayClientDoc[]>;
|
|
18
43
|
}
|
|
@@ -65,6 +65,21 @@ let GatewayClientDoc = (() => {
|
|
|
65
65
|
let _enabled_decorators;
|
|
66
66
|
let _enabled_initializers = [];
|
|
67
67
|
let _enabled_extraInitializers = [];
|
|
68
|
+
let _policyGeneration_decorators;
|
|
69
|
+
let _policyGeneration_initializers = [];
|
|
70
|
+
let _policyGeneration_extraInitializers = [];
|
|
71
|
+
let _credentialSequence_decorators;
|
|
72
|
+
let _credentialSequence_initializers = [];
|
|
73
|
+
let _credentialSequence_extraInitializers = [];
|
|
74
|
+
let _activeCredentialSequence_decorators;
|
|
75
|
+
let _activeCredentialSequence_initializers = [];
|
|
76
|
+
let _activeCredentialSequence_extraInitializers = [];
|
|
77
|
+
let _mutationRevision_decorators;
|
|
78
|
+
let _mutationRevision_initializers = [];
|
|
79
|
+
let _mutationRevision_extraInitializers = [];
|
|
80
|
+
let _pendingProvisioning_decorators;
|
|
81
|
+
let _pendingProvisioning_initializers = [];
|
|
82
|
+
let _pendingProvisioning_extraInitializers = [];
|
|
68
83
|
let _createdAt_decorators;
|
|
69
84
|
let _createdAt_initializers = [];
|
|
70
85
|
let _createdAt_extraInitializers = [];
|
|
@@ -86,6 +101,11 @@ let GatewayClientDoc = (() => {
|
|
|
86
101
|
_allowedRouteTargets_decorators = [plugins.smartdata.svDb()];
|
|
87
102
|
_capabilities_decorators = [plugins.smartdata.svDb()];
|
|
88
103
|
_enabled_decorators = [plugins.smartdata.svDb()];
|
|
104
|
+
_policyGeneration_decorators = [plugins.smartdata.svDb()];
|
|
105
|
+
_credentialSequence_decorators = [plugins.smartdata.svDb()];
|
|
106
|
+
_activeCredentialSequence_decorators = [plugins.smartdata.svDb()];
|
|
107
|
+
_mutationRevision_decorators = [plugins.smartdata.svDb()];
|
|
108
|
+
_pendingProvisioning_decorators = [plugins.smartdata.svDb()];
|
|
89
109
|
_createdAt_decorators = [plugins.smartdata.svDb()];
|
|
90
110
|
_updatedAt_decorators = [plugins.smartdata.svDb()];
|
|
91
111
|
_createdBy_decorators = [plugins.smartdata.svDb()];
|
|
@@ -97,6 +117,11 @@ let GatewayClientDoc = (() => {
|
|
|
97
117
|
__esDecorate(null, null, _allowedRouteTargets_decorators, { kind: "field", name: "allowedRouteTargets", static: false, private: false, access: { has: obj => "allowedRouteTargets" in obj, get: obj => obj.allowedRouteTargets, set: (obj, value) => { obj.allowedRouteTargets = value; } }, metadata: _metadata }, _allowedRouteTargets_initializers, _allowedRouteTargets_extraInitializers);
|
|
98
118
|
__esDecorate(null, null, _capabilities_decorators, { kind: "field", name: "capabilities", static: false, private: false, access: { has: obj => "capabilities" in obj, get: obj => obj.capabilities, set: (obj, value) => { obj.capabilities = value; } }, metadata: _metadata }, _capabilities_initializers, _capabilities_extraInitializers);
|
|
99
119
|
__esDecorate(null, null, _enabled_decorators, { kind: "field", name: "enabled", static: false, private: false, access: { has: obj => "enabled" in obj, get: obj => obj.enabled, set: (obj, value) => { obj.enabled = value; } }, metadata: _metadata }, _enabled_initializers, _enabled_extraInitializers);
|
|
120
|
+
__esDecorate(null, null, _policyGeneration_decorators, { kind: "field", name: "policyGeneration", static: false, private: false, access: { has: obj => "policyGeneration" in obj, get: obj => obj.policyGeneration, set: (obj, value) => { obj.policyGeneration = value; } }, metadata: _metadata }, _policyGeneration_initializers, _policyGeneration_extraInitializers);
|
|
121
|
+
__esDecorate(null, null, _credentialSequence_decorators, { kind: "field", name: "credentialSequence", static: false, private: false, access: { has: obj => "credentialSequence" in obj, get: obj => obj.credentialSequence, set: (obj, value) => { obj.credentialSequence = value; } }, metadata: _metadata }, _credentialSequence_initializers, _credentialSequence_extraInitializers);
|
|
122
|
+
__esDecorate(null, null, _activeCredentialSequence_decorators, { kind: "field", name: "activeCredentialSequence", static: false, private: false, access: { has: obj => "activeCredentialSequence" in obj, get: obj => obj.activeCredentialSequence, set: (obj, value) => { obj.activeCredentialSequence = value; } }, metadata: _metadata }, _activeCredentialSequence_initializers, _activeCredentialSequence_extraInitializers);
|
|
123
|
+
__esDecorate(null, null, _mutationRevision_decorators, { kind: "field", name: "mutationRevision", static: false, private: false, access: { has: obj => "mutationRevision" in obj, get: obj => obj.mutationRevision, set: (obj, value) => { obj.mutationRevision = value; } }, metadata: _metadata }, _mutationRevision_initializers, _mutationRevision_extraInitializers);
|
|
124
|
+
__esDecorate(null, null, _pendingProvisioning_decorators, { kind: "field", name: "pendingProvisioning", static: false, private: false, access: { has: obj => "pendingProvisioning" in obj, get: obj => obj.pendingProvisioning, set: (obj, value) => { obj.pendingProvisioning = value; } }, metadata: _metadata }, _pendingProvisioning_initializers, _pendingProvisioning_extraInitializers);
|
|
100
125
|
__esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
|
|
101
126
|
__esDecorate(null, null, _updatedAt_decorators, { kind: "field", name: "updatedAt", static: false, private: false, access: { has: obj => "updatedAt" in obj, get: obj => obj.updatedAt, set: (obj, value) => { obj.updatedAt = value; } }, metadata: _metadata }, _updatedAt_initializers, _updatedAt_extraInitializers);
|
|
102
127
|
__esDecorate(null, null, _createdBy_decorators, { kind: "field", name: "createdBy", static: false, private: false, access: { has: obj => "createdBy" in obj, get: obj => obj.createdBy, set: (obj, value) => { obj.createdBy = value; } }, metadata: _metadata }, _createdBy_initializers, _createdBy_extraInitializers);
|
|
@@ -113,7 +138,14 @@ let GatewayClientDoc = (() => {
|
|
|
113
138
|
allowedRouteTargets = (__runInitializers(this, _hostnamePatterns_extraInitializers), __runInitializers(this, _allowedRouteTargets_initializers, []));
|
|
114
139
|
capabilities = (__runInitializers(this, _allowedRouteTargets_extraInitializers), __runInitializers(this, _capabilities_initializers, {}));
|
|
115
140
|
enabled = (__runInitializers(this, _capabilities_extraInitializers), __runInitializers(this, _enabled_initializers, true));
|
|
116
|
-
|
|
141
|
+
policyGeneration = (__runInitializers(this, _enabled_extraInitializers), __runInitializers(this, _policyGeneration_initializers, 1));
|
|
142
|
+
credentialSequence = (__runInitializers(this, _policyGeneration_extraInitializers), __runInitializers(this, _credentialSequence_initializers, 0));
|
|
143
|
+
/** Exact provisioned credential sequence authorized for the active policy. */
|
|
144
|
+
activeCredentialSequence = (__runInitializers(this, _credentialSequence_extraInitializers), __runInitializers(this, _activeCredentialSequence_initializers, 0));
|
|
145
|
+
/** Monotonic compare-and-set authority for every mutable client field. */
|
|
146
|
+
mutationRevision = (__runInitializers(this, _activeCredentialSequence_extraInitializers), __runInitializers(this, _mutationRevision_initializers, 0));
|
|
147
|
+
pendingProvisioning = (__runInitializers(this, _mutationRevision_extraInitializers), __runInitializers(this, _pendingProvisioning_initializers, null));
|
|
148
|
+
createdAt = (__runInitializers(this, _pendingProvisioning_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
|
|
117
149
|
updatedAt = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
|
|
118
150
|
createdBy = (__runInitializers(this, _updatedAt_extraInitializers), __runInitializers(this, _createdBy_initializers, void 0));
|
|
119
151
|
constructor() {
|
|
@@ -123,6 +155,45 @@ let GatewayClientDoc = (() => {
|
|
|
123
155
|
static async findById(id) {
|
|
124
156
|
return await GatewayClientDoc.getInstance({ id });
|
|
125
157
|
}
|
|
158
|
+
static async getNativeCollection() {
|
|
159
|
+
const smartdataCollection = GatewayClientDoc.collection;
|
|
160
|
+
await smartdataCollection.init();
|
|
161
|
+
return smartdataCollection.mongoDbCollection;
|
|
162
|
+
}
|
|
163
|
+
static buildRevisionSelector(idArg, revisionArg) {
|
|
164
|
+
if (revisionArg === 0) {
|
|
165
|
+
return {
|
|
166
|
+
id: idArg,
|
|
167
|
+
$or: [
|
|
168
|
+
{ mutationRevision: 0 },
|
|
169
|
+
{ mutationRevision: { $exists: false } },
|
|
170
|
+
],
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
return { id: idArg, mutationRevision: revisionArg };
|
|
174
|
+
}
|
|
175
|
+
static async compareAndSet(idArg, expectedRevisionArg, setArg, unsetArg = []) {
|
|
176
|
+
const collection = await GatewayClientDoc.getNativeCollection();
|
|
177
|
+
const update = {
|
|
178
|
+
$set: {
|
|
179
|
+
...setArg,
|
|
180
|
+
mutationRevision: expectedRevisionArg + 1,
|
|
181
|
+
_updatedAt: new Date().toISOString(),
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
if (unsetArg.length > 0) {
|
|
185
|
+
update.$unset = Object.fromEntries(unsetArg.map((fieldArg) => [fieldArg, '']));
|
|
186
|
+
}
|
|
187
|
+
const result = await collection.updateOne(GatewayClientDoc.buildRevisionSelector(idArg, expectedRevisionArg), update);
|
|
188
|
+
if (result.matchedCount !== 1)
|
|
189
|
+
return null;
|
|
190
|
+
return await GatewayClientDoc.findById(idArg);
|
|
191
|
+
}
|
|
192
|
+
static async deleteIfRevision(idArg, expectedRevisionArg) {
|
|
193
|
+
const collection = await GatewayClientDoc.getNativeCollection();
|
|
194
|
+
const result = await collection.deleteOne(GatewayClientDoc.buildRevisionSelector(idArg, expectedRevisionArg));
|
|
195
|
+
return result.deletedCount === 1;
|
|
196
|
+
}
|
|
126
197
|
static async findAll() {
|
|
127
198
|
return await GatewayClientDoc.getInstances({});
|
|
128
199
|
}
|
|
@@ -130,4 +201,4 @@ let GatewayClientDoc = (() => {
|
|
|
130
201
|
return GatewayClientDoc = _classThis;
|
|
131
202
|
})();
|
|
132
203
|
export { GatewayClientDoc };
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5nYXRld2F5LWNsaWVudC5kb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9kYi9kb2N1bWVudHMvY2xhc3Nlcy5nYXRld2F5LWNsaWVudC5kb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBa0J2RCxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFHeEMsZ0JBQWdCOzRCQUQ1QixPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7OztzQkFDTixPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBQXhDLFNBQVEsV0FBb0U7Ozs7OEJBQ3ZHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQ3ZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO2dDQUd4QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtnQ0FHeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7dUNBR3hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFOzRDQUd4QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTsrQ0FHeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7d0NBR3hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO21DQUd4QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTs0Q0FHeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJ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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as plugins from '../../plugins.js';
|
|
2
|
+
import type { IOpsConfigEvent, IOpsConfigEventCursor, IOpsConfigEventContext, TOpsConfigEventSeverity } from '../../../dist_ts_interfaces/data/config-events.js';
|
|
3
|
+
export interface IOpsConfigEventFilter {
|
|
4
|
+
acknowledged?: boolean;
|
|
5
|
+
severity?: TOpsConfigEventSeverity;
|
|
6
|
+
category?: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
cursor?: IOpsConfigEventCursor;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Durable operator-facing platform configuration event (see
|
|
12
|
+
* ts_interfaces/data/config-events.ts). Unacknowledged events persist
|
|
13
|
+
* indefinitely; acknowledged events are pruned after a retention window.
|
|
14
|
+
*/
|
|
15
|
+
export declare class OpsConfigEventDoc extends plugins.smartdata.SmartDataDbDoc<OpsConfigEventDoc, OpsConfigEventDoc> implements IOpsConfigEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
severity: TOpsConfigEventSeverity;
|
|
18
|
+
category: string;
|
|
19
|
+
title: string;
|
|
20
|
+
detail: string;
|
|
21
|
+
context: IOpsConfigEventContext;
|
|
22
|
+
createdAt: number;
|
|
23
|
+
acknowledgedBy?: string;
|
|
24
|
+
acknowledgedAt?: number;
|
|
25
|
+
/** Sparse uniqueness authority for the current open occurrence. */
|
|
26
|
+
openDedupeKey?: string;
|
|
27
|
+
constructor();
|
|
28
|
+
toApiObject(): IOpsConfigEvent;
|
|
29
|
+
createSavableObject(): Promise<OpsConfigEventDoc>;
|
|
30
|
+
private static getNativeCollection;
|
|
31
|
+
private static hydrate;
|
|
32
|
+
static upsertOpenEvent(optionsArg: {
|
|
33
|
+
id: string;
|
|
34
|
+
openDedupeKey: string;
|
|
35
|
+
severity: TOpsConfigEventSeverity;
|
|
36
|
+
category: string;
|
|
37
|
+
title: string;
|
|
38
|
+
detail: string;
|
|
39
|
+
context: IOpsConfigEventContext;
|
|
40
|
+
createdAt: number;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
event: OpsConfigEventDoc;
|
|
43
|
+
created: boolean;
|
|
44
|
+
}>;
|
|
45
|
+
static findFiltered(filter?: IOpsConfigEventFilter): Promise<{
|
|
46
|
+
events: OpsConfigEventDoc[];
|
|
47
|
+
total: number;
|
|
48
|
+
nextCursor?: IOpsConfigEventCursor;
|
|
49
|
+
}>;
|
|
50
|
+
static countUnacknowledged(): Promise<number>;
|
|
51
|
+
/** Acknowledge the given event ids; returns how many were newly acknowledged. */
|
|
52
|
+
static acknowledgeByIds(ids: string[], userId: string): Promise<number>;
|
|
53
|
+
/** Delete acknowledged events older than the retention window. */
|
|
54
|
+
static pruneAcknowledged(maxAgeMs: number): Promise<number>;
|
|
55
|
+
}
|