@brightchain/brightchain-lib 0.29.8 → 0.29.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-lib",
3
- "version": "0.29.8",
3
+ "version": "0.29.10",
4
4
  "description": "BrightChain core library - browser-compatible blockchain storage",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -43,6 +43,10 @@ export interface IPrivateMemberData<TID extends PlatformID = Uint8Array> {
43
43
  autoReplication: boolean;
44
44
  minRedundancy: number;
45
45
  preferredRegions: string[];
46
+ /** PEM-encoded X.509 certificate for S/MIME encryption and signing */
47
+ smimeCertificate?: string;
48
+ /** ASCII-armored GPG public key */
49
+ gpgPublicKey?: string;
46
50
  };
47
51
  activityLog: Array<{
48
52
  timestamp: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"memberData.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/memberData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memberData.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/memberData.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAEpE,EAAE,EAAE,GAAG,CAAC;IACR,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAGlB,SAAS,EAAE,UAAU,CAAC;IACtB,eAAe,EAAE,UAAU,CAAC;IAG5B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IAGnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IAGpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAErE,EAAE,EAAE,GAAG,CAAC;IACR,YAAY,EAAE,WAAW,CAAC;IAG1B,YAAY,CAAC,EAAE,UAAU,CAAC;IAG1B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0GAA0G;IAC1G,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAElC,gEAAgE;IAChE,yBAAyB,CAAC,EAAE,0BAA0B,CAAC;IAEvD,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY,EAAE,GAAG,EAAE,CAAC;IAGpB,QAAQ,EAAE;QACR,eAAe,EAAE,OAAO,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,sEAAsE;QACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mCAAmC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAGF,WAAW,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE,IAAI,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IACnE,EAAE,EAAE,GAAG,CAAC;IACR,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IACpE,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,EAAE,QAAQ,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;IACrB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IACvE,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IACjE,EAAE,EAAE,GAAG,CAAC;IACR,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0GAA0G;IAC1G,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAElE,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAGzD,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,eAAe,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAE/D,YAAY,CACV,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACzE,SAAS,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,YAAY,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,CACR,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAClC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAGpC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE"}
@@ -7,4 +7,5 @@ export * from './messageMetadata';
7
7
  export * from './messageMetadataStore';
8
8
  export * from './messageSystemConfig';
9
9
  export * from './mimePart';
10
+ export * from './recipientVerification';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC"}
@@ -10,4 +10,5 @@ tslib_1.__exportStar(require("./messageMetadata"), exports);
10
10
  tslib_1.__exportStar(require("./messageMetadataStore"), exports);
11
11
  tslib_1.__exportStar(require("./messageSystemConfig"), exports);
12
12
  tslib_1.__exportStar(require("./mimePart"), exports);
13
+ tslib_1.__exportStar(require("./recipientVerification"), exports);
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,yDAA+B;AAC/B,0DAAgC;AAChC,yDAA+B;AAC/B,0DAAgC;AAChC,4DAAkC;AAClC,iEAAuC;AACvC,gEAAsC;AACtC,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,yDAA+B;AAC/B,0DAAgC;AAChC,yDAA+B;AAC/B,0DAAgC;AAChC,4DAAkC;AAClC,iEAAuC;AACvC,gEAAsC;AACtC,qDAA2B;AAC3B,kEAAwC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Local recipient verification types.
3
+ *
4
+ * Defines the IRecipientVerificationResult interface returned by the
5
+ * verify-recipient endpoint, plus rate-limit constants. Shared between
6
+ * frontend and backend via brightchain-lib.
7
+ *
8
+ * @see Requirements 8.7, 8.8
9
+ * @module recipientVerification
10
+ */
11
+ /**
12
+ * Response shape for the local recipient verification endpoint.
13
+ * Defined in brightchain-lib so both frontend and backend share the type.
14
+ */
15
+ export interface IRecipientVerificationResult {
16
+ /** The username (local part) that was checked. */
17
+ username: string;
18
+ /** Whether a member with this username exists on the local domain. */
19
+ exists: boolean;
20
+ }
21
+ /** Max verification requests per authenticated user per minute. */
22
+ export declare const RECIPIENT_VERIFY_RATE_LIMIT = 10;
23
+ /** Sliding window duration for the per-user rate limit (1 minute). */
24
+ export declare const RECIPIENT_VERIFY_WINDOW_MS = 60000;
25
+ //# sourceMappingURL=recipientVerification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipientVerification.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/recipientVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,QAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Local recipient verification types.
4
+ *
5
+ * Defines the IRecipientVerificationResult interface returned by the
6
+ * verify-recipient endpoint, plus rate-limit constants. Shared between
7
+ * frontend and backend via brightchain-lib.
8
+ *
9
+ * @see Requirements 8.7, 8.8
10
+ * @module recipientVerification
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RECIPIENT_VERIFY_WINDOW_MS = exports.RECIPIENT_VERIFY_RATE_LIMIT = void 0;
14
+ /** Max verification requests per authenticated user per minute. */
15
+ exports.RECIPIENT_VERIFY_RATE_LIMIT = 10;
16
+ /** Sliding window duration for the per-user rate limit (1 minute). */
17
+ exports.RECIPIENT_VERIFY_WINDOW_MS = 60_000;
18
+ //# sourceMappingURL=recipientVerification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipientVerification.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/recipientVerification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAaH,mEAAmE;AACtD,QAAA,2BAA2B,GAAG,EAAE,CAAC;AAE9C,sEAAsE;AACzD,QAAA,0BAA0B,GAAG,MAAM,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Attachment Validation Utilities
3
+ *
4
+ * Pure functions for validating email attachment sizes and formatting file sizes
5
+ * into human-readable strings. Shared between frontend (instant feedback) and
6
+ * backend (authoritative validation).
7
+ *
8
+ * @module attachmentValidation
9
+ */
10
+ /**
11
+ * Maximum allowed attachment size in bytes (25 MB).
12
+ * Matches the IEmailGatewayConfig.maxMessageSizeBytes default.
13
+ */
14
+ export declare const MAX_ATTACHMENT_SIZE_BYTES: number;
15
+ /**
16
+ * Validate that a single attachment's size does not exceed the maximum.
17
+ *
18
+ * @param sizeBytes - The size of the attachment in bytes
19
+ * @param maxBytes - The maximum allowed size in bytes
20
+ * @returns true if sizeBytes ≤ maxBytes
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * validateAttachmentSize(1024, MAX_ATTACHMENT_SIZE_BYTES); // true
25
+ * validateAttachmentSize(30 * 1024 * 1024, MAX_ATTACHMENT_SIZE_BYTES); // false
26
+ * ```
27
+ */
28
+ export declare function validateAttachmentSize(sizeBytes: number, maxBytes: number): boolean;
29
+ /**
30
+ * Validate that all attachments individually and cumulatively fit within the limit.
31
+ *
32
+ * Returns true if and only if every individual size ≤ maxBytes AND the sum of
33
+ * all sizes ≤ maxBytes.
34
+ *
35
+ * @param sizes - Array of attachment sizes in bytes
36
+ * @param maxBytes - The maximum allowed size in bytes (applies per-file and total)
37
+ * @returns true if all individual sizes and the total are within the limit
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * validateTotalAttachmentSize([1024, 2048], MAX_ATTACHMENT_SIZE_BYTES); // true
42
+ * validateTotalAttachmentSize([20 * 1024 * 1024, 10 * 1024 * 1024], MAX_ATTACHMENT_SIZE_BYTES); // false (total > 25MB)
43
+ * ```
44
+ */
45
+ export declare function validateTotalAttachmentSize(sizes: number[], maxBytes: number): boolean;
46
+ /**
47
+ * Format a byte count into a human-readable string with appropriate units.
48
+ *
49
+ * Uses units B, KB, MB, GB. The numeric value is always < 1024 for B, KB, and MB
50
+ * units. GB has no upper bound. Values are rounded to two decimal places for
51
+ * KB, MB, and GB.
52
+ *
53
+ * @param bytes - Non-negative byte count to format
54
+ * @returns Human-readable string (e.g., "1.50 KB", "25.00 MB")
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * formatFileSize(0); // "0 B"
59
+ * formatFileSize(512); // "512 B"
60
+ * formatFileSize(1536); // "1.50 KB"
61
+ * formatFileSize(26214400); // "25.00 MB"
62
+ * ```
63
+ */
64
+ export declare function formatFileSize(bytes: number): string;
65
+ //# sourceMappingURL=attachmentValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachmentValidation.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/utils/attachmentValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAET;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAST;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBpD"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * Attachment Validation Utilities
4
+ *
5
+ * Pure functions for validating email attachment sizes and formatting file sizes
6
+ * into human-readable strings. Shared between frontend (instant feedback) and
7
+ * backend (authoritative validation).
8
+ *
9
+ * @module attachmentValidation
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MAX_ATTACHMENT_SIZE_BYTES = void 0;
13
+ exports.validateAttachmentSize = validateAttachmentSize;
14
+ exports.validateTotalAttachmentSize = validateTotalAttachmentSize;
15
+ exports.formatFileSize = formatFileSize;
16
+ /**
17
+ * Maximum allowed attachment size in bytes (25 MB).
18
+ * Matches the IEmailGatewayConfig.maxMessageSizeBytes default.
19
+ */
20
+ exports.MAX_ATTACHMENT_SIZE_BYTES = 25 * 1024 * 1024;
21
+ /**
22
+ * Validate that a single attachment's size does not exceed the maximum.
23
+ *
24
+ * @param sizeBytes - The size of the attachment in bytes
25
+ * @param maxBytes - The maximum allowed size in bytes
26
+ * @returns true if sizeBytes ≤ maxBytes
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * validateAttachmentSize(1024, MAX_ATTACHMENT_SIZE_BYTES); // true
31
+ * validateAttachmentSize(30 * 1024 * 1024, MAX_ATTACHMENT_SIZE_BYTES); // false
32
+ * ```
33
+ */
34
+ function validateAttachmentSize(sizeBytes, maxBytes) {
35
+ return sizeBytes <= maxBytes;
36
+ }
37
+ /**
38
+ * Validate that all attachments individually and cumulatively fit within the limit.
39
+ *
40
+ * Returns true if and only if every individual size ≤ maxBytes AND the sum of
41
+ * all sizes ≤ maxBytes.
42
+ *
43
+ * @param sizes - Array of attachment sizes in bytes
44
+ * @param maxBytes - The maximum allowed size in bytes (applies per-file and total)
45
+ * @returns true if all individual sizes and the total are within the limit
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * validateTotalAttachmentSize([1024, 2048], MAX_ATTACHMENT_SIZE_BYTES); // true
50
+ * validateTotalAttachmentSize([20 * 1024 * 1024, 10 * 1024 * 1024], MAX_ATTACHMENT_SIZE_BYTES); // false (total > 25MB)
51
+ * ```
52
+ */
53
+ function validateTotalAttachmentSize(sizes, maxBytes) {
54
+ let total = 0;
55
+ for (const size of sizes) {
56
+ if (size > maxBytes) {
57
+ return false;
58
+ }
59
+ total += size;
60
+ }
61
+ return total <= maxBytes;
62
+ }
63
+ /**
64
+ * Format a byte count into a human-readable string with appropriate units.
65
+ *
66
+ * Uses units B, KB, MB, GB. The numeric value is always < 1024 for B, KB, and MB
67
+ * units. GB has no upper bound. Values are rounded to two decimal places for
68
+ * KB, MB, and GB.
69
+ *
70
+ * @param bytes - Non-negative byte count to format
71
+ * @returns Human-readable string (e.g., "1.50 KB", "25.00 MB")
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * formatFileSize(0); // "0 B"
76
+ * formatFileSize(512); // "512 B"
77
+ * formatFileSize(1536); // "1.50 KB"
78
+ * formatFileSize(26214400); // "25.00 MB"
79
+ * ```
80
+ */
81
+ function formatFileSize(bytes) {
82
+ if (bytes < 1024) {
83
+ return `${bytes} B`;
84
+ }
85
+ const kb = bytes / 1024;
86
+ if (kb < 1024) {
87
+ return `${kb.toFixed(2)} KB`;
88
+ }
89
+ const mb = kb / 1024;
90
+ if (mb < 1024) {
91
+ return `${mb.toFixed(2)} MB`;
92
+ }
93
+ const gb = mb / 1024;
94
+ return `${gb.toFixed(2)} GB`;
95
+ }
96
+ //# sourceMappingURL=attachmentValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachmentValidation.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/utils/attachmentValidation.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAqBH,wDAKC;AAkBD,kEAYC;AAoBD,wCAiBC;AA3FD;;;GAGG;AACU,QAAA,yBAAyB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,SAAgB,sBAAsB,CACpC,SAAiB,EACjB,QAAgB;IAEhB,OAAO,SAAS,IAAI,QAAQ,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,2BAA2B,CACzC,KAAe,EACf,QAAgB;IAEhB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,IAAI,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,IAAI,QAAQ,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC"}
@@ -121,4 +121,18 @@ export * from './dateUtils';
121
121
  * @see {@link paginateItems}
122
122
  */
123
123
  export * from './pagination';
124
+ /**
125
+ * Email attachment validation and file size formatting utilities.
126
+ *
127
+ * Provides pure functions shared between frontend and backend for:
128
+ * - Validating individual attachment sizes against a maximum
129
+ * - Validating cumulative attachment sizes
130
+ * - Formatting byte counts into human-readable strings (B, KB, MB, GB)
131
+ *
132
+ * @see {@link validateAttachmentSize}
133
+ * @see {@link validateTotalAttachmentSize}
134
+ * @see {@link formatFileSize}
135
+ * @see {@link MAX_ATTACHMENT_SIZE_BYTES}
136
+ */
137
+ export * from './attachmentValidation';
124
138
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAK5B;;;;;;;;;GASG;AACH,cAAc,iBAAiB,CAAC;AAKhC;;;;;;;;;GASG;AACH,cAAc,YAAY,CAAC;AAK3B;;;;;;;;;;;;GAYG;AACH,cAAc,gBAAgB,CAAC;AAK/B;;;;;;;;;;;;GAYG;AACH,cAAc,mBAAmB,CAAC;AAKlC;;;;;;;;;;;;;GAaG;AACH,cAAc,cAAc,CAAC;AAK7B;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAK5B;;;;;;;GAOG;AACH,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAK5B;;;;;;;;;GASG;AACH,cAAc,iBAAiB,CAAC;AAKhC;;;;;;;;;GASG;AACH,cAAc,YAAY,CAAC;AAK3B;;;;;;;;;;;;GAYG;AACH,cAAc,gBAAgB,CAAC;AAK/B;;;;;;;;;;;;GAYG;AACH,cAAc,mBAAmB,CAAC;AAKlC;;;;;;;;;;;;;GAaG;AACH,cAAc,cAAc,CAAC;AAK7B;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAK5B;;;;;;;GAOG;AACH,cAAc,cAAc,CAAC;AAK7B;;;;;;;;;;;;GAYG;AACH,cAAc,wBAAwB,CAAC"}
@@ -148,4 +148,21 @@ tslib_1.__exportStar(require("./dateUtils"), exports);
148
148
  * @see {@link paginateItems}
149
149
  */
150
150
  tslib_1.__exportStar(require("./pagination"), exports);
151
+ // ============================================================================
152
+ // Attachment Validation Utilities
153
+ // ============================================================================
154
+ /**
155
+ * Email attachment validation and file size formatting utilities.
156
+ *
157
+ * Provides pure functions shared between frontend and backend for:
158
+ * - Validating individual attachment sizes against a maximum
159
+ * - Validating cumulative attachment sizes
160
+ * - Formatting byte counts into human-readable strings (B, KB, MB, GB)
161
+ *
162
+ * @see {@link validateAttachmentSize}
163
+ * @see {@link validateTotalAttachmentSize}
164
+ * @see {@link formatFileSize}
165
+ * @see {@link MAX_ATTACHMENT_SIZE_BYTES}
166
+ */
167
+ tslib_1.__exportStar(require("./attachmentValidation"), exports);
151
168
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAEH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,sDAA4B;AAE5B,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAC/E;;;;;;;;;GASG;AACH,0DAAgC;AAEhC,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAC/E;;;;;;;;;GASG;AACH,qDAA2B;AAE3B,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,yDAA+B;AAE/B,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,4DAAkC;AAElC,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E;;;;;;;;;;;;;GAaG;AACH,uDAA6B;AAE7B,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,sDAA4B;AAE5B,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E;;;;;;;GAOG;AACH,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAEH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,sDAA4B;AAE5B,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAC/E;;;;;;;;;GASG;AACH,0DAAgC;AAEhC,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAC/E;;;;;;;;;GASG;AACH,qDAA2B;AAE3B,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,yDAA+B;AAE/B,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,4DAAkC;AAElC,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E;;;;;;;;;;;;;GAaG;AACH,uDAA6B;AAE7B,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,sDAA4B;AAE5B,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E;;;;;;;GAOG;AACH,uDAA6B;AAE7B,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAC/E;;;;;;;;;;;;GAYG;AACH,iEAAuC"}