@timardex/cluemart-shared 1.6.112 → 1.6.130

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 (129) hide show
  1. package/dist/affiliate-Bqqlffw8.d.mts +36 -0
  2. package/dist/affiliate-Btlp5XUp.d.ts +36 -0
  3. package/dist/affiliateAdapters-BW3BY7c5.d.mts +118 -0
  4. package/dist/affiliateAdapters-C51ISmuA.d.ts +118 -0
  5. package/dist/apollo/index.d.mts +3 -3
  6. package/dist/apollo/index.d.ts +3 -3
  7. package/dist/auth/index.cjs +2546 -951
  8. package/dist/auth/index.cjs.map +1 -1
  9. package/dist/auth/index.d.mts +28 -30
  10. package/dist/auth/index.d.ts +28 -30
  11. package/dist/auth/index.mjs +24 -25
  12. package/dist/auth/index.mjs.map +1 -1
  13. package/dist/auth-BOmAO53v.d.ts +169 -0
  14. package/dist/auth-CsITA95p.d.mts +169 -0
  15. package/dist/{chunk-VPANTTZI.mjs → chunk-DATBGC2K.mjs} +108 -23
  16. package/dist/chunk-DATBGC2K.mjs.map +1 -0
  17. package/dist/chunk-DDHECBJR.mjs +726 -0
  18. package/dist/chunk-DDHECBJR.mjs.map +1 -0
  19. package/dist/chunk-INQCDU24.mjs +139 -0
  20. package/dist/chunk-INQCDU24.mjs.map +1 -0
  21. package/dist/{chunk-SD42WIMV.mjs → chunk-NWWKI4PJ.mjs} +5 -5
  22. package/dist/chunk-NWWKI4PJ.mjs.map +1 -0
  23. package/dist/{chunk-LBEJECG3.mjs → chunk-OHHJ3KJJ.mjs} +71 -64
  24. package/dist/chunk-OHHJ3KJJ.mjs.map +1 -0
  25. package/dist/chunk-TOEFAEF2.mjs +69 -0
  26. package/dist/chunk-TOEFAEF2.mjs.map +1 -0
  27. package/dist/chunk-UKW7NZEQ.mjs +2813 -0
  28. package/dist/chunk-UKW7NZEQ.mjs.map +1 -0
  29. package/dist/dailyClue-C6WXY73z.d.mts +105 -0
  30. package/dist/dailyClue-C6WXY73z.d.ts +105 -0
  31. package/dist/enums/index.cjs +2 -229
  32. package/dist/enums/index.cjs.map +1 -1
  33. package/dist/enums/index.d.mts +5 -170
  34. package/dist/enums/index.d.ts +5 -170
  35. package/dist/enums/index.mjs +1 -41
  36. package/dist/event-C9K7CSg4.d.ts +53 -0
  37. package/dist/event-W0NhL5Cd.d.mts +53 -0
  38. package/dist/formFields/index.cjs +284 -112
  39. package/dist/formFields/index.cjs.map +1 -1
  40. package/dist/formFields/index.d.mts +4 -2
  41. package/dist/formFields/index.d.ts +4 -2
  42. package/dist/formFields/index.mjs +919 -50
  43. package/dist/formFields/index.mjs.map +1 -1
  44. package/dist/global-BbSFfYdd.d.ts +181 -0
  45. package/dist/global-C6v9tRji.d.mts +181 -0
  46. package/dist/graphql/index.cjs +2860 -2292
  47. package/dist/graphql/index.cjs.map +1 -1
  48. package/dist/graphql/index.d.mts +422 -469
  49. package/dist/graphql/index.d.ts +422 -469
  50. package/dist/graphql/index.mjs +2547 -160
  51. package/dist/graphql/index.mjs.map +1 -1
  52. package/dist/graphql-CDOfA79A.d.ts +1253 -0
  53. package/dist/graphql-CcvzTs9k.d.mts +1253 -0
  54. package/dist/hooks/index.cjs +511 -3846
  55. package/dist/hooks/index.cjs.map +1 -1
  56. package/dist/hooks/index.d.mts +10 -9
  57. package/dist/hooks/index.d.ts +10 -9
  58. package/dist/hooks/index.mjs +54 -72
  59. package/dist/hooks/index.mjs.map +1 -1
  60. package/dist/images/index.mjs +86 -21
  61. package/dist/images/index.mjs.map +1 -1
  62. package/dist/index.cjs +4414 -3168
  63. package/dist/index.cjs.map +1 -1
  64. package/dist/index.d.mts +2439 -1579
  65. package/dist/index.d.ts +2439 -1579
  66. package/dist/index.mjs +4350 -3121
  67. package/dist/index.mjs.map +1 -1
  68. package/dist/map/index.d.mts +3 -2
  69. package/dist/map/index.d.ts +3 -2
  70. package/dist/resourceActivities-CS8YRIIL.d.mts +89 -0
  71. package/dist/resourceActivities-DOdNPkhW.d.ts +89 -0
  72. package/dist/sharing/index.cjs +23 -19
  73. package/dist/sharing/index.cjs.map +1 -1
  74. package/dist/sharing/index.d.mts +16 -3
  75. package/dist/sharing/index.d.ts +16 -3
  76. package/dist/sharing/index.mjs +183 -29
  77. package/dist/sharing/index.mjs.map +1 -1
  78. package/dist/subscription-Cj_qBA7u.d.mts +20 -0
  79. package/dist/subscription-OiJ50uJb.d.ts +20 -0
  80. package/dist/theme/index.mjs +41 -5
  81. package/dist/theme/index.mjs.map +1 -1
  82. package/dist/types/index.cjs +868 -123
  83. package/dist/types/index.cjs.map +1 -1
  84. package/dist/types/index.d.mts +234 -15
  85. package/dist/types/index.d.ts +234 -15
  86. package/dist/types/index.mjs +61 -31
  87. package/dist/utils/index.cjs +292 -117
  88. package/dist/utils/index.cjs.map +1 -1
  89. package/dist/utils/index.d.mts +25 -23
  90. package/dist/utils/index.d.ts +25 -23
  91. package/dist/utils/index.mjs +6 -5
  92. package/dist/vendor-DmMi2qmx.d.mts +73 -0
  93. package/dist/vendor-M9hVZlni.d.ts +73 -0
  94. package/package.json +10 -3
  95. package/dist/ad-BUYzE6zx.d.ts +0 -181
  96. package/dist/ad-BhLoEul3.d.mts +0 -181
  97. package/dist/affiliate-BbtjeUP4.d.mts +0 -73
  98. package/dist/affiliate-C51nzKsw.d.ts +0 -73
  99. package/dist/chunk-32MKHJTX.mjs +0 -1207
  100. package/dist/chunk-32MKHJTX.mjs.map +0 -1
  101. package/dist/chunk-AYO3E4DM.mjs +0 -224
  102. package/dist/chunk-AYO3E4DM.mjs.map +0 -1
  103. package/dist/chunk-BIJ5NDXW.mjs +0 -962
  104. package/dist/chunk-BIJ5NDXW.mjs.map +0 -1
  105. package/dist/chunk-DQ7ZHIXW.mjs +0 -26
  106. package/dist/chunk-DQ7ZHIXW.mjs.map +0 -1
  107. package/dist/chunk-ILILH7E2.mjs +0 -219
  108. package/dist/chunk-ILILH7E2.mjs.map +0 -1
  109. package/dist/chunk-LBEJECG3.mjs.map +0 -1
  110. package/dist/chunk-NPFJ2CN2.mjs +0 -109
  111. package/dist/chunk-NPFJ2CN2.mjs.map +0 -1
  112. package/dist/chunk-R6PCFOYO.mjs +0 -3650
  113. package/dist/chunk-R6PCFOYO.mjs.map +0 -1
  114. package/dist/chunk-SD42WIMV.mjs.map +0 -1
  115. package/dist/chunk-VA5YN2K3.mjs +0 -48
  116. package/dist/chunk-VA5YN2K3.mjs.map +0 -1
  117. package/dist/chunk-VPANTTZI.mjs.map +0 -1
  118. package/dist/chunk-X3OLM35T.mjs +0 -278
  119. package/dist/chunk-X3OLM35T.mjs.map +0 -1
  120. package/dist/contactUs--NoohZBu.d.ts +0 -11
  121. package/dist/contactUs-CBWzefUS.d.mts +0 -11
  122. package/dist/global-CUYYxpy2.d.ts +0 -699
  123. package/dist/global-DePDtOFt.d.mts +0 -699
  124. package/dist/resourceActivities-CMUcn2P7.d.ts +0 -130
  125. package/dist/resourceActivities-CwbJFGIp.d.mts +0 -130
  126. package/dist/subscription-BU8GvH2K.d.ts +0 -12
  127. package/dist/subscription-bmAdrnfi.d.mts +0 -12
  128. package/dist/user-D47MLFyH.d.ts +0 -134
  129. package/dist/user-DE8edl3u.d.mts +0 -134
@@ -20,96 +20,752 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/types/index.ts
21
21
  var types_exports = {};
22
22
  __export(types_exports, {
23
- EnumActivity: () => EnumActivity,
24
- EnumAdShowOn: () => EnumAdShowOn,
25
- EnumAdStatus: () => EnumAdStatus,
26
- EnumAdStyle: () => EnumAdStyle,
27
- EnumAdType: () => EnumAdType,
28
- EnumAffiliateParticipantType: () => EnumAffiliateParticipantType,
29
- EnumAffiliateRewardType: () => EnumAffiliateRewardType,
30
- EnumGameStatus: () => EnumGameStatus,
31
- EnumGameType: () => EnumGameType,
32
- EnumPostContentType: () => EnumPostContentType,
33
- EnumPostType: () => EnumPostType,
34
- EnumVerificationType: () => EnumVerificationType,
35
23
  PROMO_CODE_PREFIX: () => PROMO_CODE_PREFIX,
36
24
  TIERS_BY_PRIORITY: () => TIERS_BY_PRIORITY,
37
25
  TIER_DISPLAY_LABELS: () => TIER_DISPLAY_LABELS,
38
26
  TIER_FROM_LICENCE: () => TIER_FROM_LICENCE,
27
+ affiliateToFormData: () => affiliateToFormData,
28
+ eventInfoDateTimeToDateTime: () => eventInfoDateTimeToDateTime,
29
+ eventInfoToFormData: () => eventInfoToFormData,
30
+ eventListItemToAdSelectableResource: () => eventListItemToAdSelectableResource,
31
+ eventListItemToCreateEventFormSeed: () => eventListItemToCreateEventFormSeed,
32
+ eventListItemToResourceDetails: () => eventListItemToResourceDetails,
33
+ eventToEventListItem: () => eventToEventListItem,
34
+ eventToFormData: () => eventToFormData,
35
+ eventToNewEventInfoFormData: () => eventToNewEventInfoFormData,
39
36
  gameScreenIdentifierList: () => gameScreenIdentifierList,
40
- gameTypeToDisplayName: () => gameTypeToDisplayName
37
+ gameTypeToDisplayName: () => gameTypeToDisplayName,
38
+ partnerToAdSelectableResource: () => partnerToAdSelectableResource,
39
+ partnerToFormData: () => partnerToFormData,
40
+ schoolCampaignDatesToJsDates: () => schoolCampaignDatesToJsDates,
41
+ schoolToFormData: () => schoolToFormData,
42
+ toAffiliateCode: () => toAffiliateCode,
43
+ toFormCategory: () => toFormCategory,
44
+ toFormRefundPolicy: () => toFormRefundPolicy,
45
+ toFormRequirement: () => toFormRequirement,
46
+ toFormSocialMedia: () => toFormSocialMedia,
47
+ toFormVendorCalendarData: () => toFormVendorCalendarData,
48
+ toSchoolCode: () => toSchoolCode,
49
+ toUserPermissions: () => toUserPermissions,
50
+ toUserPromoCodes: () => toUserPromoCodes,
51
+ unregisteredVendorToFormData: () => unregisteredVendorToFormData,
52
+ userToFormData: () => userToFormData,
53
+ vendorInfoToFormData: () => vendorInfoToFormData,
54
+ vendorToAdSelectableResource: () => vendorToAdSelectableResource,
55
+ vendorToFormData: () => vendorToFormData
41
56
  });
42
57
  module.exports = __toCommonJS(types_exports);
43
58
 
44
- // src/types/auth.ts
45
- var EnumVerificationType = /* @__PURE__ */ ((EnumVerificationType2) => {
46
- EnumVerificationType2["REGISTER"] = "register";
47
- EnumVerificationType2["RESET_PASSWORD"] = "resetPassword";
48
- return EnumVerificationType2;
49
- })(EnumVerificationType || {});
50
-
51
59
  // src/types/global.ts
52
60
  var PROMO_CODE_PREFIX = "CM-";
53
61
 
54
- // src/types/ad.ts
55
- var EnumAdShowOn = /* @__PURE__ */ ((EnumAdShowOn2) => {
56
- EnumAdShowOn2["EVENTS_PAGE"] = "Events_page";
57
- EnumAdShowOn2["FRONT_PAGE"] = "Front_page";
58
- EnumAdShowOn2["PARTNERS_PAGE"] = "Partners_page";
59
- EnumAdShowOn2["VENDORS_PAGE"] = "Vendors_page";
60
- return EnumAdShowOn2;
61
- })(EnumAdShowOn || {});
62
- var EnumAdStatus = /* @__PURE__ */ ((EnumAdStatus2) => {
63
- EnumAdStatus2["ACTIVE"] = "Active";
64
- EnumAdStatus2["PAUSED"] = "Paused";
65
- EnumAdStatus2["EXPIRED"] = "Expired";
66
- return EnumAdStatus2;
67
- })(EnumAdStatus || {});
68
- var EnumAdType = /* @__PURE__ */ ((EnumAdType2) => {
69
- EnumAdType2["SPONSORED"] = "Sponsored";
70
- EnumAdType2["FREE"] = "Free";
71
- return EnumAdType2;
72
- })(EnumAdType || {});
73
- var EnumAdStyle = /* @__PURE__ */ ((EnumAdStyle2) => {
74
- EnumAdStyle2["BLOOM"] = "Bloom";
75
- EnumAdStyle2["RISE"] = "Rise";
76
- return EnumAdStyle2;
77
- })(EnumAdStyle || {});
62
+ // src/generated/graphql.ts
63
+ var SocialMediaEnumType = /* @__PURE__ */ ((SocialMediaEnumType2) => {
64
+ SocialMediaEnumType2["Facebook"] = "facebook";
65
+ SocialMediaEnumType2["Instagram"] = "instagram";
66
+ SocialMediaEnumType2["Tiktok"] = "tiktok";
67
+ SocialMediaEnumType2["Twitter"] = "twitter";
68
+ SocialMediaEnumType2["Website"] = "website";
69
+ SocialMediaEnumType2["Youtube"] = "youtube";
70
+ return SocialMediaEnumType2;
71
+ })(SocialMediaEnumType || {});
72
+
73
+ // src/types/eventAdapters.ts
74
+ function toPromoCodeType(code) {
75
+ if (!code.startsWith(PROMO_CODE_PREFIX)) {
76
+ throw new Error(`Invalid promo code from GraphQL: ${JSON.stringify(code)}`);
77
+ }
78
+ return code;
79
+ }
80
+ var REQUIREMENT_CATEGORIES = [
81
+ "Food Safety",
82
+ "Environment",
83
+ "Operations",
84
+ "Legal & Safety"
85
+ ];
86
+ var REFUND_CATEGORIES = [
87
+ "Cancelled by Organiser",
88
+ "Cancelled by Vendor"
89
+ ];
90
+ function isRequirementCategory(value) {
91
+ return REQUIREMENT_CATEGORIES.includes(value);
92
+ }
93
+ function isRefundCategory(value) {
94
+ return REFUND_CATEGORIES.includes(value);
95
+ }
96
+ function isSocialMediaName(value) {
97
+ return Object.values(SocialMediaEnumType).includes(value);
98
+ }
99
+ function toFormSocialMedia(socialMedia) {
100
+ if (socialMedia == null) {
101
+ return null;
102
+ }
103
+ return socialMedia.map((item) => ({
104
+ link: item.link,
105
+ name: isSocialMediaName(item.name) ? item.name : void 0
106
+ }));
107
+ }
108
+ function toFormRequirement(item) {
109
+ if (!isRequirementCategory(item.category)) {
110
+ throw new Error(
111
+ `Invalid requirement category from GraphQL: ${JSON.stringify(item.category)}`
112
+ );
113
+ }
114
+ return {
115
+ category: item.category,
116
+ label: item.label,
117
+ value: item.value
118
+ };
119
+ }
120
+ function toFormRefundPolicy(item) {
121
+ if (!isRefundCategory(item.category)) {
122
+ throw new Error(
123
+ `Invalid refund-policy category from GraphQL: ${JSON.stringify(item.category)}`
124
+ );
125
+ }
126
+ return {
127
+ category: item.category,
128
+ label: item.label,
129
+ value: item.value
130
+ };
131
+ }
132
+ function toFormStallType(stall) {
133
+ return {
134
+ label: stall.label,
135
+ price: stall.price,
136
+ stallCapacity: stall.stallCapacity
137
+ };
138
+ }
139
+ function toFormDateTimeWithPrice(row) {
140
+ return {
141
+ dateStatus: row.dateStatus,
142
+ endDate: row.endDate,
143
+ endTime: row.endTime,
144
+ stallTypes: row.stallTypes.map(toFormStallType),
145
+ startDate: row.startDate,
146
+ startTime: row.startTime
147
+ };
148
+ }
149
+ function toFormPaymentInfo(item) {
150
+ return {
151
+ accountHolderName: item.accountHolderName ?? void 0,
152
+ accountNumber: item.accountNumber ?? void 0,
153
+ link: item.link ?? void 0,
154
+ paymentMethod: item.paymentMethod
155
+ };
156
+ }
157
+ function eventToEventListItem(event) {
158
+ return {
159
+ _id: event._id,
160
+ active: event.active,
161
+ approvedAt: event.approvedAt,
162
+ claimed: event.claimed,
163
+ cover: event.cover,
164
+ createdAt: event.createdAt,
165
+ dateTime: event.dateTime,
166
+ deletedAt: event.deletedAt,
167
+ description: event.description,
168
+ eventType: event.eventType,
169
+ googlePlaceId: event.googlePlaceId,
170
+ images: event.images ?? void 0,
171
+ location: event.location,
172
+ logo: event.logo,
173
+ name: event.name,
174
+ rainOrShine: event.rainOrShine,
175
+ rating: event.rating,
176
+ region: event.region,
177
+ relations: event.relations ?? void 0,
178
+ reviewCount: event.reviewCount,
179
+ slug: event.slug,
180
+ updatedAt: event.updatedAt
181
+ };
182
+ }
183
+ function eventToFormData(event) {
184
+ return {
185
+ _id: event._id,
186
+ active: event.active,
187
+ claimed: event.claimed,
188
+ contactDetails: event.contactDetails ?? null,
189
+ cover: event.cover,
190
+ coverUpload: null,
191
+ dateTime: event.dateTime,
192
+ description: event.description,
193
+ eventType: event.eventType,
194
+ googlePlaceId: event.googlePlaceId ?? null,
195
+ images: event.images ?? null,
196
+ imagesUpload: null,
197
+ location: event.location,
198
+ logo: event.logo ?? null,
199
+ logoUpload: null,
200
+ name: event.name,
201
+ nzbn: event.nzbn,
202
+ promoCodes: (event.promoCodes ?? []).filter((code) => code != null).map(toPromoCodeType),
203
+ provider: event.provider ?? null,
204
+ rainOrShine: event.rainOrShine,
205
+ region: event.region,
206
+ socialMedia: toFormSocialMedia(event.socialMedia),
207
+ tags: event.tags,
208
+ termsAgreement: event.termsAgreement ? {
209
+ appBuildNumber: event.termsAgreement.appBuildNumber,
210
+ appId: event.termsAgreement.appId,
211
+ appVersion: event.termsAgreement.appVersion,
212
+ brand: event.termsAgreement.brand,
213
+ deviceName: event.termsAgreement.deviceName,
214
+ installationId: event.termsAgreement.installationId,
215
+ manufacturer: event.termsAgreement.manufacturer,
216
+ modelName: event.termsAgreement.modelName,
217
+ osName: event.termsAgreement.osName,
218
+ osVersion: event.termsAgreement.osVersion,
219
+ termVersion: event.termsAgreement.termVersion,
220
+ timestamp: event.termsAgreement.timestamp
221
+ } : null
222
+ };
223
+ }
224
+ function eventInfoToFormData(eventInfo, options = {}) {
225
+ const savedRefund = eventInfo.refundPolicy.map(toFormRefundPolicy);
226
+ const savedRequirements = (eventInfo.requirements ?? []).map(
227
+ toFormRequirement
228
+ );
229
+ const refundPolicy = [
230
+ ...savedRefund,
231
+ ...(options.defaultRefundPolicy ?? []).filter(
232
+ (option) => !savedRefund.some((saved) => saved.label === option.label)
233
+ )
234
+ ];
235
+ const requirements = [
236
+ ...savedRequirements,
237
+ ...(options.defaultRequirements ?? []).filter(
238
+ (option) => !savedRequirements.some((saved) => saved.label === option.label)
239
+ )
240
+ ];
241
+ return {
242
+ _id: eventInfo._id,
243
+ applicationDeadlineHours: eventInfo.applicationDeadlineHours,
244
+ dateTime: eventInfo.dateTime.map(toFormDateTimeWithPrice),
245
+ eventId: eventInfo.eventId,
246
+ packInTime: eventInfo.packInTime,
247
+ paymentDueHours: eventInfo.paymentDueHours,
248
+ paymentInfo: eventInfo.paymentInfo.map(toFormPaymentInfo),
249
+ refundPolicy,
250
+ requirements
251
+ };
252
+ }
253
+ function eventToNewEventInfoFormData(event, options) {
254
+ return {
255
+ applicationDeadlineHours: 48,
256
+ dateTime: event.dateTime.map((date) => ({
257
+ dateStatus: date.dateStatus,
258
+ endDate: date.endDate,
259
+ endTime: date.endTime,
260
+ stallTypes: [],
261
+ startDate: date.startDate,
262
+ startTime: date.startTime
263
+ })),
264
+ eventId: event._id,
265
+ packInTime: 2,
266
+ paymentDueHours: 24,
267
+ paymentInfo: [],
268
+ refundPolicy: options.defaultRefundPolicy,
269
+ requirements: options.defaultRequirements
270
+ };
271
+ }
272
+ function eventListItemToAdSelectableResource(event) {
273
+ if (event.cover == null) {
274
+ throw new Error(
275
+ `EventListItem ${event._id} is missing cover; cannot build ad resource.`
276
+ );
277
+ }
278
+ return {
279
+ _id: event._id,
280
+ cover: event.cover,
281
+ description: event.description ?? "",
282
+ images: event.images,
283
+ logo: event.logo,
284
+ name: event.name,
285
+ region: event.region,
286
+ slug: event.slug
287
+ };
288
+ }
289
+ function eventListItemToResourceDetails(item, resourceType) {
290
+ return {
291
+ dateTime: item.dateTime,
292
+ description: item.description ?? null,
293
+ eventStatus: {
294
+ claimed: item.claimed,
295
+ eventType: item.eventType,
296
+ googlePlaceId: item.googlePlaceId ?? null
297
+ },
298
+ location: item.location,
299
+ resourceCover: item.cover ?? null,
300
+ resourceId: item._id,
301
+ resourceLogo: item.logo ?? null,
302
+ resourceName: item.name,
303
+ resourceType
304
+ };
305
+ }
306
+ function eventListItemToCreateEventFormSeed(item, defaults) {
307
+ return {
308
+ ...defaults,
309
+ active: item.active,
310
+ claimed: item.claimed,
311
+ dateTime: item.dateTime,
312
+ description: item.description ?? "",
313
+ eventType: item.eventType,
314
+ googlePlaceId: item.googlePlaceId,
315
+ location: { ...item.location },
316
+ name: item.name,
317
+ rainOrShine: item.rainOrShine,
318
+ region: item.region
319
+ };
320
+ }
321
+ function eventInfoDateTimeToDateTime(rows) {
322
+ return rows.map((row) => ({
323
+ dateStatus: row.dateStatus,
324
+ endDate: row.endDate,
325
+ endTime: row.endTime,
326
+ startDate: row.startDate,
327
+ startTime: row.startTime
328
+ }));
329
+ }
78
330
 
79
- // src/types/resourceActivities.ts
80
- var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
81
- EnumActivity2["FAVORITE"] = "FAVORITE";
82
- EnumActivity2["GOING"] = "GOING";
83
- EnumActivity2["INTERESTED"] = "INTERESTED";
84
- EnumActivity2["PRESENT"] = "PRESENT";
85
- EnumActivity2["VIEW"] = "VIEW";
86
- return EnumActivity2;
87
- })(EnumActivity || {});
331
+ // src/types/vendorAdapters.ts
332
+ function toPromoCodeType2(code) {
333
+ if (!code.startsWith(PROMO_CODE_PREFIX)) {
334
+ throw new Error(`Invalid promo code from GraphQL: ${JSON.stringify(code)}`);
335
+ }
336
+ return code;
337
+ }
338
+ function toFormSubcategoryItem(item) {
339
+ return {
340
+ id: item.id ?? "",
341
+ name: item.name ?? ""
342
+ };
343
+ }
344
+ function toFormSubcategory(sub) {
345
+ return {
346
+ id: sub.id,
347
+ items: (sub.items ?? []).map(toFormSubcategoryItem),
348
+ name: sub.name ?? ""
349
+ };
350
+ }
351
+ function toFormCategory(category) {
352
+ return {
353
+ id: category.id,
354
+ name: category.name,
355
+ subcategories: (category.subcategories ?? []).map(toFormSubcategory)
356
+ };
357
+ }
358
+ function toFormVendorCalendarData(row) {
359
+ const dateTime = row.dateTime;
360
+ if (dateTime == null) {
361
+ throw new Error(
362
+ "Vendor calendar row is missing dateTime; cannot build form calendar entry."
363
+ );
364
+ }
365
+ return {
366
+ dateTime: {
367
+ dateStatus: dateTime.dateStatus ?? "Upcoming" /* Upcoming */,
368
+ endDate: dateTime.endDate ?? "",
369
+ endTime: dateTime.endTime ?? "",
370
+ startDate: dateTime.startDate ?? "",
371
+ startTime: dateTime.startTime ?? ""
372
+ },
373
+ description: row.description ?? null,
374
+ location: row.location ?? null,
375
+ resourceCover: null,
376
+ resourceId: "",
377
+ resourceLogo: null,
378
+ resourceName: "",
379
+ resourceType: "vendor" /* Vendor */
380
+ };
381
+ }
382
+ function toFormVendorAttributes(item) {
383
+ return {
384
+ details: item.details ?? null,
385
+ isRequired: item.isRequired
386
+ };
387
+ }
388
+ function vendorToFormData(vendor) {
389
+ return {
390
+ _id: vendor._id,
391
+ active: vendor.active,
392
+ availability: vendor.availability ? {
393
+ corporate: vendor.availability.corporate,
394
+ private: vendor.availability.private,
395
+ school: vendor.availability.school
396
+ } : void 0,
397
+ calendar: vendor.calendar ? {
398
+ active: vendor.calendar.active ?? null,
399
+ calendarData: (vendor.calendar.calendarData ?? []).map(
400
+ toFormVendorCalendarData
401
+ )
402
+ } : null,
403
+ categories: vendor.categories.map(toFormCategory),
404
+ claimed: vendor.claimed,
405
+ contactDetails: vendor.contactDetails ?? null,
406
+ cover: vendor.cover,
407
+ coverUpload: null,
408
+ description: vendor.description,
409
+ foodTruck: vendor.foodTruck,
410
+ images: vendor.images ?? null,
411
+ imagesUpload: null,
412
+ logo: vendor.logo ?? null,
413
+ logoUpload: null,
414
+ name: vendor.name,
415
+ products: vendor.products ? {
416
+ active: vendor.products.active ?? null,
417
+ productsList: vendor.products.productsList ?? []
418
+ } : null,
419
+ promoCodes: (vendor.promoCodes ?? []).filter((code) => code != null).map(toPromoCodeType2),
420
+ region: vendor.region,
421
+ socialMedia: toFormSocialMedia(vendor.socialMedia),
422
+ termsAgreement: vendor.termsAgreement ? {
423
+ appBuildNumber: vendor.termsAgreement.appBuildNumber,
424
+ appId: vendor.termsAgreement.appId,
425
+ appVersion: vendor.termsAgreement.appVersion,
426
+ brand: vendor.termsAgreement.brand,
427
+ deviceName: vendor.termsAgreement.deviceName,
428
+ installationId: vendor.termsAgreement.installationId,
429
+ manufacturer: vendor.termsAgreement.manufacturer,
430
+ modelName: vendor.termsAgreement.modelName,
431
+ osName: vendor.termsAgreement.osName,
432
+ osVersion: vendor.termsAgreement.osVersion,
433
+ termVersion: vendor.termsAgreement.termVersion,
434
+ timestamp: vendor.termsAgreement.timestamp
435
+ } : null,
436
+ unregisteredVendorId: vendor.unregisteredVendorId ?? null,
437
+ vendorType: vendor.vendorType
438
+ };
439
+ }
440
+ function vendorInfoToFormData(vendorInfo) {
441
+ return {
442
+ _id: vendorInfo._id,
443
+ compliance: vendorInfo.compliance ? {
444
+ foodBeverageLicense: vendorInfo.compliance.foodBeverageLicense,
445
+ liabilityInsurance: vendorInfo.compliance.liabilityInsurance
446
+ } : void 0,
447
+ documents: vendorInfo.documents ?? null,
448
+ documentsUpload: null,
449
+ product: {
450
+ foodFlavors: vendorInfo.product.foodFlavors,
451
+ packaging: vendorInfo.product.packaging ?? [],
452
+ priceRange: {
453
+ max: vendorInfo.product.priceRange.max,
454
+ min: vendorInfo.product.priceRange.min
455
+ },
456
+ producedIn: vendorInfo.product.producedIn ?? []
457
+ },
458
+ requirements: vendorInfo.requirements ? {
459
+ electricity: toFormVendorAttributes(
460
+ vendorInfo.requirements.electricity
461
+ ),
462
+ gazebo: toFormVendorAttributes(vendorInfo.requirements.gazebo),
463
+ table: toFormVendorAttributes(vendorInfo.requirements.table)
464
+ } : void 0,
465
+ stallInfo: {
466
+ size: {
467
+ depth: vendorInfo.stallInfo.size.depth,
468
+ width: vendorInfo.stallInfo.size.width
469
+ }
470
+ },
471
+ vendorId: vendorInfo.vendorId
472
+ };
473
+ }
474
+ function unregisteredVendorToFormData(vendor, options) {
475
+ const invitation = options?.inviterId != null ? vendor.invitations.find((row) => row.inviterId === options.inviterId) : vendor.invitations[0];
476
+ if (invitation == null) {
477
+ throw new Error(
478
+ `UnregisteredVendor ${vendor._id} has no invitation to hydrate form dateTime/inviterId.`
479
+ );
480
+ }
481
+ return {
482
+ categoryIds: vendor.categoryIds,
483
+ dateTime: invitation.dateTime,
484
+ email: vendor.email ?? null,
485
+ inviterId: invitation.inviterId,
486
+ name: vendor.name,
487
+ region: vendor.region
488
+ };
489
+ }
490
+ function vendorToAdSelectableResource(vendor) {
491
+ return {
492
+ _id: vendor._id,
493
+ cover: vendor.cover,
494
+ description: vendor.description,
495
+ images: vendor.images,
496
+ logo: vendor.logo,
497
+ name: vendor.name,
498
+ region: vendor.region,
499
+ slug: vendor.slug
500
+ };
501
+ }
88
502
 
89
- // src/types/post.ts
90
- var EnumPostType = /* @__PURE__ */ ((EnumPostType2) => {
91
- EnumPostType2["MARKET_FACES"] = "market_faces";
92
- EnumPostType2["CLUE_BITES"] = "clue_bites";
93
- EnumPostType2["PLAY_AND_WIN"] = "play_and_win";
94
- return EnumPostType2;
95
- })(EnumPostType || {});
96
- var EnumPostContentType = /* @__PURE__ */ ((EnumPostContentType2) => {
97
- EnumPostContentType2["GAME"] = "game";
98
- EnumPostContentType2["IMAGE"] = "image";
99
- EnumPostContentType2["LIST"] = "list";
100
- EnumPostContentType2["TEXTAREA"] = "textarea";
101
- EnumPostContentType2["VIDEO"] = "video";
102
- return EnumPostContentType2;
103
- })(EnumPostContentType || {});
503
+ // src/auth/permissions/permissions.ts
504
+ var PERMISSIONS = [
505
+ "*",
506
+ // Dashboards
507
+ "dashboard.admin",
508
+ "dashboard.affiliate",
509
+ "dashboard.customer",
510
+ "dashboard.event",
511
+ "dashboard.partner",
512
+ "dashboard.school",
513
+ "dashboard.vendor",
514
+ // Admin: users
515
+ "users.delete",
516
+ "users.read",
517
+ "users.update",
518
+ // Admin: events
519
+ "events.create",
520
+ "events.delete",
521
+ "events.read",
522
+ "events.update",
523
+ // Admin: vendors
524
+ "vendors.create",
525
+ "vendors.delete",
526
+ "vendors.read",
527
+ "vendors.update",
528
+ // Admin: partners
529
+ "partners.create",
530
+ "partners.delete",
531
+ "partners.read",
532
+ "partners.update",
533
+ // Admin: schools
534
+ "schools.create",
535
+ "schools.delete",
536
+ "schools.read",
537
+ "schools.update",
538
+ // Admin: affiliates
539
+ "affiliates.create",
540
+ "affiliates.delete",
541
+ "affiliates.read",
542
+ "affiliates.update",
543
+ // Admin: ads / posts / settings
544
+ "ads.create",
545
+ "ads.delete",
546
+ "ads.read",
547
+ "ads.update",
548
+ "posts.create",
549
+ "posts.delete",
550
+ "posts.read",
551
+ "posts.update",
552
+ "settings.read",
553
+ "settings.update",
554
+ // Product: own-resource management
555
+ "affiliates.manage_own",
556
+ "events.manage_own",
557
+ "partners.manage_own",
558
+ "schools.manage_own",
559
+ "vendors.manage_own"
560
+ ];
104
561
 
105
- // src/types/game/index.ts
106
- var EnumGameStatus = /* @__PURE__ */ ((EnumGameStatus2) => {
107
- EnumGameStatus2["GAME_COMPLETED"] = "GAME_COMPLETED";
108
- EnumGameStatus2["GAME_IN_PROGRESS"] = "GAME_IN_PROGRESS";
109
- EnumGameStatus2["GAME_LEFT"] = "GAME_LEFT";
110
- EnumGameStatus2["GAME_STARTED"] = "GAME_STARTED";
111
- return EnumGameStatus2;
112
- })(EnumGameStatus || {});
562
+ // src/auth/permissions/rolePermissions.ts
563
+ var ADMIN_PERMISSIONS = [
564
+ "dashboard.admin",
565
+ "events.read",
566
+ "events.create",
567
+ "events.update",
568
+ "events.delete",
569
+ "vendors.read",
570
+ "vendors.create",
571
+ "vendors.update",
572
+ "vendors.delete",
573
+ "partners.read",
574
+ "partners.create",
575
+ "partners.update",
576
+ "partners.delete",
577
+ "schools.read",
578
+ "schools.create",
579
+ "schools.update",
580
+ "schools.delete",
581
+ "affiliates.read",
582
+ "affiliates.create",
583
+ "affiliates.update",
584
+ "affiliates.delete",
585
+ "ads.read",
586
+ "ads.create",
587
+ "ads.update",
588
+ "ads.delete",
589
+ "posts.read",
590
+ "posts.create",
591
+ "posts.update",
592
+ "posts.delete"
593
+ ];
594
+ var ROLE_PERMISSIONS = {
595
+ ["super_admin" /* SuperAdmin */]: ["*"],
596
+ ["admin" /* Admin */]: ADMIN_PERMISSIONS,
597
+ ["customer" /* Customer */]: ["dashboard.customer"],
598
+ ["event" /* Event */]: ["dashboard.event", "events.manage_own"],
599
+ ["vendor" /* Vendor */]: ["dashboard.vendor", "vendors.manage_own"],
600
+ ["partner" /* Partner */]: ["dashboard.partner", "partners.manage_own"],
601
+ ["school" /* School */]: ["dashboard.school", "schools.manage_own"],
602
+ ["affiliate" /* Affiliate */]: [
603
+ "dashboard.affiliate",
604
+ "affiliates.manage_own"
605
+ ]
606
+ };
607
+
608
+ // src/auth/permissions/adminAppAccess.ts
609
+ var ADMIN_APP_ROLES = [
610
+ "super_admin" /* SuperAdmin */,
611
+ "admin" /* Admin */,
612
+ "event" /* Event */,
613
+ "vendor" /* Vendor */,
614
+ "partner" /* Partner */,
615
+ "school" /* School */,
616
+ "affiliate" /* Affiliate */
617
+ ];
618
+ var ADMIN_DASHBOARD_CONTEXTS = [
619
+ {
620
+ context: "staff",
621
+ home: "/dashboard",
622
+ label: "Staff",
623
+ pathPrefixes: ["/dashboard"],
624
+ roles: ["super_admin" /* SuperAdmin */, "admin" /* Admin */]
625
+ },
626
+ {
627
+ context: "event",
628
+ home: "/event/dashboard",
629
+ label: "Events",
630
+ pathPrefixes: ["/event"],
631
+ roles: ["event" /* Event */]
632
+ },
633
+ {
634
+ context: "vendor",
635
+ home: "/vendor/dashboard",
636
+ label: "Stallholders",
637
+ pathPrefixes: ["/vendor"],
638
+ roles: ["vendor" /* Vendor */]
639
+ },
640
+ {
641
+ context: "partner",
642
+ home: "/partner/dashboard",
643
+ label: "Partners",
644
+ pathPrefixes: ["/partner"],
645
+ roles: ["partner" /* Partner */]
646
+ },
647
+ {
648
+ context: "school",
649
+ home: "/school/dashboard",
650
+ label: "Schools",
651
+ pathPrefixes: ["/school"],
652
+ roles: ["school" /* School */]
653
+ },
654
+ {
655
+ context: "affiliate",
656
+ home: "/affiliate/dashboard",
657
+ label: "Affiliate",
658
+ pathPrefixes: ["/affiliate"],
659
+ roles: ["affiliate" /* Affiliate */]
660
+ }
661
+ ];
662
+
663
+ // src/types/userAdapters.ts
664
+ var PERMISSION_SET = new Set(PERMISSIONS);
665
+ function toUserPermissions(permissions) {
666
+ return permissions.filter(
667
+ (permission) => PERMISSION_SET.has(permission)
668
+ );
669
+ }
670
+ function toUserPromoCodes(codes) {
671
+ if (codes == null) {
672
+ return null;
673
+ }
674
+ return codes.map((code) => {
675
+ if (!code.startsWith(PROMO_CODE_PREFIX)) {
676
+ throw new Error(
677
+ `Invalid promo code from GraphQL: ${JSON.stringify(code)}`
678
+ );
679
+ }
680
+ return code;
681
+ });
682
+ }
683
+ function userToFormData(user) {
684
+ return {
685
+ _id: user._id,
686
+ active: user.active,
687
+ avatar: user.avatar ?? null,
688
+ avatarUpload: null,
689
+ confirmPassword: null,
690
+ email: user.email,
691
+ firstName: user.firstName,
692
+ isTester: user.isTester,
693
+ lastName: user.lastName,
694
+ location: user.location ?? null,
695
+ password: null,
696
+ platform: user.platform ?? void 0,
697
+ preferredRegion: user.preferredRegion,
698
+ termsAgreement: user.termsAgreement ? {
699
+ appBuildNumber: user.termsAgreement.appBuildNumber,
700
+ appId: user.termsAgreement.appId,
701
+ appVersion: user.termsAgreement.appVersion,
702
+ brand: user.termsAgreement.brand,
703
+ deviceName: user.termsAgreement.deviceName,
704
+ installationId: user.termsAgreement.installationId,
705
+ manufacturer: user.termsAgreement.manufacturer,
706
+ modelName: user.termsAgreement.modelName,
707
+ osName: user.termsAgreement.osName,
708
+ osVersion: user.termsAgreement.osVersion,
709
+ termVersion: user.termsAgreement.termVersion,
710
+ timestamp: user.termsAgreement.timestamp
711
+ } : null
712
+ };
713
+ }
714
+
715
+ // src/types/partnerAdapters.ts
716
+ function toPromoCodeType3(code) {
717
+ if (!code.startsWith(PROMO_CODE_PREFIX)) {
718
+ throw new Error(`Invalid promo code from GraphQL: ${JSON.stringify(code)}`);
719
+ }
720
+ return code;
721
+ }
722
+ function partnerToFormData(partner) {
723
+ return {
724
+ _id: partner._id,
725
+ active: partner.active,
726
+ contactDetails: partner.contactDetails ?? null,
727
+ cover: partner.cover,
728
+ coverUpload: null,
729
+ description: partner.description,
730
+ images: partner.images ?? null,
731
+ imagesUpload: null,
732
+ location: partner.location,
733
+ logo: partner.logo ?? null,
734
+ logoUpload: null,
735
+ name: partner.name,
736
+ nzbn: partner.nzbn,
737
+ partnerType: partner.partnerType,
738
+ promoCodes: (partner.promoCodes ?? []).filter((code) => code != null).map(toPromoCodeType3),
739
+ region: partner.region,
740
+ socialMedia: toFormSocialMedia(partner.socialMedia),
741
+ termsAgreement: partner.termsAgreement ? {
742
+ appBuildNumber: partner.termsAgreement.appBuildNumber,
743
+ appId: partner.termsAgreement.appId,
744
+ appVersion: partner.termsAgreement.appVersion,
745
+ brand: partner.termsAgreement.brand,
746
+ deviceName: partner.termsAgreement.deviceName,
747
+ installationId: partner.termsAgreement.installationId,
748
+ manufacturer: partner.termsAgreement.manufacturer,
749
+ modelName: partner.termsAgreement.modelName,
750
+ osName: partner.termsAgreement.osName,
751
+ osVersion: partner.termsAgreement.osVersion,
752
+ termVersion: partner.termsAgreement.termVersion,
753
+ timestamp: partner.termsAgreement.timestamp
754
+ } : null
755
+ };
756
+ }
757
+ function partnerToAdSelectableResource(partner) {
758
+ return {
759
+ _id: partner._id,
760
+ cover: partner.cover,
761
+ description: partner.description,
762
+ images: partner.images,
763
+ logo: partner.logo,
764
+ name: partner.name,
765
+ region: partner.region,
766
+ slug: partner.slug
767
+ };
768
+ }
113
769
 
114
770
  // src/types/game/dailyClue.ts
115
771
  var OBJECT_ID_PATH_SEGMENT = "[a-f0-9]{24}";
@@ -213,18 +869,57 @@ var gameScreenIdentifierList = [
213
869
  ];
214
870
 
215
871
  // src/types/game/global.ts
216
- var EnumGameType = /* @__PURE__ */ ((EnumGameType2) => {
217
- EnumGameType2["DAILY_CLUE"] = "dailyClue";
218
- EnumGameType2["MINI_QUIZ"] = "miniQuiz";
219
- EnumGameType2["ODD_ONE_OUT"] = "oddOneOut";
220
- return EnumGameType2;
221
- })(EnumGameType || {});
222
872
  var gameTypeToDisplayName = {
223
- ["dailyClue" /* DAILY_CLUE */]: "Daily Clue",
224
- ["miniQuiz" /* MINI_QUIZ */]: "Mini Quiz",
225
- ["oddOneOut" /* ODD_ONE_OUT */]: "Odd One Out"
873
+ ["dailyClue" /* DailyClue */]: "Daily Clue",
874
+ ["miniQuiz" /* MiniQuiz */]: "Mini Quiz",
875
+ ["oddOneOut" /* OddOneOut */]: "Odd One Out"
226
876
  };
227
877
 
878
+ // src/types/schoolAdapters.ts
879
+ function toSchoolCode(code) {
880
+ if (!code.startsWith(PROMO_CODE_PREFIX)) {
881
+ throw new Error(
882
+ `Invalid school code from GraphQL: ${JSON.stringify(code)}`
883
+ );
884
+ }
885
+ return code;
886
+ }
887
+ function schoolCampaignDatesToJsDates(campaign) {
888
+ return {
889
+ endDate: new Date(campaign.endDate),
890
+ name: campaign.name,
891
+ startDate: new Date(campaign.startDate)
892
+ };
893
+ }
894
+ function schoolToFormData(school) {
895
+ return {
896
+ _id: school._id,
897
+ active: school.active,
898
+ contactDetails: school.contactDetails ?? null,
899
+ location: school.location,
900
+ logo: school.logo ?? null,
901
+ logoUpload: null,
902
+ name: school.name,
903
+ region: school.region,
904
+ socialMedia: toFormSocialMedia(school.socialMedia),
905
+ studentCount: school.studentCount,
906
+ termsAgreement: school.termsAgreement ? {
907
+ appBuildNumber: school.termsAgreement.appBuildNumber,
908
+ appId: school.termsAgreement.appId,
909
+ appVersion: school.termsAgreement.appVersion,
910
+ brand: school.termsAgreement.brand,
911
+ deviceName: school.termsAgreement.deviceName,
912
+ installationId: school.termsAgreement.installationId,
913
+ manufacturer: school.termsAgreement.manufacturer,
914
+ modelName: school.termsAgreement.modelName,
915
+ osName: school.termsAgreement.osName,
916
+ osVersion: school.termsAgreement.osVersion,
917
+ termVersion: school.termsAgreement.termVersion,
918
+ timestamp: school.termsAgreement.timestamp
919
+ } : null
920
+ };
921
+ }
922
+
228
923
  // src/types/subscription.ts
229
924
  var TIERS_BY_PRIORITY = ["pro_plus", "pro", "standard"];
230
925
  var TIER_DISPLAY_LABELS = {
@@ -234,52 +929,102 @@ var TIER_DISPLAY_LABELS = {
234
929
  standard: "Standard"
235
930
  };
236
931
  var TIER_FROM_LICENCE = {
237
- ["pro_event" /* PRO_EVENT */]: "pro",
238
- ["pro_plus_event" /* PRO_PLUS_EVENT */]: "pro_plus",
239
- ["pro_plus_vendor" /* PRO_PLUS_VENDOR */]: "pro_plus",
240
- ["pro_vendor" /* PRO_VENDOR */]: "pro",
241
- ["standard_event" /* STANDARD_EVENT */]: "standard",
242
- ["standard_partner" /* STANDARD_PARTNER */]: "standard",
243
- ["standard_vendor" /* STANDARD_VENDOR */]: "standard",
244
- ["standard_affiliate" /* STANDARD_AFFILIATE */]: "standard",
245
- ["standard_school" /* STANDARD_SCHOOL */]: "standard"
932
+ ["pro_event" /* ProEvent */]: "pro",
933
+ ["pro_plus_event" /* ProPlusEvent */]: "pro_plus",
934
+ ["pro_plus_vendor" /* ProPlusVendor */]: "pro_plus",
935
+ ["pro_vendor" /* ProVendor */]: "pro",
936
+ ["standard_event" /* StandardEvent */]: "standard",
937
+ ["standard_partner" /* StandardPartner */]: "standard",
938
+ ["standard_vendor" /* StandardVendor */]: "standard",
939
+ ["standard_affiliate" /* StandardAffiliate */]: "standard",
940
+ ["standard_school" /* StandardSchool */]: "standard"
246
941
  };
247
942
 
248
- // src/types/affiliate.ts
249
- var EnumAffiliateParticipantType = /* @__PURE__ */ ((EnumAffiliateParticipantType2) => {
250
- EnumAffiliateParticipantType2["INDIVIDUAL"] = "INDIVIDUAL";
251
- EnumAffiliateParticipantType2["SOLE_TRADER"] = "SOLE_TRADER";
252
- EnumAffiliateParticipantType2["COMPANY"] = "COMPANY";
253
- return EnumAffiliateParticipantType2;
254
- })(EnumAffiliateParticipantType || {});
255
- var EnumAffiliateRewardType = /* @__PURE__ */ ((EnumAffiliateRewardType2) => {
256
- EnumAffiliateRewardType2["ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS"] = "ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS";
257
- EnumAffiliateRewardType2["ACTIVE_VENDOR_BONUS_REWARD"] = "ACTIVE_VENDOR_BONUS_REWARD";
258
- EnumAffiliateRewardType2["ACTIVE_VENDOR_PRO_SUBSCRIPTION"] = "ACTIVE_VENDOR_PRO_SUBSCRIPTION";
259
- EnumAffiliateRewardType2["ACTIVE_VENDOR_STANDARD_SUBSCRIPTION"] = "ACTIVE_VENDOR_STANDARD_SUBSCRIPTION";
260
- EnumAffiliateRewardType2["NEW_EVENT_REGISTRATION"] = "NEW_EVENT_REGISTRATION";
261
- EnumAffiliateRewardType2["NEW_VENDOR_REGISTRATION"] = "NEW_VENDOR_REGISTRATION";
262
- return EnumAffiliateRewardType2;
263
- })(EnumAffiliateRewardType || {});
943
+ // src/types/affiliateAdapters.ts
944
+ var emptyLocation = {
945
+ city: "",
946
+ country: "",
947
+ fullAddress: "",
948
+ geo: {
949
+ coordinates: [0, 0],
950
+ type: "Point"
951
+ },
952
+ latitude: 0,
953
+ longitude: 0,
954
+ region: ""
955
+ };
956
+ function toAffiliateCode(code) {
957
+ if (!code.startsWith(PROMO_CODE_PREFIX)) {
958
+ throw new Error(
959
+ `Invalid affiliate code from GraphQL: ${JSON.stringify(code)}`
960
+ );
961
+ }
962
+ return code;
963
+ }
964
+ function affiliateToFormData(affiliate) {
965
+ const details = affiliate.affiliateDetails;
966
+ return {
967
+ bankAccountDetails: details?.bankAccountDetails ?? {
968
+ accountHolderName: "",
969
+ accountNumber: ""
970
+ },
971
+ contactDetails: details?.contactDetails ?? {
972
+ mobilePhone: ""
973
+ },
974
+ irdNumber: details?.irdNumber ?? "",
975
+ location: details?.location ?? emptyLocation,
976
+ participantType: details?.participantType ?? "",
977
+ socialMedia: toFormSocialMedia(details?.socialMedia),
978
+ termsAgreement: details?.termsAgreement ? {
979
+ appBuildNumber: details.termsAgreement.appBuildNumber,
980
+ appId: details.termsAgreement.appId,
981
+ appVersion: details.termsAgreement.appVersion,
982
+ brand: details.termsAgreement.brand,
983
+ deviceName: details.termsAgreement.deviceName,
984
+ installationId: details.termsAgreement.installationId,
985
+ manufacturer: details.termsAgreement.manufacturer,
986
+ modelName: details.termsAgreement.modelName,
987
+ osName: details.termsAgreement.osName,
988
+ osVersion: details.termsAgreement.osVersion,
989
+ termVersion: details.termsAgreement.termVersion,
990
+ timestamp: details.termsAgreement.timestamp
991
+ } : null
992
+ };
993
+ }
264
994
  // Annotate the CommonJS export names for ESM import in node:
265
995
  0 && (module.exports = {
266
- EnumActivity,
267
- EnumAdShowOn,
268
- EnumAdStatus,
269
- EnumAdStyle,
270
- EnumAdType,
271
- EnumAffiliateParticipantType,
272
- EnumAffiliateRewardType,
273
- EnumGameStatus,
274
- EnumGameType,
275
- EnumPostContentType,
276
- EnumPostType,
277
- EnumVerificationType,
278
996
  PROMO_CODE_PREFIX,
279
997
  TIERS_BY_PRIORITY,
280
998
  TIER_DISPLAY_LABELS,
281
999
  TIER_FROM_LICENCE,
1000
+ affiliateToFormData,
1001
+ eventInfoDateTimeToDateTime,
1002
+ eventInfoToFormData,
1003
+ eventListItemToAdSelectableResource,
1004
+ eventListItemToCreateEventFormSeed,
1005
+ eventListItemToResourceDetails,
1006
+ eventToEventListItem,
1007
+ eventToFormData,
1008
+ eventToNewEventInfoFormData,
282
1009
  gameScreenIdentifierList,
283
- gameTypeToDisplayName
1010
+ gameTypeToDisplayName,
1011
+ partnerToAdSelectableResource,
1012
+ partnerToFormData,
1013
+ schoolCampaignDatesToJsDates,
1014
+ schoolToFormData,
1015
+ toAffiliateCode,
1016
+ toFormCategory,
1017
+ toFormRefundPolicy,
1018
+ toFormRequirement,
1019
+ toFormSocialMedia,
1020
+ toFormVendorCalendarData,
1021
+ toSchoolCode,
1022
+ toUserPermissions,
1023
+ toUserPromoCodes,
1024
+ unregisteredVendorToFormData,
1025
+ userToFormData,
1026
+ vendorInfoToFormData,
1027
+ vendorToAdSelectableResource,
1028
+ vendorToFormData
284
1029
  });
285
1030
  //# sourceMappingURL=index.cjs.map