@futdevpro/nts-dynamo 1.15.359 → 1.15.363
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/build/_modules/git-sync/_models/git-sync.interface.d.ts +94 -0
- package/build/_modules/git-sync/_models/git-sync.interface.d.ts.map +1 -0
- package/build/_modules/git-sync/_models/git-sync.interface.js +3 -0
- package/build/_modules/git-sync/_models/git-sync.interface.js.map +1 -0
- package/build/_modules/git-sync/git-sync-input.util.d.ts +28 -0
- package/build/_modules/git-sync/git-sync-input.util.d.ts.map +1 -0
- package/build/_modules/git-sync/git-sync-input.util.js +146 -0
- package/build/_modules/git-sync/git-sync-input.util.js.map +1 -0
- package/build/_modules/git-sync/git-sync.service.d.ts +54 -0
- package/build/_modules/git-sync/git-sync.service.d.ts.map +1 -0
- package/build/_modules/git-sync/git-sync.service.js +274 -0
- package/build/_modules/git-sync/git-sync.service.js.map +1 -0
- package/build/_modules/git-sync/index.d.ts +8 -0
- package/build/_modules/git-sync/index.d.ts.map +1 -0
- package/build/_modules/git-sync/index.js +11 -0
- package/build/_modules/git-sync/index.js.map +1 -0
- package/build/_modules/imap/_models/imap-mailbox-status.interface.d.ts +10 -0
- package/build/_modules/imap/_models/imap-mailbox-status.interface.d.ts.map +1 -0
- package/build/_modules/imap/_models/imap-mailbox-status.interface.js +3 -0
- package/build/_modules/imap/_models/imap-mailbox-status.interface.js.map +1 -0
- package/build/_modules/imap/_models/imap-message-meta.interface.d.ts +18 -0
- package/build/_modules/imap/_models/imap-message-meta.interface.d.ts.map +1 -0
- package/build/_modules/imap/_models/imap-message-meta.interface.js +3 -0
- package/build/_modules/imap/_models/imap-message-meta.interface.js.map +1 -0
- package/build/_modules/imap/_models/imap-sync.interface.d.ts +22 -0
- package/build/_modules/imap/_models/imap-sync.interface.d.ts.map +1 -0
- package/build/_modules/imap/_models/imap-sync.interface.js +3 -0
- package/build/_modules/imap/_models/imap-sync.interface.js.map +1 -0
- package/build/_modules/imap/_models/imap-transport.interface.d.ts +16 -0
- package/build/_modules/imap/_models/imap-transport.interface.d.ts.map +1 -0
- package/build/_modules/imap/_models/imap-transport.interface.js +3 -0
- package/build/_modules/imap/_models/imap-transport.interface.js.map +1 -0
- package/build/_modules/imap/imap-flow.transport.d.ts +58 -0
- package/build/_modules/imap/imap-flow.transport.d.ts.map +1 -0
- package/build/_modules/imap/imap-flow.transport.js +156 -0
- package/build/_modules/imap/imap-flow.transport.js.map +1 -0
- package/build/_modules/imap/imap-inbox.service.d.ts +36 -0
- package/build/_modules/imap/imap-inbox.service.d.ts.map +1 -0
- package/build/_modules/imap/imap-inbox.service.js +81 -0
- package/build/_modules/imap/imap-inbox.service.js.map +1 -0
- package/build/_modules/imap/index.d.ts +11 -0
- package/build/_modules/imap/index.d.ts.map +1 -0
- package/build/_modules/imap/index.js +14 -0
- package/build/_modules/imap/index.js.map +1 -0
- package/build/_modules/notifications/_models/notification-mongo-collection.interface.d.ts +21 -0
- package/build/_modules/notifications/_models/notification-mongo-collection.interface.d.ts.map +1 -0
- package/build/_modules/notifications/_models/notification-mongo-collection.interface.js +3 -0
- package/build/_modules/notifications/_models/notification-mongo-collection.interface.js.map +1 -0
- package/build/_modules/notifications/_models/notification-publisher.interface.d.ts +32 -0
- package/build/_modules/notifications/_models/notification-publisher.interface.d.ts.map +1 -0
- package/build/_modules/notifications/_models/notification-publisher.interface.js +3 -0
- package/build/_modules/notifications/_models/notification-publisher.interface.js.map +1 -0
- package/build/_modules/notifications/_models/notification-store.interface.d.ts +35 -0
- package/build/_modules/notifications/_models/notification-store.interface.d.ts.map +1 -0
- package/build/_modules/notifications/_models/notification-store.interface.js +3 -0
- package/build/_modules/notifications/_models/notification-store.interface.js.map +1 -0
- package/build/_modules/notifications/_models/notification.interface.d.ts +59 -0
- package/build/_modules/notifications/_models/notification.interface.d.ts.map +1 -0
- package/build/_modules/notifications/_models/notification.interface.js +3 -0
- package/build/_modules/notifications/_models/notification.interface.js.map +1 -0
- package/build/_modules/notifications/get-notifications-routing-module.util.d.ts +18 -0
- package/build/_modules/notifications/get-notifications-routing-module.util.d.ts.map +1 -0
- package/build/_modules/notifications/get-notifications-routing-module.util.js +26 -0
- package/build/_modules/notifications/get-notifications-routing-module.util.js.map +1 -0
- package/build/_modules/notifications/index.d.ts +15 -0
- package/build/_modules/notifications/index.d.ts.map +1 -0
- package/build/_modules/notifications/index.js +18 -0
- package/build/_modules/notifications/index.js.map +1 -0
- package/build/_modules/notifications/notification-in-memory.store.d.ts +30 -0
- package/build/_modules/notifications/notification-in-memory.store.d.ts.map +1 -0
- package/build/_modules/notifications/notification-in-memory.store.js +68 -0
- package/build/_modules/notifications/notification-in-memory.store.js.map +1 -0
- package/build/_modules/notifications/notification-mongo.store.d.ts +51 -0
- package/build/_modules/notifications/notification-mongo.store.d.ts.map +1 -0
- package/build/_modules/notifications/notification-mongo.store.js +136 -0
- package/build/_modules/notifications/notification-mongo.store.js.map +1 -0
- package/build/_modules/notifications/notification.service.d.ts +67 -0
- package/build/_modules/notifications/notification.service.d.ts.map +1 -0
- package/build/_modules/notifications/notification.service.js +271 -0
- package/build/_modules/notifications/notification.service.js.map +1 -0
- package/build/_modules/notifications/notifications.controller.d.ts +31 -0
- package/build/_modules/notifications/notifications.controller.d.ts.map +1 -0
- package/build/_modules/notifications/notifications.controller.js +118 -0
- package/build/_modules/notifications/notifications.controller.js.map +1 -0
- package/package.json +33 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-sync.service.js","sourceRoot":"","sources":["../../../src/_modules/git-sync/git-sync.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BFR-OLDLIGHTSITE-003 — `@futdevpro/nts-dynamo/git-sync`: a caller-built file set synchronised into a git repository
|
|
3
|
+
* as ONE pushed commit, with the token from the FDP Keystore (`<credentialRef>_TOKEN`). Needs the `git` binary.
|
|
4
|
+
*/
|
|
5
|
+
export * from './_models/git-sync.interface';
|
|
6
|
+
export * from './git-sync-input.util';
|
|
7
|
+
export * from './git-sync.service';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/git-sync/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* BFR-OLDLIGHTSITE-003 — `@futdevpro/nts-dynamo/git-sync`: a caller-built file set synchronised into a git repository
|
|
6
|
+
* as ONE pushed commit, with the token from the FDP Keystore (`<credentialRef>_TOKEN`). Needs the `git` binary.
|
|
7
|
+
*/
|
|
8
|
+
tslib_1.__exportStar(require("./_models/git-sync.interface"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./git-sync-input.util"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./git-sync.service"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/git-sync/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uEAA6C;AAC7C,gEAAsC;AACtC,6DAAmC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** BFR-OLDLIGHTSITE-002 — the mailbox state a sync decision needs. */
|
|
2
|
+
export interface DyNTS_ImapMailboxStatus_Interface {
|
|
3
|
+
/** UIDVALIDITY as a STRING (it is a bigint on the wire; a string is JSON-safe for storing a cursor). */
|
|
4
|
+
uidValidity: string;
|
|
5
|
+
/** The predicted next UID (every existing message has a smaller one). */
|
|
6
|
+
uidNext: number;
|
|
7
|
+
unseen: number;
|
|
8
|
+
messages: number;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=imap-mailbox-status.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-mailbox-status.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-mailbox-status.interface.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,iCAAiC;IAChD,wGAAwG;IACxG,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-mailbox-status.interface.js","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-mailbox-status.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** BFR-OLDLIGHTSITE-002 — one inbox message, METADATA only (no body, no attachment). */
|
|
2
|
+
export interface DyNTS_ImapMessageMeta_Interface {
|
|
3
|
+
/** The IMAP UID (stable inside one UIDVALIDITY). */
|
|
4
|
+
uid: number;
|
|
5
|
+
/** The `Message-ID` header ('' when missing). */
|
|
6
|
+
messageId: string;
|
|
7
|
+
subject: string;
|
|
8
|
+
/** Sender addresses (`name <address>` or the bare address). */
|
|
9
|
+
from: string[];
|
|
10
|
+
to: string[];
|
|
11
|
+
/** The envelope date, else the server's internal date; `null` when neither parses. */
|
|
12
|
+
date: Date | null;
|
|
13
|
+
/** The `\Seen` flag. */
|
|
14
|
+
seen: boolean;
|
|
15
|
+
/** Size in octets (0 when the server did not report it). */
|
|
16
|
+
size: number;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=imap-message-meta.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-message-meta.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-message-meta.interface.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,WAAW,+BAA+B;IAC9C,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,sFAAsF;IACtF,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-message-meta.interface.js","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-message-meta.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DyNTS_ImapMessageMeta_Interface } from './imap-message-meta.interface';
|
|
2
|
+
/** BFR-OLDLIGHTSITE-002 — where a sync stopped; the caller stores it and passes it back next time. */
|
|
3
|
+
export interface DyNTS_ImapSyncCursor_Interface {
|
|
4
|
+
uidValidity: string;
|
|
5
|
+
/** The highest UID already delivered (0 = none). */
|
|
6
|
+
lastUid: number;
|
|
7
|
+
}
|
|
8
|
+
/** BFR-OLDLIGHTSITE-002 — one sync step. */
|
|
9
|
+
export interface DyNTS_ImapSyncResult_Interface {
|
|
10
|
+
/** Store this; pass it to the next `syncInbox` call. */
|
|
11
|
+
cursor: DyNTS_ImapSyncCursor_Interface;
|
|
12
|
+
/** New messages since the cursor, ascending by UID. */
|
|
13
|
+
messages: DyNTS_ImapMessageMeta_Interface[];
|
|
14
|
+
/**
|
|
15
|
+
* `true` when the old cursor could not be continued (first sync, or the mailbox's UIDVALIDITY changed — the server
|
|
16
|
+
* renumbered it): the caller must treat `messages` as a fresh start, not as an increment.
|
|
17
|
+
*/
|
|
18
|
+
reset: boolean;
|
|
19
|
+
/** More new messages are waiting (the batch was full) — call again with the returned cursor. */
|
|
20
|
+
hasMore: boolean;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=imap-sync.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-sync.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-sync.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,sGAAsG;AACtG,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,8BAA8B;IAC7C,wDAAwD;IACxD,MAAM,EAAE,8BAA8B,CAAC;IACvC,uDAAuD;IACvD,QAAQ,EAAE,+BAA+B,EAAE,CAAC;IAC5C;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,gGAAgG;IAChG,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-sync.interface.js","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-sync.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DyNTS_ImapMailboxStatus_Interface } from './imap-mailbox-status.interface';
|
|
2
|
+
import { DyNTS_ImapMessageMeta_Interface } from './imap-message-meta.interface';
|
|
3
|
+
/**
|
|
4
|
+
* BFR-OLDLIGHTSITE-002 — what the inbox service needs from an IMAP connection. The default implementation is
|
|
5
|
+
* `DyNTS_ImapFlow_Transport` (imapflow); a test replaces it with an in-memory fake.
|
|
6
|
+
*/
|
|
7
|
+
export interface DyNTS_ImapTransport_Interface {
|
|
8
|
+
status(mailbox: string): Promise<DyNTS_ImapMailboxStatus_Interface>;
|
|
9
|
+
/**
|
|
10
|
+
* Messages with UID ≥ `fromUid`, ascending, at most `limit`. ⚠️ An implementation may ALSO return the newest message
|
|
11
|
+
* when `fromUid` is beyond the last UID (IMAP `N:*` semantics) — the service filters, the transport need not.
|
|
12
|
+
*/
|
|
13
|
+
fetchMetaFromUid(mailbox: string, fromUid: number, limit: number): Promise<DyNTS_ImapMessageMeta_Interface[]>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=imap-transport.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-transport.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-transport.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACpE;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAC9G,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-transport.interface.js","sourceRoot":"","sources":["../../../../src/_modules/imap/_models/imap-transport.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { FetchMessageObject, ImapFlow, ImapFlowOptions } from 'imapflow';
|
|
2
|
+
import { DyNTS_EmailAccountResolution_Type } from '../../_collections/email-account.util';
|
|
3
|
+
import { DyNTS_ImapMailboxStatus_Interface } from './_models/imap-mailbox-status.interface';
|
|
4
|
+
import { DyNTS_ImapMessageMeta_Interface } from './_models/imap-message-meta.interface';
|
|
5
|
+
import { DyNTS_ImapTransport_Interface } from './_models/imap-transport.interface';
|
|
6
|
+
/** The part of `ImapFlow` this transport uses (a test passes a fake). */
|
|
7
|
+
export type DyNTS_ImapFlowClient_Type = Pick<ImapFlow, 'connect' | 'logout' | 'status' | 'getMailboxLock' | 'fetch'>;
|
|
8
|
+
/** Builds the client of one connection (the default loads imapflow lazily; a test passes a fake). */
|
|
9
|
+
export type DyNTS_ImapFlowClientFactory_Type = (options: ImapFlowOptions) => Promise<DyNTS_ImapFlowClient_Type>;
|
|
10
|
+
/** Connection settings of one IMAP account. */
|
|
11
|
+
export interface DyNTS_ImapFlowTransport_Settings_Interface {
|
|
12
|
+
host: string;
|
|
13
|
+
port: number;
|
|
14
|
+
user: string;
|
|
15
|
+
pass: string;
|
|
16
|
+
/** Implicit TLS; default: `true` on port 993, else STARTTLS when offered. */
|
|
17
|
+
secure?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* BFR-OLDLIGHTSITE-002 — the default IMAP transport, over `imapflow` (an OPTIONAL peer dependency: only a project that
|
|
21
|
+
* imports `@futdevpro/nts-dynamo/imap` needs it installed).
|
|
22
|
+
*
|
|
23
|
+
* @description One connection per call (connect → lock the mailbox → work → release → logout), so a long-running
|
|
24
|
+
* server never holds a stale IMAP session. imapflow's own logger is OFF: it would print protocol traffic, which can
|
|
25
|
+
* include the login.
|
|
26
|
+
*/
|
|
27
|
+
export declare class DyNTS_ImapFlow_Transport implements DyNTS_ImapTransport_Interface {
|
|
28
|
+
private readonly settings;
|
|
29
|
+
private readonly clientFactory;
|
|
30
|
+
constructor(settings: DyNTS_ImapFlowTransport_Settings_Interface, clientFactory?: DyNTS_ImapFlowClientFactory_Type);
|
|
31
|
+
/** The lazy import of the optional peer (a literal specifier — the `verify:lazy-peers` gate checks it). */
|
|
32
|
+
static importImapFlow: () => Promise<{
|
|
33
|
+
ImapFlow: typeof ImapFlow;
|
|
34
|
+
}>;
|
|
35
|
+
/** A real imapflow client; a missing `imapflow` is a 501 `DyNTS-OPT-MIS` that says what to install. */
|
|
36
|
+
static defaultClientFactory(options: ImapFlowOptions): Promise<DyNTS_ImapFlowClient_Type>;
|
|
37
|
+
/**
|
|
38
|
+
* The transport of a Keystore-referenced account — the SAME key pattern as the SMTP accounts
|
|
39
|
+
* (`<REF>_HOST` / `_PORT` / `_USER` / `_PASS`, see `DyNTS_EmailAccount_Util`). Not configured → `transport: null` and
|
|
40
|
+
* the resolution (key NAMES only).
|
|
41
|
+
*/
|
|
42
|
+
static fromCredentialRef(ref: {
|
|
43
|
+
credentialRef: string;
|
|
44
|
+
env?: NodeJS.ProcessEnv;
|
|
45
|
+
secure?: boolean;
|
|
46
|
+
}): {
|
|
47
|
+
transport: DyNTS_ImapFlow_Transport | null;
|
|
48
|
+
resolution: DyNTS_EmailAccountResolution_Type;
|
|
49
|
+
};
|
|
50
|
+
status(mailbox: string): Promise<DyNTS_ImapMailboxStatus_Interface>;
|
|
51
|
+
fetchMetaFromUid(mailbox: string, fromUid: number, limit: number): Promise<DyNTS_ImapMessageMeta_Interface[]>;
|
|
52
|
+
/** Connections are per call — nothing to close. */
|
|
53
|
+
close(): Promise<void>;
|
|
54
|
+
/** imapflow's message → our metadata (addresses as `name <address>`, the date parsed, `\Seen` → seen). */
|
|
55
|
+
static toMeta(message: FetchMessageObject): DyNTS_ImapMessageMeta_Interface;
|
|
56
|
+
private withClient;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=imap-flow.transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-flow.transport.d.ts","sourceRoot":"","sources":["../../../src/_modules/imap/imap-flow.transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAC9C,MAAM,UAAU,CAAC;AAElB,OAAO,EAA2B,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAEnH,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,yEAAyE;AACzE,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,GAAG,OAAO,CAAC,CAAC;AAErH,qGAAqG;AACrG,MAAM,MAAM,gCAAgC,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEhH,+CAA+C;AAC/C,MAAM,WAAW,0CAA0C;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,6BAA6B;IAG1E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,QAAQ,EAAE,0CAA0C,EACpD,aAAa,GAAE,gCAAgF;IAGlH,2GAA2G;IAC3G,MAAM,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,QAAQ,CAAA;KAAE,CAAC,CACA;IAEnE,uGAAuG;WAC1F,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAS/F;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG;QACnG,SAAS,EAAE,wBAAwB,GAAG,IAAI,CAAC;QAC3C,UAAU,EAAE,iCAAiC,CAAC;KAC/C;IAoBK,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAenE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAwBnH,mDAAmD;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,0GAA0G;IAC1G,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,+BAA+B;YAqB7D,UAAU;CAiBzB"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DyNTS_ImapFlow_Transport = void 0;
|
|
37
|
+
const email_account_util_1 = require("../../_collections/email-account.util");
|
|
38
|
+
const optional_peer_util_1 = require("../../_collections/optional-peer.util");
|
|
39
|
+
/**
|
|
40
|
+
* BFR-OLDLIGHTSITE-002 — the default IMAP transport, over `imapflow` (an OPTIONAL peer dependency: only a project that
|
|
41
|
+
* imports `@futdevpro/nts-dynamo/imap` needs it installed).
|
|
42
|
+
*
|
|
43
|
+
* @description One connection per call (connect → lock the mailbox → work → release → logout), so a long-running
|
|
44
|
+
* server never holds a stale IMAP session. imapflow's own logger is OFF: it would print protocol traffic, which can
|
|
45
|
+
* include the login.
|
|
46
|
+
*/
|
|
47
|
+
class DyNTS_ImapFlow_Transport {
|
|
48
|
+
settings;
|
|
49
|
+
clientFactory;
|
|
50
|
+
constructor(settings, clientFactory = DyNTS_ImapFlow_Transport.defaultClientFactory) {
|
|
51
|
+
this.settings = settings;
|
|
52
|
+
this.clientFactory = clientFactory;
|
|
53
|
+
}
|
|
54
|
+
/** The lazy import of the optional peer (a literal specifier — the `verify:lazy-peers` gate checks it). */
|
|
55
|
+
static importImapFlow = () => Promise.resolve().then(() => __importStar(require('imapflow')));
|
|
56
|
+
/** A real imapflow client; a missing `imapflow` is a 501 `DyNTS-OPT-MIS` that says what to install. */
|
|
57
|
+
static async defaultClientFactory(options) {
|
|
58
|
+
const imapflow = await optional_peer_util_1.DyNTS_OptionalPeer_Util.load({
|
|
59
|
+
packageName: 'imapflow', range: '>=2.0.7 <3', feature: 'the IMAP transport',
|
|
60
|
+
importer: () => DyNTS_ImapFlow_Transport.importImapFlow(),
|
|
61
|
+
});
|
|
62
|
+
return new imapflow.ImapFlow(options);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The transport of a Keystore-referenced account — the SAME key pattern as the SMTP accounts
|
|
66
|
+
* (`<REF>_HOST` / `_PORT` / `_USER` / `_PASS`, see `DyNTS_EmailAccount_Util`). Not configured → `transport: null` and
|
|
67
|
+
* the resolution (key NAMES only).
|
|
68
|
+
*/
|
|
69
|
+
static fromCredentialRef(ref) {
|
|
70
|
+
const resolution = email_account_util_1.DyNTS_EmailAccount_Util.resolve({ credentialRef: ref.credentialRef, rootPath: '', env: ref.env });
|
|
71
|
+
if (resolution.status !== 'configured') {
|
|
72
|
+
return { transport: null, resolution: resolution };
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
transport: new DyNTS_ImapFlow_Transport({
|
|
76
|
+
host: resolution.settings.host,
|
|
77
|
+
port: resolution.settings.port,
|
|
78
|
+
user: resolution.settings.email,
|
|
79
|
+
pass: resolution.settings.pass,
|
|
80
|
+
secure: ref.secure,
|
|
81
|
+
}),
|
|
82
|
+
resolution: resolution,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
async status(mailbox) {
|
|
86
|
+
return this.withClient(async (client) => {
|
|
87
|
+
const status = await client.status(mailbox, {
|
|
88
|
+
messages: true, uidNext: true, uidValidity: true, unseen: true,
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
uidValidity: String(status.uidValidity ?? ''),
|
|
92
|
+
uidNext: status.uidNext ?? 1,
|
|
93
|
+
unseen: status.unseen ?? 0,
|
|
94
|
+
messages: status.messages ?? 0,
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
async fetchMetaFromUid(mailbox, fromUid, limit) {
|
|
99
|
+
return this.withClient(async (client) => {
|
|
100
|
+
const lock = await client.getMailboxLock(mailbox);
|
|
101
|
+
const result = [];
|
|
102
|
+
try {
|
|
103
|
+
for await (const message of client.fetch(`${Math.max(1, Math.floor(fromUid))}:*`, { uid: true, envelope: true, flags: true, size: true, internalDate: true }, { uid: true })) {
|
|
104
|
+
result.push(DyNTS_ImapFlow_Transport.toMeta(message));
|
|
105
|
+
if (result.length >= limit) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
lock.release();
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Connections are per call — nothing to close. */
|
|
117
|
+
async close() {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
/** imapflow's message → our metadata (addresses as `name <address>`, the date parsed, `\Seen` → seen). */
|
|
121
|
+
static toMeta(message) {
|
|
122
|
+
const address = (list) => (list ?? [])
|
|
123
|
+
.map((entry) => (entry.name ? `${entry.name} <${entry.address ?? ''}>` : String(entry.address ?? '')))
|
|
124
|
+
.filter((text) => text.length > 0);
|
|
125
|
+
const rawDate = message.envelope?.date ?? message.internalDate;
|
|
126
|
+
const date = rawDate ? new Date(rawDate) : null;
|
|
127
|
+
return {
|
|
128
|
+
uid: message.uid,
|
|
129
|
+
messageId: message.envelope?.messageId ?? '',
|
|
130
|
+
subject: message.envelope?.subject ?? '',
|
|
131
|
+
from: address(message.envelope?.from),
|
|
132
|
+
to: address(message.envelope?.to),
|
|
133
|
+
date: date && !Number.isNaN(date.getTime()) ? date : null,
|
|
134
|
+
seen: message.flags?.has('\\Seen') ?? false,
|
|
135
|
+
size: message.size ?? 0,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
async withClient(work) {
|
|
139
|
+
const client = await this.clientFactory({
|
|
140
|
+
host: this.settings.host,
|
|
141
|
+
port: this.settings.port,
|
|
142
|
+
secure: this.settings.secure ?? this.settings.port === 993,
|
|
143
|
+
auth: { user: this.settings.user, pass: this.settings.pass },
|
|
144
|
+
logger: false,
|
|
145
|
+
});
|
|
146
|
+
await client.connect();
|
|
147
|
+
try {
|
|
148
|
+
return await work(client);
|
|
149
|
+
}
|
|
150
|
+
finally {
|
|
151
|
+
await client.logout().catch(() => undefined);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.DyNTS_ImapFlow_Transport = DyNTS_ImapFlow_Transport;
|
|
156
|
+
//# sourceMappingURL=imap-flow.transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-flow.transport.js","sourceRoot":"","sources":["../../../src/_modules/imap/imap-flow.transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DyNTS_ImapSyncCursor_Interface, DyNTS_ImapSyncResult_Interface } from './_models/imap-sync.interface';
|
|
2
|
+
import { DyNTS_ImapTransport_Interface } from './_models/imap-transport.interface';
|
|
3
|
+
/** Settings of one inbox. */
|
|
4
|
+
export interface DyNTS_ImapInbox_Settings_Interface {
|
|
5
|
+
transport: DyNTS_ImapTransport_Interface;
|
|
6
|
+
/** Default `INBOX`. */
|
|
7
|
+
mailbox?: string;
|
|
8
|
+
/** Messages per `syncInbox` call (default 50, 1–500). */
|
|
9
|
+
batchSize?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* BFR-OLDLIGHTSITE-002 — a provider-independent IMAP inbox: unread count + an idempotent, cursor-based metadata sync.
|
|
13
|
+
*
|
|
14
|
+
* @description The caller keeps a cursor (`{ uidValidity, lastUid }`) and passes it back; the same cursor always yields
|
|
15
|
+
* the same step, so a crashed or repeated sync never skips or duplicates a message. When the server's UIDVALIDITY
|
|
16
|
+
* changes (it renumbered the mailbox), the old cursor is meaningless: the sync restarts from UID 1 and says so
|
|
17
|
+
* (`reset: true`). Only metadata is read — never a body or an attachment.
|
|
18
|
+
*/
|
|
19
|
+
export declare class DyNTS_ImapInbox_Service {
|
|
20
|
+
private readonly transport;
|
|
21
|
+
private readonly mailbox;
|
|
22
|
+
private readonly batchSize;
|
|
23
|
+
/** Mailbox defaults to `INBOX`; the batch size is clamped to 1–500. */
|
|
24
|
+
constructor(settings: DyNTS_ImapInbox_Settings_Interface);
|
|
25
|
+
/** The number of unseen messages in the mailbox. */
|
|
26
|
+
getUnreadCount(): Promise<number>;
|
|
27
|
+
/** One sync step from `cursor` (none = the first sync). */
|
|
28
|
+
syncInbox(cursor?: DyNTS_ImapSyncCursor_Interface | null): Promise<DyNTS_ImapSyncResult_Interface>;
|
|
29
|
+
/** Closes the transport. */
|
|
30
|
+
close(): Promise<void>;
|
|
31
|
+
/** The mailbox status, through the error-wrapping `call`. */
|
|
32
|
+
private readStatus;
|
|
33
|
+
/** Runs a transport call; a failure becomes a rich, secret-free `DyFM_Error`. */
|
|
34
|
+
private call;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=imap-inbox.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-inbox.service.d.ts","sourceRoot":"","sources":["../../../src/_modules/imap/imap-inbox.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,6BAA6B;AAC7B,MAAM,WAAW,kCAAkC;IACjD,SAAS,EAAE,6BAA6B,CAAC;IACzC,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,uEAAuE;gBAC3D,QAAQ,EAAE,kCAAkC;IAMxD,oDAAoD;IAC9C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMvC,2DAA2D;IACrD,SAAS,CAAC,MAAM,CAAC,EAAE,8BAA8B,GAAG,IAAI,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAkCxG,4BAA4B;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,6DAA6D;YAC/C,UAAU;IAMxB,iFAAiF;YACnE,IAAI;CAcnB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_ImapInbox_Service = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const global_settings_const_1 = require("../../_collections/global-settings.const");
|
|
6
|
+
const secret_redaction_util_1 = require("../../_collections/secret-redaction.util");
|
|
7
|
+
/**
|
|
8
|
+
* BFR-OLDLIGHTSITE-002 — a provider-independent IMAP inbox: unread count + an idempotent, cursor-based metadata sync.
|
|
9
|
+
*
|
|
10
|
+
* @description The caller keeps a cursor (`{ uidValidity, lastUid }`) and passes it back; the same cursor always yields
|
|
11
|
+
* the same step, so a crashed or repeated sync never skips or duplicates a message. When the server's UIDVALIDITY
|
|
12
|
+
* changes (it renumbered the mailbox), the old cursor is meaningless: the sync restarts from UID 1 and says so
|
|
13
|
+
* (`reset: true`). Only metadata is read — never a body or an attachment.
|
|
14
|
+
*/
|
|
15
|
+
class DyNTS_ImapInbox_Service {
|
|
16
|
+
transport;
|
|
17
|
+
mailbox;
|
|
18
|
+
batchSize;
|
|
19
|
+
/** Mailbox defaults to `INBOX`; the batch size is clamped to 1–500. */
|
|
20
|
+
constructor(settings) {
|
|
21
|
+
this.transport = settings.transport;
|
|
22
|
+
this.mailbox = settings.mailbox || 'INBOX';
|
|
23
|
+
this.batchSize = Math.min(500, Math.max(1, Math.floor(settings.batchSize ?? 50)));
|
|
24
|
+
}
|
|
25
|
+
/** The number of unseen messages in the mailbox. */
|
|
26
|
+
async getUnreadCount() {
|
|
27
|
+
const status = await this.readStatus('DyNTS-IMAP-UNREAD');
|
|
28
|
+
return status.unseen;
|
|
29
|
+
}
|
|
30
|
+
/** One sync step from `cursor` (none = the first sync). */
|
|
31
|
+
async syncInbox(cursor) {
|
|
32
|
+
const status = await this.readStatus('DyNTS-IMAP-SYNC-STATUS');
|
|
33
|
+
const reset = !cursor || cursor.uidValidity !== status.uidValidity;
|
|
34
|
+
const lastUid = reset ? 0 : Math.max(0, Math.floor(cursor.lastUid));
|
|
35
|
+
const fromUid = lastUid + 1;
|
|
36
|
+
if (fromUid >= status.uidNext) {
|
|
37
|
+
return {
|
|
38
|
+
cursor: { uidValidity: status.uidValidity, lastUid: lastUid }, messages: [], reset: reset, hasMore: false,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const fetched = await this.call('fetch', 'DyNTS-IMAP-SYNC-FETCH', () => (this.transport.fetchMetaFromUid(this.mailbox, fromUid, this.batchSize)));
|
|
42
|
+
// IMAP `N:*` also returns the newest message when N is past it — never deliver an old one again
|
|
43
|
+
const messages = fetched
|
|
44
|
+
.filter((message) => message.uid >= fromUid)
|
|
45
|
+
.sort((a, b) => a.uid - b.uid)
|
|
46
|
+
.slice(0, this.batchSize);
|
|
47
|
+
const newLastUid = messages.length ? messages[messages.length - 1].uid : lastUid;
|
|
48
|
+
return {
|
|
49
|
+
cursor: { uidValidity: status.uidValidity, lastUid: newLastUid },
|
|
50
|
+
messages: messages,
|
|
51
|
+
reset: reset,
|
|
52
|
+
hasMore: messages.length === this.batchSize && newLastUid + 1 < status.uidNext,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** Closes the transport. */
|
|
56
|
+
async close() {
|
|
57
|
+
await this.transport.close();
|
|
58
|
+
}
|
|
59
|
+
/** The mailbox status, through the error-wrapping `call`. */
|
|
60
|
+
async readStatus(code) {
|
|
61
|
+
return this.call('status', code, () => this.transport.status(this.mailbox));
|
|
62
|
+
}
|
|
63
|
+
/** Runs a transport call; a failure becomes a rich, secret-free `DyFM_Error`. */
|
|
64
|
+
async call(operation, code, run) {
|
|
65
|
+
try {
|
|
66
|
+
return await run();
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
70
|
+
status: 503,
|
|
71
|
+
errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|${code}`,
|
|
72
|
+
message: `IMAP ${operation} failed on "${this.mailbox}": `
|
|
73
|
+
+ secret_redaction_util_1.DyNTS_SecretRedaction_Util.redactText(fsm_dynamo_1.DyFM_Error.getErrorMessage(error)),
|
|
74
|
+
userMessage: 'The mailbox cannot be read at the moment. Please try again later.',
|
|
75
|
+
error: secret_redaction_util_1.DyNTS_SecretRedaction_Util.redactErrorForLog(error),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.DyNTS_ImapInbox_Service = DyNTS_ImapInbox_Service;
|
|
81
|
+
//# sourceMappingURL=imap-inbox.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imap-inbox.service.js","sourceRoot":"","sources":["../../../src/_modules/imap/imap-inbox.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BFR-OLDLIGHTSITE-002 — `@futdevpro/nts-dynamo/imap`: a provider-independent IMAP inbox (unread count + idempotent
|
|
3
|
+
* metadata sync). Needs the OPTIONAL peer dependency `imapflow` (only when this entry point is imported).
|
|
4
|
+
*/
|
|
5
|
+
export * from './_models/imap-mailbox-status.interface';
|
|
6
|
+
export * from './_models/imap-message-meta.interface';
|
|
7
|
+
export * from './_models/imap-sync.interface';
|
|
8
|
+
export * from './_models/imap-transport.interface';
|
|
9
|
+
export * from './imap-inbox.service';
|
|
10
|
+
export * from './imap-flow.transport';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/imap/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* BFR-OLDLIGHTSITE-002 — `@futdevpro/nts-dynamo/imap`: a provider-independent IMAP inbox (unread count + idempotent
|
|
6
|
+
* metadata sync). Needs the OPTIONAL peer dependency `imapflow` (only when this entry point is imported).
|
|
7
|
+
*/
|
|
8
|
+
tslib_1.__exportStar(require("./_models/imap-mailbox-status.interface"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./_models/imap-message-meta.interface"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./_models/imap-sync.interface"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./_models/imap-transport.interface"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./imap-inbox.service"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./imap-flow.transport"), exports);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/imap/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,kFAAwD;AACxD,gFAAsD;AACtD,wEAA8C;AAC9C,6EAAmD;AACnD,+DAAqC;AACrC,gEAAsC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BFR-OLDLIGHTSITE-001 — the minimal MongoDB collection surface `DyNTS_Notification_MongoStore` needs. A native
|
|
3
|
+
* driver `Collection` and `mongoose.connection.collection(name)` satisfy it structurally, so the store has no hard
|
|
4
|
+
* driver dependency.
|
|
5
|
+
*/
|
|
6
|
+
export interface DyNTS_NotificationMongoCollection_Interface {
|
|
7
|
+
insertOne(document: object): Promise<unknown>;
|
|
8
|
+
findOne(filter: object): Promise<unknown>;
|
|
9
|
+
find(filter: object, options?: object): {
|
|
10
|
+
toArray(): Promise<unknown[]>;
|
|
11
|
+
};
|
|
12
|
+
countDocuments(filter: object): Promise<number>;
|
|
13
|
+
updateMany(filter: object, update: object): Promise<{
|
|
14
|
+
modifiedCount?: number;
|
|
15
|
+
}>;
|
|
16
|
+
/** Ascending / descending keys only — the shape a native `Collection` accepts without a cast. */
|
|
17
|
+
createIndex(spec: {
|
|
18
|
+
[key: string]: 1 | -1;
|
|
19
|
+
}, options: object): Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=notification-mongo-collection.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-mongo-collection.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/notifications/_models/notification-mongo-collection.interface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,2CAA2C;IAC1D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC;IAC1E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,iGAAiG;IACjG,WAAW,CAAC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;KAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-mongo-collection.interface.js","sourceRoot":"","sources":["../../../../src/_modules/notifications/_models/notification-mongo-collection.interface.ts"],"names":[],"mappings":""}
|