@explorins/pers-shared 2.1.147 → 2.1.149

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/cjs/index.d.ts +1 -0
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/index.js +1 -0
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/shared-lib/constants/image-cdn.constants.d.ts +65 -0
  7. package/dist/cjs/shared-lib/constants/image-cdn.constants.d.ts.map +1 -0
  8. package/dist/cjs/shared-lib/constants/image-cdn.constants.js +86 -0
  9. package/dist/cjs/shared-lib/constants/image-cdn.constants.js.map +1 -0
  10. package/dist/cjs/shared-lib/constants/index.d.ts +2 -0
  11. package/dist/cjs/shared-lib/constants/index.d.ts.map +1 -0
  12. package/dist/cjs/shared-lib/constants/index.js +19 -0
  13. package/dist/cjs/shared-lib/constants/index.js.map +1 -0
  14. package/dist/cjs/shared-lib/decorators/validation.decorators.d.ts +40 -0
  15. package/dist/cjs/shared-lib/decorators/validation.decorators.d.ts.map +1 -1
  16. package/dist/cjs/shared-lib/decorators/validation.decorators.js +48 -0
  17. package/dist/cjs/shared-lib/decorators/validation.decorators.js.map +1 -1
  18. package/dist/cjs/shared-lib/dto/campaign/campaign.dto.js +1 -1
  19. package/dist/cjs/shared-lib/dto/campaign/campaign.dto.js.map +1 -1
  20. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts.map +1 -1
  21. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js +2 -1
  22. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  23. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts +6 -0
  24. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -1
  25. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js +54 -3
  26. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js.map +1 -1
  27. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts +0 -7
  28. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
  29. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js +10 -19
  30. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
  31. package/dist/cjs/shared-lib/dto/transaction/transaction.dto.js +2 -2
  32. package/dist/cjs/shared-lib/dto/transaction/transaction.dto.js.map +1 -1
  33. package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts +6 -4
  34. package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts.map +1 -1
  35. package/dist/esm/index.d.ts +1 -0
  36. package/dist/esm/index.d.ts.map +1 -1
  37. package/dist/esm/index.js +1 -0
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/shared-lib/constants/image-cdn.constants.d.ts +65 -0
  40. package/dist/esm/shared-lib/constants/image-cdn.constants.d.ts.map +1 -0
  41. package/dist/esm/shared-lib/constants/image-cdn.constants.js +79 -0
  42. package/dist/esm/shared-lib/constants/image-cdn.constants.js.map +1 -0
  43. package/dist/esm/shared-lib/constants/index.d.ts +2 -0
  44. package/dist/esm/shared-lib/constants/index.d.ts.map +1 -0
  45. package/dist/esm/shared-lib/constants/index.js +3 -0
  46. package/dist/esm/shared-lib/constants/index.js.map +1 -0
  47. package/dist/esm/shared-lib/decorators/validation.decorators.d.ts +40 -0
  48. package/dist/esm/shared-lib/decorators/validation.decorators.d.ts.map +1 -1
  49. package/dist/esm/shared-lib/decorators/validation.decorators.js +46 -0
  50. package/dist/esm/shared-lib/decorators/validation.decorators.js.map +1 -1
  51. package/dist/esm/shared-lib/dto/campaign/campaign.dto.js +1 -1
  52. package/dist/esm/shared-lib/dto/campaign/campaign.dto.js.map +1 -1
  53. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts.map +1 -1
  54. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js +2 -1
  55. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  56. package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts +6 -0
  57. package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -1
  58. package/dist/esm/shared-lib/dto/tenant/email-config.dto.js +66 -16
  59. package/dist/esm/shared-lib/dto/tenant/email-config.dto.js.map +1 -1
  60. package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts +0 -7
  61. package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
  62. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js +11 -13
  63. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
  64. package/dist/esm/shared-lib/dto/transaction/transaction.dto.js +2 -2
  65. package/dist/esm/shared-lib/dto/transaction/transaction.dto.js.map +1 -1
  66. package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts +6 -4
  67. package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts.map +1 -1
  68. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # PERS Shared Library Changelog
2
2
 
3
+ ## [2.1.59] - 2026-05-17
4
+
5
+ ### 🖼️ **Image CDN Constants & SDK Helper**
6
+
7
+ #### Added
8
+ - **`image-cdn.constants.ts`** - Shared constants for CloudFront + Lambda@Edge Image CDN
9
+ - **Types**: `ImagePreset`, `ImageFit`, `ImageFormat`, `ImageCdnOptions`, `ImagePresetConfig`
10
+ - **Constants**:
11
+ - `IMAGE_CDN_PRESETS` - Preset dimensions (thumb, medium, large, hero, avatar, card)
12
+ - `IMAGE_CDN_MAX_DIMENSION` - Max output dimension (2048px)
13
+ - `IMAGE_CDN_DEFAULT_QUALITY` - Default quality (80)
14
+ - `IMAGE_CDN_CACHE_TTL` - Cache TTL (1 year)
15
+ - `IMAGE_CDN_MAX_INPUT_SIZE` - Max input file size (10MB)
16
+ - `IMAGE_CDN_SUPPORTED_FORMATS` - Supported image formats
17
+ - **Helpers**:
18
+ - `buildImageCdnUrl(baseUrl, options)` - Build CDN URL with presets/params
19
+ - `isValidPreset(preset)` - Type guard for preset validation
20
+ - `getPresetDimensions(preset)` - Get dimensions for a preset
21
+ - `isSupportedImageFormat(ext)` - Check if format is supported
22
+
23
+ #### Security
24
+ - **Presets-only resizing** - Arbitrary `w`/`h` params disabled to prevent cache pollution attacks
25
+ - Lambda@Edge handler imports shared constants for consistency
26
+
27
+ #### Usage
28
+ ```typescript
29
+ import { buildImageCdnUrl, IMAGE_CDN_PRESETS } from '@explorins/pers-shared';
30
+
31
+ // Build CDN URLs
32
+ buildImageCdnUrl(imageUrl, { preset: 'thumb' }) // 150×150
33
+ buildImageCdnUrl(imageUrl, { preset: 'medium' }) // 600×600
34
+ buildImageCdnUrl(imageUrl, { preset: 'large', q: 95 }) // 1200×1200 high quality
35
+ ```
36
+
37
+ ---
38
+
3
39
  ## [2.1.58] - 2026-01-20
4
40
 
5
41
  ### ✨ **Domain Vocabulary for SDK Event System**
@@ -1,6 +1,7 @@
1
1
  export * from './shared-lib/enum';
2
2
  export * from './shared-lib/interfaces';
3
3
  export * from './shared-lib/types';
4
+ export * from './shared-lib/constants';
4
5
  export type * from './shared-lib/dto';
5
6
  export * from '@explorins/web3-types';
6
7
  export type * from './shared-lib/errors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,kBAAkB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,mBAAmB,kBAAkB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -21,6 +21,7 @@ exports.ErrorDomains = exports.CommonErrorCodes = exports.ErrorCategory = void 0
21
21
  __exportStar(require("./shared-lib/enum"), exports);
22
22
  __exportStar(require("./shared-lib/interfaces"), exports);
23
23
  __exportStar(require("./shared-lib/types"), exports);
24
+ __exportStar(require("./shared-lib/constants"), exports);
24
25
  // Re-export web3 types for convenience
25
26
  __exportStar(require("@explorins/web3-types"), exports);
26
27
  var error_classification_enums_1 = require("./shared-lib/errors/base/error-classification-enums");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAClC,0DAAwC;AACxC,qDAAmC;AAGnC,uCAAuC;AACvC,wDAAsC;AAItC,kGAA0G;AAA3E,2HAAA,aAAa,OAAA;AAC5C,+DAAyH;AAAhH,+GAAA,gBAAgB,OAAA;AAAE,2GAAA,YAAY,OAAA;AAEvC,4CAA4C;AAC5C,2CAA2C;AAC3C,iFAAiF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAClC,0DAAwC;AACxC,qDAAmC;AACnC,yDAAuC;AAGvC,uCAAuC;AACvC,wDAAsC;AAItC,kGAA0G;AAA3E,2HAAA,aAAa,OAAA;AAC5C,+DAAyH;AAAhH,+GAAA,gBAAgB,OAAA;AAAE,2GAAA,YAAY,OAAA;AAEvC,4CAA4C;AAC5C,2CAA2C;AAC3C,iFAAiF"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Image CDN Configuration
3
+ *
4
+ * Shared constants and types for Image CDN (CloudFront + Lambda@Edge)
5
+ * Used by backend Lambda handler and frontend SDKs.
6
+ *
7
+ * @see documentation/api-docs/image-cdn.md
8
+ */
9
+ export type ImagePreset = 'thumb' | 'medium' | 'large' | 'hero' | 'avatar' | 'card';
10
+ export type ImageFit = 'inside' | 'cover' | 'contain' | 'fill' | 'outside';
11
+ export type ImageFormat = 'auto' | 'webp' | 'avif' | 'jpeg' | 'png';
12
+ export interface ImageCdnOptions {
13
+ /** Predefined size preset */
14
+ preset?: ImagePreset;
15
+ /** Quality 1-100 (default: 80) */
16
+ q?: number;
17
+ /** Output format (default: auto - WebP/AVIF based on browser) */
18
+ f?: ImageFormat;
19
+ /** Resize fit mode (default: inside) */
20
+ fit?: ImageFit;
21
+ }
22
+ export interface ImagePresetConfig {
23
+ width: number;
24
+ height: number;
25
+ }
26
+ /** Maximum output dimension when no preset specified */
27
+ export declare const IMAGE_CDN_MAX_DIMENSION = 2048;
28
+ /** Default quality percentage */
29
+ export declare const IMAGE_CDN_DEFAULT_QUALITY = 80;
30
+ /** Default fit mode */
31
+ export declare const IMAGE_CDN_DEFAULT_FIT: ImageFit;
32
+ /** Default format (auto-detect based on browser Accept header) */
33
+ export declare const IMAGE_CDN_DEFAULT_FORMAT: ImageFormat;
34
+ /** Available presets with their dimensions */
35
+ export declare const IMAGE_CDN_PRESETS: Record<ImagePreset, ImagePresetConfig>;
36
+ /** Supported input/output formats */
37
+ export declare const IMAGE_CDN_SUPPORTED_FORMATS: readonly ["jpeg", "jpg", "png", "webp", "gif", "avif"];
38
+ /** Cache TTL in seconds (1 year) */
39
+ export declare const IMAGE_CDN_CACHE_TTL = 31536000;
40
+ /** Maximum input file size in bytes (10MB) */
41
+ export declare const IMAGE_CDN_MAX_INPUT_SIZE: number;
42
+ /**
43
+ * Build CDN URL with options
44
+ *
45
+ * @example
46
+ * buildImageCdnUrl('https://cdn.example.com/photo.jpg', { preset: 'thumb' })
47
+ * // => 'https://cdn.example.com/photo.jpg?preset=thumb'
48
+ *
49
+ * buildImageCdnUrl('https://cdn.example.com/photo.jpg', { preset: 'large', q: 95 })
50
+ * // => 'https://cdn.example.com/photo.jpg?preset=large&q=95'
51
+ */
52
+ export declare function buildImageCdnUrl(baseUrl: string, options?: ImageCdnOptions): string;
53
+ /**
54
+ * Check if a preset name is valid
55
+ */
56
+ export declare function isValidPreset(preset: string): preset is ImagePreset;
57
+ /**
58
+ * Get dimensions for a preset
59
+ */
60
+ export declare function getPresetDimensions(preset: ImagePreset): ImagePresetConfig;
61
+ /**
62
+ * Check if a file extension is a supported image format
63
+ */
64
+ export declare function isSupportedImageFormat(extension: string): boolean;
65
+ //# sourceMappingURL=image-cdn.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-cdn.constants.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/image-cdn.constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AACpF,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAC3E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kCAAkC;IAClC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,wCAAwC;IACxC,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,iCAAiC;AACjC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uBAAuB;AACvB,eAAO,MAAM,qBAAqB,EAAE,QAAmB,CAAC;AAExD,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,EAAE,WAAoB,CAAC;AAE5D,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAO3D,CAAC;AAEX,qCAAqC;AACrC,eAAO,MAAM,2BAA2B,wDAAyD,CAAC;AAElG,oCAAoC;AACpC,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,8CAA8C;AAC9C,eAAO,MAAM,wBAAwB,QAAmB,CAAC;AAMzD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAUvF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,WAAW,CAEnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAE1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEjE"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /**
3
+ * Image CDN Configuration
4
+ *
5
+ * Shared constants and types for Image CDN (CloudFront + Lambda@Edge)
6
+ * Used by backend Lambda handler and frontend SDKs.
7
+ *
8
+ * @see documentation/api-docs/image-cdn.md
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.IMAGE_CDN_MAX_INPUT_SIZE = exports.IMAGE_CDN_CACHE_TTL = exports.IMAGE_CDN_SUPPORTED_FORMATS = exports.IMAGE_CDN_PRESETS = exports.IMAGE_CDN_DEFAULT_FORMAT = exports.IMAGE_CDN_DEFAULT_FIT = exports.IMAGE_CDN_DEFAULT_QUALITY = exports.IMAGE_CDN_MAX_DIMENSION = void 0;
12
+ exports.buildImageCdnUrl = buildImageCdnUrl;
13
+ exports.isValidPreset = isValidPreset;
14
+ exports.getPresetDimensions = getPresetDimensions;
15
+ exports.isSupportedImageFormat = isSupportedImageFormat;
16
+ // ============================================
17
+ // CONSTANTS
18
+ // ============================================
19
+ /** Maximum output dimension when no preset specified */
20
+ exports.IMAGE_CDN_MAX_DIMENSION = 2048;
21
+ /** Default quality percentage */
22
+ exports.IMAGE_CDN_DEFAULT_QUALITY = 80;
23
+ /** Default fit mode */
24
+ exports.IMAGE_CDN_DEFAULT_FIT = 'inside';
25
+ /** Default format (auto-detect based on browser Accept header) */
26
+ exports.IMAGE_CDN_DEFAULT_FORMAT = 'auto';
27
+ /** Available presets with their dimensions */
28
+ exports.IMAGE_CDN_PRESETS = {
29
+ thumb: { width: 150, height: 150 },
30
+ medium: { width: 600, height: 600 },
31
+ large: { width: 1200, height: 1200 },
32
+ hero: { width: 1920, height: 800 },
33
+ avatar: { width: 200, height: 200 },
34
+ card: { width: 400, height: 300 },
35
+ };
36
+ /** Supported input/output formats */
37
+ exports.IMAGE_CDN_SUPPORTED_FORMATS = ['jpeg', 'jpg', 'png', 'webp', 'gif', 'avif'];
38
+ /** Cache TTL in seconds (1 year) */
39
+ exports.IMAGE_CDN_CACHE_TTL = 31536000;
40
+ /** Maximum input file size in bytes (10MB) */
41
+ exports.IMAGE_CDN_MAX_INPUT_SIZE = 10 * 1024 * 1024;
42
+ // ============================================
43
+ // HELPER FUNCTIONS
44
+ // ============================================
45
+ /**
46
+ * Build CDN URL with options
47
+ *
48
+ * @example
49
+ * buildImageCdnUrl('https://cdn.example.com/photo.jpg', { preset: 'thumb' })
50
+ * // => 'https://cdn.example.com/photo.jpg?preset=thumb'
51
+ *
52
+ * buildImageCdnUrl('https://cdn.example.com/photo.jpg', { preset: 'large', q: 95 })
53
+ * // => 'https://cdn.example.com/photo.jpg?preset=large&q=95'
54
+ */
55
+ function buildImageCdnUrl(baseUrl, options = {}) {
56
+ const params = new URLSearchParams();
57
+ if (options.preset)
58
+ params.set('preset', options.preset);
59
+ if (options.q !== undefined)
60
+ params.set('q', options.q.toString());
61
+ if (options.f)
62
+ params.set('f', options.f);
63
+ if (options.fit)
64
+ params.set('fit', options.fit);
65
+ const query = params.toString();
66
+ return query ? `${baseUrl}?${query}` : baseUrl;
67
+ }
68
+ /**
69
+ * Check if a preset name is valid
70
+ */
71
+ function isValidPreset(preset) {
72
+ return preset in exports.IMAGE_CDN_PRESETS;
73
+ }
74
+ /**
75
+ * Get dimensions for a preset
76
+ */
77
+ function getPresetDimensions(preset) {
78
+ return exports.IMAGE_CDN_PRESETS[preset];
79
+ }
80
+ /**
81
+ * Check if a file extension is a supported image format
82
+ */
83
+ function isSupportedImageFormat(extension) {
84
+ return exports.IMAGE_CDN_SUPPORTED_FORMATS.includes(extension.toLowerCase());
85
+ }
86
+ //# sourceMappingURL=image-cdn.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-cdn.constants.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/image-cdn.constants.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA2EH,4CAUC;AAKD,sCAEC;AAKD,kDAEC;AAKD,wDAEC;AAhFD,+CAA+C;AAC/C,YAAY;AACZ,+CAA+C;AAE/C,wDAAwD;AAC3C,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE5C,iCAAiC;AACpB,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAE5C,uBAAuB;AACV,QAAA,qBAAqB,GAAa,QAAQ,CAAC;AAExD,kEAAkE;AACrD,QAAA,wBAAwB,GAAgB,MAAM,CAAC;AAE5D,8CAA8C;AACjC,QAAA,iBAAiB,GAA2C;IACvE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAClC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACnC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACpC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAClC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACnC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;CACzB,CAAC;AAEX,qCAAqC;AACxB,QAAA,2BAA2B,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAElG,oCAAoC;AACvB,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,8CAA8C;AACjC,QAAA,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzD,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAAC,OAAe,EAAE,UAA2B,EAAE;IAC7E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,IAAI,yBAAiB,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAmB;IACrD,OAAO,yBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,SAAiB;IACtD,OAAO,mCAA2B,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAS,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './image-cdn.constants';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Constants Barrel - Auto-exports all constants
18
+ __exportStar(require("./image-cdn.constants"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,wDAAsC"}
@@ -1,4 +1,44 @@
1
1
  import { TransformFnParams } from 'class-transformer';
2
+ /**
3
+ * Mask options for @MaskSecret decorator
4
+ */
5
+ export interface MaskSecretOptions {
6
+ /** Number of characters to show at the end (default: 4) */
7
+ showLast?: number;
8
+ /** Prefix to show before masked value (e.g., 'sk_' for Stripe keys) */
9
+ prefix?: string;
10
+ }
11
+ /**
12
+ * Masks a secret value for safe display
13
+ *
14
+ * @example
15
+ * maskSecretValue("sk_live_abc123xyz789", { prefix: 'sk_' }) → "sk_...9789"
16
+ * maskSecretValue("SG.abcdef123456") → "...3456"
17
+ * maskSecretValue("short") → "****"
18
+ */
19
+ export declare function maskSecretValue(value: string | undefined | null, options?: MaskSecretOptions): string | undefined;
20
+ /**
21
+ * @MaskSecret - Masks sensitive values during serialization
22
+ *
23
+ * The actual value remains in memory for internal service use.
24
+ * Only masks when serializing to JSON (API responses).
25
+ *
26
+ * @param options.prefix - Prefix to show (e.g., 'sk_' for Stripe)
27
+ * @param options.showLast - Number of chars to show at end (default: 4)
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * @MaskSecret({ prefix: 'sk_' })
32
+ * stripeApiKey?: string; // → "sk_...a1b2"
33
+ *
34
+ * @MaskSecret({ prefix: 'whsec_' })
35
+ * webhookSecret?: string; // → "whsec_...x9y0"
36
+ *
37
+ * @MaskSecret()
38
+ * emailApiKey?: string; // → "...a1b2"
39
+ * ```
40
+ */
41
+ export declare function MaskSecret(options?: MaskSecretOptions): PropertyDecorator;
2
42
  /**
3
43
  * =============================================================================
4
44
  * OPTIONAL FIELD VALIDATION DECORATORS
@@ -1 +1 @@
1
- {"version":3,"file":"validation.decorators.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/validation.decorators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAMH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,iBAAiB,QAC3B,CAAC;AAE9B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,iBAAiB,QAK5D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,iBAAiB,QASlE,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,IAAI,iBAAiB,CAKjD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAKvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,iBAAiB,QAS7D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,CAMzD"}
1
+ {"version":3,"file":"validation.decorators.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/validation.decorators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMjE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,GAAG,SAAS,CAerH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,iBAAiB,CAK7E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAMH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,iBAAiB,QAC3B,CAAC;AAE9B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,iBAAiB,QAK5D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,iBAAiB,QASlE,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,IAAI,iBAAiB,CAKjD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAKvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,iBAAiB,QAS7D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,CAMzD"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.emptyToNullNumber = exports.emptyToUndefinedNumber = exports.emptyToUndefined = exports.emptyToNull = void 0;
4
+ exports.maskSecretValue = maskSecretValue;
5
+ exports.MaskSecret = MaskSecret;
4
6
  exports.OptionalStrip = OptionalStrip;
5
7
  exports.OptionalStripNumber = OptionalStripNumber;
6
8
  exports.OptionalNullify = OptionalNullify;
@@ -8,6 +10,52 @@ exports.OptionalNullifyNumber = OptionalNullifyNumber;
8
10
  const common_1 = require("@nestjs/common");
9
11
  const class_validator_1 = require("class-validator");
10
12
  const class_transformer_1 = require("class-transformer");
13
+ /**
14
+ * Masks a secret value for safe display
15
+ *
16
+ * @example
17
+ * maskSecretValue("sk_live_abc123xyz789", { prefix: 'sk_' }) → "sk_...9789"
18
+ * maskSecretValue("SG.abcdef123456") → "...3456"
19
+ * maskSecretValue("short") → "****"
20
+ */
21
+ function maskSecretValue(value, options = {}) {
22
+ if (!value || typeof value !== 'string') {
23
+ return undefined;
24
+ }
25
+ const { showLast = 4, prefix = '' } = options;
26
+ // If value is too short, just show asterisks
27
+ if (value.length <= showLast) {
28
+ return prefix ? `${prefix}****` : '****';
29
+ }
30
+ // Show prefix + "..." + last N characters
31
+ const lastChars = value.slice(-showLast);
32
+ return `${prefix}...${lastChars}`;
33
+ }
34
+ /**
35
+ * @MaskSecret - Masks sensitive values during serialization
36
+ *
37
+ * The actual value remains in memory for internal service use.
38
+ * Only masks when serializing to JSON (API responses).
39
+ *
40
+ * @param options.prefix - Prefix to show (e.g., 'sk_' for Stripe)
41
+ * @param options.showLast - Number of chars to show at end (default: 4)
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * @MaskSecret({ prefix: 'sk_' })
46
+ * stripeApiKey?: string; // → "sk_...a1b2"
47
+ *
48
+ * @MaskSecret({ prefix: 'whsec_' })
49
+ * webhookSecret?: string; // → "whsec_...x9y0"
50
+ *
51
+ * @MaskSecret()
52
+ * emailApiKey?: string; // → "...a1b2"
53
+ * ```
54
+ */
55
+ function MaskSecret(options = {}) {
56
+ return (0, class_transformer_1.Transform)(({ value }) => maskSecretValue(value, options), { toPlainOnly: true } // Only apply when serializing to JSON
57
+ );
58
+ }
11
59
  /**
12
60
  * =============================================================================
13
61
  * OPTIONAL FIELD VALIDATION DECORATORS
@@ -1 +1 @@
1
- {"version":3,"file":"validation.decorators.js","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/validation.decorators.ts"],"names":[],"mappings":";;;AAoKA,sCAKC;AA0BD,kDAKC;AA2BD,0CAMC;AAuDD,sDAMC;AAtSD,2CAAiD;AACjD,qDAAyD;AACzD,yDAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,gFAAgF;AAChF,mEAAmE;AACnE,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE,CAC1D,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AADjB,QAAA,WAAW,eACM;AAE9B;;;;;;;;;;;GAWG;AACI,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE;IAC/D,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE;IACrE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,sBAAsB,0BASjC;AAEF,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAA,wBAAe,EACpB,IAAA,6BAAS,EAAC,wBAAgB,CAAC,EAC3B,IAAA,4BAAU,GAAE,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,wBAAe,EACpB,IAAA,6BAAS,EAAC,8BAAsB,CAAC,EACjC,IAAA,4BAAU,GAAE,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,eAAe;IAC7B,OAAO,IAAA,wBAAe,EACpB,IAAA,4BAAU,GAAE,EACZ,IAAA,6BAAS,EAAC,mBAAW,CAAC,EACtB,IAAA,4BAAU,EAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE;IAChE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,wBAAe,EACpB,IAAA,4BAAU,GAAE,EACZ,IAAA,6BAAS,EAAC,yBAAiB,CAAC,EAC5B,IAAA,4BAAU,EAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAC/C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validation.decorators.js","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/validation.decorators.ts"],"names":[],"mappings":"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"}
@@ -176,7 +176,7 @@ __decorate([
176
176
  (0, swagger_1.ApiProperty)({
177
177
  description: 'create date',
178
178
  type: Date,
179
- default: new Date()
179
+ default: null
180
180
  }),
181
181
  __metadata("design:type", Object)
182
182
  ], CampaignDTO.prototype, "createdAt", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"campaign.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign.dto.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"campaignUserClaim.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignUserClaim.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,gBAAgB;IAKzB,EAAE,EAAE,MAAM,CAAM;IAKhB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAK1C,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAO9B,MAAM,EAAG,MAAM,CAAC;IAMhB,UAAU,EAAE,MAAM,CAAM;IAOxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAO3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGhC;;OAEG;IAOH,IAAI,EAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtB;;OAEG;IAOH,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAc;IAEtC;;OAEG;IAOH,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAO1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAW1B,MAAM,EAAE,mBAAmB,CAA+B;IAO1D,OAAO,CAAC,EAAE,MAAM,CAAC;IAsCjB,QAAQ,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,WAAW,CAAC;QACvB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,WAAW,CAAC;QACvB,aAAa,CAAC,EAAE,gBAAgB,CAAC;QACjC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;CAEL"}
1
+ {"version":3,"file":"campaignUserClaim.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignUserClaim.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,gBAAgB;IAKzB,EAAE,EAAE,MAAM,CAAM;IAKhB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM1C,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAO9B,MAAM,EAAG,MAAM,CAAC;IAMhB,UAAU,EAAE,MAAM,CAAM;IAOxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAO3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGhC;;OAEG;IAOH,IAAI,EAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtB;;OAEG;IAOH,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAc;IAEtC;;OAEG;IAOH,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAO1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAW1B,MAAM,EAAE,mBAAmB,CAA+B;IAO1D,OAAO,CAAC,EAAE,MAAM,CAAC;IAsCjB,QAAQ,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,WAAW,CAAC;QACvB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,WAAW,CAAC;QACvB,aAAa,CAAC,EAAE,gBAAgB,CAAC;QACjC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;CAEL"}
@@ -70,7 +70,8 @@ __decorate([
70
70
  ], CampaignClaimDTO.prototype, "externalReferenceId", void 0);
71
71
  __decorate([
72
72
  (0, swagger_1.ApiProperty)({ type: 'string',
73
- description: 'The date the campaign user claim was created'
73
+ description: 'The date the campaign user claim was created',
74
+ format: 'date-time'
74
75
  }),
75
76
  __metadata("design:type", Object)
76
77
  ], CampaignClaimDTO.prototype, "createdAt", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"campaignUserClaim.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignUserClaim.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaignUserClaim.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignUserClaim.dto.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,12 @@ export declare class EmailConfigDTO implements Omit<EmailConfig, 'apiKeyRef'> {
26
26
  fromEmail?: string;
27
27
  fromName?: string;
28
28
  templates?: EmailTemplatesConfigDTO;
29
+ /**
30
+ * Decrypted API key for the email provider.
31
+ * Injected at runtime by TenantService from encrypted storage.
32
+ * Masked in API responses, real value available internally.
33
+ */
34
+ apiKey?: string;
29
35
  }
30
36
  /**
31
37
  * Request DTO for email configuration updates (includes API key)
@@ -1 +1 @@
1
- {"version":3,"file":"email-config.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/email-config.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAEjH;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAK9D,UAAU,EAAE,MAAM,CAAM;IAMxB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,oBAAoB;IAKhE,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAMnC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAMjC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAMvC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAM3C,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IAGjD,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;IAMjE,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAMlC,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IAKrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"email-config.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/email-config.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAwB,MAAM,yCAAyC,CAAC;AAGvI;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAM9D,UAAU,EAAE,MAAM,CAAM;IAQxB,OAAO,CAAC,EAAE,MAAM,CAAC;IASjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,oBAAoB;IAQhE,SAAS,CAAC,EAAE,sBAAsB,CAAC;IASnC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IASjC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IASvC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAS3C,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IAGjD,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;IAQjE,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAQlC,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IASlB,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAEpC;;;;OAIG;IASH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IAO7C,MAAM,CAAC,EAAE,MAAM,CAAC;CAC3B"}