@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
@@ -11,6 +11,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.EmailConfigRequestDTO = exports.EmailConfigDTO = exports.EmailTemplatesConfigDTO = exports.EmailTemplateConfigDTO = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const email_config_interface_1 = require("../../interfaces/email-config.interface");
17
+ const validation_decorators_1 = require("../../decorators/validation.decorators");
14
18
  /**
15
19
  * DTO for email template configuration
16
20
  */
@@ -25,6 +29,7 @@ __decorate([
25
29
  description: 'Provider-specific template ID (e.g., SendGrid dynamic template ID)',
26
30
  example: 'd-abc123def456'
27
31
  }),
32
+ (0, class_validator_1.IsString)(),
28
33
  __metadata("design:type", String)
29
34
  ], EmailTemplateConfigDTO.prototype, "templateId", void 0);
30
35
  __decorate([
@@ -32,14 +37,18 @@ __decorate([
32
37
  description: 'Optional subject - if not provided, template\'s default subject is used',
33
38
  example: 'Your login link'
34
39
  }),
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
35
42
  __metadata("design:type", String)
36
43
  ], EmailTemplateConfigDTO.prototype, "subject", void 0);
37
44
  __decorate([
38
45
  (0, swagger_1.ApiPropertyOptional)({
39
- description: 'Maps internal variable names to provider template variable names',
40
- example: { magicLinkUrl: 'link_url', userName: 'first_name' },
46
+ description: 'Maps provider template variable names to internal variable names. Format: { templateVar: internalVar }. Allows multiple template vars to reference the same internal value.',
47
+ example: { 'link_url': 'magicLinkUrl', 'offers_link': 'magicLinkUrl' },
41
48
  type: Object
42
49
  }),
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsObject)(),
43
52
  __metadata("design:type", Object)
44
53
  ], EmailTemplateConfigDTO.prototype, "variableMapping", void 0);
45
54
  /**
@@ -58,6 +67,9 @@ __decorate([
58
67
  description: 'Magic link / passwordless login email template',
59
68
  type: EmailTemplateConfigDTO
60
69
  }),
70
+ (0, class_validator_1.IsOptional)(),
71
+ (0, class_validator_1.ValidateNested)(),
72
+ (0, class_transformer_1.Type)(() => EmailTemplateConfigDTO),
61
73
  __metadata("design:type", EmailTemplateConfigDTO)
62
74
  ], EmailTemplatesConfigDTO.prototype, "magicLink", void 0);
63
75
  __decorate([
@@ -65,6 +77,9 @@ __decorate([
65
77
  description: 'Welcome email template for new users',
66
78
  type: EmailTemplateConfigDTO
67
79
  }),
80
+ (0, class_validator_1.IsOptional)(),
81
+ (0, class_validator_1.ValidateNested)(),
82
+ (0, class_transformer_1.Type)(() => EmailTemplateConfigDTO),
68
83
  __metadata("design:type", EmailTemplateConfigDTO)
69
84
  ], EmailTemplatesConfigDTO.prototype, "welcome", void 0);
70
85
  __decorate([
@@ -72,6 +87,9 @@ __decorate([
72
87
  description: 'Password reset email template',
73
88
  type: EmailTemplateConfigDTO
74
89
  }),
90
+ (0, class_validator_1.IsOptional)(),
91
+ (0, class_validator_1.ValidateNested)(),
92
+ (0, class_transformer_1.Type)(() => EmailTemplateConfigDTO),
75
93
  __metadata("design:type", EmailTemplateConfigDTO)
76
94
  ], EmailTemplatesConfigDTO.prototype, "passwordReset", void 0);
77
95
  __decorate([
@@ -79,6 +97,9 @@ __decorate([
79
97
  description: 'Email verification template',
80
98
  type: EmailTemplateConfigDTO
81
99
  }),
100
+ (0, class_validator_1.IsOptional)(),
101
+ (0, class_validator_1.ValidateNested)(),
102
+ (0, class_transformer_1.Type)(() => EmailTemplateConfigDTO),
82
103
  __metadata("design:type", EmailTemplateConfigDTO)
83
104
  ], EmailTemplatesConfigDTO.prototype, "emailVerification", void 0);
84
105
  __decorate([
@@ -86,6 +107,9 @@ __decorate([
86
107
  description: 'Transaction confirmation template',
87
108
  type: EmailTemplateConfigDTO
88
109
  }),
110
+ (0, class_validator_1.IsOptional)(),
111
+ (0, class_validator_1.ValidateNested)(),
112
+ (0, class_transformer_1.Type)(() => EmailTemplateConfigDTO),
89
113
  __metadata("design:type", EmailTemplateConfigDTO)
90
114
  ], EmailTemplatesConfigDTO.prototype, "transactionConfirmation", void 0);
91
115
  /**
@@ -96,6 +120,12 @@ class EmailConfigDTO {
96
120
  fromEmail;
97
121
  fromName;
98
122
  templates;
123
+ /**
124
+ * Decrypted API key for the email provider.
125
+ * Injected at runtime by TenantService from encrypted storage.
126
+ * Masked in API responses, real value available internally.
127
+ */
128
+ apiKey;
99
129
  }
100
130
  exports.EmailConfigDTO = EmailConfigDTO;
101
131
  __decorate([
@@ -104,6 +134,8 @@ __decorate([
104
134
  enum: ['sendgrid', 'mailjet'],
105
135
  default: 'sendgrid'
106
136
  }),
137
+ (0, class_validator_1.IsOptional)(),
138
+ (0, class_validator_1.IsIn)(email_config_interface_1.EMAIL_PROVIDER_TYPES),
107
139
  __metadata("design:type", String)
108
140
  ], EmailConfigDTO.prototype, "provider", void 0);
109
141
  __decorate([
@@ -111,6 +143,8 @@ __decorate([
111
143
  description: 'Sender email address (must be verified with provider)',
112
144
  example: 'noreply@tenant.com'
113
145
  }),
146
+ (0, class_validator_1.IsOptional)(),
147
+ (0, class_validator_1.IsString)(),
114
148
  __metadata("design:type", String)
115
149
  ], EmailConfigDTO.prototype, "fromEmail", void 0);
116
150
  __decorate([
@@ -118,6 +152,8 @@ __decorate([
118
152
  description: 'Sender display name',
119
153
  example: 'Tenant Name'
120
154
  }),
155
+ (0, class_validator_1.IsOptional)(),
156
+ (0, class_validator_1.IsString)(),
121
157
  __metadata("design:type", String)
122
158
  ], EmailConfigDTO.prototype, "fromName", void 0);
123
159
  __decorate([
@@ -125,13 +161,26 @@ __decorate([
125
161
  description: 'Template configurations keyed by email type',
126
162
  type: EmailTemplatesConfigDTO
127
163
  }),
164
+ (0, class_validator_1.IsOptional)(),
165
+ (0, class_validator_1.ValidateNested)(),
166
+ (0, class_transformer_1.Type)(() => EmailTemplatesConfigDTO),
128
167
  __metadata("design:type", EmailTemplatesConfigDTO)
129
168
  ], EmailConfigDTO.prototype, "templates", void 0);
169
+ __decorate([
170
+ (0, swagger_1.ApiPropertyOptional)({
171
+ description: 'Email provider API key (masked in responses)',
172
+ type: String,
173
+ example: '...a1b2'
174
+ }),
175
+ (0, class_validator_1.IsOptional)(),
176
+ (0, class_validator_1.IsString)(),
177
+ (0, validation_decorators_1.MaskSecret)(),
178
+ __metadata("design:type", String)
179
+ ], EmailConfigDTO.prototype, "apiKey", void 0);
130
180
  /**
131
181
  * Request DTO for email configuration updates (includes API key)
132
182
  */
133
183
  class EmailConfigRequestDTO extends EmailConfigDTO {
134
- apiKey;
135
184
  }
136
185
  exports.EmailConfigRequestDTO = EmailConfigRequestDTO;
137
186
  __decorate([
@@ -139,6 +188,8 @@ __decorate([
139
188
  description: 'API key for the email provider (will be encrypted)',
140
189
  example: 'SG.xxxxx'
141
190
  }),
191
+ (0, class_validator_1.IsOptional)(),
192
+ (0, class_validator_1.IsString)(),
142
193
  __metadata("design:type", String)
143
194
  ], EmailConfigRequestDTO.prototype, "apiKey", void 0);
144
195
  //# sourceMappingURL=email-config.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-config.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/email-config.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AAGnE;;GAEG;AACH,MAAa,sBAAsB;IAK/B,UAAU,GAAW,EAAE,CAAC;IAMxB,OAAO,CAAU;IAOjB,eAAe,CAA0B;CAC5C;AAnBD,wDAmBC;AAdG;IAJC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oEAAoE;QACjF,OAAO,EAAE,gBAAgB;KAC5B,CAAC;;0DACsB;AAMxB;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,yEAAyE;QACtF,OAAO,EAAE,iBAAiB;KAC7B,CAAC;;uDACe;AAOjB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,kEAAkE;QAC/E,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE;QAC7D,IAAI,EAAE,MAAM;KACf,CAAC;;+DACuC;AAG7C;;GAEG;AACH,MAAa,uBAAuB;IAKhC,SAAS,CAA0B;IAMnC,OAAO,CAA0B;IAMjC,aAAa,CAA0B;IAMvC,iBAAiB,CAA0B;IAM3C,uBAAuB,CAA0B;CAIpD;AAjCD,0DAiCC;AA5BG;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,gDAAgD;QAC7D,IAAI,EAAE,sBAAsB;KAC/B,CAAC;8BACU,sBAAsB;0DAAC;AAMnC;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,sBAAsB;KAC/B,CAAC;8BACQ,sBAAsB;wDAAC;AAMjC;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,sBAAsB;KAC/B,CAAC;8BACc,sBAAsB;8DAAC;AAMvC;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,sBAAsB;KAC/B,CAAC;8BACkB,sBAAsB;kEAAC;AAM3C;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,sBAAsB;KAC/B,CAAC;8BACwB,sBAAsB;wEAAC;AAMrD;;GAEG;AACH,MAAa,cAAc;IAMvB,QAAQ,CAA0B;IAMlC,SAAS,CAAU;IAMnB,QAAQ,CAAU;IAMlB,SAAS,CAA2B;CACvC;AAzBD,wCAyBC;AAnBG;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QAC7B,OAAO,EAAE,UAAU;KACtB,CAAC;;gDACgC;AAMlC;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,uDAAuD;QACpE,OAAO,EAAE,oBAAoB;KAChC,CAAC;;iDACiB;AAMnB;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,aAAa;KACzB,CAAC;;gDACgB;AAMlB;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,uBAAuB;KAChC,CAAC;8BACU,uBAAuB;iDAAC;AAGxC;;GAEG;AACH,MAAa,qBAAsB,SAAQ,cAAc;IAKrD,MAAM,CAAU;CACnB;AAND,sDAMC;AADG;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,oDAAoD;QACjE,OAAO,EAAE,UAAU;KACtB,CAAC;;qDACc"}
1
+ {"version":3,"file":"email-config.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/email-config.dto.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,5 @@ export declare class TenantDTO extends TenantPublicDTO {
25
25
  googleApiKey?: string;
26
26
  allowedTokenIssuers: ExternalTokenIssuerConfig[];
27
27
  emailConfig?: EmailConfigDTO;
28
- /**
29
- * Decrypted email API key - injected at runtime by TenantService.
30
- * Not stored in database (stored encrypted in emailConfig.apiKeyRef).
31
- * Used internally by EmailModule and MagicLinkWorkflow.
32
- * @internal
33
- */
34
- emailApiKey?: string;
35
28
  }
36
29
  //# sourceMappingURL=tenant.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,eAAe;IAK1B,WAAW,EAAE,MAAM,CAAM;IAMzB,OAAO,EAAE,MAAM,CAAM;IAMrB,EAAE,EAAE,MAAM,CAAM;IAMhB,SAAS,EAAE,IAAI,CAAa;IAM5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAM3B,cAAc,CAAC,EAAE,MAAM,CAAA;IAMvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,eAAe,CAAC,EAAE,MAAM,CAAA;IAMxB,cAAc,CAAC,EAAE,MAAM,CAAA;IAMrB,aAAa,EAAE,MAAM,CAAK;CAC7B;AAED,qBAAa,SAAU,SAAQ,eAAe;IAO5C,oBAAoB,EAAE,MAAM,CAAK;IAMjC,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAM5B,UAAU,CAAC,EAAE,MAAM,CAAA;IAMnB,+BAA+B,EAAE,OAAO,CAAQ;IAGhD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IA2BvB,2BAA2B,EAAE,oBAAoB,CAAiC;IAQlF,iBAAiB,EAAE,MAAM,CAAwB;IAMjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,mBAAmB,EAAE,yBAAyB,EAAE,CAAK;IAMrD,WAAW,CAAC,EAAE,cAAc,CAAA;IAE5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB"}
1
+ {"version":3,"file":"tenant.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,qBAAa,eAAe;IAK1B,WAAW,EAAE,MAAM,CAAM;IAMzB,OAAO,EAAE,MAAM,CAAM;IAMrB,EAAE,EAAE,MAAM,CAAM;IAMhB,SAAS,EAAE,IAAI,CAAa;IAM5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAM3B,cAAc,CAAC,EAAE,MAAM,CAAA;IAMvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,eAAe,CAAC,EAAE,MAAM,CAAA;IAMxB,cAAc,CAAC,EAAE,MAAM,CAAA;IAMrB,aAAa,EAAE,MAAM,CAAK;CAC7B;AAED,qBAAa,SAAU,SAAQ,eAAe;IAO5C,oBAAoB,EAAE,MAAM,CAAK;IAQjC,YAAY,CAAC,EAAE,MAAM,CAAA;IAQrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAM5B,UAAU,CAAC,EAAE,MAAM,CAAA;IAMnB,+BAA+B,EAAE,OAAO,CAAQ;IAGhD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IA2BvB,2BAA2B,EAAE,oBAAoB,CAAiC;IAQlF,iBAAiB,EAAE,MAAM,CAAwB;IAMjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,mBAAmB,EAAE,yBAAyB,EAAE,CAAK;IAMrD,WAAW,CAAC,EAAE,cAAc,CAAA;CAC7B"}
@@ -14,6 +14,7 @@ const swagger_1 = require("@nestjs/swagger");
14
14
  const wallet_enum_1 = require("../../enum/wallet.enum");
15
15
  const external_token_issuer_config_dto_1 = require("./external-token-issuer-config.dto");
16
16
  const email_config_dto_1 = require("./email-config.dto");
17
+ const validation_decorators_1 = require("../../decorators/validation.decorators");
17
18
  class TenantPublicDTO {
18
19
  projectName = '';
19
20
  acronym = '';
@@ -125,13 +126,6 @@ class TenantDTO extends TenantPublicDTO {
125
126
  googleApiKey;
126
127
  allowedTokenIssuers = [];
127
128
  emailConfig;
128
- /**
129
- * Decrypted email API key - injected at runtime by TenantService.
130
- * Not stored in database (stored encrypted in emailConfig.apiKeyRef).
131
- * Used internally by EmailModule and MagicLinkWorkflow.
132
- * @internal
133
- */
134
- emailApiKey;
135
129
  }
136
130
  exports.TenantDTO = TenantDTO;
137
131
  __decorate([
@@ -143,16 +137,20 @@ __decorate([
143
137
  ], TenantDTO.prototype, "testnetProjectApiKey", void 0);
144
138
  __decorate([
145
139
  (0, swagger_1.ApiPropertyOptional)({
146
- description: 'Stripe API key for tenant. Used in case of stripe payment.',
147
- type: String
140
+ description: 'Stripe API key for tenant (masked). Used in case of stripe payment.',
141
+ type: String,
142
+ example: 'sk_...a1b2'
148
143
  }),
144
+ (0, validation_decorators_1.MaskSecret)({ prefix: 'sk_' }),
149
145
  __metadata("design:type", String)
150
146
  ], TenantDTO.prototype, "stripeApiKey", void 0);
151
147
  __decorate([
152
148
  (0, swagger_1.ApiPropertyOptional)({
153
- description: 'Stripe webhook secret for tenant. Used in case of stripe payment.',
154
- type: String
149
+ description: 'Stripe webhook secret for tenant (masked). Used in case of stripe payment.',
150
+ type: String,
151
+ example: 'whsec_...x9y0'
155
152
  }),
153
+ (0, validation_decorators_1.MaskSecret)({ prefix: 'whsec_' }),
156
154
  __metadata("design:type", String)
157
155
  ], TenantDTO.prototype, "stripeWebhookSecret", void 0);
158
156
  __decorate([
@@ -210,13 +208,6 @@ __decorate([
210
208
  description: 'Unified email configuration - provider, credentials, sender info, and templates',
211
209
  type: email_config_dto_1.EmailConfigDTO
212
210
  }),
213
- __metadata("design:type", email_config_dto_1.EmailConfigDTO
214
- /**
215
- * Decrypted email API key - injected at runtime by TenantService.
216
- * Not stored in database (stored encrypted in emailConfig.apiKeyRef).
217
- * Used internally by EmailModule and MagicLinkWorkflow.
218
- * @internal
219
- */
220
- )
211
+ __metadata("design:type", email_config_dto_1.EmailConfigDTO)
221
212
  ], TenantDTO.prototype, "emailConfig", void 0);
222
213
  //# sourceMappingURL=tenant.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":"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"}
@@ -120,11 +120,11 @@ __decorate([
120
120
  __metadata("design:type", String)
121
121
  ], TransactionDTO.prototype, "status", void 0);
122
122
  __decorate([
123
- (0, swagger_1.ApiProperty)({ description: 'create date' }),
123
+ (0, swagger_1.ApiProperty)({ description: 'create date', format: 'date-time' }),
124
124
  __metadata("design:type", Object)
125
125
  ], TransactionDTO.prototype, "createdAt", void 0);
126
126
  __decorate([
127
- (0, swagger_1.ApiProperty)({ description: 'update date' }),
127
+ (0, swagger_1.ApiProperty)({ description: 'update date', format: 'date-time' }),
128
128
  __metadata("design:type", Object)
129
129
  ], TransactionDTO.prototype, "updatedAt", void 0);
130
130
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction.dto.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,10 @@ export interface EmailTemplateConfig {
29
29
  /** Optional subject - if not provided, template's default subject is used */
30
30
  subject?: string;
31
31
  /**
32
- * Maps internal variable names to provider template variable names.
33
- * Example: { 'magicLinkUrl': 'link_url', 'userName': 'first_name' }
32
+ * Maps provider template variable names to internal variable names.
33
+ * Format: { templateVar: internalVar }
34
+ * Example: { 'link_url': 'magicLinkUrl', 'offers_link': 'magicLinkUrl' }
35
+ * This allows multiple template vars to reference the same internal value.
34
36
  */
35
37
  variableMapping?: Record<string, string>;
36
38
  }
@@ -69,7 +71,7 @@ export interface EmailTemplatesConfig {
69
71
  * magicLink: {
70
72
  * templateId: 'd-abc123',
71
73
  * subject: 'Your login link',
72
- * variableMapping: { magicLinkUrl: 'link_url' }
74
+ * variableMapping: { 'link_url': 'magicLinkUrl', 'offers_link': 'magicLinkUrl' }
73
75
  * }
74
76
  * }
75
77
  * };
@@ -90,5 +92,5 @@ export interface EmailConfig {
90
92
  /**
91
93
  * Email type identifiers for template lookup
92
94
  */
93
- export type EmailType = 'magicLink' | 'welcome' | 'passwordReset' | 'emailVerification' | 'transactionConfirmation' | string;
95
+ export type EmailType = 'magicLink' | string;
94
96
  //# sourceMappingURL=email-config.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-config.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/email-config.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EAA4B,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,mCAAmC;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,4BAA4B;IAE5B,gCAAgC;IAEhC,sCAAsC;IACtC,uBAAuB,CAAC,EAAE,mBAAmB,CAAC;IAC9C,+BAA+B;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,WAAW;IACxB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,mBAAmB,GAAG,yBAAyB,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"email-config.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/email-config.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EAA4B,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,mCAAmC;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,4BAA4B;IAE5B,gCAAgC;IAEhC,sCAAsC;IACtC,uBAAuB,CAAC,EAAE,mBAAmB,CAAC;IAC9C,+BAA+B;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,WAAW;IACxB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAyF,MAAM,CAAC"}
@@ -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/esm/index.js CHANGED
@@ -4,6 +4,7 @@
4
4
  export * from './shared-lib/enum/index.js';
5
5
  export * from './shared-lib/interfaces/index.js';
6
6
  export * from './shared-lib/types/index.js';
7
+ export * from './shared-lib/constants/index.js';
7
8
  // Re-export web3 types for convenience
8
9
  export * from '@explorins/web3-types';
9
10
  export { ErrorCategory } from './shared-lib/errors/base/error-classification-enums.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8FAA8F;AAE9F,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AAGnC,uCAAuC;AACvC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EAAwB,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA0C,MAAM,iCAAiC,CAAC;AAEzH,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,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAGvC,uCAAuC;AACvC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EAAwB,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA0C,MAAM,iCAAiC,CAAC;AAEzH,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,79 @@
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
+ // ============================================
10
+ // CONSTANTS
11
+ // ============================================
12
+ /** Maximum output dimension when no preset specified */
13
+ export const IMAGE_CDN_MAX_DIMENSION = 2048;
14
+ /** Default quality percentage */
15
+ export const IMAGE_CDN_DEFAULT_QUALITY = 80;
16
+ /** Default fit mode */
17
+ export const IMAGE_CDN_DEFAULT_FIT = 'inside';
18
+ /** Default format (auto-detect based on browser Accept header) */
19
+ export const IMAGE_CDN_DEFAULT_FORMAT = 'auto';
20
+ /** Available presets with their dimensions */
21
+ export const IMAGE_CDN_PRESETS = {
22
+ thumb: { width: 150, height: 150 },
23
+ medium: { width: 600, height: 600 },
24
+ large: { width: 1200, height: 1200 },
25
+ hero: { width: 1920, height: 800 },
26
+ avatar: { width: 200, height: 200 },
27
+ card: { width: 400, height: 300 },
28
+ };
29
+ /** Supported input/output formats */
30
+ export const IMAGE_CDN_SUPPORTED_FORMATS = ['jpeg', 'jpg', 'png', 'webp', 'gif', 'avif'];
31
+ /** Cache TTL in seconds (1 year) */
32
+ export const IMAGE_CDN_CACHE_TTL = 31536000;
33
+ /** Maximum input file size in bytes (10MB) */
34
+ export const IMAGE_CDN_MAX_INPUT_SIZE = 10 * 1024 * 1024;
35
+ // ============================================
36
+ // HELPER FUNCTIONS
37
+ // ============================================
38
+ /**
39
+ * Build CDN URL with options
40
+ *
41
+ * @example
42
+ * buildImageCdnUrl('https://cdn.example.com/photo.jpg', { preset: 'thumb' })
43
+ * // => 'https://cdn.example.com/photo.jpg?preset=thumb'
44
+ *
45
+ * buildImageCdnUrl('https://cdn.example.com/photo.jpg', { preset: 'large', q: 95 })
46
+ * // => 'https://cdn.example.com/photo.jpg?preset=large&q=95'
47
+ */
48
+ export function buildImageCdnUrl(baseUrl, options = {}) {
49
+ const params = new URLSearchParams();
50
+ if (options.preset)
51
+ params.set('preset', options.preset);
52
+ if (options.q !== undefined)
53
+ params.set('q', options.q.toString());
54
+ if (options.f)
55
+ params.set('f', options.f);
56
+ if (options.fit)
57
+ params.set('fit', options.fit);
58
+ const query = params.toString();
59
+ return query ? `${baseUrl}?${query}` : baseUrl;
60
+ }
61
+ /**
62
+ * Check if a preset name is valid
63
+ */
64
+ export function isValidPreset(preset) {
65
+ return preset in IMAGE_CDN_PRESETS;
66
+ }
67
+ /**
68
+ * Get dimensions for a preset
69
+ */
70
+ export function getPresetDimensions(preset) {
71
+ return IMAGE_CDN_PRESETS[preset];
72
+ }
73
+ /**
74
+ * Check if a file extension is a supported image format
75
+ */
76
+ export function isSupportedImageFormat(extension) {
77
+ return IMAGE_CDN_SUPPORTED_FORMATS.includes(extension.toLowerCase());
78
+ }
79
+ //# 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;AA0BH,+CAA+C;AAC/C,YAAY;AACZ,+CAA+C;AAE/C,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,iCAAiC;AACjC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,uBAAuB;AACvB,MAAM,CAAC,MAAM,qBAAqB,GAAa,QAAQ,CAAC;AAExD,kEAAkE;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAgB,MAAM,CAAC;AAE5D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,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;AACrC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAElG,oCAAoC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzD,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;;;;;;;;GASG;AACH,MAAM,UAAU,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,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,IAAI,iBAAiB,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,OAAO,2BAA2B,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,3 @@
1
+ // Constants Barrel - Auto-exports all constants
2
+ export * from './image-cdn.constants.js';
3
+ //# 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,cAAc,uBAAuB,CAAC"}
@@ -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"}