@explorins/pers-shared 2.1.167 → 2.1.168

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 (163) hide show
  1. package/dist/cjs/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.d.ts +1 -1
  2. package/dist/cjs/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.d.ts.map +1 -1
  3. package/dist/cjs/shared-lib/dto/analytics/redemption-redeem-analytics-request.dto.d.ts +1 -1
  4. package/dist/cjs/shared-lib/dto/analytics/redemption-redeem-analytics-request.dto.d.ts.map +1 -1
  5. package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts +1 -1
  6. package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts.map +1 -1
  7. package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.d.ts +1 -1
  8. package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.d.ts.map +1 -1
  9. package/dist/cjs/shared-lib/dto/booking/booking.dto.d.ts +76 -0
  10. package/dist/cjs/shared-lib/dto/booking/booking.dto.d.ts.map +1 -0
  11. package/dist/cjs/shared-lib/dto/booking/booking.dto.js +291 -0
  12. package/dist/cjs/shared-lib/dto/booking/booking.dto.js.map +1 -0
  13. package/dist/cjs/shared-lib/dto/booking/index.d.ts +2 -0
  14. package/dist/cjs/shared-lib/dto/booking/index.d.ts.map +1 -0
  15. package/dist/cjs/shared-lib/dto/booking/index.js +18 -0
  16. package/dist/cjs/shared-lib/dto/booking/index.js.map +1 -0
  17. package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.d.ts +1 -1
  18. package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.d.ts.map +1 -1
  19. package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.js.map +1 -1
  20. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts +2 -0
  21. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts.map +1 -1
  22. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js +10 -0
  23. package/dist/cjs/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  24. package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts +1 -1
  25. package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
  26. package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
  27. package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
  28. package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
  29. package/dist/cjs/shared-lib/dto/index.js +2 -0
  30. package/dist/cjs/shared-lib/dto/index.js.map +1 -1
  31. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts +17 -2
  32. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
  33. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js +25 -4
  34. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
  35. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts +3 -0
  36. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
  37. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js +24 -0
  38. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
  39. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.dto.d.ts +2 -0
  40. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.dto.d.ts.map +1 -1
  41. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.dto.js +10 -0
  42. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.dto.js.map +1 -1
  43. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js +2 -2
  44. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  45. package/dist/cjs/shared-lib/dto/user/custom-field-definition.dto.d.ts +2 -2
  46. package/dist/cjs/shared-lib/dto/user/custom-field-definition.dto.d.ts.map +1 -1
  47. package/dist/cjs/shared-lib/dto/user/custom-field-definition.dto.js +5 -25
  48. package/dist/cjs/shared-lib/dto/user/custom-field-definition.dto.js.map +1 -1
  49. package/dist/cjs/shared-lib/dto/user/user.dto.d.ts +2 -0
  50. package/dist/cjs/shared-lib/dto/user/user.dto.d.ts.map +1 -1
  51. package/dist/cjs/shared-lib/dto/user/user.dto.js +10 -0
  52. package/dist/cjs/shared-lib/dto/user/user.dto.js.map +1 -1
  53. package/dist/cjs/shared-lib/interfaces/local-storage-item.interface.d.ts +3 -0
  54. package/dist/cjs/shared-lib/interfaces/local-storage-item.interface.d.ts.map +1 -1
  55. package/dist/cjs/shared-lib/types/booking.type.d.ts +21 -0
  56. package/dist/cjs/shared-lib/types/booking.type.d.ts.map +1 -0
  57. package/dist/cjs/shared-lib/types/booking.type.js +15 -0
  58. package/dist/cjs/shared-lib/types/booking.type.js.map +1 -0
  59. package/dist/cjs/shared-lib/types/custom-fields.type.d.ts +17 -10
  60. package/dist/cjs/shared-lib/types/custom-fields.type.d.ts.map +1 -1
  61. package/dist/cjs/shared-lib/types/custom-fields.type.js +9 -2
  62. package/dist/cjs/shared-lib/types/custom-fields.type.js.map +1 -1
  63. package/dist/cjs/shared-lib/types/data-source.type.d.ts +90 -0
  64. package/dist/cjs/shared-lib/types/data-source.type.d.ts.map +1 -0
  65. package/dist/cjs/shared-lib/types/data-source.type.js +74 -0
  66. package/dist/cjs/shared-lib/types/data-source.type.js.map +1 -0
  67. package/dist/cjs/shared-lib/types/index.d.ts +2 -0
  68. package/dist/cjs/shared-lib/types/index.d.ts.map +1 -1
  69. package/dist/cjs/shared-lib/types/index.js +2 -0
  70. package/dist/cjs/shared-lib/types/index.js.map +1 -1
  71. package/dist/cjs/shared-lib/types/redemption-include-relation.type.d.ts +6 -4
  72. package/dist/cjs/shared-lib/types/redemption-include-relation.type.d.ts.map +1 -1
  73. package/dist/cjs/shared-lib/types/redemption-include-relation.type.js +2 -1
  74. package/dist/cjs/shared-lib/types/redemption-include-relation.type.js.map +1 -1
  75. package/dist/cjs/shared-lib/validation/field-validation.d.ts +2 -12
  76. package/dist/cjs/shared-lib/validation/field-validation.d.ts.map +1 -1
  77. package/dist/cjs/shared-lib/validation/field-validation.js +27 -79
  78. package/dist/cjs/shared-lib/validation/field-validation.js.map +1 -1
  79. package/dist/cjs/shared-lib/validation/validation.types.d.ts +13 -46
  80. package/dist/cjs/shared-lib/validation/validation.types.d.ts.map +1 -1
  81. package/dist/cjs/shared-lib/validation/validation.types.js.map +1 -1
  82. package/dist/esm/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.d.ts +1 -1
  83. package/dist/esm/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.d.ts.map +1 -1
  84. package/dist/esm/shared-lib/dto/analytics/redemption-redeem-analytics-request.dto.d.ts +1 -1
  85. package/dist/esm/shared-lib/dto/analytics/redemption-redeem-analytics-request.dto.d.ts.map +1 -1
  86. package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts +1 -1
  87. package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts.map +1 -1
  88. package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.d.ts +1 -1
  89. package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.d.ts.map +1 -1
  90. package/dist/esm/shared-lib/dto/booking/booking.dto.d.ts +76 -0
  91. package/dist/esm/shared-lib/dto/booking/booking.dto.d.ts.map +1 -0
  92. package/dist/esm/shared-lib/dto/booking/booking.dto.js +241 -0
  93. package/dist/esm/shared-lib/dto/booking/booking.dto.js.map +1 -0
  94. package/dist/esm/shared-lib/dto/booking/index.d.ts +2 -0
  95. package/dist/esm/shared-lib/dto/booking/index.d.ts.map +1 -0
  96. package/dist/esm/shared-lib/dto/booking/index.js +2 -0
  97. package/dist/esm/shared-lib/dto/booking/index.js.map +1 -0
  98. package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.d.ts +1 -1
  99. package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.d.ts.map +1 -1
  100. package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.js.map +1 -1
  101. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts +2 -0
  102. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.d.ts.map +1 -1
  103. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js +9 -0
  104. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js.map +1 -1
  105. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts +1 -1
  106. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
  107. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
  108. package/dist/esm/shared-lib/dto/index.d.ts +1 -0
  109. package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
  110. package/dist/esm/shared-lib/dto/index.js +2 -0
  111. package/dist/esm/shared-lib/dto/index.js.map +1 -1
  112. package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts +17 -2
  113. package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
  114. package/dist/esm/shared-lib/dto/redemption/redemption.dto.js +24 -4
  115. package/dist/esm/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
  116. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts +3 -0
  117. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
  118. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js +23 -1
  119. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
  120. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.dto.d.ts +2 -0
  121. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.dto.d.ts.map +1 -1
  122. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.dto.js +10 -1
  123. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.dto.js.map +1 -1
  124. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js +2 -2
  125. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  126. package/dist/esm/shared-lib/dto/user/custom-field-definition.dto.d.ts +2 -2
  127. package/dist/esm/shared-lib/dto/user/custom-field-definition.dto.d.ts.map +1 -1
  128. package/dist/esm/shared-lib/dto/user/custom-field-definition.dto.js +5 -24
  129. package/dist/esm/shared-lib/dto/user/custom-field-definition.dto.js.map +1 -1
  130. package/dist/esm/shared-lib/dto/user/user.dto.d.ts +2 -0
  131. package/dist/esm/shared-lib/dto/user/user.dto.d.ts.map +1 -1
  132. package/dist/esm/shared-lib/dto/user/user.dto.js +9 -0
  133. package/dist/esm/shared-lib/dto/user/user.dto.js.map +1 -1
  134. package/dist/esm/shared-lib/interfaces/local-storage-item.interface.d.ts +3 -0
  135. package/dist/esm/shared-lib/interfaces/local-storage-item.interface.d.ts.map +1 -1
  136. package/dist/esm/shared-lib/types/booking.type.d.ts +21 -0
  137. package/dist/esm/shared-lib/types/booking.type.d.ts.map +1 -0
  138. package/dist/esm/shared-lib/types/booking.type.js +12 -0
  139. package/dist/esm/shared-lib/types/booking.type.js.map +1 -0
  140. package/dist/esm/shared-lib/types/custom-fields.type.d.ts +17 -10
  141. package/dist/esm/shared-lib/types/custom-fields.type.d.ts.map +1 -1
  142. package/dist/esm/shared-lib/types/custom-fields.type.js +8 -1
  143. package/dist/esm/shared-lib/types/custom-fields.type.js.map +1 -1
  144. package/dist/esm/shared-lib/types/data-source.type.d.ts +90 -0
  145. package/dist/esm/shared-lib/types/data-source.type.d.ts.map +1 -0
  146. package/dist/esm/shared-lib/types/data-source.type.js +70 -0
  147. package/dist/esm/shared-lib/types/data-source.type.js.map +1 -0
  148. package/dist/esm/shared-lib/types/index.d.ts +2 -0
  149. package/dist/esm/shared-lib/types/index.d.ts.map +1 -1
  150. package/dist/esm/shared-lib/types/index.js +2 -0
  151. package/dist/esm/shared-lib/types/index.js.map +1 -1
  152. package/dist/esm/shared-lib/types/redemption-include-relation.type.d.ts +6 -4
  153. package/dist/esm/shared-lib/types/redemption-include-relation.type.d.ts.map +1 -1
  154. package/dist/esm/shared-lib/types/redemption-include-relation.type.js +2 -1
  155. package/dist/esm/shared-lib/types/redemption-include-relation.type.js.map +1 -1
  156. package/dist/esm/shared-lib/validation/field-validation.d.ts +2 -12
  157. package/dist/esm/shared-lib/validation/field-validation.d.ts.map +1 -1
  158. package/dist/esm/shared-lib/validation/field-validation.js +26 -77
  159. package/dist/esm/shared-lib/validation/field-validation.js.map +1 -1
  160. package/dist/esm/shared-lib/validation/validation.types.d.ts +13 -46
  161. package/dist/esm/shared-lib/validation/validation.types.d.ts.map +1 -1
  162. package/dist/esm/shared-lib/validation/validation.types.js.map +1 -1
  163. package/package.json +1 -1
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOCATION_TYPES = void 0;
4
+ /**
5
+ * Location types for bookings.
6
+ * Broad categories for different booking contexts.
7
+ */
8
+ exports.LOCATION_TYPES = [
9
+ 'property', // Physical property (hotel, resort, vacation rental)
10
+ 'service', // Service-based booking (spa, salon, restaurant)
11
+ 'event', // Event/activity booking (concert, tour, class)
12
+ 'experience', // Experience package (multi-activity, bundle)
13
+ 'destination', // Destination/location-based (city pass, area access)
14
+ ];
15
+ //# sourceMappingURL=booking.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/booking.type.ts"],"names":[],"mappings":";;;AAgBA;;;GAGG;AACU,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAM,qDAAqD;IACrE,SAAS,EAAO,iDAAiD;IACjE,OAAO,EAAS,gDAAgD;IAChE,YAAY,EAAI,8CAA8C;IAC9D,aAAa,EAAG,sDAAsD;CAC9D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { UserModelField, userModelFields } from './unique-user-identifier-keys';
2
- import type { FieldValidationRules, FieldComparison, ComparisonOperator, ValidationErrorDetail, FieldType, FieldDefinition, ObjectFieldSchema } from '../validation';
2
+ import type { FieldValidationRules, FieldComparison, ComparisonOperator, ValidationErrorDetail, FieldType, FieldDefinition } from '../validation';
3
3
  /**
4
4
  * Built-in user profile fields that can be required for redemptions.
5
5
  * These are a subset of UserModelField - excludes 'id' and 'identifierEmail'
@@ -57,7 +57,6 @@ export interface BuiltInFieldDefinition {
57
57
  label: string;
58
58
  description: string;
59
59
  fieldType: BuiltInFieldType;
60
- objectSchema: null;
61
60
  selectOptions: null;
62
61
  selectOptionsSource: null;
63
62
  validation: null;
@@ -91,12 +90,11 @@ export interface CustomFieldValidationInfo {
91
90
  value: string;
92
91
  label: string;
93
92
  }[] | null;
94
- objectSchema: ObjectFieldSchema[] | null;
95
93
  validation: FieldValidationRules | null;
96
94
  }
97
95
  export type CustomFieldValidationRules = FieldValidationRules;
98
96
  export type CustomFieldType = FieldType;
99
- export type { FieldComparison, ComparisonOperator, ValidationErrorDetail, FieldDefinition, ObjectFieldSchema };
97
+ export type { FieldComparison, ComparisonOperator, ValidationErrorDetail, FieldDefinition };
100
98
  export { validateFieldValue, validateFieldComparisons, validateAllFields, compareValues, getOperatorText, } from '../validation';
101
99
  export interface UserFieldValidationResult {
102
100
  valid: boolean;
@@ -120,6 +118,15 @@ declare const customFieldEntityTypesArray: readonly ["user", "business", "campai
120
118
  export type CustomFieldEntityType = typeof customFieldEntityTypesArray[number];
121
119
  /** All supported custom field entity types for iteration/validation */
122
120
  export declare const customFieldEntityTypes: CustomFieldEntityType[];
121
+ /**
122
+ * Entity types available for select options source (includes static sources)
123
+ * - Database entities: user, business, campaign, redemption
124
+ * - Static sources: country (ISO 3166-1 country list)
125
+ */
126
+ declare const selectOptionsSourceEntityArray: readonly ["user", "business", "campaign", "redemption", "country"];
127
+ export type SelectOptionsSourceEntity = typeof selectOptionsSourceEntityArray[number];
128
+ /** All supported select options source entities for iteration/validation */
129
+ export declare const selectOptionsSourceEntities: SelectOptionsSourceEntity[];
123
130
  /**
124
131
  * Filter conditions for dynamic select options
125
132
  */
@@ -135,12 +142,12 @@ export interface SelectOptionsFilter {
135
142
  * Configuration for fetching select options dynamically from an entity
136
143
  */
137
144
  export interface SelectOptionsSource {
138
- /** Entity to fetch options from */
139
- entity: CustomFieldEntityType;
140
- /** Field to use as option value (usually 'id') */
141
- valueField: string;
142
- /** Field to use as option label (e.g., 'name') */
143
- labelField: string;
145
+ /** Entity to fetch options from (database entities or static sources like 'country') */
146
+ entity: SelectOptionsSourceEntity;
147
+ /** Field to use as option value (usually 'id'). Optional for static sources. */
148
+ valueField?: string;
149
+ /** Field to use as option label (e.g., 'name'). Optional for static sources. */
150
+ labelField?: string;
144
151
  /** Optional filter conditions */
145
152
  filter?: SelectOptionsFilter;
146
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/custom-fields.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-fields.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/custom-fields.type.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.customFieldEntityTypes = exports.getOperatorText = exports.compareValues = exports.validateAllFields = exports.validateFieldComparisons = exports.validateFieldValue = exports.getAllBuiltInFieldDefinitions = exports.getBuiltInFieldDefinition = exports.isBuiltInUserField = exports.builtInUserFieldMetadata = exports.userModelFields = exports.builtInUserFields = void 0;
3
+ exports.selectOptionsSourceEntities = exports.customFieldEntityTypes = exports.getOperatorText = exports.compareValues = exports.validateAllFields = exports.validateFieldComparisons = exports.validateFieldValue = exports.getAllBuiltInFieldDefinitions = exports.getBuiltInFieldDefinition = exports.isBuiltInUserField = exports.builtInUserFieldMetadata = exports.userModelFields = exports.builtInUserFields = void 0;
4
4
  const unique_user_identifier_keys_1 = require("./unique-user-identifier-keys");
5
5
  Object.defineProperty(exports, "userModelFields", { enumerable: true, get: function () { return unique_user_identifier_keys_1.userModelFields; } });
6
6
  /**
@@ -82,7 +82,6 @@ const getBuiltInFieldDefinition = (field) => {
82
82
  label: metadata.label,
83
83
  description: metadata.description,
84
84
  fieldType: metadata.fieldType,
85
- objectSchema: null,
86
85
  selectOptions: null,
87
86
  selectOptionsSource: null,
88
87
  validation: null,
@@ -118,4 +117,12 @@ Object.defineProperty(exports, "getOperatorText", { enumerable: true, get: funct
118
117
  const customFieldEntityTypesArray = ['user', 'business', 'campaign', 'redemption'];
119
118
  /** All supported custom field entity types for iteration/validation */
120
119
  exports.customFieldEntityTypes = [...customFieldEntityTypesArray];
120
+ /**
121
+ * Entity types available for select options source (includes static sources)
122
+ * - Database entities: user, business, campaign, redemption
123
+ * - Static sources: country (ISO 3166-1 country list)
124
+ */
125
+ const selectOptionsSourceEntityArray = [...customFieldEntityTypesArray, 'country'];
126
+ /** All supported select options source entities for iteration/validation */
127
+ exports.selectOptionsSourceEntities = [...selectOptionsSourceEntityArray];
121
128
  //# sourceMappingURL=custom-fields.type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/custom-fields.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-fields.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/custom-fields.type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Unified data source tracking for analytics across all entities.
3
+ *
4
+ * Use this type to track the origin/channel of data for:
5
+ * - Users (registration source)
6
+ * - Claims (how the claim was initiated)
7
+ * - Redeems (redemption channel)
8
+ * - Bookings (booking source)
9
+ * - Purchases (transaction origin)
10
+ *
11
+ * ## HTTP Headers for SDK/API
12
+ *
13
+ * | Header | Purpose | Examples |
14
+ * |---------------------|----------------------------|-------------------------------------------------------|
15
+ * | `x-source-channel` | How the request arrived | `web`, `mobile`, `api`, `admin`, `webhook`, `import` |
16
+ * | `x-source-medium` | Marketing channel type | `email`, `referral`, `direct`, `organic`, `paid` |
17
+ * | `x-source-campaign` | Campaign ID for attribution| `summer_promo_2026`, `welcome_series`, `partner_launch`|
18
+ * | `x-source` | Traffic origin reference | `google`, `facebook`, `partner_xyz`, `qr_code_lobby` |
19
+ *
20
+ * ## Example Scenarios
21
+ *
22
+ * | Scenario | channel | medium | campaign | source |
23
+ * |-----------------------------|-----------|------------|--------------|--------------|
24
+ * | User clicks email link | `web` | `email` | `summer_promo`| `mailchimp` |
25
+ * | Mobile app registration | `mobile` | `app` | - | - |
26
+ * | Partner API integration | `api` | `affiliate`| - | `partner_xyz`|
27
+ * | QR code scan in hotel | `mobile` | `referral` | `lobby_qr` | `qr_code` |
28
+ * | Admin creates user | `admin` | - | - | - |
29
+ * | Webhook from Stripe | `webhook` | - | - | `stripe` |
30
+ *
31
+ * @example
32
+ * // Simple usage - just channel
33
+ * const source: DataSource = { channel: 'web' };
34
+ *
35
+ * // Full attribution tracking
36
+ * const source: DataSource = {
37
+ * channel: 'web',
38
+ * medium: 'email',
39
+ * campaign: 'summer_promo_2026',
40
+ * source: 'mailchimp',
41
+ * referrer: 'https://email.example.com/campaign/123'
42
+ * };
43
+ */
44
+ /**
45
+ * Primary ingestion channels for data source tracking.
46
+ */
47
+ export declare const DATA_SOURCE_CHANNELS: readonly ["web", "mobile", "api", "admin", "system", "import", "webhook", "sync", "migration"];
48
+ export type DataSourceChannel = typeof DATA_SOURCE_CHANNELS[number];
49
+ /**
50
+ * Unified data source tracking interface.
51
+ *
52
+ * Provides both simple channel categorization and optional
53
+ * detailed attribution fields for analytics.
54
+ */
55
+ export interface DataSource {
56
+ /**
57
+ * Primary ingestion channel.
58
+ * Required field for basic source categorization.
59
+ */
60
+ channel: DataSourceChannel;
61
+ /**
62
+ * Marketing medium for attribution.
63
+ * Examples: 'email', 'referral', 'direct', 'organic', 'paid', 'social', 'affiliate'
64
+ */
65
+ medium?: string;
66
+ /**
67
+ * Campaign identifier for tracking.
68
+ * Examples: 'summer_promo_2026', 'welcome_series', 'partner_launch'
69
+ */
70
+ campaign?: string;
71
+ /**
72
+ * Traffic source reference.
73
+ * Examples: 'google', 'facebook', 'partner_xyz', 'newsletter'
74
+ */
75
+ source?: string;
76
+ /**
77
+ * Original referrer URL.
78
+ * Full URL of the referring page.
79
+ */
80
+ referrer?: string;
81
+ }
82
+ /**
83
+ * Type guard to check if a value is a valid DataSourceChannel.
84
+ */
85
+ export declare function isDataSourceChannel(value: unknown): value is DataSourceChannel;
86
+ /**
87
+ * Default data source for manual/admin operations.
88
+ */
89
+ export declare const DEFAULT_DATA_SOURCE: DataSource;
90
+ //# sourceMappingURL=data-source.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-source.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/data-source.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,gGAUvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,OAAO,EAAE,iBAAiB,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAEjC,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * Unified data source tracking for analytics across all entities.
4
+ *
5
+ * Use this type to track the origin/channel of data for:
6
+ * - Users (registration source)
7
+ * - Claims (how the claim was initiated)
8
+ * - Redeems (redemption channel)
9
+ * - Bookings (booking source)
10
+ * - Purchases (transaction origin)
11
+ *
12
+ * ## HTTP Headers for SDK/API
13
+ *
14
+ * | Header | Purpose | Examples |
15
+ * |---------------------|----------------------------|-------------------------------------------------------|
16
+ * | `x-source-channel` | How the request arrived | `web`, `mobile`, `api`, `admin`, `webhook`, `import` |
17
+ * | `x-source-medium` | Marketing channel type | `email`, `referral`, `direct`, `organic`, `paid` |
18
+ * | `x-source-campaign` | Campaign ID for attribution| `summer_promo_2026`, `welcome_series`, `partner_launch`|
19
+ * | `x-source` | Traffic origin reference | `google`, `facebook`, `partner_xyz`, `qr_code_lobby` |
20
+ *
21
+ * ## Example Scenarios
22
+ *
23
+ * | Scenario | channel | medium | campaign | source |
24
+ * |-----------------------------|-----------|------------|--------------|--------------|
25
+ * | User clicks email link | `web` | `email` | `summer_promo`| `mailchimp` |
26
+ * | Mobile app registration | `mobile` | `app` | - | - |
27
+ * | Partner API integration | `api` | `affiliate`| - | `partner_xyz`|
28
+ * | QR code scan in hotel | `mobile` | `referral` | `lobby_qr` | `qr_code` |
29
+ * | Admin creates user | `admin` | - | - | - |
30
+ * | Webhook from Stripe | `webhook` | - | - | `stripe` |
31
+ *
32
+ * @example
33
+ * // Simple usage - just channel
34
+ * const source: DataSource = { channel: 'web' };
35
+ *
36
+ * // Full attribution tracking
37
+ * const source: DataSource = {
38
+ * channel: 'web',
39
+ * medium: 'email',
40
+ * campaign: 'summer_promo_2026',
41
+ * source: 'mailchimp',
42
+ * referrer: 'https://email.example.com/campaign/123'
43
+ * };
44
+ */
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.DEFAULT_DATA_SOURCE = exports.DATA_SOURCE_CHANNELS = void 0;
47
+ exports.isDataSourceChannel = isDataSourceChannel;
48
+ /**
49
+ * Primary ingestion channels for data source tracking.
50
+ */
51
+ exports.DATA_SOURCE_CHANNELS = [
52
+ 'web', // Web application/browser
53
+ 'mobile', // Mobile app (iOS/Android)
54
+ 'api', // Direct API integration
55
+ 'admin', // Admin panel/back-office
56
+ 'system', // System-generated (automated)
57
+ 'import', // Bulk import/CSV upload
58
+ 'webhook', // External webhook callback
59
+ 'sync', // Synchronization from external system
60
+ 'migration', // Data migration
61
+ ];
62
+ /**
63
+ * Type guard to check if a value is a valid DataSourceChannel.
64
+ */
65
+ function isDataSourceChannel(value) {
66
+ return typeof value === 'string' && exports.DATA_SOURCE_CHANNELS.includes(value);
67
+ }
68
+ /**
69
+ * Default data source for manual/admin operations.
70
+ */
71
+ exports.DEFAULT_DATA_SOURCE = {
72
+ channel: 'admin',
73
+ };
74
+ //# sourceMappingURL=data-source.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-source.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/data-source.type.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;AA4DH,kDAEC;AA5DD;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,KAAK,EAAQ,0BAA0B;IACvC,QAAQ,EAAK,2BAA2B;IACxC,KAAK,EAAQ,yBAAyB;IACtC,OAAO,EAAM,0BAA0B;IACvC,QAAQ,EAAK,+BAA+B;IAC5C,QAAQ,EAAK,yBAAyB;IACtC,SAAS,EAAI,4BAA4B;IACzC,MAAM,EAAO,uCAAuC;IACpD,WAAW,EAAE,iBAAiB;CACtB,CAAC;AA0CX;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,4BAAoB,CAAC,QAAQ,CAAC,KAA0B,CAAC,CAAC;AAChG,CAAC;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAe;IAC7C,OAAO,EAAE,OAAO;CACjB,CAAC"}
@@ -19,4 +19,6 @@ export * from './business-membership-include-relation.type';
19
19
  export * from './user-include-relation.type';
20
20
  export * from './token-metadata-include-relation.type';
21
21
  export * from './filter-options.type';
22
+ export * from './booking.type';
23
+ export * from './data-source.type';
22
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,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;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -36,4 +36,6 @@ __exportStar(require("./business-membership-include-relation.type"), exports);
36
36
  __exportStar(require("./user-include-relation.type"), exports);
37
37
  __exportStar(require("./token-metadata-include-relation.type"), exports);
38
38
  __exportStar(require("./filter-options.type"), exports);
39
+ __exportStar(require("./booking.type"), exports);
40
+ __exportStar(require("./data-source.type"), exports);
39
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAmD;AACnD,8CAA4B;AAC5B,uDAAqC;AACrC,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAmD;AACnD,8CAA4B;AAC5B,uDAAqC;AACrC,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;AACtC,iDAA+B;AAC/B,qDAAmC"}
@@ -3,15 +3,17 @@
3
3
  *
4
4
  * Follows JSON:API sideloading convention
5
5
  *
6
- * Usage: GET /redemptions?include=redeemCount,ownerBusiness,requiredUserFieldDefinitions
6
+ * Usage: GET /redemptions?include=redeemCount,ownerBusiness,userInfo,booking
7
7
  *
8
8
  * - redeemCount: Include total number of redeems for the redemption
9
9
  * - ownerBusiness: Include the owner business entity (when ownerBusinessId is set)
10
- * - requiredUserFieldDefinitions: Include full field definitions for requiredUserFields.
10
+ * - userInfo: Include user info validation with field definitions and isValid flag.
11
11
  * When user is authenticated, each definition includes `isMissing: boolean` to indicate
12
- * if the user lacks that field. Filter by `isMissing: true` to check eligibility.
12
+ * if the user lacks that field. `isValid` summarizes if all required fields are satisfied.
13
+ * - booking: Include booking validation status. When user is authenticated and
14
+ * redemption has booking requirement, includes `isValid` flag and matching `data`.
13
15
  */
14
- export type RedemptionIncludeRelation = 'redeemCount' | 'ownerBusiness' | 'requiredUserFieldDefinitions';
16
+ export type RedemptionIncludeRelation = 'redeemCount' | 'ownerBusiness' | 'userInfo' | 'booking';
15
17
  /**
16
18
  * Array of all valid redemption include relations
17
19
  * Used for runtime validation
@@ -1 +1 @@
1
- {"version":3,"file":"redemption-include-relation.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/redemption-include-relation.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,eAAe,GAAG,8BAA8B,CAAC;AAEzG;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,yBAAyB,EAIjE,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,yBAAyB,CAE3F"}
1
+ {"version":3,"file":"redemption-include-relation.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/redemption-include-relation.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjG;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,yBAAyB,EAKjE,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,yBAAyB,CAE3F"}
@@ -9,7 +9,8 @@ exports.isValidRedemptionRelation = isValidRedemptionRelation;
9
9
  exports.VALID_REDEMPTION_RELATIONS = [
10
10
  'redeemCount',
11
11
  'ownerBusiness',
12
- 'requiredUserFieldDefinitions'
12
+ 'userInfo',
13
+ 'booking'
13
14
  ];
14
15
  /**
15
16
  * Type guard to validate redemption include relation at runtime
@@ -1 +1 @@
1
- {"version":3,"file":"redemption-include-relation.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/redemption-include-relation.type.ts"],"names":[],"mappings":";;;AA+BA,8DAEC;AAlBD;;;GAGG;AACU,QAAA,0BAA0B,GAAyC;IAC9E,aAAa;IACb,eAAe;IACf,8BAA8B;CACtB,CAAC;AAEX;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,KAAa;IACrD,OAAO,kCAA0B,CAAC,QAAQ,CAAC,KAAkC,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"redemption-include-relation.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/redemption-include-relation.type.ts"],"names":[],"mappings":";;;AAkCA,8DAEC;AAnBD;;;GAGG;AACU,QAAA,0BAA0B,GAAyC;IAC9E,aAAa;IACb,eAAe;IACf,UAAU;IACV,SAAS;CACD,CAAC;AAEX;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,KAAa;IACrD,OAAO,kCAA0B,CAAC,QAAQ,CAAC,KAAkC,CAAC,CAAC;AACjF,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * Field Validation Functions
3
3
  * Shared between backend and frontend for consistent validation.
4
4
  */
5
- import type { ComparisonOperator, FieldComparison, FieldDefinition, FieldType, FieldValidationRules, ObjectFieldSchema, ValidationErrorDetail } from './validation.types';
6
- export type { ComparisonOperator, FieldComparison, FieldComparisonToField, FieldComparisonToValue, FieldDefinition, FieldType, FieldValidationRules, ObjectFieldSchema, ValidationErrorDetail, } from './validation.types';
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
7
  export { operatorText } from './validation.types';
8
8
  export { isValidEmail, isValidUrl, isValidWalletAddress, isValidNonEmptyString, isValidUuid, EMAIL_REGEX, EMAIL_MAX_LENGTH, URL_REGEX, WALLET_ADDRESS_REGEX, UUID_REGEX, } from './validators';
9
9
  /**
@@ -23,16 +23,6 @@ export declare const validateFieldValue: (value: unknown, rules: FieldValidation
23
23
  * Supports comparing to another field OR a literal value.
24
24
  */
25
25
  export declare const validateFieldComparisons: (fieldKey: string, value: unknown, comparisons: FieldComparison[] | undefined, allData: Record<string, unknown>, fieldType: FieldType) => ValidationErrorDetail[];
26
- /**
27
- * Validate each item in an object array against the object schema.
28
- * Checks required properties, type validation, and validates each property.
29
- *
30
- * @param fieldKey - Parent field key (for error reporting)
31
- * @param items - Array of objects to validate
32
- * @param schema - Schema defining expected properties
33
- * @returns Array of validation errors with item index in field path (e.g., "contacts[0].phone")
34
- */
35
- export declare const validateObjectArrayItems: (fieldKey: string, items: unknown[], schema: ObjectFieldSchema[]) => ValidationErrorDetail[];
36
26
  /**
37
27
  * Validate all fields in a data object against their definitions.
38
28
  * Runs both single-field and comparison validations.
@@ -1 +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,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAK5B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,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,IA6G1B,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;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,OAAO,OAAO,EAAE,EAChB,QAAQ,iBAAiB,EAAE,KAC1B,qBAAqB,EAgEvB,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,eAAe,EAAE,KAC7B,qBAAqB,EAkCvB,CAAC"}
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,IAsI1B,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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateAllFields = exports.validateObjectArrayItems = exports.validateFieldComparisons = exports.validateFieldValue = exports.getOperatorText = exports.compareValues = exports.UUID_REGEX = exports.WALLET_ADDRESS_REGEX = exports.URL_REGEX = exports.EMAIL_MAX_LENGTH = exports.EMAIL_REGEX = exports.isValidUuid = exports.isValidNonEmptyString = exports.isValidWalletAddress = exports.isValidUrl = exports.isValidEmail = exports.operatorText = void 0;
3
+ exports.validateAllFields = exports.validateFieldComparisons = exports.validateFieldValue = exports.getOperatorText = exports.compareValues = exports.UUID_REGEX = exports.WALLET_ADDRESS_REGEX = exports.URL_REGEX = exports.EMAIL_MAX_LENGTH = exports.EMAIL_REGEX = exports.isValidUuid = exports.isValidNonEmptyString = exports.isValidWalletAddress = exports.isValidUrl = exports.isValidEmail = exports.operatorText = void 0;
4
4
  const validation_types_1 = require("./validation.types");
5
5
  const validators_1 = require("./validators");
6
6
  var validation_types_2 = require("./validation.types");
@@ -130,15 +130,38 @@ const validateFieldValue = (value, rules, fieldType) => {
130
130
  }
131
131
  }
132
132
  break;
133
- case 'objectArray':
133
+ case 'phone':
134
+ // Basic phone validation - allows digits, spaces, dashes, parentheses, plus
135
+ const phoneRegex = /^[\d\s\-\(\)\+]+$/;
136
+ if (!phoneRegex.test(stringValue)) {
137
+ return { field: '', message: 'Invalid phone number format', code: 'phone' };
138
+ }
139
+ if (rules.minLength && stringValue.replace(/\D/g, '').length < rules.minLength) {
140
+ return { field: '', message: `Phone number too short`, code: 'minLength' };
141
+ }
142
+ if (rules.maxLength && stringValue.length > rules.maxLength) {
143
+ return { field: '', message: `Maximum ${rules.maxLength} characters allowed`, code: 'maxLength' };
144
+ }
145
+ break;
146
+ case 'select':
147
+ // Single selection - just validate it's a string (option validation done separately)
148
+ if (typeof value !== 'string') {
149
+ return { field: '', message: 'Must be a string', code: 'type' };
150
+ }
151
+ break;
152
+ case 'multiselect':
134
153
  if (!Array.isArray(value)) {
135
154
  return { field: '', message: 'Must be an array', code: 'type' };
136
155
  }
137
156
  if (rules.minItems !== undefined && value.length < rules.minItems) {
138
- return { field: '', message: `Minimum ${rules.minItems} items required`, code: 'minItems' };
157
+ return { field: '', message: `Select at least ${rules.minItems} options`, code: 'minItems' };
139
158
  }
140
159
  if (rules.maxItems !== undefined && value.length > rules.maxItems) {
141
- return { field: '', message: `Maximum ${rules.maxItems} items allowed`, code: 'maxItems' };
160
+ return { field: '', message: `Select at most ${rules.maxItems} options`, code: 'maxItems' };
161
+ }
162
+ // Validate each item is a string
163
+ if (!value.every(item => typeof item === 'string')) {
164
+ return { field: '', message: 'All selections must be strings', code: 'type' };
142
165
  }
143
166
  break;
144
167
  }
@@ -212,76 +235,6 @@ const validateFieldComparisons = (fieldKey, value, comparisons, allData, fieldTy
212
235
  };
213
236
  exports.validateFieldComparisons = validateFieldComparisons;
214
237
  // ============================================================================
215
- // Object Array Item Validation
216
- // ============================================================================
217
- /**
218
- * Validate each item in an object array against the object schema.
219
- * Checks required properties, type validation, and validates each property.
220
- *
221
- * @param fieldKey - Parent field key (for error reporting)
222
- * @param items - Array of objects to validate
223
- * @param schema - Schema defining expected properties
224
- * @returns Array of validation errors with item index in field path (e.g., "contacts[0].phone")
225
- */
226
- const validateObjectArrayItems = (fieldKey, items, schema) => {
227
- const errors = [];
228
- if (!Array.isArray(items))
229
- return errors;
230
- items.forEach((item, index) => {
231
- if (typeof item !== 'object' || item === null) {
232
- errors.push({
233
- field: `${fieldKey}[${index}]`,
234
- code: 'type',
235
- message: 'Item must be an object',
236
- });
237
- return;
238
- }
239
- const obj = item;
240
- // Check each schema property
241
- for (const prop of schema) {
242
- const value = obj[prop.key];
243
- const propPath = `${fieldKey}[${index}].${prop.key}`;
244
- const isEmpty = value === null || value === undefined || value === '';
245
- // Required check for nested properties (ObjectFieldSchema.required)
246
- if (prop.required && isEmpty) {
247
- errors.push({
248
- field: propPath,
249
- code: 'required',
250
- message: `${prop.label} is required`,
251
- });
252
- continue;
253
- }
254
- if (isEmpty)
255
- continue;
256
- // Convert ObjectFieldSchema inline rules to FieldValidationRules
257
- const rules = {
258
- min: prop.min,
259
- max: prop.max,
260
- minLength: prop.minLength,
261
- maxLength: prop.maxLength,
262
- pattern: prop.pattern,
263
- patternMessage: prop.patternMessage,
264
- };
265
- // Validate the property value
266
- const error = (0, exports.validateFieldValue)(value, rules, prop.fieldType);
267
- if (error) {
268
- errors.push({ ...error, field: propPath });
269
- }
270
- }
271
- // Cross-property comparisons within the same object item
272
- // e.g., checkOutDate > checkInDate within each reservation
273
- for (const prop of schema) {
274
- const value = obj[prop.key];
275
- if (value === null || value === undefined || value === '')
276
- continue;
277
- // ObjectFieldSchema doesn't currently have comparisons, but we could
278
- // validate date fields against 'now' using minDate/maxDate if we extend the schema
279
- }
280
- });
281
- return errors;
282
- };
283
- exports.validateObjectArrayItems = validateObjectArrayItems;
284
- // ============================================================================
285
238
  // Full Data Validation
286
239
  // ============================================================================
287
240
  /**
@@ -309,11 +262,6 @@ const validateAllFields = (data, definitions) => {
309
262
  const comparisonErrors = (0, exports.validateFieldComparisons)(key, value, def.validation.comparisons, data, def.fieldType);
310
263
  errors.push(...comparisonErrors);
311
264
  }
312
- // Object array item validation (validate each item's properties against objectSchema)
313
- if (def.fieldType === 'objectArray' && def.objectSchema && Array.isArray(value)) {
314
- const itemErrors = (0, exports.validateObjectArrayItems)(key, value, def.objectSchema);
315
- errors.push(...itemErrors);
316
- }
317
265
  }
318
266
  return errors;
319
267
  };
@@ -1 +1 @@
1
- {"version":3,"file":"field-validation.js","sourceRoot":"","sources":["../../../../src/shared-lib/validation/field-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-validation.js","sourceRoot":"","sources":["../../../../src/shared-lib/validation/field-validation.ts"],"names":[],"mappings":"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"}