@explorins/pers-shared 2.1.146 → 2.1.148

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 (143) hide show
  1. package/dist/cjs/index.d.ts +1 -0
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +1 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/shared-lib/constants/image-cdn.constants.d.ts +65 -0
  6. package/dist/cjs/shared-lib/constants/image-cdn.constants.d.ts.map +1 -0
  7. package/dist/cjs/shared-lib/constants/image-cdn.constants.js +86 -0
  8. package/dist/cjs/shared-lib/constants/image-cdn.constants.js.map +1 -0
  9. package/dist/cjs/shared-lib/constants/index.d.ts +2 -0
  10. package/dist/cjs/shared-lib/constants/index.d.ts.map +1 -0
  11. package/dist/cjs/shared-lib/constants/index.js +19 -0
  12. package/dist/cjs/shared-lib/constants/index.js.map +1 -0
  13. package/dist/cjs/shared-lib/dto/auth/index.d.ts +1 -0
  14. package/dist/cjs/shared-lib/dto/auth/index.d.ts.map +1 -1
  15. package/dist/cjs/shared-lib/dto/auth/index.js +1 -0
  16. package/dist/cjs/shared-lib/dto/auth/index.js.map +1 -1
  17. package/dist/cjs/shared-lib/dto/auth/magic-link.dto.d.ts +31 -0
  18. package/dist/cjs/shared-lib/dto/auth/magic-link.dto.d.ts.map +1 -0
  19. package/dist/cjs/shared-lib/dto/auth/magic-link.dto.js +112 -0
  20. package/dist/cjs/shared-lib/dto/auth/magic-link.dto.js.map +1 -0
  21. package/dist/cjs/shared-lib/dto/campaign/campaign.dto.js +1 -1
  22. package/dist/cjs/shared-lib/dto/campaign/campaign.dto.js.map +1 -1
  23. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts.map +1 -1
  24. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js +2 -1
  25. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  26. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts +36 -0
  27. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -0
  28. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js +178 -0
  29. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js.map +1 -0
  30. package/dist/cjs/shared-lib/dto/tenant/index.d.ts +1 -0
  31. package/dist/cjs/shared-lib/dto/tenant/index.d.ts.map +1 -1
  32. package/dist/cjs/shared-lib/dto/tenant/index.js +1 -0
  33. package/dist/cjs/shared-lib/dto/tenant/index.js.map +1 -1
  34. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts +9 -0
  35. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
  36. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js +23 -0
  37. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
  38. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +2 -0
  39. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
  40. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +12 -0
  41. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
  42. package/dist/cjs/shared-lib/dto/transaction/transaction.dto.js +2 -2
  43. package/dist/cjs/shared-lib/dto/transaction/transaction.dto.js.map +1 -1
  44. package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts +3 -1
  45. package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
  46. package/dist/cjs/shared-lib/enum/api-key-type.enum.js +2 -0
  47. package/dist/cjs/shared-lib/enum/api-key-type.enum.js.map +1 -1
  48. package/dist/cjs/shared-lib/enum/index.d.ts +1 -0
  49. package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
  50. package/dist/cjs/shared-lib/enum/index.js +2 -0
  51. package/dist/cjs/shared-lib/enum/index.js.map +1 -1
  52. package/dist/cjs/shared-lib/enum/ott-auth-method.enum.d.ts +16 -0
  53. package/dist/cjs/shared-lib/enum/ott-auth-method.enum.d.ts.map +1 -0
  54. package/dist/cjs/shared-lib/enum/ott-auth-method.enum.js +18 -0
  55. package/dist/cjs/shared-lib/enum/ott-auth-method.enum.js.map +1 -0
  56. package/dist/cjs/shared-lib/errors/error-codes.d.ts +4 -0
  57. package/dist/cjs/shared-lib/errors/error-codes.d.ts.map +1 -1
  58. package/dist/cjs/shared-lib/errors/error-codes.js +6 -0
  59. package/dist/cjs/shared-lib/errors/error-codes.js.map +1 -1
  60. package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts +96 -0
  61. package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts.map +1 -0
  62. package/dist/cjs/shared-lib/interfaces/email-config.interface.js +14 -0
  63. package/dist/cjs/shared-lib/interfaces/email-config.interface.js.map +1 -0
  64. package/dist/cjs/shared-lib/interfaces/index.d.ts +1 -0
  65. package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
  66. package/dist/cjs/shared-lib/interfaces/index.js +1 -0
  67. package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
  68. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts +11 -1
  69. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
  70. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js +5 -0
  71. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
  72. package/dist/esm/index.d.ts +1 -0
  73. package/dist/esm/index.d.ts.map +1 -1
  74. package/dist/esm/index.js +1 -0
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/shared-lib/constants/image-cdn.constants.d.ts +65 -0
  77. package/dist/esm/shared-lib/constants/image-cdn.constants.d.ts.map +1 -0
  78. package/dist/esm/shared-lib/constants/image-cdn.constants.js +79 -0
  79. package/dist/esm/shared-lib/constants/image-cdn.constants.js.map +1 -0
  80. package/dist/esm/shared-lib/constants/index.d.ts +2 -0
  81. package/dist/esm/shared-lib/constants/index.d.ts.map +1 -0
  82. package/dist/esm/shared-lib/constants/index.js +3 -0
  83. package/dist/esm/shared-lib/constants/index.js.map +1 -0
  84. package/dist/esm/shared-lib/dto/auth/index.d.ts +1 -0
  85. package/dist/esm/shared-lib/dto/auth/index.d.ts.map +1 -1
  86. package/dist/esm/shared-lib/dto/auth/index.js +1 -0
  87. package/dist/esm/shared-lib/dto/auth/index.js.map +1 -1
  88. package/dist/esm/shared-lib/dto/auth/magic-link.dto.d.ts +31 -0
  89. package/dist/esm/shared-lib/dto/auth/magic-link.dto.d.ts.map +1 -0
  90. package/dist/esm/shared-lib/dto/auth/magic-link.dto.js +97 -0
  91. package/dist/esm/shared-lib/dto/auth/magic-link.dto.js.map +1 -0
  92. package/dist/esm/shared-lib/dto/campaign/campaign.dto.js +1 -1
  93. package/dist/esm/shared-lib/dto/campaign/campaign.dto.js.map +1 -1
  94. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts.map +1 -1
  95. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js +2 -1
  96. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  97. package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts +36 -0
  98. package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -0
  99. package/dist/esm/shared-lib/dto/tenant/email-config.dto.js +155 -0
  100. package/dist/esm/shared-lib/dto/tenant/email-config.dto.js.map +1 -0
  101. package/dist/esm/shared-lib/dto/tenant/index.d.ts +1 -0
  102. package/dist/esm/shared-lib/dto/tenant/index.d.ts.map +1 -1
  103. package/dist/esm/shared-lib/dto/tenant/index.js +1 -0
  104. package/dist/esm/shared-lib/dto/tenant/index.js.map +1 -1
  105. package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts +9 -0
  106. package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
  107. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js +15 -0
  108. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
  109. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +2 -0
  110. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
  111. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +11 -0
  112. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
  113. package/dist/esm/shared-lib/dto/transaction/transaction.dto.js +2 -2
  114. package/dist/esm/shared-lib/dto/transaction/transaction.dto.js.map +1 -1
  115. package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts +3 -1
  116. package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
  117. package/dist/esm/shared-lib/enum/api-key-type.enum.js +2 -0
  118. package/dist/esm/shared-lib/enum/api-key-type.enum.js.map +1 -1
  119. package/dist/esm/shared-lib/enum/index.d.ts +1 -0
  120. package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
  121. package/dist/esm/shared-lib/enum/index.js +2 -0
  122. package/dist/esm/shared-lib/enum/index.js.map +1 -1
  123. package/dist/esm/shared-lib/enum/ott-auth-method.enum.d.ts +16 -0
  124. package/dist/esm/shared-lib/enum/ott-auth-method.enum.d.ts.map +1 -0
  125. package/dist/esm/shared-lib/enum/ott-auth-method.enum.js +15 -0
  126. package/dist/esm/shared-lib/enum/ott-auth-method.enum.js.map +1 -0
  127. package/dist/esm/shared-lib/errors/error-codes.d.ts +4 -0
  128. package/dist/esm/shared-lib/errors/error-codes.d.ts.map +1 -1
  129. package/dist/esm/shared-lib/errors/error-codes.js +6 -0
  130. package/dist/esm/shared-lib/errors/error-codes.js.map +1 -1
  131. package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts +96 -0
  132. package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts.map +1 -0
  133. package/dist/esm/shared-lib/interfaces/email-config.interface.js +11 -0
  134. package/dist/esm/shared-lib/interfaces/email-config.interface.js.map +1 -0
  135. package/dist/esm/shared-lib/interfaces/index.d.ts +1 -0
  136. package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
  137. package/dist/esm/shared-lib/interfaces/index.js +1 -0
  138. package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
  139. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts +11 -1
  140. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
  141. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js +4 -0
  142. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
  143. package/package.json +1 -1
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Email Configuration Interface
3
+ *
4
+ * Unified email configuration for tenants.
5
+ * Groups all email-related settings into a single structure.
6
+ */
7
+ /**
8
+ * Supported email provider types
9
+ *
10
+ * - sendgrid: SendGrid API (recommended for high volume)
11
+ * - mailjet: Mailjet API (EU-based, GDPR compliant)
12
+ *
13
+ * To add a new provider:
14
+ * 1. Add to this type
15
+ * 2. Implement EmailProviderInterface in email/providers/
16
+ * 3. Register in EmailProviderFactory
17
+ */
18
+ export type EmailProviderType = 'sendgrid' | 'mailjet';
19
+ /**
20
+ * Email provider type values as const array (for validation)
21
+ */
22
+ export declare const EMAIL_PROVIDER_TYPES: EmailProviderType[];
23
+ /**
24
+ * Email template configuration for a specific email type
25
+ */
26
+ export interface EmailTemplateConfig {
27
+ /** Provider-specific template ID (e.g., SendGrid dynamic template ID) */
28
+ templateId: string;
29
+ /** Optional subject - if not provided, template's default subject is used */
30
+ subject?: string;
31
+ /**
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.
36
+ */
37
+ variableMapping?: Record<string, string>;
38
+ }
39
+ /**
40
+ * Email templates configuration - keyed by email type
41
+ */
42
+ export interface EmailTemplatesConfig {
43
+ /** Magic link / passwordless login emails */
44
+ magicLink?: EmailTemplateConfig;
45
+ /** Welcome emails for new users */
46
+ welcome?: EmailTemplateConfig;
47
+ /** Password reset emails */
48
+ /** Email verification emails */
49
+ /** Transaction confirmation emails */
50
+ transactionConfirmation?: EmailTemplateConfig;
51
+ /** Allow custom email types */
52
+ [key: string]: EmailTemplateConfig | undefined;
53
+ }
54
+ /**
55
+ * Unified email configuration for a tenant
56
+ *
57
+ * Contains all email-related settings:
58
+ * - Provider selection (sendgrid, mailjet)
59
+ * - API credentials (encrypted reference)
60
+ * - Sender information
61
+ * - Template configurations per email type
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const emailConfig: EmailConfig = {
66
+ * provider: 'sendgrid',
67
+ * apiKeyRef: 'encrypted-ref-123',
68
+ * fromEmail: 'noreply@tenant.com',
69
+ * fromName: 'Tenant Name',
70
+ * templates: {
71
+ * magicLink: {
72
+ * templateId: 'd-abc123',
73
+ * subject: 'Your login link',
74
+ * variableMapping: { 'link_url': 'magicLinkUrl', 'offers_link': 'magicLinkUrl' }
75
+ * }
76
+ * }
77
+ * };
78
+ * ```
79
+ */
80
+ export interface EmailConfig {
81
+ /** Email provider - see EmailProviderType for supported providers */
82
+ provider?: EmailProviderType;
83
+ /** Encrypted reference ID for API key - stores ID from encrypted_data table */
84
+ apiKeyRef?: string;
85
+ /** Sender email address (must be verified with provider) */
86
+ fromEmail?: string;
87
+ /** Sender display name */
88
+ fromName?: string;
89
+ /** Template configurations keyed by email type */
90
+ templates?: EmailTemplatesConfig;
91
+ }
92
+ /**
93
+ * Email type identifiers for template lookup
94
+ */
95
+ export type EmailType = 'magicLink' | string;
96
+ //# sourceMappingURL=email-config.interface.d.ts.map
@@ -0,0 +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;;;;;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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * Email Configuration Interface
4
+ *
5
+ * Unified email configuration for tenants.
6
+ * Groups all email-related settings into a single structure.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.EMAIL_PROVIDER_TYPES = void 0;
10
+ /**
11
+ * Email provider type values as const array (for validation)
12
+ */
13
+ exports.EMAIL_PROVIDER_TYPES = ['sendgrid', 'mailjet'];
14
+ //# sourceMappingURL=email-config.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-config.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/email-config.interface.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAeH;;GAEG;AACU,QAAA,oBAAoB,GAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC"}
@@ -23,4 +23,5 @@ export * from './dynamic-context.interface';
23
23
  export * from './trigger-source-metadata.interface';
24
24
  export * from './ws-relay.types';
25
25
  export * from './external-token-issuer.interface';
26
+ export * from './email-config.interface';
26
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC;AAElD,cAAc,0BAA0B,CAAC"}
@@ -40,4 +40,5 @@ __exportStar(require("./dynamic-context.interface"), exports);
40
40
  __exportStar(require("./trigger-source-metadata.interface"), exports);
41
41
  __exportStar(require("./ws-relay.types"), exports);
42
42
  __exportStar(require("./external-token-issuer.interface"), exports);
43
+ __exportStar(require("./email-config.interface"), exports);
43
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,mEAAiD;AACjD,uEAAqD;AACrD,iEAA+C;AAC/C,iEAA+C;AAC/C,0DAAwC;AACxC,+DAA6C;AAC7C,2EAAyD;AACzD,iEAA+C;AAC/C,qDAAmC;AACnC,gEAA8C;AAC9C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,kEAAgD;AAChD,4EAA0D;AAC1D,mEAAiD;AAEjD,0DAAwC;AAExC,6EAA2D;AAE3D,6CAA2B;AAE3B,+DAA6C;AAC7C,qEAAmD;AACnD,8DAA4C;AAC5C,sEAAoD;AAEpD,mDAAiC;AAEjC,oEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,mEAAiD;AACjD,uEAAqD;AACrD,iEAA+C;AAC/C,iEAA+C;AAC/C,0DAAwC;AACxC,+DAA6C;AAC7C,2EAAyD;AACzD,iEAA+C;AAC/C,qDAAmC;AACnC,gEAA8C;AAC9C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,kEAAgD;AAChD,4EAA0D;AAC1D,mEAAiD;AAEjD,0DAAwC;AAExC,6EAA2D;AAE3D,6CAA2B;AAE3B,+DAA6C;AAC7C,qEAAmD;AACnD,8DAA4C;AAC5C,sEAAoD;AAEpD,mDAAiC;AAEjC,oEAAkD;AAElD,2DAAyC"}
@@ -1,6 +1,7 @@
1
1
  import { AccountOwnerType } from "../enum/owner-type.enum";
2
2
  import { IntegrationApiKeyType, ApiKeyType, AuthApiKeyType, BlockchainApiKeyType } from "../enum/api-key-type.enum";
3
3
  import { MembershipRole } from "../enum/membership-role.enum";
4
+ import { OttAuthMethod } from "../enum/ott-auth-method.enum";
4
5
  import { MinimalWallet } from "./wallet.interface";
5
6
  import type { DecodedIdToken } from 'firebase-admin/auth';
6
7
  /**
@@ -94,11 +95,20 @@ export interface WebhookJWTPayload extends BasePersJWTPayload {
94
95
  executionId: string;
95
96
  callbackUrl: string;
96
97
  }
97
- export type PersJWTPayload = AuthJWTPayload | ActionableJWTPayload | BlockchainJWTPayload | WebhookJWTPayload;
98
+ export interface OttJWTPayload extends BasePersJWTPayload {
99
+ sub: string;
100
+ type: ApiKeyType.ONE_TIME_TOKEN;
101
+ tenantId: string;
102
+ method: OttAuthMethod;
103
+ jti: string;
104
+ accountType?: AccountOwnerType;
105
+ }
106
+ export type PersJWTPayload = AuthJWTPayload | ActionableJWTPayload | BlockchainJWTPayload | WebhookJWTPayload | OttJWTPayload;
98
107
  export declare function isAuthPayload(payload: PersJWTPayload): payload is AuthJWTPayload;
99
108
  export declare function isActionablePayload(payload: PersJWTPayload): payload is ActionableJWTPayload;
100
109
  export declare function isBlockchainPayload(payload: PersJWTPayload): payload is BlockchainJWTPayload;
101
110
  export declare function isWebhookPayload(payload: PersJWTPayload): payload is WebhookJWTPayload;
111
+ export declare function isOttPayload(payload: PersJWTPayload): payload is OttJWTPayload;
102
112
  export declare function isPersJWTPayload(payload: any): payload is PersJWTPayload;
103
113
  export {};
104
114
  //# sourceMappingURL=jwt.payload.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ exports.isAuthPayload = isAuthPayload;
4
4
  exports.isActionablePayload = isActionablePayload;
5
5
  exports.isBlockchainPayload = isBlockchainPayload;
6
6
  exports.isWebhookPayload = isWebhookPayload;
7
+ exports.isOttPayload = isOttPayload;
7
8
  exports.isPersJWTPayload = isPersJWTPayload;
9
+ const api_key_type_enum_1 = require("../enum/api-key-type.enum");
8
10
  // ===========================================
9
11
  // TYPE GUARDS & UTILITIES
10
12
  // ===========================================
@@ -21,6 +23,9 @@ function isBlockchainPayload(payload) {
21
23
  function isWebhookPayload(payload) {
22
24
  return 'webhookId' in payload && 'targetUrl' in payload;
23
25
  }
26
+ function isOttPayload(payload) {
27
+ return 'type' in payload && payload.type === api_key_type_enum_1.ApiKeyType.ONE_TIME_TOKEN;
28
+ }
24
29
  // Helper to identify PERS JWT payloads
25
30
  function isPersJWTPayload(payload) {
26
31
  return 'type' in payload && typeof payload.type === 'string';
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;AAoJA,sCAEC;AAED,kDAEC;AAED,kDAEC;AAED,4CAEC;AAGD,4CAEC;AAxBD,8CAA8C;AAC9C,0BAA0B;AAC1B,8CAA8C;AAE9C,uBAAuB;AACvB,SAAgB,aAAa,CAAC,OAAuB;IACjD,OAAO,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;AACrG,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,aAAa,IAAI,OAAO,CAAC;AACpC,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAuB;IACpD,OAAO,WAAW,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC;AAC5D,CAAC;AAED,uCAAuC;AACvC,SAAgB,gBAAgB,CAAC,OAAY;IACzC,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;AAqKA,sCAEC;AAED,kDAEC;AAED,kDAEC;AAED,4CAEC;AAED,oCAEC;AAGD,4CAEC;AA3LD,iEAAoH;AA+JpH,8CAA8C;AAC9C,0BAA0B;AAC1B,8CAA8C;AAE9C,uBAAuB;AACvB,SAAgB,aAAa,CAAC,OAAuB;IACjD,OAAO,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;AACrG,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,aAAa,IAAI,OAAO,CAAC;AACpC,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAuB;IACpD,OAAO,WAAW,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC;AAC5D,CAAC;AAED,SAAgB,YAAY,CAAC,OAAuB;IAChD,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,8BAAU,CAAC,cAAc,CAAC;AAC3E,CAAC;AAED,uCAAuC;AACvC,SAAgB,gBAAgB,CAAC,OAAY;IACzC,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjE,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,3 +1,4 @@
1
1
  export * from './auth-token-verification.dto';
2
2
  export * from './auth.dto';
3
+ export * from './magic-link.dto';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"AAEA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './auth-token-verification.dto.js';
2
2
  export * from './auth.dto.js';
3
+ export * from './magic-link.dto.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"AAEA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { CommonErrorCode } from '../../errors/error-codes';
2
+ /**
3
+ * Magic link specific error codes for API documentation
4
+ */
5
+ export declare const MagicLinkErrorCodes: readonly ["MAGIC_LINK_EMAIL_SEND_FAILED", "MAGIC_LINK_EMAIL_MISMATCH", "MAGIC_LINK_VERIFICATION_FAILED", "INVALID_TOKEN", "TOKEN_EXPIRED", "INTERNAL_ERROR"];
6
+ /**
7
+ * Request DTO for sending a magic link
8
+ *
9
+ * Endpoint: POST /auth/magic-link/send
10
+ */
11
+ export declare class SendMagicLinkRequestDTO {
12
+ email: string;
13
+ redirectUrl?: string;
14
+ language?: string;
15
+ params?: Record<string, string>;
16
+ }
17
+ /**
18
+ * Response DTO for sending a magic link
19
+ */
20
+ export declare class SendMagicLinkResponseDTO {
21
+ success: boolean;
22
+ message?: string;
23
+ errorCode?: CommonErrorCode;
24
+ }
25
+ /**
26
+ * Response DTO for verifying a magic link (via /auth/token with OTT)
27
+ *
28
+ * Uses SessionAuthContextResponseDTO - throws exceptions on failure
29
+ * @see SessionAuthContextResponseDTO
30
+ */
31
+ //# sourceMappingURL=magic-link.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magic-link.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/magic-link.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE;;GAEG;AACH,eAAO,MAAM,mBAAmB,8JAOtB,CAAC;AAEX;;;;GAIG;AACH,qBAAa,uBAAuB;IAMhC,KAAK,EAAG,MAAM,CAAC;IAQf,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAKjC,OAAO,EAAG,OAAO,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;;;;GAKG"}
@@ -0,0 +1,97 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
8
+ import { IsEmail, IsString, MaxLength } from 'class-validator';
9
+ import { CommonErrorCodes } from '../../errors/error-codes.js';
10
+ import { OptionalStrip } from '../../decorators/index.js';
11
+ /**
12
+ * Magic link specific error codes for API documentation
13
+ */
14
+ export const MagicLinkErrorCodes = [
15
+ CommonErrorCodes.MAGIC_LINK_EMAIL_SEND_FAILED,
16
+ CommonErrorCodes.MAGIC_LINK_EMAIL_MISMATCH,
17
+ CommonErrorCodes.MAGIC_LINK_VERIFICATION_FAILED,
18
+ CommonErrorCodes.INVALID_TOKEN,
19
+ CommonErrorCodes.TOKEN_EXPIRED,
20
+ CommonErrorCodes.INTERNAL_ERROR,
21
+ ];
22
+ /**
23
+ * Request DTO for sending a magic link
24
+ *
25
+ * Endpoint: POST /auth/magic-link/send
26
+ */
27
+ export class SendMagicLinkRequestDTO {
28
+ email;
29
+ redirectUrl;
30
+ language;
31
+ params;
32
+ }
33
+ __decorate([
34
+ ApiProperty({
35
+ description: 'User email address to send the magic link to',
36
+ example: 'user@example.com',
37
+ }),
38
+ IsEmail()
39
+ ], SendMagicLinkRequestDTO.prototype, "email", void 0);
40
+ __decorate([
41
+ ApiPropertyOptional({
42
+ description: 'URL to redirect to after successful authentication',
43
+ example: 'https://app.example.com/dashboard',
44
+ }),
45
+ OptionalStrip(),
46
+ IsString()
47
+ ], SendMagicLinkRequestDTO.prototype, "redirectUrl", void 0);
48
+ __decorate([
49
+ ApiPropertyOptional({
50
+ description: 'Language code for the email template',
51
+ example: 'en',
52
+ default: 'en',
53
+ }),
54
+ OptionalStrip(),
55
+ IsString(),
56
+ MaxLength(5)
57
+ ], SendMagicLinkRequestDTO.prototype, "language", void 0);
58
+ __decorate([
59
+ ApiPropertyOptional({
60
+ description: 'Additional query parameters to include in the magic link URL',
61
+ example: { returnPath: '/dashboard', campaign: 'signup' },
62
+ }),
63
+ OptionalStrip()
64
+ ], SendMagicLinkRequestDTO.prototype, "params", void 0);
65
+ /**
66
+ * Response DTO for sending a magic link
67
+ */
68
+ export class SendMagicLinkResponseDTO {
69
+ success;
70
+ message;
71
+ errorCode;
72
+ }
73
+ __decorate([
74
+ ApiProperty({
75
+ description: 'Whether the magic link was sent successfully',
76
+ example: true,
77
+ })
78
+ ], SendMagicLinkResponseDTO.prototype, "success", void 0);
79
+ __decorate([
80
+ ApiPropertyOptional({
81
+ description: 'Message describing the result',
82
+ example: 'Magic link sent successfully',
83
+ })
84
+ ], SendMagicLinkResponseDTO.prototype, "message", void 0);
85
+ __decorate([
86
+ ApiPropertyOptional({
87
+ description: 'Error code if the request failed',
88
+ enum: MagicLinkErrorCodes,
89
+ })
90
+ ], SendMagicLinkResponseDTO.prototype, "errorCode", void 0);
91
+ /**
92
+ * Response DTO for verifying a magic link (via /auth/token with OTT)
93
+ *
94
+ * Uses SessionAuthContextResponseDTO - throws exceptions on failure
95
+ * @see SessionAuthContextResponseDTO
96
+ */
97
+ //# sourceMappingURL=magic-link.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magic-link.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/magic-link.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,gBAAgB,CAAC,4BAA4B;IAC7C,gBAAgB,CAAC,yBAAyB;IAC1C,gBAAgB,CAAC,8BAA8B;IAC/C,gBAAgB,CAAC,aAAa;IAC9B,gBAAgB,CAAC,aAAa;IAC9B,gBAAgB,CAAC,cAAc;CACzB,CAAC;AAEX;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAMhC,KAAK,CAAU;IAQf,WAAW,CAAU;IAUrB,QAAQ,CAAU;IAOlB,MAAM,CAA0B;CACnC;AA1BG;IALC,WAAW,CAAC;QACT,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,kBAAkB;KAC9B,CAAC;IACD,OAAO,EAAE;sDACK;AAQf;IANC,mBAAmB,CAAC;QACjB,WAAW,EAAE,oDAAoD;QACjE,OAAO,EAAE,mCAAmC;KAC/C,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;4DACU;AAUrB;IARC,mBAAmB,CAAC;QACjB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;IACV,SAAS,CAAC,CAAC,CAAC;yDACK;AAOlB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE;KAC5D,CAAC;IACD,aAAa,EAAE;uDACgB;AAGpC;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAKjC,OAAO,CAAW;IAMlB,OAAO,CAAU;IAMjB,SAAS,CAAmB;CAC/B;AAbG;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,IAAI;KAChB,CAAC;yDACgB;AAMlB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,8BAA8B;KAC1C,CAAC;yDACe;AAMjB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,mBAAmB;KAC5B,CAAC;2DAC0B;AAGhC;;;;;GAKG"}
@@ -157,7 +157,7 @@ __decorate([
157
157
  ApiProperty({
158
158
  description: 'create date',
159
159
  type: Date,
160
- default: new Date()
160
+ default: null
161
161
  })
162
162
  ], CampaignDTO.prototype, "createdAt", void 0);
163
163
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"campaign.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,WAAW;IAChB,wCAAwC;IACxC,gBAAgB;IAChB,wCAAwC;IAMxC,EAAE,GAAW,EAAE,CAAC;IAOhB,eAAe,GAAkB,IAAI,CAAC;IAOtC,IAAI,GAAkB,IAAI,CAAC;IAO3B,WAAW,GAAkB,IAAI,CAAC;IAOlC,yBAAyB,GAAkB,IAAI,CAAC;IAOhD,SAAS,GAAgB,IAAI,CAAC;IAO9B,OAAO,GAAgB,IAAI,CAAC;IAO5B,QAAQ,GAAkB,IAAI,CAAC;IAO/B,OAAO,GAAkB,IAAI,CAAC;IAO9B,WAAW,GAAkB,IAAI,CAAC;IAOlC,QAAQ,GAAY,KAAK,CAAC;IAO1B,SAAS,CAAW;IAOpB,SAAS,GAAiB,IAAI,CAAC;IAQ/B,SAAS,GAAgB,IAAI,CAAC;IAO9B,KAAK,GAAkB,CAAC,CAAC;IAQzB,IAAI,GAAa,EAAE,CAAC;IAOpB,uBAAuB,GAAoB,IAAI,CAAC;IAEhD,wCAAwC;IACxC,2CAA2C;IAC3C,wCAAwC;IAOxC,OAAO,GAA8B,IAAI,CAAC;IAO1C,UAAU,GAAmB,EAAE,CAAC;IAEhC;;;OAGG;IAOH,mBAAmB,GAAoC,EAAE,CAAC;IAE1D,wCAAwC;IACxC,iCAAiC;IACjC,wCAAwC;IAQxC,gBAAgB,GAAa,EAAE,CAAC;IAEhC,wCAAwC;IACxC,2BAA2B;IAC3B,wCAAwC;IACxC,uDAAuD;IACvD,0CAA0C;IAO1C,UAAU,CAAU;IAEpB,wCAAwC;IACxC,6BAA6B;IAC7B,wCAAwC;IACxC,uDAAuD;IACvD,8CAA8C;IAwB9C,QAAQ,CAIN;CACT;AA5MO;IAJC,WAAW,CAAC;QACL,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,MAAM;KACnB,CAAC;uCACc;AAOhB;IALC,WAAW,CAAC;QACL,WAAW,EAAE,yIAAyI;QACtJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;oDACoC;AAOtC;IALC,WAAW,CAAC;QACL,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;yCACyB;AAO3B;IALC,WAAW,CAAC;QACL,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;gDACgC;AAOlC;IALC,WAAW,CAAC;QACL,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;8DAC8C;AAOhD;IALC,WAAW,CAAC;QACL,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;KACrB,CAAC;8CAC4B;AAO9B;IALC,WAAW,CAAC;QACL,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;KACrB,CAAC;4CAC0B;AAO5B;IALC,WAAW,CAAC;QACL,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;6CAC6B;AAO/B;IALC,WAAW,CAAC;QACL,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;4CAC4B;AAO9B;IALC,WAAW,CAAC;QACL,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;gDACgC;AAOlC;IALC,WAAW,CAAC;QACL,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACrB,CAAC;6CACwB;AAO1B;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,qFAAqF;QAClG,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACrB,CAAC;8CACkB;AAOpB;IALC,WAAW,CAAC;QACL,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,IAAI,EAAE;KAC1B,CAAC;8CAC6B;AAQ/B;IANC,WAAW,CAAC;QACL,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACpB,CAAC;8CAC4B;AAO9B;IALC,WAAW,CAAC;QACL,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACjB,CAAC;0CACuB;AAQzB;IANC,WAAW,CAAC;QACL,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE;KAClB,CAAC;yCACkB;AAOpB;IALC,WAAW,CAAC;QACL,WAAW,EAAE,2EAA2E;QACxF,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;KAChC,CAAC;4DAC8C;AAWhD;IALC,WAAW,CAAC;QACL,WAAW,EAAE,2GAA2G;QACxH,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB;QAC9B,QAAQ,EAAE,IAAI;KACrB,CAAC;4CACwC;AAO1C;IALC,WAAW,CAAC;QACL,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC;QAC1B,OAAO,EAAE,IAAI;KACpB,CAAC;+CAC8B;AAYhC;IANC,WAAW,CAAC;QACL,WAAW,EAAE,wGAAwG;QACrH,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,6BAA6B,CAAC;QAC3C,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACvB,CAAC;wDACwD;AAY1D;IANC,WAAW,CAAC;QACL,WAAW,EAAE,+EAA+E;QAC5F,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;KACpD,CAAC;qDAC8B;AAahC;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,gGAAgG;QAC7G,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACrB,CAAC;+CACkB;AA8BpB;IAtBC,mBAAmB,CAAC;QACb,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACJ,cAAc,EAAE;gBACR,WAAW,EAAE,4DAA4D;gBACzE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAAE;aACvD;YACD,UAAU,EAAE;gBACJ,WAAW,EAAE,8EAA8E;gBAC3F,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE;aAClD;YACD,aAAa,EAAE;gBACP,WAAW,EAAE,sFAAsF;gBACnG,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC;aACvC;SACR;KACR,CAAC;6CAKA"}
1
+ {"version":3,"file":"campaign.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign.dto.ts"],"names":[],"mappings":"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"}