@explorins/pers-shared 2.1.154 → 2.1.156

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 (181) 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/dto/ai/ai-generation-log.dto.d.ts.map +1 -1
  6. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.js +2 -0
  7. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.js.map +1 -1
  8. package/dist/cjs/shared-lib/dto/analytics/redemption-redeem-analytics-request.dto.d.ts +1 -1
  9. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.d.ts.map +1 -1
  10. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.js +1 -0
  11. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.js.map +1 -1
  12. package/dist/cjs/shared-lib/dto/business/business-membership.dto.d.ts.map +1 -1
  13. package/dist/cjs/shared-lib/dto/business/business-membership.dto.js +4 -2
  14. package/dist/cjs/shared-lib/dto/business/business-membership.dto.js.map +1 -1
  15. package/dist/cjs/shared-lib/dto/business/business-type.dto.d.ts.map +1 -1
  16. package/dist/cjs/shared-lib/dto/business/business-type.dto.js +8 -0
  17. package/dist/cjs/shared-lib/dto/business/business-type.dto.js.map +1 -1
  18. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js +2 -2
  19. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  20. package/dist/cjs/shared-lib/dto/purchase/donationType.dto.d.ts +4 -2
  21. package/dist/cjs/shared-lib/dto/purchase/donationType.dto.d.ts.map +1 -1
  22. package/dist/cjs/shared-lib/dto/purchase/donationType.dto.js +14 -6
  23. package/dist/cjs/shared-lib/dto/purchase/donationType.dto.js.map +1 -1
  24. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts +7 -0
  25. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -1
  26. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js +26 -0
  27. package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js.map +1 -1
  28. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts +0 -2
  29. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
  30. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js +8 -11
  31. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
  32. package/dist/cjs/shared-lib/dto/transaction/transaction.dto.js +2 -2
  33. package/dist/cjs/shared-lib/dto/transaction/transaction.dto.js.map +1 -1
  34. package/dist/cjs/shared-lib/dto/wallet.dto.d.ts.map +1 -1
  35. package/dist/cjs/shared-lib/dto/wallet.dto.js +4 -2
  36. package/dist/cjs/shared-lib/dto/wallet.dto.js.map +1 -1
  37. package/dist/cjs/shared-lib/dto/webhook/webhook.dto.js +2 -2
  38. package/dist/cjs/shared-lib/dto/webhook/webhook.dto.js.map +1 -1
  39. package/dist/cjs/shared-lib/enum/index.d.ts +1 -0
  40. package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
  41. package/dist/cjs/shared-lib/enum/index.js +2 -0
  42. package/dist/cjs/shared-lib/enum/index.js.map +1 -1
  43. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts +12 -1
  44. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  45. package/dist/cjs/shared-lib/errors/domains/validation-errors.js +25 -1
  46. package/dist/cjs/shared-lib/errors/domains/validation-errors.js.map +1 -1
  47. package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts +2 -0
  48. package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts.map +1 -1
  49. package/dist/cjs/shared-lib/types/filter-options.type.d.ts +4 -4
  50. package/dist/cjs/shared-lib/types/filter-options.type.d.ts.map +1 -1
  51. package/dist/cjs/shared-lib/types/index.d.ts +3 -0
  52. package/dist/cjs/shared-lib/types/index.d.ts.map +1 -1
  53. package/dist/cjs/shared-lib/types/index.js +3 -0
  54. package/dist/cjs/shared-lib/types/index.js.map +1 -1
  55. package/dist/cjs/shared-lib/types/unique-user-identifier-keys.d.ts +13 -0
  56. package/dist/cjs/shared-lib/types/unique-user-identifier-keys.d.ts.map +1 -1
  57. package/dist/cjs/shared-lib/types/unique-user-identifier-keys.js +22 -3
  58. package/dist/cjs/shared-lib/types/unique-user-identifier-keys.js.map +1 -1
  59. package/dist/cjs/shared-lib/types/user-fields.type.d.ts +105 -0
  60. package/dist/cjs/shared-lib/types/user-fields.type.d.ts.map +1 -0
  61. package/dist/cjs/shared-lib/types/user-fields.type.js +76 -0
  62. package/dist/cjs/shared-lib/types/user-fields.type.js.map +1 -0
  63. package/dist/cjs/shared-lib/types/uuid.type.d.ts +15 -0
  64. package/dist/cjs/shared-lib/types/uuid.type.d.ts.map +1 -0
  65. package/dist/cjs/shared-lib/types/uuid.type.js +11 -0
  66. package/dist/cjs/shared-lib/types/uuid.type.js.map +1 -0
  67. package/dist/cjs/shared-lib/validation/field-validation.d.ts +35 -0
  68. package/dist/cjs/shared-lib/validation/field-validation.d.ts.map +1 -0
  69. package/dist/cjs/shared-lib/validation/field-validation.js +238 -0
  70. package/dist/cjs/shared-lib/validation/field-validation.js.map +1 -0
  71. package/dist/cjs/shared-lib/validation/index.d.ts +4 -0
  72. package/dist/cjs/shared-lib/validation/index.d.ts.map +1 -0
  73. package/dist/cjs/shared-lib/validation/index.js +23 -0
  74. package/dist/cjs/shared-lib/validation/index.js.map +1 -0
  75. package/dist/cjs/shared-lib/validation/validation.types.d.ts +50 -0
  76. package/dist/cjs/shared-lib/validation/validation.types.d.ts.map +1 -0
  77. package/dist/cjs/shared-lib/validation/validation.types.js +19 -0
  78. package/dist/cjs/shared-lib/validation/validation.types.js.map +1 -0
  79. package/dist/cjs/shared-lib/validation/validators.d.ts +37 -0
  80. package/dist/cjs/shared-lib/validation/validators.d.ts.map +1 -0
  81. package/dist/cjs/shared-lib/validation/validators.js +69 -0
  82. package/dist/cjs/shared-lib/validation/validators.js.map +1 -0
  83. package/dist/cjs/shared-patterns/errors/error-factory.d.ts +3 -1
  84. package/dist/cjs/shared-patterns/errors/error-factory.d.ts.map +1 -1
  85. package/dist/cjs/shared-patterns/errors/error-factory.js +8 -0
  86. package/dist/cjs/shared-patterns/errors/error-factory.js.map +1 -1
  87. package/dist/esm/index.d.ts +1 -0
  88. package/dist/esm/index.d.ts.map +1 -1
  89. package/dist/esm/index.js +1 -0
  90. package/dist/esm/index.js.map +1 -1
  91. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.d.ts.map +1 -1
  92. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.js +2 -0
  93. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.js.map +1 -1
  94. package/dist/esm/shared-lib/dto/analytics/redemption-redeem-analytics-request.dto.d.ts +1 -1
  95. package/dist/esm/shared-lib/dto/api-key/api-key.dto.d.ts.map +1 -1
  96. package/dist/esm/shared-lib/dto/api-key/api-key.dto.js +1 -0
  97. package/dist/esm/shared-lib/dto/api-key/api-key.dto.js.map +1 -1
  98. package/dist/esm/shared-lib/dto/business/business-membership.dto.d.ts.map +1 -1
  99. package/dist/esm/shared-lib/dto/business/business-membership.dto.js +4 -2
  100. package/dist/esm/shared-lib/dto/business/business-membership.dto.js.map +1 -1
  101. package/dist/esm/shared-lib/dto/business/business-type.dto.d.ts.map +1 -1
  102. package/dist/esm/shared-lib/dto/business/business-type.dto.js +13 -5
  103. package/dist/esm/shared-lib/dto/business/business-type.dto.js.map +1 -1
  104. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js +2 -2
  105. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  106. package/dist/esm/shared-lib/dto/purchase/donationType.dto.d.ts +4 -2
  107. package/dist/esm/shared-lib/dto/purchase/donationType.dto.d.ts.map +1 -1
  108. package/dist/esm/shared-lib/dto/purchase/donationType.dto.js +14 -7
  109. package/dist/esm/shared-lib/dto/purchase/donationType.dto.js.map +1 -1
  110. package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts +7 -0
  111. package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -1
  112. package/dist/esm/shared-lib/dto/tenant/email-config.dto.js +24 -0
  113. package/dist/esm/shared-lib/dto/tenant/email-config.dto.js.map +1 -1
  114. package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts +0 -2
  115. package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
  116. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js +8 -10
  117. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
  118. package/dist/esm/shared-lib/dto/transaction/transaction.dto.js +2 -2
  119. package/dist/esm/shared-lib/dto/transaction/transaction.dto.js.map +1 -1
  120. package/dist/esm/shared-lib/dto/wallet.dto.d.ts.map +1 -1
  121. package/dist/esm/shared-lib/dto/wallet.dto.js +4 -2
  122. package/dist/esm/shared-lib/dto/wallet.dto.js.map +1 -1
  123. package/dist/esm/shared-lib/dto/webhook/webhook.dto.js +2 -2
  124. package/dist/esm/shared-lib/dto/webhook/webhook.dto.js.map +1 -1
  125. package/dist/esm/shared-lib/enum/index.d.ts +1 -0
  126. package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
  127. package/dist/esm/shared-lib/enum/index.js +2 -0
  128. package/dist/esm/shared-lib/enum/index.js.map +1 -1
  129. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts +12 -1
  130. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  131. package/dist/esm/shared-lib/errors/domains/validation-errors.js +24 -1
  132. package/dist/esm/shared-lib/errors/domains/validation-errors.js.map +1 -1
  133. package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts +2 -0
  134. package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts.map +1 -1
  135. package/dist/esm/shared-lib/types/filter-options.type.d.ts +4 -4
  136. package/dist/esm/shared-lib/types/filter-options.type.d.ts.map +1 -1
  137. package/dist/esm/shared-lib/types/index.d.ts +3 -0
  138. package/dist/esm/shared-lib/types/index.d.ts.map +1 -1
  139. package/dist/esm/shared-lib/types/index.js +3 -0
  140. package/dist/esm/shared-lib/types/index.js.map +1 -1
  141. package/dist/esm/shared-lib/types/unique-user-identifier-keys.d.ts +13 -0
  142. package/dist/esm/shared-lib/types/unique-user-identifier-keys.d.ts.map +1 -1
  143. package/dist/esm/shared-lib/types/unique-user-identifier-keys.js +21 -2
  144. package/dist/esm/shared-lib/types/unique-user-identifier-keys.js.map +1 -1
  145. package/dist/esm/shared-lib/types/user-fields.type.d.ts +105 -0
  146. package/dist/esm/shared-lib/types/user-fields.type.d.ts.map +1 -0
  147. package/dist/esm/shared-lib/types/user-fields.type.js +67 -0
  148. package/dist/esm/shared-lib/types/user-fields.type.js.map +1 -0
  149. package/dist/esm/shared-lib/types/uuid.type.d.ts +15 -0
  150. package/dist/esm/shared-lib/types/uuid.type.d.ts.map +1 -0
  151. package/dist/esm/shared-lib/types/uuid.type.js +7 -0
  152. package/dist/esm/shared-lib/types/uuid.type.js.map +1 -0
  153. package/dist/esm/shared-lib/validation/field-validation.d.ts +35 -0
  154. package/dist/esm/shared-lib/validation/field-validation.d.ts.map +1 -0
  155. package/dist/esm/shared-lib/validation/field-validation.js +219 -0
  156. package/dist/esm/shared-lib/validation/field-validation.js.map +1 -0
  157. package/dist/esm/shared-lib/validation/index.d.ts +4 -0
  158. package/dist/esm/shared-lib/validation/index.d.ts.map +1 -0
  159. package/dist/esm/shared-lib/validation/index.js +7 -0
  160. package/dist/esm/shared-lib/validation/index.js.map +1 -0
  161. package/dist/esm/shared-lib/validation/validation.types.d.ts +50 -0
  162. package/dist/esm/shared-lib/validation/validation.types.d.ts.map +1 -0
  163. package/dist/esm/shared-lib/validation/validation.types.js +16 -0
  164. package/dist/esm/shared-lib/validation/validation.types.js.map +1 -0
  165. package/dist/esm/shared-lib/validation/validators.d.ts +37 -0
  166. package/dist/esm/shared-lib/validation/validators.d.ts.map +1 -0
  167. package/dist/esm/shared-lib/validation/validators.js +61 -0
  168. package/dist/esm/shared-lib/validation/validators.js.map +1 -0
  169. package/dist/esm/shared-patterns/errors/error-factory.d.ts +3 -1
  170. package/dist/esm/shared-patterns/errors/error-factory.d.ts.map +1 -1
  171. package/dist/esm/shared-patterns/errors/error-factory.js +9 -1
  172. package/dist/esm/shared-patterns/errors/error-factory.js.map +1 -1
  173. package/package.json +1 -1
  174. package/dist/cjs/shared-lib/enum/lambda.enum.d.ts +0 -25
  175. package/dist/cjs/shared-lib/enum/lambda.enum.d.ts.map +0 -1
  176. package/dist/cjs/shared-lib/enum/lambda.enum.js +0 -31
  177. package/dist/cjs/shared-lib/enum/lambda.enum.js.map +0 -1
  178. package/dist/esm/shared-lib/enum/lambda.enum.d.ts +0 -25
  179. package/dist/esm/shared-lib/enum/lambda.enum.d.ts.map +0 -1
  180. package/dist/esm/shared-lib/enum/lambda.enum.js +0 -28
  181. package/dist/esm/shared-lib/enum/lambda.enum.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,gBAAgB,CAAC;AAG/B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,gBAAgB,CAAC;AAG/B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
@@ -47,6 +47,8 @@ __exportStar(require("./ai-analytics-metric.enum"), exports);
47
47
  __exportStar(require("./webhook.enum"), exports);
48
48
  // OTT authentication methods
49
49
  __exportStar(require("./ott-auth-method.enum"), exports);
50
+ // User profile fields (re-export from types - not an enum)
51
+ __exportStar(require("../types/user-fields.type"), exports);
50
52
  // Entity type system (base + domain-specific extensions)
51
53
  __exportStar(require("./entity-types.enum"), exports);
52
54
  // Error classification enum
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,0EAAwD;AACxD,sDAAoC;AACpC,oDAAkC;AAClC,yDAAuC;AACvC,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC;AACnC,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,gEAA8C;AAC9C,gDAA8B;AAC9B,gDAA8B;AAC9B,oDAAkC;AAClC,+DAA6C;AAC7C,iEAA+C;AAC/C,yDAAuC;AACvC,6DAA2C;AAC3C,gEAA8C;AAE9C,6CAA2B;AAE3B,6CAA2B;AAE3B,2DAAyC;AACzC,iEAA+C;AAC/C,6DAA2C;AAE3C,gBAAgB;AAChB,iDAA+B;AAE/B,6BAA6B;AAC7B,yDAAuC;AAEvC,yDAAyD;AACzD,sDAAoC;AAEpC,4BAA4B;AAC5B,wFAA0E;AAAjE,2HAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,0EAAwD;AACxD,sDAAoC;AACpC,oDAAkC;AAClC,yDAAuC;AACvC,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC;AACnC,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,gEAA8C;AAC9C,gDAA8B;AAC9B,gDAA8B;AAC9B,oDAAkC;AAClC,+DAA6C;AAC7C,iEAA+C;AAC/C,yDAAuC;AACvC,6DAA2C;AAC3C,gEAA8C;AAE9C,6CAA2B;AAE3B,6CAA2B;AAE3B,2DAAyC;AACzC,iEAA+C;AAC/C,6DAA2C;AAE3C,gBAAgB;AAChB,iDAA+B;AAE/B,6BAA6B;AAC7B,yDAAuC;AAEvC,2DAA2D;AAC3D,4DAA0C;AAE1C,yDAAyD;AACzD,sDAAoC;AAEpC,4BAA4B;AAC5B,wFAA0E;AAAjE,2HAAA,aAAa,OAAA"}
@@ -1,4 +1,5 @@
1
- import { ValidationError } from '../base-business-error';
1
+ import { BusinessLogicError, ValidationError } from '../base-business-error';
2
+ import { type ValidationErrorDetail } from '../base/error-classification-enums';
2
3
  /**
3
4
  * Generic validation errors used across multiple domains
4
5
  */
@@ -11,4 +12,14 @@ export declare class RequiredFieldError extends ValidationError {
11
12
  export declare class InvalidFormatError extends ValidationError {
12
13
  constructor(field: string, expectedFormat: string);
13
14
  }
15
+ /**
16
+ * Field validation error with multiple violations.
17
+ * Used when validating custom fields or form data with multiple potential errors.
18
+ * The violations array follows the ValidationErrorDetail structure for frontend consumption.
19
+ */
20
+ export declare class FieldValidationFailedError extends BusinessLogicError {
21
+ readonly violations: ValidationErrorDetail[];
22
+ readonly target: string;
23
+ constructor(target: string, violations: ValidationErrorDetail[]);
24
+ }
14
25
  //# sourceMappingURL=validation-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AAEH,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiC;CASrE;AAED,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM;CAS1B;AAED,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CASlD"}
1
+ {"version":3,"file":"validation-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE/F;;GAEG;AAEH,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiC;CASrE;AAED,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM;CAS1B;AAED,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CASlD;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;IAChE,SAAgB,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpD,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE;CAuBhE"}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidFormatError = exports.RequiredFieldError = exports.InvalidInputError = void 0;
3
+ exports.FieldValidationFailedError = exports.InvalidFormatError = exports.RequiredFieldError = exports.InvalidInputError = void 0;
4
+ const common_1 = require("@nestjs/common");
4
5
  const base_business_error_1 = require("../base-business-error");
5
6
  const error_codes_1 = require("../error-codes");
7
+ const error_classification_enums_1 = require("../base/error-classification-enums");
6
8
  /**
7
9
  * Generic validation errors used across multiple domains
8
10
  */
@@ -24,4 +26,26 @@ class InvalidFormatError extends base_business_error_1.ValidationError {
24
26
  }
25
27
  }
26
28
  exports.InvalidFormatError = InvalidFormatError;
29
+ /**
30
+ * Field validation error with multiple violations.
31
+ * Used when validating custom fields or form data with multiple potential errors.
32
+ * The violations array follows the ValidationErrorDetail structure for frontend consumption.
33
+ */
34
+ class FieldValidationFailedError extends base_business_error_1.BusinessLogicError {
35
+ violations;
36
+ target;
37
+ constructor(target, violations) {
38
+ const message = violations.length === 1
39
+ ? `Validation failed: ${violations[0].message}`
40
+ : `Validation failed with ${violations.length} errors`;
41
+ super(error_codes_1.CommonErrorCodes.VALIDATION_ERROR, error_codes_1.ErrorDomains.VALIDATION, message, common_1.HttpStatus.BAD_REQUEST, 'Please correct the validation errors and try again', error_classification_enums_1.ErrorCategory.VALIDATION, false);
42
+ this.violations = violations;
43
+ this.target = target;
44
+ // Override the response to include violations
45
+ const response = this.getResponse();
46
+ response.target = target;
47
+ response.details = { violations };
48
+ }
49
+ }
50
+ exports.FieldValidationFailedError = FieldValidationFailedError;
27
51
  //# sourceMappingURL=validation-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":";;;AACA,gEAA6E;AAC7E,gDAAgE;AAEhE;;GAEG;AAEH,MAAa,iBAAkB,SAAQ,qCAAe;IACpD,YAAY,KAAa,EAAE,SAAiB,wBAAwB;QAClE,KAAK,CACH,8BAAgB,CAAC,gBAAgB,EACjC,0BAAY,CAAC,UAAU,EACvB,gCAAgC,KAAK,MAAM,MAAM,EAAE,EACnD,KAAK,EACL,uCAAuC,CACxC,CAAC;IACJ,CAAC;CACF;AAVD,8CAUC;AAED,MAAa,kBAAmB,SAAQ,qCAAe;IACrD,YAAY,KAAa;QACvB,KAAK,CACH,8BAAgB,CAAC,gBAAgB,EACjC,0BAAY,CAAC,UAAU,EACvB,mBAAmB,KAAK,uBAAuB,EAC/C,KAAK,EACL,+BAA+B,KAAK,GAAG,CACxC,CAAC;IACJ,CAAC;CACF;AAVD,gDAUC;AAED,MAAa,kBAAmB,SAAQ,qCAAe;IACrD,YAAY,KAAa,EAAE,cAAsB;QAC/C,KAAK,CACH,8BAAgB,CAAC,gBAAgB,EACjC,0BAAY,CAAC,UAAU,EACvB,UAAU,KAAK,mCAAmC,cAAc,EAAE,EAClE,KAAK,EACL,mBAAmB,KAAK,4BAA4B,cAAc,EAAE,CACrE,CAAC;IACJ,CAAC;CACF;AAVD,gDAUC"}
1
+ {"version":3,"file":"validation-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,gEAA6E;AAC7E,gDAAgE;AAChE,mFAA+F;AAE/F;;GAEG;AAEH,MAAa,iBAAkB,SAAQ,qCAAe;IACpD,YAAY,KAAa,EAAE,SAAiB,wBAAwB;QAClE,KAAK,CACH,8BAAgB,CAAC,gBAAgB,EACjC,0BAAY,CAAC,UAAU,EACvB,gCAAgC,KAAK,MAAM,MAAM,EAAE,EACnD,KAAK,EACL,uCAAuC,CACxC,CAAC;IACJ,CAAC;CACF;AAVD,8CAUC;AAED,MAAa,kBAAmB,SAAQ,qCAAe;IACrD,YAAY,KAAa;QACvB,KAAK,CACH,8BAAgB,CAAC,gBAAgB,EACjC,0BAAY,CAAC,UAAU,EACvB,mBAAmB,KAAK,uBAAuB,EAC/C,KAAK,EACL,+BAA+B,KAAK,GAAG,CACxC,CAAC;IACJ,CAAC;CACF;AAVD,gDAUC;AAED,MAAa,kBAAmB,SAAQ,qCAAe;IACrD,YAAY,KAAa,EAAE,cAAsB;QAC/C,KAAK,CACH,8BAAgB,CAAC,gBAAgB,EACjC,0BAAY,CAAC,UAAU,EACvB,UAAU,KAAK,mCAAmC,cAAc,EAAE,EAClE,KAAK,EACL,mBAAmB,KAAK,4BAA4B,cAAc,EAAE,CACrE,CAAC;IACJ,CAAC;CACF;AAVD,gDAUC;AAED;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,wCAAkB;IAChD,UAAU,CAA0B;IACpC,MAAM,CAAS;IAE/B,YAAY,MAAc,EAAE,UAAmC;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;YACrC,CAAC,CAAC,sBAAsB,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAC/C,CAAC,CAAC,0BAA0B,UAAU,CAAC,MAAM,SAAS,CAAC;QAEzD,KAAK,CACH,8BAAgB,CAAC,gBAAgB,EACjC,0BAAY,CAAC,UAAU,EACvB,OAAO,EACP,mBAAU,CAAC,WAAW,EACtB,oDAAoD,EACpD,0CAAa,CAAC,UAAU,EACxB,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAyB,CAAC;QAC3D,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;CACF;AA3BD,gEA2BC"}
@@ -82,6 +82,8 @@ export interface EmailConfig {
82
82
  provider?: EmailProviderType;
83
83
  /** Encrypted reference ID for API key - stores ID from encrypted_data table */
84
84
  apiKeyRef?: string;
85
+ /** Encrypted reference ID for API secret - required for Mailjet (uses key pair auth) */
86
+ apiSecretRef?: string;
85
87
  /** Sender email address (must be verified with provider) */
86
88
  fromEmail?: string;
87
89
  /** Sender display name */
@@ -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;;;;;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
+ {"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,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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"}
@@ -31,10 +31,6 @@ export interface DateRangeFilterOptions extends BaseFilterOptions {
31
31
  startDate?: Date | string;
32
32
  /** Filter items ending on or before this date */
33
33
  endDate?: Date | string;
34
- /** Override sortBy with date-aware fields */
35
- sortBy?: 'name' | 'createdAt' | 'startDate';
36
- /** @deprecated Use `sortBy` instead */
37
- sort?: 'name' | 'createdAt' | 'startDate';
38
34
  }
39
35
  /**
40
36
  * Campaign filter options for API and SDK.
@@ -46,6 +42,8 @@ export interface DateRangeFilterOptions extends BaseFilterOptions {
46
42
  * { ownerBusinessId: 'uuid' }
47
43
  */
48
44
  export interface CampaignFilterOptions extends DateRangeFilterOptions {
45
+ /** Sort by field (default: 'order' for display ordering) */
46
+ sortBy?: 'order' | 'name' | 'createdAt' | 'startDate';
49
47
  /** Filter by business engagement (campaigns this business participates in) */
50
48
  businessId?: string;
51
49
  /** Filter by owner business ID (campaigns owned by this business) */
@@ -64,6 +62,8 @@ export interface CampaignFilterOptions extends DateRangeFilterOptions {
64
62
  * { active: true, tags: 'voucher', startDate: '2026-01-01', ownerBusinessId: 'uuid' }
65
63
  */
66
64
  export interface RedemptionFilterOptions extends DateRangeFilterOptions {
65
+ /** Sort by field (default: 'order' for display ordering) */
66
+ sortBy?: 'order' | 'name' | 'createdAt' | 'startDate';
67
67
  /** Filter by owner business ID */
68
68
  ownerBusinessId?: string;
69
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"filter-options.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/filter-options.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-options.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/filter-options.type.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ export * from './uuid.type';
2
+ export * from './user-fields.type';
3
+ export * from '../validation';
1
4
  export * from './testnet-prefix';
2
5
  export * from './unique-user-identifier-keys';
3
6
  export * from './native-token.type';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uBAAuB,CAAC"}
@@ -15,6 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  // Types Barrel - Auto-exports all type definitions
18
+ __exportStar(require("./uuid.type"), exports);
19
+ __exportStar(require("./user-fields.type"), exports);
20
+ __exportStar(require("../validation"), exports);
18
21
  __exportStar(require("./testnet-prefix"), exports);
19
22
  __exportStar(require("./unique-user-identifier-keys"), exports);
20
23
  __exportStar(require("./native-token.type"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAmD;AACnD,mDAAiC;AACjC,gEAA8C;AAC9C,sDAAoC;AACpC,mDAAiC;AACjC,0DAAwC;AACxC,4CAA0B;AAC1B,8DAA4C;AAC5C,6DAA2C;AAC3C,6DAA2C;AAC3C,sEAAoD;AACpD,mEAAiD;AACjD,yEAAuD;AACvD,qEAAmD;AACnD,4EAA0D;AAC1D,8EAA4D;AAC5D,+DAA6C;AAC7C,yEAAuD;AACvD,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAmD;AACnD,8CAA4B;AAC5B,qDAAmC;AACnC,gDAA8B;AAC9B,mDAAiC;AACjC,gEAA8C;AAC9C,sDAAoC;AACpC,mDAAiC;AACjC,0DAAwC;AACxC,4CAA0B;AAC1B,8DAA4C;AAC5C,6DAA2C;AAC3C,6DAA2C;AAC3C,sEAAoD;AACpD,mEAAiD;AACjD,yEAAuD;AACvD,qEAAmD;AACnD,4EAA0D;AAC1D,8EAA4D;AAC5D,+DAA6C;AAC7C,yEAAuD;AACvD,wDAAsC"}
@@ -3,6 +3,19 @@ interface IdentifierTypeConfig {
3
3
  detect: (value: string) => boolean;
4
4
  process: (value: string) => string;
5
5
  }
6
+ /**
7
+ * Base array of all string-valued user model property keys.
8
+ * Single source of truth for user field names across the codebase.
9
+ */
10
+ declare const userModelFieldsArray: readonly ["id", "email", "identifierEmail", "firstName", "lastName", "externalId", "instagramAccountId", "googleAccountName"];
11
+ /** All string-valued UserModel property keys */
12
+ export type UserModelField = typeof userModelFieldsArray[number];
13
+ /** Iterable array of all user model fields */
14
+ export declare const userModelFields: UserModelField[];
15
+ /**
16
+ * Fields that can be used to uniquely identify/lookup a user.
17
+ * Used for wildcard search, user lookup queries.
18
+ */
6
19
  declare const uniqueUserIdentifierKeysArray: readonly ["id", "email", "identifierEmail", "instagramAccountId", "externalId"];
7
20
  export type UniqueUserIdentifierKey = typeof uniqueUserIdentifierKeysArray[number];
8
21
  export type UserIdentifierObject = Record<UniqueUserIdentifierKey, string | null> & {
@@ -1 +1 @@
1
- {"version":3,"file":"unique-user-identifier-keys.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/unique-user-identifier-keys.ts"],"names":[],"mappings":"AACA,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AAGD,QAAA,MAAM,6BAA6B,iFAMzB,CAAC;AAGX,MAAM,MAAM,uBAAuB,GAAG,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AACnF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG;IAClF,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,OAAO,wBAAwB,GAAG,MAAM,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,GAAG;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAGH,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EAAuC,CAAC;AA0BtG;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,KAAK,MAAM,EACX,QAAQ,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,KACxC,IAQF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,eAAe,GAAG,KAAG;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAiBvG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,oBAIxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ;IACjD,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,wBAAwB,GAAG,MAAM,GAAG,IAAI,CAAC;CAE5D,KAAG,oBA6BH,CAAC"}
1
+ {"version":3,"file":"unique-user-identifier-keys.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/unique-user-identifier-keys.ts"],"names":[],"mappings":"AACA,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,QAAA,MAAM,oBAAoB,+HAShB,CAAC;AAEX,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAEjE,8CAA8C;AAC9C,eAAO,MAAM,eAAe,EAAE,cAAc,EAA8B,CAAC;AAE3E;;;GAGG;AACH,QAAA,MAAM,6BAA6B,iFAMW,CAAC;AAG/C,MAAM,MAAM,uBAAuB,GAAG,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AACnF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG;IAClF,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,OAAO,wBAAwB,GAAG,MAAM,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,GAAG;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAGH,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EAAuC,CAAC;AA0BtG;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,KAAK,MAAM,EACX,QAAQ,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,KACxC,IAQF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,eAAe,GAAG,KAAG;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAiBvG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,oBAIxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ;IACjD,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,wBAAwB,GAAG,MAAM,GAAG,IAAI,CAAC;CAE5D,KAAG,oBA6BH,CAAC"}
@@ -1,13 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createUserIdentifierObject = exports.isUserIdentifierObject = exports.detectIdentifierType = exports.registerIdentifierType = exports.uniqueUserIdentifierKeys = void 0;
4
- // Define the keys as a constant array
3
+ exports.createUserIdentifierObject = exports.isUserIdentifierObject = exports.detectIdentifierType = exports.registerIdentifierType = exports.uniqueUserIdentifierKeys = exports.userModelFields = void 0;
4
+ /**
5
+ * Base array of all string-valued user model property keys.
6
+ * Single source of truth for user field names across the codebase.
7
+ */
8
+ const userModelFieldsArray = [
9
+ 'id',
10
+ 'email',
11
+ 'identifierEmail',
12
+ 'firstName',
13
+ 'lastName',
14
+ 'externalId',
15
+ 'instagramAccountId',
16
+ 'googleAccountName',
17
+ ];
18
+ /** Iterable array of all user model fields */
19
+ exports.userModelFields = [...userModelFieldsArray];
20
+ /**
21
+ * Fields that can be used to uniquely identify/lookup a user.
22
+ * Used for wildcard search, user lookup queries.
23
+ */
5
24
  const uniqueUserIdentifierKeysArray = [
6
25
  'id',
7
26
  'email',
8
27
  'identifierEmail',
9
28
  'instagramAccountId',
10
- 'externalId', // This is a special key that can be used to search all fields
29
+ 'externalId',
11
30
  ];
12
31
  // Export the array
13
32
  exports.uniqueUserIdentifierKeys = [...uniqueUserIdentifierKeysArray];
@@ -1 +1 @@
1
- {"version":3,"file":"unique-user-identifier-keys.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/unique-user-identifier-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unique-user-identifier-keys.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/unique-user-identifier-keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import { UserModelField, userModelFields } from './unique-user-identifier-keys';
2
+ import type { FieldValidationRules, FieldComparison, ComparisonOperator, ValidationErrorDetail, FieldType, FieldDefinition } from '../validation';
3
+ /**
4
+ * Built-in user profile fields that can be required for redemptions.
5
+ * These are a subset of UserModelField - excludes 'id' and 'identifierEmail'
6
+ * since those are system-managed, not user-fillable profile fields.
7
+ *
8
+ * Used for:
9
+ * - Redemption required fields (Redemption.requiredUserFields)
10
+ * - User profile validation before redemption claims
11
+ * - Form generation for missing field prompts
12
+ */
13
+ declare const builtInUserFieldsArray: readonly ["email", "firstName", "lastName", "externalId", "instagramAccountId", "googleAccountName"];
14
+ export type BuiltInUserField = typeof builtInUserFieldsArray[number];
15
+ export declare const builtInUserFields: BuiltInUserField[];
16
+ /** Re-export base type for convenience */
17
+ export type { UserModelField };
18
+ export { userModelFields };
19
+ /**
20
+ * Field type hints for form generation and validation
21
+ */
22
+ export type BuiltInFieldType = 'text' | 'email';
23
+ /**
24
+ * Metadata for built-in fields - UI hints for display and form generation
25
+ */
26
+ export interface BuiltInFieldMetadata {
27
+ /** Human-readable label for UI display */
28
+ label: string;
29
+ /** Description for the field */
30
+ description: string;
31
+ /** Field type for form input rendering */
32
+ fieldType: BuiltInFieldType;
33
+ }
34
+ /**
35
+ * Static metadata mapping for all built-in user fields.
36
+ * Used by validation services and UI form generation.
37
+ */
38
+ export declare const builtInUserFieldMetadata: Record<BuiltInUserField, BuiltInFieldMetadata>;
39
+ /**
40
+ * Check if a string is a valid built-in user field
41
+ */
42
+ export declare const isBuiltInUserField: (value: string) => value is BuiltInUserField;
43
+ /**
44
+ * Validation result types for user field checks
45
+ */
46
+ export interface BuiltInFieldValidationInfo {
47
+ field: BuiltInUserField;
48
+ label: string;
49
+ fieldType: BuiltInFieldType;
50
+ }
51
+ export interface CustomFieldValidationInfo {
52
+ definitionId: string;
53
+ key: string;
54
+ label: string;
55
+ description: string | null;
56
+ fieldType: string;
57
+ selectOptions: {
58
+ value: string;
59
+ label: string;
60
+ }[] | null;
61
+ validation: FieldValidationRules | null;
62
+ }
63
+ export type CustomFieldValidationRules = FieldValidationRules;
64
+ export type CustomFieldType = FieldType;
65
+ export type { FieldComparison, ComparisonOperator, ValidationErrorDetail, FieldDefinition };
66
+ export { validateFieldValue, validateFieldComparisons, validateAllFields, compareValues, getOperatorText, } from '../validation';
67
+ export interface UserFieldValidationResult {
68
+ valid: boolean;
69
+ missingBuiltInFields: BuiltInFieldValidationInfo[];
70
+ missingCustomFields: CustomFieldValidationInfo[];
71
+ totalMissing: number;
72
+ }
73
+ export interface CustomFieldSelectOption {
74
+ value: string;
75
+ label: string;
76
+ }
77
+ /**
78
+ * Supported entities for dynamic select options
79
+ */
80
+ export type SelectOptionsEntity = 'business' | 'campaign' | 'redemption' | 'user';
81
+ /**
82
+ * Filter conditions for dynamic select options
83
+ */
84
+ export interface SelectOptionsFilter {
85
+ /** Filter by tags (OR logic - has any of these) */
86
+ tags?: string[];
87
+ /** Filter by active status */
88
+ isActive?: boolean;
89
+ /** Generic key-value filters */
90
+ [key: string]: unknown;
91
+ }
92
+ /**
93
+ * Configuration for fetching select options dynamically from an entity
94
+ */
95
+ export interface SelectOptionsSource {
96
+ /** Entity to fetch options from */
97
+ entity: SelectOptionsEntity;
98
+ /** Field to use as option value (usually 'id') */
99
+ valueField: string;
100
+ /** Field to use as option label (e.g., 'name') */
101
+ labelField: string;
102
+ /** Optional filter conditions */
103
+ filter?: SelectOptionsFilter;
104
+ }
105
+ //# sourceMappingURL=user-fields.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-fields.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/user-fields.type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOperatorText = exports.compareValues = exports.validateAllFields = exports.validateFieldComparisons = exports.validateFieldValue = exports.isBuiltInUserField = exports.builtInUserFieldMetadata = exports.userModelFields = exports.builtInUserFields = void 0;
4
+ const unique_user_identifier_keys_1 = require("./unique-user-identifier-keys");
5
+ Object.defineProperty(exports, "userModelFields", { enumerable: true, get: function () { return unique_user_identifier_keys_1.userModelFields; } });
6
+ /**
7
+ * Built-in user profile fields that can be required for redemptions.
8
+ * These are a subset of UserModelField - excludes 'id' and 'identifierEmail'
9
+ * since those are system-managed, not user-fillable profile fields.
10
+ *
11
+ * Used for:
12
+ * - Redemption required fields (Redemption.requiredUserFields)
13
+ * - User profile validation before redemption claims
14
+ * - Form generation for missing field prompts
15
+ */
16
+ // Fields that can be required for user profile validation (excludes system fields)
17
+ const builtInUserFieldsArray = [
18
+ 'email',
19
+ 'firstName',
20
+ 'lastName',
21
+ 'externalId',
22
+ 'instagramAccountId',
23
+ 'googleAccountName',
24
+ ];
25
+ // Export the array for iteration
26
+ exports.builtInUserFields = [...builtInUserFieldsArray];
27
+ /**
28
+ * Static metadata mapping for all built-in user fields.
29
+ * Used by validation services and UI form generation.
30
+ */
31
+ exports.builtInUserFieldMetadata = {
32
+ email: {
33
+ label: 'Email Address',
34
+ description: 'User email address',
35
+ fieldType: 'email',
36
+ },
37
+ firstName: {
38
+ label: 'First Name',
39
+ description: 'User first name',
40
+ fieldType: 'text',
41
+ },
42
+ lastName: {
43
+ label: 'Last Name',
44
+ description: 'User last name',
45
+ fieldType: 'text',
46
+ },
47
+ externalId: {
48
+ label: 'External ID',
49
+ description: 'External identifier from third-party system',
50
+ fieldType: 'text',
51
+ },
52
+ instagramAccountId: {
53
+ label: 'Instagram Account',
54
+ description: 'Instagram account ID',
55
+ fieldType: 'text',
56
+ },
57
+ googleAccountName: {
58
+ label: 'Google Account',
59
+ description: 'Google account name',
60
+ fieldType: 'text',
61
+ },
62
+ };
63
+ /**
64
+ * Check if a string is a valid built-in user field
65
+ */
66
+ const isBuiltInUserField = (value) => {
67
+ return exports.builtInUserFields.includes(value);
68
+ };
69
+ exports.isBuiltInUserField = isBuiltInUserField;
70
+ var validation_1 = require("../validation");
71
+ Object.defineProperty(exports, "validateFieldValue", { enumerable: true, get: function () { return validation_1.validateFieldValue; } });
72
+ Object.defineProperty(exports, "validateFieldComparisons", { enumerable: true, get: function () { return validation_1.validateFieldComparisons; } });
73
+ Object.defineProperty(exports, "validateAllFields", { enumerable: true, get: function () { return validation_1.validateAllFields; } });
74
+ Object.defineProperty(exports, "compareValues", { enumerable: true, get: function () { return validation_1.compareValues; } });
75
+ Object.defineProperty(exports, "getOperatorText", { enumerable: true, get: function () { return validation_1.getOperatorText; } });
76
+ //# sourceMappingURL=user-fields.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-fields.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/user-fields.type.ts"],"names":[],"mappings":";;;AAAA,+EAAgF;AAuCvE,gGAvCgB,6CAAe,OAuChB;AA7BxB;;;;;;;;;GASG;AAEH,mFAAmF;AACnF,MAAM,sBAAsB,GAAG;IAC7B,OAAO;IACP,WAAW;IACX,UAAU;IACV,YAAY;IACZ,oBAAoB;IACpB,mBAAmB;CACyB,CAAC;AAK/C,iCAAiC;AACpB,QAAA,iBAAiB,GAAuB,CAAC,GAAG,sBAAsB,CAAC,CAAC;AAuBjF;;;GAGG;AACU,QAAA,wBAAwB,GAAmD;IACtF,KAAK,EAAE;QACL,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,OAAO;KACnB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,MAAM;KAClB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,gBAAgB;QAC7B,SAAS,EAAE,MAAM;KAClB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,6CAA6C;QAC1D,SAAS,EAAE,MAAM;KAClB;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,MAAM;KAClB;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE,MAAM;KAClB;CACF,CAAC;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAA6B,EAAE;IAC7E,OAAO,yBAAiB,CAAC,QAAQ,CAAC,KAAyB,CAAC,CAAC;AAC/D,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AA4BF,4CAMuB;AALrB,gHAAA,kBAAkB,OAAA;AAClB,sHAAA,wBAAwB,OAAA;AACxB,+GAAA,iBAAiB,OAAA;AACjB,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * UUID type using template literal for compile-time differentiation.
3
+ * Matches standard UUID format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
4
+ */
5
+ export type UUID = `${string}-${string}-${string}-${string}-${string}`;
6
+ /**
7
+ * Branded UUID for custom field definition IDs.
8
+ * Provides semantic meaning while maintaining UUID structure.
9
+ */
10
+ export type CustomFieldId = UUID;
11
+ /**
12
+ * Check if a string matches UUID format
13
+ */
14
+ export declare const isUUID: (value: string) => value is UUID;
15
+ //# sourceMappingURL=uuid.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/uuid.type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,IAE/C,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isUUID = void 0;
4
+ /**
5
+ * Check if a string matches UUID format
6
+ */
7
+ const isUUID = (value) => {
8
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value);
9
+ };
10
+ exports.isUUID = isUUID;
11
+ //# sourceMappingURL=uuid.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/uuid.type.ts"],"names":[],"mappings":";;;AAYA;;GAEG;AACI,MAAM,MAAM,GAAG,CAAC,KAAa,EAAiB,EAAE;IACrD,OAAO,iEAAiE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvF,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Field Validation Functions
3
+ * Shared between backend and frontend for consistent validation.
4
+ */
5
+ import type { ComparisonOperator, FieldComparison, FieldDefinition, FieldType, FieldValidationRules, ValidationErrorDetail } from './validation.types';
6
+ export type { ComparisonOperator, FieldComparison, FieldComparisonToField, FieldComparisonToValue, FieldDefinition, FieldType, FieldValidationRules, ValidationErrorDetail, } from './validation.types';
7
+ export { operatorText } from './validation.types';
8
+ export { isValidEmail, isValidUrl, isValidWalletAddress, isValidNonEmptyString, isValidUuid, EMAIL_REGEX, EMAIL_MAX_LENGTH, URL_REGEX, WALLET_ADDRESS_REGEX, UUID_REGEX, } from './validators';
9
+ /**
10
+ * Compare two values using the specified operator.
11
+ * Works with numbers, dates, and strings.
12
+ */
13
+ export declare const compareValues: <T extends number | Date | string>(a: T, b: T, op: ComparisonOperator) => boolean;
14
+ /** Get human-readable operator text for error messages. */
15
+ export declare const getOperatorText: (op: ComparisonOperator) => string;
16
+ /**
17
+ * Validate a single field value against validation rules.
18
+ * Does not check cross-field comparisons (use validateFieldComparisons for that).
19
+ */
20
+ export declare const validateFieldValue: (value: unknown, rules: FieldValidationRules | null | undefined, fieldType: FieldType) => ValidationErrorDetail | null;
21
+ /**
22
+ * Validate comparison rules for a single field.
23
+ * Supports comparing to another field OR a literal value.
24
+ */
25
+ export declare const validateFieldComparisons: (fieldKey: string, value: unknown, comparisons: FieldComparison[] | undefined, allData: Record<string, unknown>, fieldType: FieldType) => ValidationErrorDetail[];
26
+ /**
27
+ * Validate all fields in a data object against their definitions.
28
+ * Runs both single-field and comparison validations.
29
+ *
30
+ * @param data - The data object to validate
31
+ * @param definitions - Field definitions with validation rules
32
+ * @returns Array of all validation errors
33
+ */
34
+ export declare const validateAllFields: (data: Record<string, unknown>, definitions: FieldDefinition[]) => ValidationErrorDetail[];
35
+ //# sourceMappingURL=field-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-validation.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/validation/field-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EAEf,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAK5B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,oBAAoB,EACpB,UAAU,GACX,MAAM,cAAc,CAAC;AAMtB;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,MAAM,EAC5D,GAAG,CAAC,EACJ,GAAG,CAAC,EACJ,IAAI,kBAAkB,KACrB,OASF,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,eAAe,GAAI,IAAI,kBAAkB,KAAG,MAA0B,CAAC;AAMpF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,EACd,OAAO,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC9C,WAAW,SAAS,KACnB,qBAAqB,GAAG,IAqG1B,CAAC;AAUF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,OAAO,OAAO,EACd,aAAa,eAAe,EAAE,GAAG,SAAS,EAC1C,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,WAAW,SAAS,KACnB,qBAAqB,EA6DvB,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,eAAe,EAAE,KAC7B,qBAAqB,EA4BvB,CAAC"}