@timardex/cluemart-shared 1.5.829 → 1.5.831

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 (80) hide show
  1. package/dist/{ad-CZBOdoLr.d.mts → ad-Cu-M8Xzf.d.mts} +2 -2
  2. package/dist/{ad-CCm6QYXb.d.ts → ad-DfqgAPOk.d.ts} +2 -2
  3. package/dist/auth/index.cjs +107 -36
  4. package/dist/auth/index.cjs.map +1 -1
  5. package/dist/auth/index.d.mts +28 -6
  6. package/dist/auth/index.d.ts +28 -6
  7. package/dist/auth/index.mjs +19 -13
  8. package/dist/auth/index.mjs.map +1 -1
  9. package/dist/{chunk-KMLUQVNM.mjs → chunk-43SLZVBF.mjs} +1 -1
  10. package/dist/chunk-43SLZVBF.mjs.map +1 -0
  11. package/dist/{chunk-MOB5R5BF.mjs → chunk-G3CMTXQV.mjs} +2 -3
  12. package/dist/chunk-G3CMTXQV.mjs.map +1 -0
  13. package/dist/{chunk-AQR53ECY.mjs → chunk-LN5LS2GJ.mjs} +3 -3
  14. package/dist/{chunk-Y62E7JLT.mjs → chunk-NU7IZZQY.mjs} +2 -2
  15. package/dist/{chunk-UOFI3LKZ.mjs → chunk-P4XULG5P.mjs} +1 -28
  16. package/dist/chunk-P4XULG5P.mjs.map +1 -0
  17. package/dist/{chunk-VNF22ITY.mjs → chunk-SWWVD4J5.mjs} +2 -2
  18. package/dist/{chunk-JL4MCXKK.mjs → chunk-VPANTTZI.mjs} +101 -2
  19. package/dist/chunk-VPANTTZI.mjs.map +1 -0
  20. package/dist/{chunk-VR3TDBJL.mjs → chunk-X3OLM35T.mjs} +1 -4
  21. package/dist/chunk-X3OLM35T.mjs.map +1 -0
  22. package/dist/{chunk-4NGXTQWT.mjs → chunk-YKJUZUAP.mjs} +4 -4
  23. package/dist/{contactUs-b5SfvqmJ.d.mts → contactUs-09e9ThN0.d.mts} +1 -1
  24. package/dist/{contactUs-Bwxzw-cB.d.ts → contactUs-DI70VJ9T.d.ts} +1 -1
  25. package/dist/enums/index.cjs +0 -3
  26. package/dist/enums/index.cjs.map +1 -1
  27. package/dist/enums/index.d.mts +0 -3
  28. package/dist/enums/index.d.ts +0 -3
  29. package/dist/enums/index.mjs +1 -1
  30. package/dist/formFields/index.cjs.map +1 -1
  31. package/dist/formFields/index.d.mts +1 -1
  32. package/dist/formFields/index.d.ts +1 -1
  33. package/dist/formFields/index.mjs +5 -5
  34. package/dist/{global-wVC9VaCx.d.ts → global--iSLy2cE.d.ts} +2 -9
  35. package/dist/{global-959zf6qy.d.mts → global-BHwZPjT8.d.mts} +2 -9
  36. package/dist/graphql/index.cjs +0 -28
  37. package/dist/graphql/index.cjs.map +1 -1
  38. package/dist/graphql/index.d.mts +4 -4
  39. package/dist/graphql/index.d.ts +4 -4
  40. package/dist/graphql/index.mjs +3 -3
  41. package/dist/hooks/index.cjs +56 -61
  42. package/dist/hooks/index.cjs.map +1 -1
  43. package/dist/hooks/index.d.mts +4 -4
  44. package/dist/hooks/index.d.ts +4 -4
  45. package/dist/hooks/index.mjs +10 -31
  46. package/dist/hooks/index.mjs.map +1 -1
  47. package/dist/index.cjs +106 -31
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.mts +25 -14
  50. package/dist/index.d.ts +25 -14
  51. package/dist/index.mjs +99 -31
  52. package/dist/index.mjs.map +1 -1
  53. package/dist/map/index.d.mts +1 -1
  54. package/dist/map/index.d.ts +1 -1
  55. package/dist/{resourceActivities-ZPT9JlfH.d.mts → resourceActivities-BDIjVrI4.d.mts} +1 -2
  56. package/dist/{resourceActivities-ChZcl5wJ.d.ts → resourceActivities-JNcJxpTh.d.ts} +1 -2
  57. package/dist/sharing/index.cjs.map +1 -1
  58. package/dist/sharing/index.d.mts +1 -1
  59. package/dist/sharing/index.d.ts +1 -1
  60. package/dist/sharing/index.mjs +3 -3
  61. package/dist/types/index.cjs.map +1 -1
  62. package/dist/types/index.d.mts +6 -6
  63. package/dist/types/index.d.ts +6 -6
  64. package/dist/types/index.mjs +2 -2
  65. package/dist/{user-duZdr5Nn.d.mts → user-Bhkd3l06.d.mts} +1 -2
  66. package/dist/{user-IVhCYYTM.d.ts → user-C_kCo0Fm.d.ts} +1 -2
  67. package/dist/utils/index.cjs.map +1 -1
  68. package/dist/utils/index.d.mts +1 -1
  69. package/dist/utils/index.d.ts +1 -1
  70. package/dist/utils/index.mjs +4 -4
  71. package/package.json +1 -1
  72. package/dist/chunk-JL4MCXKK.mjs.map +0 -1
  73. package/dist/chunk-KMLUQVNM.mjs.map +0 -1
  74. package/dist/chunk-MOB5R5BF.mjs.map +0 -1
  75. package/dist/chunk-UOFI3LKZ.mjs.map +0 -1
  76. package/dist/chunk-VR3TDBJL.mjs.map +0 -1
  77. /package/dist/{chunk-AQR53ECY.mjs.map → chunk-LN5LS2GJ.mjs.map} +0 -0
  78. /package/dist/{chunk-Y62E7JLT.mjs.map → chunk-NU7IZZQY.mjs.map} +0 -0
  79. /package/dist/{chunk-VNF22ITY.mjs.map → chunk-SWWVD4J5.mjs.map} +0 -0
  80. /package/dist/{chunk-4NGXTQWT.mjs.map → chunk-YKJUZUAP.mjs.map} +0 -0
package/dist/index.cjs CHANGED
@@ -30,6 +30,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
+ ADMIN_APP_ROLES: () => ADMIN_APP_ROLES,
34
+ ADMIN_DASHBOARD_CONTEXTS: () => ADMIN_DASHBOARD_CONTEXTS,
33
35
  AFFILIATE_PARTICIPANT_TYPE_LABELS: () => AFFILIATE_PARTICIPANT_TYPE_LABELS,
34
36
  ANDROID_URL: () => ANDROID_URL,
35
37
  CLUEMART_MAIN_DOMAIN_URL: () => CLUEMART_MAIN_DOMAIN_URL,
@@ -157,6 +159,8 @@ __export(index_exports, {
157
159
  buildShareOgDescriptionFromSections: () => buildShareOgDescriptionFromSections,
158
160
  buildSharePagePath: () => buildSharePagePath,
159
161
  buildShareUrl: () => buildShareUrl,
162
+ canAccessAdminApp: () => canAccessAdminApp,
163
+ canAccessAdminPath: () => canAccessAdminPath,
160
164
  capitalizeFirstLetter: () => capitalizeFirstLetter,
161
165
  categoryColors: () => categoryColors,
162
166
  cluemartSocialMedia: () => cluemartSocialMedia,
@@ -212,6 +216,7 @@ __export(index_exports, {
212
216
  gameTypeToDisplayName: () => gameTypeToDisplayName,
213
217
  getAllowedEventDateStatuses: () => getAllowedEventDateStatuses,
214
218
  getCurrentAndFutureDates: () => getCurrentAndFutureDates,
219
+ getDefaultAdminHome: () => getDefaultAdminHome,
215
220
  getErrorMessage: () => getErrorMessage,
216
221
  getEventCalendarIsoDates: () => getEventCalendarIsoDates,
217
222
  getEventDatesWithStallholders: () => getEventDatesWithStallholders,
@@ -226,6 +231,7 @@ __export(index_exports, {
226
231
  getStallholderCategoryOptions: () => getStallholderCategoryOptions,
227
232
  getUnregisteredVendorCategoryNames: () => getUnregisteredVendorCategoryNames,
228
233
  getUnregisteredVendorStartDates: () => getUnregisteredVendorStartDates,
234
+ getUsableAdminContexts: () => getUsableAdminContexts,
229
235
  getVendorEventRelationDateOptions: () => getVendorEventRelationDateOptions,
230
236
  getVendorEventRelationStartDates: () => getVendorEventRelationStartDates,
231
237
  getVendorEventsEmptyMessage: () => getVendorEventsEmptyMessage,
@@ -285,6 +291,7 @@ __export(index_exports, {
285
291
  requestPasswordResetFields: () => requestPasswordResetFields,
286
292
  requirementsOptions: () => requirementsOptions,
287
293
  resetPasswordFields: () => resetPasswordFields,
294
+ resolveAdminContextFromPath: () => resolveAdminContextFromPath,
288
295
  resolveResourceImageActive: () => resolveResourceImageActive,
289
296
  rewardNiceNames: () => rewardNiceNames,
290
297
  seededShuffle: () => seededShuffle,
@@ -587,9 +594,6 @@ var EnumRelationResource = /* @__PURE__ */ ((EnumRelationResource2) => {
587
594
  return EnumRelationResource2;
588
595
  })(EnumRelationResource || {});
589
596
  var EnumNotificationResourceType = /* @__PURE__ */ ((EnumNotificationResourceType2) => {
590
- EnumNotificationResourceType2["ADDED_AS_ASSOCIATE_EVENT"] = "added_as_associate_event";
591
- EnumNotificationResourceType2["ADDED_AS_ASSOCIATE_PARTNER"] = "added_as_associate_partner";
592
- EnumNotificationResourceType2["ADDED_AS_ASSOCIATE_VENDOR"] = "added_as_associate_vendor";
593
597
  EnumNotificationResourceType2["APPROVED_AFFILIATE"] = "approved_affiliate";
594
598
  EnumNotificationResourceType2["AFFILIATE_REWARD_RECEIVED"] = "affiliate_reward_received";
595
599
  EnumNotificationResourceType2["APPROVED_EVENT"] = "approved_event";
@@ -3740,17 +3744,6 @@ var LICENCE_FIELDS_FRAGMENT = import_client.gql`
3740
3744
  prevLicenceType
3741
3745
  }
3742
3746
  `;
3743
- var ASSOCIATES_FIELDS_FRAGMENT = import_client.gql`
3744
- fragment AssociatesFields on AssociateType {
3745
- email
3746
- resourceId
3747
- resourceType
3748
- licence {
3749
- ...LicenceFields
3750
- }
3751
- }
3752
- ${LICENCE_FIELDS_FRAGMENT}
3753
- `;
3754
3747
  var TERMS_AGREEMENT_FIELDS_FRAGMENT = import_client.gql`
3755
3748
  fragment TermsAgreementFields on TermsAgreementType {
3756
3749
  appBuildNumber
@@ -3841,9 +3834,6 @@ var USER_FIELDS_FRAGMENT = import_client.gql`
3841
3834
  fragment UserFields on UserType {
3842
3835
  _id
3843
3836
  active
3844
- associates {
3845
- ...AssociatesFields
3846
- }
3847
3837
  affiliate
3848
3838
  avatar {
3849
3839
  ...ResourceImageFields
@@ -3883,7 +3873,6 @@ var USER_FIELDS_FRAGMENT = import_client.gql`
3883
3873
  updatedAt
3884
3874
  }
3885
3875
  ${RESOURCE_IMAGE_FIELDS_FRAGMENT}
3886
- ${ASSOCIATES_FIELDS_FRAGMENT}
3887
3876
  ${TERMS_AGREEMENT_FIELDS_FRAGMENT}
3888
3877
  ${USER_ACTIVITY_FIELDS_FRAGMENT}
3889
3878
  ${LICENCE_FIELDS_FRAGMENT}
@@ -4031,9 +4020,6 @@ var EVENT = import_client2.gql`
4031
4020
  fragment EventFields on EventType {
4032
4021
  _id
4033
4022
  active
4034
- associates {
4035
- ...AssociatesFields
4036
- }
4037
4023
  adIds
4038
4024
  approvedAt
4039
4025
  cover {
@@ -4106,7 +4092,6 @@ var EVENT = import_client2.gql`
4106
4092
  ${RESOURCE_IMAGE_FIELDS_FRAGMENT}
4107
4093
  ${SOCIAL_MEDIA_FIELDS_FRAGMENT}
4108
4094
  ${POSTER_USAGE_FIELDS_FRAGMENT}
4109
- ${ASSOCIATES_FIELDS_FRAGMENT}
4110
4095
  ${CONTACT_DETAILS_FIELDS_FRAGMENT}
4111
4096
  ${TERMS_AGREEMENT_FIELDS_FRAGMENT}
4112
4097
  ${RELATION_DATES_FRAGMENT}
@@ -4222,9 +4207,6 @@ var VENDOR = import_client3.gql`
4222
4207
  fragment VendorFields on VendorType {
4223
4208
  _id
4224
4209
  active
4225
- associates {
4226
- ...AssociatesFields
4227
- }
4228
4210
  adIds
4229
4211
  approvedAt
4230
4212
  availability {
@@ -4315,7 +4297,6 @@ var VENDOR = import_client3.gql`
4315
4297
  ${RESOURCE_IMAGE_FIELDS_FRAGMENT}
4316
4298
  ${SOCIAL_MEDIA_FIELDS_FRAGMENT}
4317
4299
  ${POSTER_USAGE_FIELDS_FRAGMENT}
4318
- ${ASSOCIATES_FIELDS_FRAGMENT}
4319
4300
  ${VENDOR_PRODUCT_LIST_FIELDS_FRAGMENT}
4320
4301
  ${CONTACT_DETAILS_FIELDS_FRAGMENT}
4321
4302
  ${TERMS_AGREEMENT_FIELDS_FRAGMENT}
@@ -4471,9 +4452,6 @@ var PARTNER = import_client4.gql`
4471
4452
  fragment PartnerFields on PartnerType {
4472
4453
  _id
4473
4454
  active
4474
- associates {
4475
- ...AssociatesFields
4476
- }
4477
4455
  adIds
4478
4456
  approvedAt
4479
4457
  cover {
@@ -4524,7 +4502,6 @@ var PARTNER = import_client4.gql`
4524
4502
  ${TERMS_AGREEMENT_FIELDS_FRAGMENT}
4525
4503
  ${LOCATION_FIELDS_FRAGMENT}
4526
4504
  ${OWNER_FIELDS_FRAGMENT}
4527
- ${ASSOCIATES_FIELDS_FRAGMENT}
4528
4505
  ${RESOURCE_IMAGE_FIELDS_FRAGMENT}
4529
4506
  ${POSTER_USAGE_FIELDS_FRAGMENT}
4530
4507
  ${SOCIAL_MEDIA_FIELDS_FRAGMENT}
@@ -5096,7 +5073,6 @@ var CHAT_MESSAGE_FIELDS_FRAGMENT = import_client14.gql`
5096
5073
  var CHAT_PARTICIPANT = import_client14.gql`
5097
5074
  fragment ChatParticipantFields on ChatParticipantType {
5098
5075
  active
5099
- isAssociate
5100
5076
  userAvatar
5101
5077
  userEmail
5102
5078
  userId
@@ -8591,8 +8567,102 @@ function hasAnyRole(roles, checkRoles) {
8591
8567
  const set = new Set(normalizeRoles(roles));
8592
8568
  return checkRoles.some((r) => set.has(r));
8593
8569
  }
8570
+
8571
+ // src/auth/permissions/adminAppAccess.ts
8572
+ var ADMIN_APP_ROLES = [
8573
+ "super_admin" /* SUPER_ADMIN */,
8574
+ "admin" /* ADMIN */,
8575
+ "event" /* EVENT */,
8576
+ "vendor" /* VENDOR */,
8577
+ "partner" /* PARTNER */,
8578
+ "school" /* SCHOOL */,
8579
+ "affiliate" /* AFFILIATE */
8580
+ ];
8581
+ var ADMIN_DASHBOARD_CONTEXTS = [
8582
+ {
8583
+ context: "staff",
8584
+ home: "/dashboard",
8585
+ label: "Staff",
8586
+ pathPrefixes: ["/dashboard"],
8587
+ roles: ["super_admin" /* SUPER_ADMIN */, "admin" /* ADMIN */]
8588
+ },
8589
+ {
8590
+ context: "event",
8591
+ home: "/event/dashboard",
8592
+ label: "Events",
8593
+ pathPrefixes: ["/event"],
8594
+ roles: ["event" /* EVENT */]
8595
+ },
8596
+ {
8597
+ context: "vendor",
8598
+ home: "/vendor/dashboard",
8599
+ label: "Stallholders",
8600
+ pathPrefixes: ["/vendor"],
8601
+ roles: ["vendor" /* VENDOR */]
8602
+ },
8603
+ {
8604
+ context: "partner",
8605
+ home: "/partner/dashboard",
8606
+ label: "Partners",
8607
+ pathPrefixes: ["/partner"],
8608
+ roles: ["partner" /* PARTNER */]
8609
+ },
8610
+ {
8611
+ context: "school",
8612
+ home: "/school/dashboard",
8613
+ label: "Schools",
8614
+ pathPrefixes: ["/school"],
8615
+ roles: ["school" /* SCHOOL */]
8616
+ },
8617
+ {
8618
+ context: "affiliate",
8619
+ home: "/affiliate/dashboard",
8620
+ label: "Affiliate",
8621
+ pathPrefixes: ["/affiliate"],
8622
+ roles: ["affiliate" /* AFFILIATE */]
8623
+ }
8624
+ ];
8625
+ function canAccessAdminApp(roles) {
8626
+ return hasAnyRole(roles, ADMIN_APP_ROLES);
8627
+ }
8628
+ function getUsableAdminContexts(roles) {
8629
+ return ADMIN_DASHBOARD_CONTEXTS.filter((ctx) => hasAnyRole(roles, ctx.roles));
8630
+ }
8631
+ function getDefaultAdminHome(roles, preferredContext) {
8632
+ const usable = getUsableAdminContexts(roles);
8633
+ if (usable.length === 0) {
8634
+ return "/login";
8635
+ }
8636
+ if (preferredContext) {
8637
+ const preferred = usable.find((ctx) => ctx.context === preferredContext);
8638
+ if (preferred) return preferred.home;
8639
+ }
8640
+ return usable[0].home;
8641
+ }
8642
+ function resolveAdminContextFromPath(pathname) {
8643
+ for (const ctx of ADMIN_DASHBOARD_CONTEXTS) {
8644
+ if (ctx.pathPrefixes.some(
8645
+ (prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`)
8646
+ )) {
8647
+ return ctx.context;
8648
+ }
8649
+ }
8650
+ return null;
8651
+ }
8652
+ function canAccessAdminPath(roles, pathname) {
8653
+ if (!canAccessAdminApp(roles)) return false;
8654
+ const context = resolveAdminContextFromPath(pathname);
8655
+ if (!context) {
8656
+ return true;
8657
+ }
8658
+ const info = ADMIN_DASHBOARD_CONTEXTS.find((ctx) => ctx.context === context);
8659
+ if (!info) return false;
8660
+ return hasAnyRole(roles, info.roles);
8661
+ }
8594
8662
  // Annotate the CommonJS export names for ESM import in node:
8595
8663
  0 && (module.exports = {
8664
+ ADMIN_APP_ROLES,
8665
+ ADMIN_DASHBOARD_CONTEXTS,
8596
8666
  AFFILIATE_PARTICIPANT_TYPE_LABELS,
8597
8667
  ANDROID_URL,
8598
8668
  CLUEMART_MAIN_DOMAIN_URL,
@@ -8720,6 +8790,8 @@ function hasAnyRole(roles, checkRoles) {
8720
8790
  buildShareOgDescriptionFromSections,
8721
8791
  buildSharePagePath,
8722
8792
  buildShareUrl,
8793
+ canAccessAdminApp,
8794
+ canAccessAdminPath,
8723
8795
  capitalizeFirstLetter,
8724
8796
  categoryColors,
8725
8797
  cluemartSocialMedia,
@@ -8775,6 +8847,7 @@ function hasAnyRole(roles, checkRoles) {
8775
8847
  gameTypeToDisplayName,
8776
8848
  getAllowedEventDateStatuses,
8777
8849
  getCurrentAndFutureDates,
8850
+ getDefaultAdminHome,
8778
8851
  getErrorMessage,
8779
8852
  getEventCalendarIsoDates,
8780
8853
  getEventDatesWithStallholders,
@@ -8789,6 +8862,7 @@ function hasAnyRole(roles, checkRoles) {
8789
8862
  getStallholderCategoryOptions,
8790
8863
  getUnregisteredVendorCategoryNames,
8791
8864
  getUnregisteredVendorStartDates,
8865
+ getUsableAdminContexts,
8792
8866
  getVendorEventRelationDateOptions,
8793
8867
  getVendorEventRelationStartDates,
8794
8868
  getVendorEventsEmptyMessage,
@@ -8848,6 +8922,7 @@ function hasAnyRole(roles, checkRoles) {
8848
8922
  requestPasswordResetFields,
8849
8923
  requirementsOptions,
8850
8924
  resetPasswordFields,
8925
+ resolveAdminContextFromPath,
8851
8926
  resolveResourceImageActive,
8852
8927
  rewardNiceNames,
8853
8928
  seededShuffle,