@timardex/cluemart-shared 1.5.830 → 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 (77) 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 +1 -36
  4. package/dist/auth/index.cjs.map +1 -1
  5. package/dist/auth/index.d.mts +4 -5
  6. package/dist/auth/index.d.ts +4 -5
  7. package/dist/auth/index.mjs +3 -11
  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-VR3TDBJL.mjs → chunk-X3OLM35T.mjs} +1 -4
  19. package/dist/chunk-X3OLM35T.mjs.map +1 -0
  20. package/dist/{chunk-4NGXTQWT.mjs → chunk-YKJUZUAP.mjs} +4 -4
  21. package/dist/{contactUs-b5SfvqmJ.d.mts → contactUs-09e9ThN0.d.mts} +1 -1
  22. package/dist/{contactUs-Bwxzw-cB.d.ts → contactUs-DI70VJ9T.d.ts} +1 -1
  23. package/dist/enums/index.cjs +0 -3
  24. package/dist/enums/index.cjs.map +1 -1
  25. package/dist/enums/index.d.mts +0 -3
  26. package/dist/enums/index.d.ts +0 -3
  27. package/dist/enums/index.mjs +1 -1
  28. package/dist/formFields/index.cjs.map +1 -1
  29. package/dist/formFields/index.d.mts +1 -1
  30. package/dist/formFields/index.d.ts +1 -1
  31. package/dist/formFields/index.mjs +5 -5
  32. package/dist/{global-wVC9VaCx.d.ts → global--iSLy2cE.d.ts} +2 -9
  33. package/dist/{global-959zf6qy.d.mts → global-BHwZPjT8.d.mts} +2 -9
  34. package/dist/graphql/index.cjs +0 -28
  35. package/dist/graphql/index.cjs.map +1 -1
  36. package/dist/graphql/index.d.mts +4 -4
  37. package/dist/graphql/index.d.ts +4 -4
  38. package/dist/graphql/index.mjs +3 -3
  39. package/dist/hooks/index.cjs +1 -61
  40. package/dist/hooks/index.cjs.map +1 -1
  41. package/dist/hooks/index.d.mts +4 -4
  42. package/dist/hooks/index.d.ts +4 -4
  43. package/dist/hooks/index.mjs +9 -30
  44. package/dist/hooks/index.mjs.map +1 -1
  45. package/dist/index.cjs +0 -31
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.d.mts +2 -14
  48. package/dist/index.d.ts +2 -14
  49. package/dist/index.mjs +0 -31
  50. package/dist/index.mjs.map +1 -1
  51. package/dist/map/index.d.mts +1 -1
  52. package/dist/map/index.d.ts +1 -1
  53. package/dist/{resourceActivities-ZPT9JlfH.d.mts → resourceActivities-BDIjVrI4.d.mts} +1 -2
  54. package/dist/{resourceActivities-ChZcl5wJ.d.ts → resourceActivities-JNcJxpTh.d.ts} +1 -2
  55. package/dist/sharing/index.cjs.map +1 -1
  56. package/dist/sharing/index.d.mts +1 -1
  57. package/dist/sharing/index.d.ts +1 -1
  58. package/dist/sharing/index.mjs +3 -3
  59. package/dist/types/index.cjs.map +1 -1
  60. package/dist/types/index.d.mts +6 -6
  61. package/dist/types/index.d.ts +6 -6
  62. package/dist/types/index.mjs +2 -2
  63. package/dist/{user-duZdr5Nn.d.mts → user-Bhkd3l06.d.mts} +1 -2
  64. package/dist/{user-IVhCYYTM.d.ts → user-C_kCo0Fm.d.ts} +1 -2
  65. package/dist/utils/index.cjs.map +1 -1
  66. package/dist/utils/index.d.mts +1 -1
  67. package/dist/utils/index.d.ts +1 -1
  68. package/dist/utils/index.mjs +4 -4
  69. package/package.json +1 -1
  70. package/dist/chunk-KMLUQVNM.mjs.map +0 -1
  71. package/dist/chunk-MOB5R5BF.mjs.map +0 -1
  72. package/dist/chunk-UOFI3LKZ.mjs.map +0 -1
  73. package/dist/chunk-VR3TDBJL.mjs.map +0 -1
  74. /package/dist/{chunk-AQR53ECY.mjs.map → chunk-LN5LS2GJ.mjs.map} +0 -0
  75. /package/dist/{chunk-Y62E7JLT.mjs.map → chunk-NU7IZZQY.mjs.map} +0 -0
  76. /package/dist/{chunk-VNF22ITY.mjs.map → chunk-SWWVD4J5.mjs.map} +0 -0
  77. /package/dist/{chunk-4NGXTQWT.mjs.map → chunk-YKJUZUAP.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/createAuthManager.ts","../../src/auth/licenceUtils.ts","../../src/auth/useAuthCore.ts","../../src/auth/UserProvider.tsx"],"sourcesContent":["export type AuthManager = {\n logout: () => Promise<void>;\n setLogout: (fn: () => Promise<void>) => void;\n handleRefetchUser: () => Promise<void>;\n setUserRefetch: (fn: () => Promise<void>) => void;\n};\n\n/**\n * Creates an auth manager used by Apollo error links to trigger logout/refetch\n * without importing React. Matches the former mobile authManager shape.\n *\n * `logout()` dedupes concurrent calls via an in-flight promise so token-refresh\n * failures do not kick off multiple logout sequences.\n */\nexport function createAuthManager(): AuthManager {\n let logoutFn: (() => Promise<void>) | null = null;\n let userRefetchFn: (() => Promise<void>) | null = null;\n let logoutPromise: Promise<void> | null = null;\n\n return {\n handleRefetchUser: async () => {\n if (userRefetchFn) {\n await userRefetchFn();\n } else {\n console.warn(\"❌ User refetch function not set!\");\n }\n },\n logout(): Promise<void> {\n if (logoutPromise !== null) return logoutPromise;\n if (logoutFn === null) {\n console.warn(\"❌ Logout function not set!\");\n return Promise.resolve();\n }\n logoutPromise = logoutFn().finally(() => {\n logoutPromise = null;\n });\n return logoutPromise;\n },\n setLogout(fn: () => Promise<void>) {\n logoutFn = fn;\n },\n setUserRefetch(fn: () => Promise<void>) {\n userRefetchFn = fn;\n },\n };\n}\n","/* eslint-disable camelcase */\nimport { EnumResourceType, EnumUserLicence } from \"../enums\";\nimport type { SafeUserType } from \"../types\";\nimport { TIERS_BY_PRIORITY, type Tier } from \"../types/subscription\";\n\nimport type {\n HasLicenceResult,\n LicencedResourceType,\n LicencesByRole,\n LimitType,\n ProfileBadgeLicence,\n RoleLicences,\n} from \"./types\";\n\nexport function isLicencedResourceType(\n resourceType: EnumResourceType,\n): resourceType is LicencedResourceType {\n return (\n resourceType !== EnumResourceType.AFFILIATE &&\n resourceType !== EnumResourceType.SCHOOL\n );\n}\n\nexport function isProfileBadgeLicence(\n licenceType: EnumUserLicence,\n): licenceType is ProfileBadgeLicence {\n return (\n licenceType !== EnumUserLicence.STANDARD_AFFILIATE &&\n licenceType !== EnumUserLicence.STANDARD_SCHOOL\n );\n}\n\nexport const hasUserLicenceType = (\n authUser: SafeUserType | null,\n licenceType: EnumUserLicence,\n): boolean =>\n authUser?.licences?.some((licence) => licence.licenceType === licenceType) ??\n false;\n\nexport const hasLicence = (\n authUser: SafeUserType | null,\n licenceType: \"vendor\" | \"partner\" | \"event\",\n): HasLicenceResult => {\n const directLicence =\n authUser?.licences?.some((licence) =>\n licence.licenceType?.includes(licenceType),\n ) ?? false;\n\n const associateLicence =\n authUser?.associates?.some((associate) =>\n associate.licence?.licenceType?.includes(licenceType),\n ) ?? false;\n\n return {\n associateLicence,\n directLicence,\n };\n};\n\n/** Default limits per subscription tier. */\nexport const DEFAULT_LIMITS: Record<LimitType, Record<Tier, number>> = {\n // 1 means calendar/productMenu is enabled, 0 means disabled\n associates: { pro: 3, pro_plus: 3, standard: 0 },\n availability: { pro: 1, pro_plus: 1, standard: 0 },\n calendar: { pro: 1, pro_plus: 1, standard: 0 },\n images: { pro: 12, pro_plus: 12, standard: 6 },\n posters: { pro: 5, pro_plus: 5, standard: 5 },\n productsList: { pro: 1, pro_plus: 1, standard: 0 },\n relationShare: { pro: 1, pro_plus: 1, standard: 0 },\n statistics: { pro: 1, pro_plus: 1, standard: 0 },\n};\n\n/**\n * Parses an array of licence strings into structured, role-based licences.\n */\nexport function getLicenceFlagsByRole(licences?: string[]): LicencesByRole {\n const normalized = licences?.map((l) => l.toLowerCase()) ?? [];\n\n function resolve(role: EnumResourceType): RoleLicences {\n const result: RoleLicences = {\n pro_plus: false,\n // eslint-disable-next-line sort-keys\n pro: false,\n standard: false,\n };\n\n for (const tier of TIERS_BY_PRIORITY) {\n if (normalized.some((l) => l.startsWith(`${tier}_${role}`))) {\n result[tier] = true;\n break; // stop at first match → ensures mutual exclusivity\n }\n }\n\n return result;\n }\n\n return {\n event: resolve(EnumResourceType.EVENT),\n partner: resolve(EnumResourceType.PARTNER),\n vendor: resolve(EnumResourceType.VENDOR),\n };\n}\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { EnumResourceType, EnumUserLicence, EnumUserRole } from \"../enums\";\nimport { useLogout } from \"../graphql/hooks/auth\";\nimport { useGetUser } from \"../graphql/hooks/user/hooksQuery\";\nimport { USER_STORAGE_KEY } from \"../storage\";\nimport type { SafeUserType } from \"../types\";\n\nimport {\n DEFAULT_LIMITS,\n getLicenceFlagsByRole,\n hasLicence,\n hasUserLicenceType,\n isLicencedResourceType,\n} from \"./licenceUtils\";\nimport {\n getPermissionsForRoles,\n hasRole as roleHasRole,\n permissionListIncludes,\n} from \"./permissions\";\nimport type { Permission } from \"./permissions\";\nimport type {\n LimitType,\n LogoutReason,\n UseAuthCoreAdapters,\n UseAuthReturnType,\n} from \"./types\";\n\n/**\n * Platform-agnostic auth session core (source of truth for shared useAuth).\n *\n * Owns: persisted user load/set, refetch, role/licence flags, logout orchestration.\n * Does not own: AsyncStorage vs localStorage, Expo/Next navigation, toasts,\n * Apollo/WS reset, Firebase — those stay in each app's adapter wrapper.\n */\nexport function useAuthCore(adapters: UseAuthCoreAdapters): UseAuthReturnType {\n const {\n storage,\n authManager,\n afterLogout,\n shouldCallLogoutMutation = () => true,\n notifyLogoutSuccess,\n notifySessionExpired,\n onError,\n } = adapters;\n\n const [authUser, setAuthUser] = useState<SafeUserType | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n const userId = useMemo(() => authUser?._id ?? \"\", [authUser?._id]);\n const { refetch } = useGetUser(userId);\n const { logout, loading } = useLogout();\n\n const handleSetAuthUser = useCallback(\n async (user: SafeUserType | null) => {\n setAuthUser(user);\n if (user) {\n await storage.setItem(USER_STORAGE_KEY, JSON.stringify(user));\n } else {\n await storage.removeItem(USER_STORAGE_KEY);\n }\n },\n [storage],\n );\n\n const handleRefetchUser = useCallback(async () => {\n if (!authUser) return;\n try {\n const result = await refetch();\n if (!result) return;\n const { data } = result;\n if (data?.user) await handleSetAuthUser(data.user);\n } catch (error: unknown) {\n onError?.(error, { action: \"refetchUser\" });\n console.warn(\n \"Failed to refetch user:\",\n error instanceof Error ? error.message : error,\n );\n }\n }, [authUser, handleSetAuthUser, onError, refetch]);\n\n const licences = useCallback(\n (resourceId: string) => {\n const myLicences =\n authUser?.licences?.map((licence) => licence.licenceType) ?? [];\n const associateLicences =\n authUser?.associates?.map(\n (associate) => associate.licence.licenceType,\n ) ?? [];\n\n // No resource yet (e.g. create flow / unloaded id): use the user's own\n // licences only — never hard-code elevated tiers for an empty id.\n if (resourceId === \"\") {\n return getLicenceFlagsByRole(myLicences);\n }\n\n const myResourceIds = [\n authUser?.vendor ?? null,\n authUser?.partner ?? null,\n ...(authUser?.events ?? []),\n ].filter((id): id is string => id !== null);\n\n return myResourceIds.includes(resourceId)\n ? getLicenceFlagsByRole(myLicences)\n : getLicenceFlagsByRole(associateLicences);\n },\n [authUser],\n );\n\n const getLicenseAccessLevel = useCallback(\n (\n limitType: LimitType,\n resourceId: string,\n resourceType: EnumResourceType,\n ): number => {\n if (!isLicencedResourceType(resourceType)) {\n return 0;\n }\n\n const roleLicences = licences(resourceId)[resourceType];\n\n if (roleLicences.pro_plus) return DEFAULT_LIMITS[limitType].pro_plus;\n if (roleLicences.pro) return DEFAULT_LIMITS[limitType].pro;\n if (roleLicences.standard) return DEFAULT_LIMITS[limitType].standard;\n\n return 0;\n },\n [licences],\n );\n\n const hasVendorLicence = useMemo(\n () => hasLicence(authUser, \"vendor\"),\n [authUser],\n );\n\n const hasPartnerLicence = useMemo(\n () => hasLicence(authUser, \"partner\"),\n [authUser],\n );\n\n const hasEventLicence = useMemo(\n () => hasLicence(authUser, \"event\"),\n [authUser],\n );\n\n const hasUserLicence = useCallback(\n (licenceType: EnumUserLicence) => hasUserLicenceType(authUser, licenceType),\n [authUser],\n );\n\n const permissions = useMemo(() => {\n if (authUser?.permissions != null) {\n return authUser.permissions;\n }\n return getPermissionsForRoles(authUser?.roles);\n }, [authUser?.permissions, authUser?.roles]);\n\n const hasPermissionFn = useCallback(\n (permission: Permission) => permissionListIncludes(permissions, permission),\n [permissions],\n );\n\n const hasRoleFn = useCallback(\n (role: EnumUserRole) => roleHasRole(authUser?.roles, role),\n [authUser?.roles],\n );\n\n const isAdmin = useMemo(\n () =>\n roleHasRole(authUser?.roles, EnumUserRole.ADMIN) ||\n permissionListIncludes(permissions, \"dashboard.admin\") ||\n permissionListIncludes(permissions, \"*\"),\n [authUser?.roles, permissions],\n );\n\n const isSuperAdmin = useMemo(\n () => roleHasRole(authUser?.roles, EnumUserRole.SUPER_ADMIN),\n [authUser?.roles],\n );\n\n const isAffiliate = useMemo(\n () =>\n roleHasRole(authUser?.roles, EnumUserRole.AFFILIATE) &&\n authUser?.affiliate !== null &&\n authUser?.affiliate !== undefined,\n [authUser?.roles, authUser?.affiliate],\n );\n\n const isSchool = useMemo(\n () =>\n roleHasRole(authUser?.roles, EnumUserRole.SCHOOL) &&\n authUser?.school !== null &&\n authUser?.school !== undefined,\n [authUser?.roles, authUser?.school],\n );\n\n // Mount-only hydrate from storage. Do not re-run when adapter identities\n // change — that can overwrite a newer in-memory user (e.g. post-login setUser).\n useEffect(() => {\n const loadUser = async () => {\n try {\n const userJson = await storage.getItem(USER_STORAGE_KEY);\n await handleSetAuthUser(userJson ? JSON.parse(userJson) : null);\n } catch (error: unknown) {\n onError?.(error, { action: \"loadUserFromStorage\" });\n console.error(\"Failed to load user from storage:\", error);\n } finally {\n setIsLoading(false);\n }\n };\n\n void loadUser();\n }, []);\n\n const logoutWithReason = useCallback(\n async (reason: LogoutReason) => {\n try {\n if (shouldCallLogoutMutation(reason)) {\n try {\n const result = await logout();\n const message = result?.data?.logout?.message as string | undefined;\n if (message) {\n notifyLogoutSuccess?.(message);\n }\n } catch (err: unknown) {\n onError?.(err, { action: \"logout\" });\n console.warn(\"Logout request failed (ignored):\", err);\n }\n }\n } finally {\n await afterLogout(reason);\n setAuthUser(null);\n await storage.removeItem(USER_STORAGE_KEY);\n }\n },\n [\n afterLogout,\n logout,\n notifyLogoutSuccess,\n onError,\n shouldCallLogoutMutation,\n storage,\n ],\n );\n\n const handleLogoutExplicit = useCallback(\n () => logoutWithReason(\"manual\"),\n [logoutWithReason],\n );\n\n const handleLogoutExpired = useCallback(async () => {\n const hadSession = authUser != null;\n if (!hadSession) return;\n await logoutWithReason(\"expired\");\n notifySessionExpired?.();\n }, [authUser, logoutWithReason, notifySessionExpired]);\n\n useEffect(() => {\n authManager.setLogout(() => handleLogoutExpired());\n authManager.setUserRefetch(() => handleRefetchUser());\n }, [authManager, handleLogoutExpired, handleRefetchUser]);\n\n return {\n authUser,\n getLicenseAccessLevel,\n handleLogoutExplicit,\n hasEventLicence,\n hasPartnerLicence,\n hasPermission: hasPermissionFn,\n hasRole: hasRoleFn,\n hasUserLicence,\n hasVendorLicence,\n isAdmin,\n isAffiliate,\n isLoading: loading || isLoading,\n isSchool,\n isSuperAdmin,\n permissions,\n refetchUser: handleRefetchUser,\n setUser: handleSetAuthUser,\n };\n}\n","/**\n * Shared React context for auth session state.\n *\n * Apps keep a thin local UserProvider that calls their platform `useAuth`\n * (adapters) and pass the result here as `value`. Import `useAuthUser` from\n * this module (or re-export it) so consumers share one context instance.\n *\n * `\"use client\"`: required for Next.js; ignored by React Native.\n */\n\"use client\";\n\nimport React, { createContext, useContext, type ReactNode } from \"react\";\n\nimport type { UseAuthReturnType } from \"./types\";\n\nconst UserContext = createContext<UseAuthReturnType | undefined>(undefined);\n\n/**\n * Provides auth session value from the app's thin useAuth wrapper.\n */\nexport const UserProvider: React.FC<{\n children: ReactNode;\n value: UseAuthReturnType;\n}> = ({ children, value }) => {\n return <UserContext.Provider value={value}>{children}</UserContext.Provider>;\n};\n\nexport const useAuthUser = (): UseAuthReturnType => {\n const context = useContext(UserContext);\n if (!context) {\n throw new Error(\"useAuthUser must be used within a UserProvider\");\n }\n return context;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,SAAS,oBAAiC;AAC/C,MAAI,WAAyC;AAC7C,MAAI,gBAA8C;AAClD,MAAI,gBAAsC;AAE1C,SAAO;AAAA,IACL,mBAAmB,YAAY;AAC7B,UAAI,eAAe;AACjB,cAAM,cAAc;AAAA,MACtB,OAAO;AACL,gBAAQ,KAAK,uCAAkC;AAAA,MACjD;AAAA,IACF;AAAA,IACA,SAAwB;AACtB,UAAI,kBAAkB,KAAM,QAAO;AACnC,UAAI,aAAa,MAAM;AACrB,gBAAQ,KAAK,iCAA4B;AACzC,eAAO,QAAQ,QAAQ;AAAA,MACzB;AACA,sBAAgB,SAAS,EAAE,QAAQ,MAAM;AACvC,wBAAgB;AAAA,MAClB,CAAC;AACD,aAAO;AAAA,IACT;AAAA,IACA,UAAU,IAAyB;AACjC,iBAAW;AAAA,IACb;AAAA,IACA,eAAe,IAAyB;AACtC,sBAAgB;AAAA,IAClB;AAAA,EACF;AACF;;;AC/BO,SAAS,uBACd,cACsC;AACtC,SACE,gDACA;AAEJ;AAEO,SAAS,sBACd,aACoC;AACpC,SACE,iEACA;AAEJ;AAEO,IAAM,qBAAqB,CAChC,UACA,gBAEA,UAAU,UAAU,KAAK,CAAC,YAAY,QAAQ,gBAAgB,WAAW,KACzE;AAEK,IAAM,aAAa,CACxB,UACA,gBACqB;AACrB,QAAM,gBACJ,UAAU,UAAU;AAAA,IAAK,CAAC,YACxB,QAAQ,aAAa,SAAS,WAAW;AAAA,EAC3C,KAAK;AAEP,QAAM,mBACJ,UAAU,YAAY;AAAA,IAAK,CAAC,cAC1B,UAAU,SAAS,aAAa,SAAS,WAAW;AAAA,EACtD,KAAK;AAEP,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAGO,IAAM,iBAA0D;AAAA;AAAA,EAErE,YAAY,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,EAAE;AAAA,EAC/C,cAAc,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,EAAE;AAAA,EACjD,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,EAAE;AAAA,EAC7C,QAAQ,EAAE,KAAK,IAAI,UAAU,IAAI,UAAU,EAAE;AAAA,EAC7C,SAAS,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,EAAE;AAAA,EAC5C,cAAc,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,EAAE;AAAA,EACjD,eAAe,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,EAAE;AAAA,EAClD,YAAY,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,EAAE;AACjD;AAKO,SAAS,sBAAsB,UAAqC;AACzE,QAAM,aAAa,UAAU,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC;AAE7D,WAAS,QAAQ,MAAsC;AACrD,UAAM,SAAuB;AAAA,MAC3B,UAAU;AAAA;AAAA,MAEV,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAEA,eAAW,QAAQ,mBAAmB;AACpC,UAAI,WAAW,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AAC3D,eAAO,IAAI,IAAI;AACf;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,OAAO,2BAA8B;AAAA,IACrC,SAAS,+BAAgC;AAAA,IACzC,QAAQ,6BAA+B;AAAA,EACzC;AACF;;;ACrGA,SAAS,aAAa,WAAW,SAAS,gBAAgB;AAmCnD,SAAS,YAAY,UAAkD;AAC5E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,2BAA2B,MAAM;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,CAAC,UAAU,WAAW,IAAI,SAA8B,IAAI;AAClE,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAE/C,QAAM,SAAS,QAAQ,MAAM,UAAU,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC;AACjE,QAAM,EAAE,QAAQ,IAAI,WAAW,MAAM;AACrC,QAAM,EAAE,QAAQ,QAAQ,IAAI,UAAU;AAEtC,QAAM,oBAAoB;AAAA,IACxB,OAAO,SAA8B;AACnC,kBAAY,IAAI;AAChB,UAAI,MAAM;AACR,cAAM,QAAQ,QAAQ,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAAA,MAC9D,OAAO;AACL,cAAM,QAAQ,WAAW,gBAAgB;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,oBAAoB,YAAY,YAAY;AAChD,QAAI,CAAC,SAAU;AACf,QAAI;AACF,YAAM,SAAS,MAAM,QAAQ;AAC7B,UAAI,CAAC,OAAQ;AACb,YAAM,EAAE,KAAK,IAAI;AACjB,UAAI,MAAM,KAAM,OAAM,kBAAkB,KAAK,IAAI;AAAA,IACnD,SAAS,OAAgB;AACvB,gBAAU,OAAO,EAAE,QAAQ,cAAc,CAAC;AAC1C,cAAQ;AAAA,QACN;AAAA,QACA,iBAAiB,QAAQ,MAAM,UAAU;AAAA,MAC3C;AAAA,IACF;AAAA,EACF,GAAG,CAAC,UAAU,mBAAmB,SAAS,OAAO,CAAC;AAElD,QAAM,WAAW;AAAA,IACf,CAAC,eAAuB;AACtB,YAAM,aACJ,UAAU,UAAU,IAAI,CAAC,YAAY,QAAQ,WAAW,KAAK,CAAC;AAChE,YAAM,oBACJ,UAAU,YAAY;AAAA,QACpB,CAAC,cAAc,UAAU,QAAQ;AAAA,MACnC,KAAK,CAAC;AAIR,UAAI,eAAe,IAAI;AACrB,eAAO,sBAAsB,UAAU;AAAA,MACzC;AAEA,YAAM,gBAAgB;AAAA,QACpB,UAAU,UAAU;AAAA,QACpB,UAAU,WAAW;AAAA,QACrB,GAAI,UAAU,UAAU,CAAC;AAAA,MAC3B,EAAE,OAAO,CAAC,OAAqB,OAAO,IAAI;AAE1C,aAAO,cAAc,SAAS,UAAU,IACpC,sBAAsB,UAAU,IAChC,sBAAsB,iBAAiB;AAAA,IAC7C;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,QAAM,wBAAwB;AAAA,IAC5B,CACE,WACA,YACA,iBACW;AACX,UAAI,CAAC,uBAAuB,YAAY,GAAG;AACzC,eAAO;AAAA,MACT;AAEA,YAAM,eAAe,SAAS,UAAU,EAAE,YAAY;AAEtD,UAAI,aAAa,SAAU,QAAO,eAAe,SAAS,EAAE;AAC5D,UAAI,aAAa,IAAK,QAAO,eAAe,SAAS,EAAE;AACvD,UAAI,aAAa,SAAU,QAAO,eAAe,SAAS,EAAE;AAE5D,aAAO;AAAA,IACT;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,QAAM,mBAAmB;AAAA,IACvB,MAAM,WAAW,UAAU,QAAQ;AAAA,IACnC,CAAC,QAAQ;AAAA,EACX;AAEA,QAAM,oBAAoB;AAAA,IACxB,MAAM,WAAW,UAAU,SAAS;AAAA,IACpC,CAAC,QAAQ;AAAA,EACX;AAEA,QAAM,kBAAkB;AAAA,IACtB,MAAM,WAAW,UAAU,OAAO;AAAA,IAClC,CAAC,QAAQ;AAAA,EACX;AAEA,QAAM,iBAAiB;AAAA,IACrB,CAAC,gBAAiC,mBAAmB,UAAU,WAAW;AAAA,IAC1E,CAAC,QAAQ;AAAA,EACX;AAEA,QAAM,cAAc,QAAQ,MAAM;AAChC,QAAI,UAAU,eAAe,MAAM;AACjC,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,uBAAuB,UAAU,KAAK;AAAA,EAC/C,GAAG,CAAC,UAAU,aAAa,UAAU,KAAK,CAAC;AAE3C,QAAM,kBAAkB;AAAA,IACtB,CAAC,eAA2B,uBAAuB,aAAa,UAAU;AAAA,IAC1E,CAAC,WAAW;AAAA,EACd;AAEA,QAAM,YAAY;AAAA,IAChB,CAAC,SAAuB,QAAY,UAAU,OAAO,IAAI;AAAA,IACzD,CAAC,UAAU,KAAK;AAAA,EAClB;AAEA,QAAM,UAAU;AAAA,IACd,MACE,QAAY,UAAU,0BAAyB,KAC/C,uBAAuB,aAAa,iBAAiB,KACrD,uBAAuB,aAAa,GAAG;AAAA,IACzC,CAAC,UAAU,OAAO,WAAW;AAAA,EAC/B;AAEA,QAAM,eAAe;AAAA,IACnB,MAAM,QAAY,UAAU,sCAA+B;AAAA,IAC3D,CAAC,UAAU,KAAK;AAAA,EAClB;AAEA,QAAM,cAAc;AAAA,IAClB,MACE,QAAY,UAAU,kCAA6B,KACnD,UAAU,cAAc,QACxB,UAAU,cAAc;AAAA,IAC1B,CAAC,UAAU,OAAO,UAAU,SAAS;AAAA,EACvC;AAEA,QAAM,WAAW;AAAA,IACf,MACE,QAAY,UAAU,4BAA0B,KAChD,UAAU,WAAW,QACrB,UAAU,WAAW;AAAA,IACvB,CAAC,UAAU,OAAO,UAAU,MAAM;AAAA,EACpC;AAIA,YAAU,MAAM;AACd,UAAM,WAAW,YAAY;AAC3B,UAAI;AACF,cAAM,WAAW,MAAM,QAAQ,QAAQ,gBAAgB;AACvD,cAAM,kBAAkB,WAAW,KAAK,MAAM,QAAQ,IAAI,IAAI;AAAA,MAChE,SAAS,OAAgB;AACvB,kBAAU,OAAO,EAAE,QAAQ,sBAAsB,CAAC;AAClD,gBAAQ,MAAM,qCAAqC,KAAK;AAAA,MAC1D,UAAE;AACA,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAEA,SAAK,SAAS;AAAA,EAChB,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAmB;AAAA,IACvB,OAAO,WAAyB;AAC9B,UAAI;AACF,YAAI,yBAAyB,MAAM,GAAG;AACpC,cAAI;AACF,kBAAM,SAAS,MAAM,OAAO;AAC5B,kBAAM,UAAU,QAAQ,MAAM,QAAQ;AACtC,gBAAI,SAAS;AACX,oCAAsB,OAAO;AAAA,YAC/B;AAAA,UACF,SAAS,KAAc;AACrB,sBAAU,KAAK,EAAE,QAAQ,SAAS,CAAC;AACnC,oBAAQ,KAAK,oCAAoC,GAAG;AAAA,UACtD;AAAA,QACF;AAAA,MACF,UAAE;AACA,cAAM,YAAY,MAAM;AACxB,oBAAY,IAAI;AAChB,cAAM,QAAQ,WAAW,gBAAgB;AAAA,MAC3C;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,uBAAuB;AAAA,IAC3B,MAAM,iBAAiB,QAAQ;AAAA,IAC/B,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,sBAAsB,YAAY,YAAY;AAClD,UAAM,aAAa,YAAY;AAC/B,QAAI,CAAC,WAAY;AACjB,UAAM,iBAAiB,SAAS;AAChC,2BAAuB;AAAA,EACzB,GAAG,CAAC,UAAU,kBAAkB,oBAAoB,CAAC;AAErD,YAAU,MAAM;AACd,gBAAY,UAAU,MAAM,oBAAoB,CAAC;AACjD,gBAAY,eAAe,MAAM,kBAAkB,CAAC;AAAA,EACtD,GAAG,CAAC,aAAa,qBAAqB,iBAAiB,CAAC;AAExD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,WAAW;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,EACX;AACF;;;AC9QA,SAAgB,eAAe,kBAAkC;AAaxD;AATT,IAAM,cAAc,cAA6C,MAAS;AAKnE,IAAM,eAGR,CAAC,EAAE,UAAU,MAAM,MAAM;AAC5B,SAAO,oBAAC,YAAY,UAAZ,EAAqB,OAAe,UAAS;AACvD;AAEO,IAAM,cAAc,MAAyB;AAClD,QAAM,UAAU,WAAW,WAAW;AACtC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/auth/createAuthManager.ts","../../src/auth/licenceUtils.ts","../../src/auth/useAuthCore.ts","../../src/auth/UserProvider.tsx"],"sourcesContent":["export type AuthManager = {\n logout: () => Promise<void>;\n setLogout: (fn: () => Promise<void>) => void;\n handleRefetchUser: () => Promise<void>;\n setUserRefetch: (fn: () => Promise<void>) => void;\n};\n\n/**\n * Creates an auth manager used by Apollo error links to trigger logout/refetch\n * without importing React. Matches the former mobile authManager shape.\n *\n * `logout()` dedupes concurrent calls via an in-flight promise so token-refresh\n * failures do not kick off multiple logout sequences.\n */\nexport function createAuthManager(): AuthManager {\n let logoutFn: (() => Promise<void>) | null = null;\n let userRefetchFn: (() => Promise<void>) | null = null;\n let logoutPromise: Promise<void> | null = null;\n\n return {\n handleRefetchUser: async () => {\n if (userRefetchFn) {\n await userRefetchFn();\n } else {\n console.warn(\"❌ User refetch function not set!\");\n }\n },\n logout(): Promise<void> {\n if (logoutPromise !== null) return logoutPromise;\n if (logoutFn === null) {\n console.warn(\"❌ Logout function not set!\");\n return Promise.resolve();\n }\n logoutPromise = logoutFn().finally(() => {\n logoutPromise = null;\n });\n return logoutPromise;\n },\n setLogout(fn: () => Promise<void>) {\n logoutFn = fn;\n },\n setUserRefetch(fn: () => Promise<void>) {\n userRefetchFn = fn;\n },\n };\n}\n","/* eslint-disable camelcase */\nimport { EnumResourceType, EnumUserLicence } from \"../enums\";\nimport type { SafeUserType } from \"../types\";\nimport { TIERS_BY_PRIORITY, type Tier } from \"../types/subscription\";\n\nimport type {\n HasLicenceResult,\n LicencedResourceType,\n LicencesByRole,\n LimitType,\n ProfileBadgeLicence,\n RoleLicences,\n} from \"./types\";\n\nexport function isLicencedResourceType(\n resourceType: EnumResourceType,\n): resourceType is LicencedResourceType {\n return (\n resourceType !== EnumResourceType.AFFILIATE &&\n resourceType !== EnumResourceType.SCHOOL\n );\n}\n\nexport function isProfileBadgeLicence(\n licenceType: EnumUserLicence,\n): licenceType is ProfileBadgeLicence {\n return (\n licenceType !== EnumUserLicence.STANDARD_AFFILIATE &&\n licenceType !== EnumUserLicence.STANDARD_SCHOOL\n );\n}\n\nexport const hasUserLicenceType = (\n authUser: SafeUserType | null,\n licenceType: EnumUserLicence,\n): boolean =>\n authUser?.licences?.some((licence) => licence.licenceType === licenceType) ??\n false;\n\nexport const hasLicence = (\n authUser: SafeUserType | null,\n licenceType: \"vendor\" | \"partner\" | \"event\",\n): HasLicenceResult => {\n const directLicence =\n authUser?.licences?.some((licence) =>\n licence.licenceType?.includes(licenceType),\n ) ?? false;\n\n return {\n directLicence,\n };\n};\n\n/** Default limits per subscription tier. */\nexport const DEFAULT_LIMITS: Record<LimitType, Record<Tier, number>> = {\n // 1 means calendar/productMenu is enabled, 0 means disabled\n availability: { pro: 1, pro_plus: 1, standard: 0 },\n calendar: { pro: 1, pro_plus: 1, standard: 0 },\n images: { pro: 12, pro_plus: 12, standard: 6 },\n posters: { pro: 5, pro_plus: 5, standard: 5 },\n productsList: { pro: 1, pro_plus: 1, standard: 0 },\n relationShare: { pro: 1, pro_plus: 1, standard: 0 },\n statistics: { pro: 1, pro_plus: 1, standard: 0 },\n};\n\n/**\n * Parses an array of licence strings into structured, role-based licences.\n */\nexport function getLicenceFlagsByRole(licences?: string[]): LicencesByRole {\n const normalized = licences?.map((l) => l.toLowerCase()) ?? [];\n\n function resolve(role: EnumResourceType): RoleLicences {\n const result: RoleLicences = {\n pro_plus: false,\n // eslint-disable-next-line sort-keys\n pro: false,\n standard: false,\n };\n\n for (const tier of TIERS_BY_PRIORITY) {\n if (normalized.some((l) => l.startsWith(`${tier}_${role}`))) {\n result[tier] = true;\n break; // stop at first match → ensures mutual exclusivity\n }\n }\n\n return result;\n }\n\n return {\n event: resolve(EnumResourceType.EVENT),\n partner: resolve(EnumResourceType.PARTNER),\n vendor: resolve(EnumResourceType.VENDOR),\n };\n}\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { EnumResourceType, EnumUserLicence, EnumUserRole } from \"../enums\";\nimport { useLogout } from \"../graphql/hooks/auth\";\nimport { useGetUser } from \"../graphql/hooks/user/hooksQuery\";\nimport { USER_STORAGE_KEY } from \"../storage\";\nimport type { SafeUserType } from \"../types\";\n\nimport {\n DEFAULT_LIMITS,\n getLicenceFlagsByRole,\n hasLicence,\n hasUserLicenceType,\n isLicencedResourceType,\n} from \"./licenceUtils\";\nimport {\n getPermissionsForRoles,\n hasRole as roleHasRole,\n permissionListIncludes,\n} from \"./permissions\";\nimport type { Permission } from \"./permissions\";\nimport type {\n LimitType,\n LogoutReason,\n UseAuthCoreAdapters,\n UseAuthReturnType,\n} from \"./types\";\n\n/**\n * Platform-agnostic auth session core (source of truth for shared useAuth).\n *\n * Owns: persisted user load/set, refetch, role/licence flags, logout orchestration.\n * Does not own: AsyncStorage vs localStorage, Expo/Next navigation, toasts,\n * Apollo/WS reset, Firebase — those stay in each app's adapter wrapper.\n */\nexport function useAuthCore(adapters: UseAuthCoreAdapters): UseAuthReturnType {\n const {\n storage,\n authManager,\n afterLogout,\n shouldCallLogoutMutation = () => true,\n notifyLogoutSuccess,\n notifySessionExpired,\n onError,\n } = adapters;\n\n const [authUser, setAuthUser] = useState<SafeUserType | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n const userId = useMemo(() => authUser?._id ?? \"\", [authUser?._id]);\n const { refetch } = useGetUser(userId);\n const { logout, loading } = useLogout();\n\n const handleSetAuthUser = useCallback(\n async (user: SafeUserType | null) => {\n setAuthUser(user);\n if (user) {\n await storage.setItem(USER_STORAGE_KEY, JSON.stringify(user));\n } else {\n await storage.removeItem(USER_STORAGE_KEY);\n }\n },\n [storage],\n );\n\n const handleRefetchUser = useCallback(async () => {\n if (!authUser) return;\n try {\n const result = await refetch();\n if (!result) return;\n const { data } = result;\n if (data?.user) await handleSetAuthUser(data.user);\n } catch (error: unknown) {\n onError?.(error, { action: \"refetchUser\" });\n console.warn(\n \"Failed to refetch user:\",\n error instanceof Error ? error.message : error,\n );\n }\n }, [authUser, handleSetAuthUser, onError, refetch]);\n\n const licences = useCallback(\n (resourceId: string) => {\n const myLicences =\n authUser?.licences?.map((licence) => licence.licenceType) ?? [];\n\n // No resource yet (e.g. create flow / unloaded id): use the user's own\n // licences only — never hard-code elevated tiers for an empty id.\n if (resourceId === \"\") {\n return getLicenceFlagsByRole(myLicences);\n }\n\n const myResourceIds = [\n authUser?.vendor ?? null,\n authUser?.partner ?? null,\n ...(authUser?.events ?? []),\n ].filter((id): id is string => id !== null);\n\n return myResourceIds.includes(resourceId)\n ? getLicenceFlagsByRole(myLicences)\n : getLicenceFlagsByRole();\n },\n [authUser],\n );\n\n const getLicenseAccessLevel = useCallback(\n (\n limitType: LimitType,\n resourceId: string,\n resourceType: EnumResourceType,\n ): number => {\n if (!isLicencedResourceType(resourceType)) {\n return 0;\n }\n\n const roleLicences = licences(resourceId)[resourceType];\n\n if (roleLicences.pro_plus) return DEFAULT_LIMITS[limitType].pro_plus;\n if (roleLicences.pro) return DEFAULT_LIMITS[limitType].pro;\n if (roleLicences.standard) return DEFAULT_LIMITS[limitType].standard;\n\n return 0;\n },\n [licences],\n );\n\n const hasVendorLicence = useMemo(\n () => hasLicence(authUser, \"vendor\"),\n [authUser],\n );\n\n const hasPartnerLicence = useMemo(\n () => hasLicence(authUser, \"partner\"),\n [authUser],\n );\n\n const hasEventLicence = useMemo(\n () => hasLicence(authUser, \"event\"),\n [authUser],\n );\n\n const hasUserLicence = useCallback(\n (licenceType: EnumUserLicence) => hasUserLicenceType(authUser, licenceType),\n [authUser],\n );\n\n const permissions = useMemo(() => {\n if (authUser?.permissions != null) {\n return authUser.permissions;\n }\n return getPermissionsForRoles(authUser?.roles);\n }, [authUser?.permissions, authUser?.roles]);\n\n const hasPermissionFn = useCallback(\n (permission: Permission) => permissionListIncludes(permissions, permission),\n [permissions],\n );\n\n const hasRoleFn = useCallback(\n (role: EnumUserRole) => roleHasRole(authUser?.roles, role),\n [authUser?.roles],\n );\n\n const isAdmin = useMemo(\n () =>\n roleHasRole(authUser?.roles, EnumUserRole.ADMIN) ||\n permissionListIncludes(permissions, \"dashboard.admin\") ||\n permissionListIncludes(permissions, \"*\"),\n [authUser?.roles, permissions],\n );\n\n const isSuperAdmin = useMemo(\n () => roleHasRole(authUser?.roles, EnumUserRole.SUPER_ADMIN),\n [authUser?.roles],\n );\n\n const isAffiliate = useMemo(\n () =>\n roleHasRole(authUser?.roles, EnumUserRole.AFFILIATE) &&\n authUser?.affiliate !== null &&\n authUser?.affiliate !== undefined,\n [authUser?.roles, authUser?.affiliate],\n );\n\n const isSchool = useMemo(\n () =>\n roleHasRole(authUser?.roles, EnumUserRole.SCHOOL) &&\n authUser?.school !== null &&\n authUser?.school !== undefined,\n [authUser?.roles, authUser?.school],\n );\n\n // Mount-only hydrate from storage. Do not re-run when adapter identities\n // change — that can overwrite a newer in-memory user (e.g. post-login setUser).\n useEffect(() => {\n const loadUser = async () => {\n try {\n const userJson = await storage.getItem(USER_STORAGE_KEY);\n await handleSetAuthUser(userJson ? JSON.parse(userJson) : null);\n } catch (error: unknown) {\n onError?.(error, { action: \"loadUserFromStorage\" });\n console.error(\"Failed to load user from storage:\", error);\n } finally {\n setIsLoading(false);\n }\n };\n\n void loadUser();\n }, []);\n\n const logoutWithReason = useCallback(\n async (reason: LogoutReason) => {\n try {\n if (shouldCallLogoutMutation(reason)) {\n try {\n const result = await logout();\n const message = result?.data?.logout?.message as string | undefined;\n if (message) {\n notifyLogoutSuccess?.(message);\n }\n } catch (err: unknown) {\n onError?.(err, { action: \"logout\" });\n console.warn(\"Logout request failed (ignored):\", err);\n }\n }\n } finally {\n await afterLogout(reason);\n setAuthUser(null);\n await storage.removeItem(USER_STORAGE_KEY);\n }\n },\n [\n afterLogout,\n logout,\n notifyLogoutSuccess,\n onError,\n shouldCallLogoutMutation,\n storage,\n ],\n );\n\n const handleLogoutExplicit = useCallback(\n () => logoutWithReason(\"manual\"),\n [logoutWithReason],\n );\n\n const handleLogoutExpired = useCallback(async () => {\n const hadSession = authUser != null;\n if (!hadSession) return;\n await logoutWithReason(\"expired\");\n notifySessionExpired?.();\n }, [authUser, logoutWithReason, notifySessionExpired]);\n\n useEffect(() => {\n authManager.setLogout(() => handleLogoutExpired());\n authManager.setUserRefetch(() => handleRefetchUser());\n }, [authManager, handleLogoutExpired, handleRefetchUser]);\n\n return {\n authUser,\n getLicenseAccessLevel,\n handleLogoutExplicit,\n hasEventLicence,\n hasPartnerLicence,\n hasPermission: hasPermissionFn,\n hasRole: hasRoleFn,\n hasUserLicence,\n hasVendorLicence,\n isAdmin,\n isAffiliate,\n isLoading: loading || isLoading,\n isSchool,\n isSuperAdmin,\n permissions,\n refetchUser: handleRefetchUser,\n setUser: handleSetAuthUser,\n };\n}\n","/**\n * Shared React context for auth session state.\n *\n * Apps keep a thin local UserProvider that calls their platform `useAuth`\n * (adapters) and pass the result here as `value`. Import `useAuthUser` from\n * this module (or re-export it) so consumers share one context instance.\n *\n * `\"use client\"`: required for Next.js; ignored by React Native.\n */\n\"use client\";\n\nimport React, { createContext, useContext, type ReactNode } from \"react\";\n\nimport type { UseAuthReturnType } from \"./types\";\n\nconst UserContext = createContext<UseAuthReturnType | undefined>(undefined);\n\n/**\n * Provides auth session value from the app's thin useAuth wrapper.\n */\nexport const UserProvider: React.FC<{\n children: ReactNode;\n value: UseAuthReturnType;\n}> = ({ children, value }) => {\n return <UserContext.Provider value={value}>{children}</UserContext.Provider>;\n};\n\nexport const useAuthUser = (): UseAuthReturnType => {\n const context = useContext(UserContext);\n if (!context) {\n throw new Error(\"useAuthUser must be used within a UserProvider\");\n }\n return context;\n};\n"],"mappings":"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","names":[]}
@@ -216,4 +216,4 @@ export {
216
216
  EnumAffiliateParticipantType,
217
217
  EnumAffiliateRewardType
218
218
  };
219
- //# sourceMappingURL=chunk-KMLUQVNM.mjs.map
219
+ //# sourceMappingURL=chunk-43SLZVBF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/auth.ts","../src/types/global.ts","../src/types/ad.ts","../src/types/resourceActivities.ts","../src/types/post.ts","../src/types/game/index.ts","../src/types/game/dailyClue.ts","../src/types/game/global.ts","../src/types/affiliate.ts"],"sourcesContent":["import {\n CreateFormData,\n EnumOSPlatform,\n PromoCodeType,\n TermsAgreement,\n} from \"src\";\n\nimport { SafeUserType } from \"./user\";\n\nexport enum EnumVerificationType {\n REGISTER = \"register\",\n RESET_PASSWORD = \"resetPassword\",\n}\n\nexport type LoginFormData = {\n email: string;\n isAdminPage?: boolean;\n password: string;\n platform?: EnumOSPlatform;\n};\n\nexport type CreateLoginFormData = CreateFormData<LoginFormData>;\n\nexport type RegisterFormData = {\n email: string;\n firstName: string;\n lastName: string;\n password: string;\n platform?: EnumOSPlatform;\n preferredRegion: string;\n promoCode?: PromoCodeType | null;\n termsAgreement?: TermsAgreement | null;\n};\n\nexport type CreateRegisterFormData = CreateFormData<RegisterFormData>;\n\nexport type RequestPasswordResetFormData = {\n email: string;\n};\n\nexport type CreateRequestPasswordResetFormData =\n CreateFormData<RequestPasswordResetFormData>;\n\nexport type ResetPasswordFormData = {\n confirmPassword: string;\n email: string;\n password: string;\n};\n\nexport type CreateResetPasswordFormData = CreateFormData<ResetPasswordFormData>;\n\nexport type ValidateVerificationTokenFormData = {\n email: string;\n verificationToken: string;\n verificationType?: EnumVerificationType;\n};\n\nexport type CreateValidateVerificationTokenFormData =\n CreateFormData<ValidateVerificationTokenFormData>;\n\nexport type AuthPayloadType = {\n message: string;\n token: string;\n refreshToken: string | null;\n user: SafeUserType;\n};\n\nexport type RefreshTokenPayloadType = {\n refreshToken: string;\n token: string;\n};\n","import {\n Control,\n FieldValues,\n FormState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormReset,\n UseFormSetValue,\n UseFormWatch,\n} from \"react-hook-form\";\n\nimport {\n EnumEventDateStatus,\n EnumEventType,\n EnumResourceType,\n EnumSocialMedia,\n EnumUserLicence,\n} from \"../enums\";\n\nimport { EventListItemType } from \"./event\";\nimport { EnumPostType } from \"./post\";\nimport { VendorType } from \"./vendor\";\n\nexport const PROMO_CODE_PREFIX = \"CM-\";\n\nexport type PromoCodeType = `${typeof PROMO_CODE_PREFIX}${string}`;\n\nexport type Nullable<T> = {\n [K in keyof T]: T[K] | null | undefined;\n};\n\nexport type DeviceInfo = {\n appBuildNumber: string;\n appId: string;\n appVersion: string;\n brand: string;\n deviceName: string;\n installationId: string;\n manufacturer: string;\n modelName: string;\n osName: string;\n osVersion: string;\n timestamp: string;\n};\n\nexport type TermsAgreement = DeviceInfo & {\n termVersion: string;\n};\n\nexport type ResourceContactDetailsType = {\n email?: string | null;\n landlinePhone?: string | null;\n mobilePhone?: string | null;\n};\n\nexport type ResourceImageType = {\n active: boolean;\n source: string;\n title: string;\n};\n\nexport type SocialMediaType = {\n name?: EnumSocialMedia;\n link?: string;\n};\n\nexport type UserLicenceType = {\n expiryDate: Date;\n issuedDate: Date;\n licenceType: EnumUserLicence;\n prevLicenceType?: EnumUserLicence | null;\n};\n\nexport type OwnerType = {\n email: string;\n userId: string;\n};\n\nexport interface BaseResourceTypeFormData {\n _id?: string;\n active: boolean;\n contactDetails: ResourceContactDetailsType | null;\n cover: ResourceImageType;\n coverUpload?: ResourceImageType | null;\n description: string;\n images?: ResourceImageType[] | null;\n imagesUpload?: ResourceImageType[] | null;\n logo?: ResourceImageType | null;\n logoUpload?: ResourceImageType | null;\n name: string;\n owner?: OwnerType | null;\n promoCodes?: PromoCodeType[] | null;\n region: string;\n socialMedia: SocialMediaType[] | null;\n termsAgreement?: TermsAgreement | null;\n}\n\nexport type PosterUsageType = {\n month: string;\n count: number;\n};\n\nexport type RelatedPostType = {\n postActive: boolean;\n postId: string;\n postSlug: string;\n postType: EnumPostType;\n};\n\nexport type SocialShareResourceType = {\n qrCode: ResourceImageType;\n socialImage: ResourceImageType;\n};\n\nexport type BaseResourceType = Omit<\n BaseResourceTypeFormData,\n \"_id\" | \"coverUpload\" | \"imagesUpload\" | \"logoUpload\"\n> & {\n _id: string;\n adIds?: string[] | null;\n approvedAt?: Date | null;\n createdAt: Date;\n deletedAt: Date | null;\n posterUsage?: PosterUsageType | null;\n rating?: number | null;\n relatedPost?: RelatedPostType | null;\n reviewCount?: number | null;\n slug: string;\n updatedAt: Date | null;\n};\n\nexport type LocationGeoType = {\n coordinates: number[]; // [longitude, latitude]\n type: \"Point\"; // Mongoose GeoJSON type\n};\n\nexport type LocationType = {\n city: string;\n country: string;\n fullAddress: string;\n geo: LocationGeoType;\n latitude: number;\n longitude: number;\n region: string;\n};\n\nexport type DateTimeType = {\n dateStatus: EnumEventDateStatus;\n endDate: string;\n endTime: string;\n startDate: string;\n startTime: string;\n};\n\nexport type Region = {\n latitude: number;\n latitudeDelta: number;\n longitude: number;\n longitudeDelta: number;\n};\n\nexport type ResourceDetails = {\n dateTime: DateTimeType[] | null;\n description: string | null;\n eventStatus?: EventStatusType | null;\n location: LocationType | null;\n resourceCover: ResourceImageType | null;\n resourceId: string;\n resourceLogo: ResourceImageType | null;\n resourceName: string;\n resourceType: EnumResourceType;\n};\n\nexport type GeocodeLocation = Pick<LocationType, \"latitude\" | \"longitude\">;\n\nexport type EventStatusType = {\n claimed: boolean;\n eventType: EnumEventType;\n googlePlaceId?: string | null;\n};\n\nexport interface FormField {\n disabled?: boolean;\n helperText?: string;\n isTextArea?: boolean;\n keyboardType?:\n | \"default\"\n | \"email-address\"\n | \"number-pad\"\n | \"url\"\n | \"decimal-pad\"\n | \"phone-pad\";\n name: string;\n placeholder: string;\n required?: boolean;\n secureTextEntry?: boolean;\n}\n\nexport interface FormDateField {\n dateMode: \"date\" | \"time\";\n helperText?: string;\n name: \"endDate\" | \"endTime\" | \"startDate\" | \"startTime\";\n placeholder: string;\n}\n\nexport interface SubcategoryItems {\n id: string;\n name: string;\n description?: string | null;\n}\n\nexport interface Subcategory {\n id: string;\n name: string;\n items?: SubcategoryItems[] | null;\n}\n\nexport interface Category {\n color?: string | null;\n description?: string | null;\n id: string;\n name: string;\n subcategories: Subcategory[];\n}\n\nexport type OptionItem = {\n value: string;\n label: string;\n};\n\nexport type ImageObjectType = {\n uri: string;\n type: string;\n name: string;\n};\n\nexport interface ResourceConnectionsType {\n events: EventListItemType[] | null;\n vendors: VendorType[] | null;\n}\n\nexport interface CreateFormData<T extends FieldValues> {\n control: Control<T, any>;\n fields: T;\n formState: FormState<T>;\n handleSubmit: UseFormHandleSubmit<T, any>;\n reset: UseFormReset<T>;\n setValue: UseFormSetValue<T>;\n watch: UseFormWatch<T>;\n getValues: UseFormGetValues<T>;\n}\n\nexport interface UseGetResourcesByRegionOptions {\n onlyClaimed?: boolean;\n limit?: number;\n offset?: number;\n}\n","import { EnumResourceType } from \"src/enums\";\n\nimport { CreateFormData } from \"./global\";\n\nexport enum EnumAdShowOn {\n EVENTS_PAGE = \"Events_page\",\n FRONT_PAGE = \"Front_page\",\n PARTNERS_PAGE = \"Partners_page\",\n VENDORS_PAGE = \"Vendors_page\",\n}\n\nexport enum EnumAdStatus {\n ACTIVE = \"Active\",\n PAUSED = \"Paused\",\n EXPIRED = \"Expired\",\n}\n\nexport enum EnumAdType {\n SPONSORED = \"Sponsored\",\n FREE = \"Free\",\n}\n\nexport enum EnumAdStyle {\n BLOOM = \"Bloom\",\n RISE = \"Rise\",\n}\n\nexport type AdResource = {\n adDescription: string;\n adImage: string;\n adStyle: EnumAdStyle;\n adTitle: string;\n adType: EnumAdType;\n resourceId: string;\n resourceName: string;\n resourceRegion: string;\n resourceType: EnumResourceType;\n resourceSlug: string;\n};\n\nexport interface AdFormData {\n active: boolean;\n end: Date; // ISO date string\n resource: AdResource;\n showOn: EnumAdShowOn[];\n start?: Date; // ISO date string\n status: EnumAdStatus;\n targetRegion: string[];\n}\n\n// Form state matches the validation schema: all resource fields are present.\n// Use empty strings / explicit enum defaults in `defaultValues` for \"create\" flows.\nexport type AdFormState = AdFormData;\n\nexport type CreateAdFormData = CreateFormData<AdFormData>;\nexport type CreateAdFormState = CreateFormData<AdFormState>;\n\nexport interface AdType extends AdFormData {\n _id: string;\n clicks?: number; // How many times the ad was clicked\n createdAt: Date;\n impressions?: number; // How often the ad was seen\n start: Date; // ISO date string\n updatedAt: Date | null;\n}\n","import {\n EnumEventDateStatus,\n EnumOSPlatform,\n EnumResourceType,\n} from \"src/enums\";\n\nimport { LocationGeoType } from \"./global\";\n\nexport enum EnumActivity {\n FAVORITE = \"FAVORITE\",\n GOING = \"GOING\",\n INTERESTED = \"INTERESTED\",\n PRESENT = \"PRESENT\",\n VIEW = \"VIEW\",\n}\n\nexport type ResourceActivityEntry = {\n activityType: EnumActivity;\n location: LocationGeoType | null;\n dateStatus?: EnumEventDateStatus | null;\n startDate?: string | null;\n startTime?: string | null;\n timestamp: Date;\n userAgent: EnumOSPlatform;\n userId?: string | null;\n};\n\nexport type ResourceActivityType = {\n _id: string;\n resourceType: EnumResourceType;\n resourceId: string;\n activity: ResourceActivityEntry[];\n};\n\nexport type ResourceActivityInputType = {\n resourceId: string;\n resourceType: EnumResourceType;\n activity: Omit<ResourceActivityEntry, \"timestamp\">;\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport { BaseGameType } from \"./game\";\nimport {\n CreateFormData,\n ResourceImageType,\n SocialShareResourceType,\n} from \"./global\";\n\nexport enum EnumPostType {\n MARKET_FACES = \"market_faces\",\n CLUE_BITES = \"clue_bites\",\n PLAY_AND_WIN = \"play_and_win\",\n}\n\nexport enum EnumPostContentType {\n GAME = \"game\",\n IMAGE = \"image\",\n LIST = \"list\",\n TEXTAREA = \"textarea\",\n VIDEO = \"video\",\n}\n\nexport type PostFileInput = {\n source: File;\n title?: string;\n};\n\nexport type PostContentTextarea = {\n textarea: {\n title?: string;\n data: string;\n };\n};\n\nexport type PostContentImage = {\n images: ResourceImageType[] | null;\n imagesUpload?: PostFileInput[] | null;\n};\n\nexport type PostContentVideo = {\n video: {\n source: string;\n title?: string;\n };\n};\n\nexport type PostContentList = {\n list: {\n title?: string;\n items: {\n text: string;\n }[];\n };\n};\n\nexport type PostContentGame = {\n game: BaseGameType;\n};\n\nexport type PostContentData =\n | PostContentGame\n | PostContentTextarea\n | PostContentImage\n | PostContentVideo\n | PostContentList;\n\nexport type PostContentFormData = {\n contentData?: PostContentData | null;\n contentOrder?: number | null;\n contentType?: EnumPostContentType | null;\n};\n\nexport type PostResource = {\n resourceSlug: string;\n resourceId: string;\n resourceType: EnumResourceType;\n resourceRegion: string;\n};\n\nexport interface PostFormData {\n active: boolean;\n caption: string;\n content: PostContentFormData[];\n cover?: ResourceImageType | null;\n coverUpload?: PostFileInput | null;\n postType: EnumPostType;\n resource?: PostResource | null;\n tags?: string[] | null;\n title: string;\n notifyUsers?: boolean | null;\n}\n\nexport type CreatePostFormData = CreateFormData<PostFormData>;\n\nexport type PostContentType = Omit<PostContentFormData, \"contentData\"> & {\n contentData: Omit<PostContentData, \"imagesUpload\">;\n};\n\nexport type PostType = Omit<\n PostFormData,\n \"content\" | \"coverUpload\" | \"resource\"\n> & {\n _id: string;\n approvedAt?: Date | null;\n content: PostContentType[];\n createdAt: Date;\n deletedAt: Date | null;\n resource?: PostResource | null;\n slug: string;\n sharePublic?: SocialShareResourceType | null;\n updatedAt: Date | null;\n};\n","import { OwnerType } from \"../global\";\n\nimport { DailyClueBaseGame, DailyClueGameData } from \"./dailyClue\";\nimport { EnumGameType, GameDate } from \"./global\";\nimport { PuzzleBaseGame, PuzzleGameData } from \"./puzzleGame\";\n\nexport type BaseGameMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueBaseGame;\n [EnumGameType.MINI_QUIZ]: PuzzleBaseGame;\n [EnumGameType.ODD_ONE_OUT]: PuzzleBaseGame;\n};\n\nexport type BaseGameType = {\n gameType: EnumGameType;\n gameTypeId: string;\n gameTitle: string;\n} & {\n [K in keyof BaseGameMap]?: BaseGameMap[K] | null;\n};\n\nexport enum EnumGameStatus {\n GAME_COMPLETED = \"GAME_COMPLETED\",\n GAME_IN_PROGRESS = \"GAME_IN_PROGRESS\",\n GAME_LEFT = \"GAME_LEFT\",\n GAME_STARTED = \"GAME_STARTED\",\n}\n\nexport type GameHistory = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n createdAt: Date;\n gameDate: GameDate;\n gameStatus: EnumGameStatus;\n /** Per-event delta. Not persisted for overallGamePoints (computed at read time). */\n pointsEarned: number;\n /** Running total for this game instance; computed at read time, not stored in Mongo. */\n overallGamePoints?: number;\n};\n\ntype GameDataMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueGameData;\n [EnumGameType.MINI_QUIZ]: PuzzleGameData;\n [EnumGameType.ODD_ONE_OUT]: PuzzleGameData;\n};\ntype GameDataType = {\n [K in keyof GameDataMap]?: GameDataMap[K] | null;\n};\n\nexport type GameType = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n _id: string;\n active: boolean;\n createdAt: Date;\n gameData: GameDataType;\n gameHistory: GameHistory[] | null;\n updatedAt: Date | null;\n};\n\nexport type GameDocType = {\n _id: string;\n active: boolean;\n createdAt: Date;\n deletedAt: Date | null;\n games: GameType[] | null;\n owner: OwnerType;\n points: number;\n updatedAt: Date | null;\n};\n\nexport type GameLeaderboard = {\n gameHistory: GameHistory[] | null;\n overallPoints: number;\n owner: OwnerType;\n};\n","import { GameDate, GlobalGameData } from \"./global\";\n\nconst OBJECT_ID_PATH_SEGMENT = \"[a-f0-9]{24}\";\nconst OBJECT_ID_PATH_SEGMENT_END = `${OBJECT_ID_PATH_SEGMENT}$`;\n\nexport const gameScreenIdentifierList = [\n {\n clue: \"Where your actions turn into a timeline.\",\n id: \"activities\",\n match: \"/profile/activities\",\n },\n {\n clue: \"Where conversations happen without speaking.\",\n id: \"chat\",\n match: \"/profile/chat\",\n },\n {\n clue: \"The place to redefine who you are.\",\n id: \"edit-profile\",\n match: \"/profile/edit-profile\",\n },\n {\n clue: \"A single moment worth showing up for.\",\n id: \"single-event\",\n match: new RegExp(`^/events/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"What’s happening around you, right now.\",\n id: \"events-near-me\",\n match: \"/events/events-near-me\",\n },\n {\n clue: \"Where events appear as pins on a map.\",\n id: \"events-map\",\n match: \"/events/events-map\",\n },\n {\n clue: \"A collection of events worth attending.\",\n id: \"events\",\n match: \"/events\",\n },\n {\n clue: \"What’s happening in a wider area — not just nearby.\",\n id: \"events-region\",\n match: /^\\/events\\/region\\/[^/]+$/,\n },\n {\n clue: \"Where fun becomes a challenge.\",\n id: \"games\",\n match: \"/games\",\n },\n {\n clue: \"Your starting point for everything.\",\n id: \"home\",\n match: \"/\",\n },\n {\n clue: \"Where the app whispers what you shouldn’t miss.\",\n id: \"notifications\",\n match: \"/notifications\",\n },\n {\n clue: \"Where you fine-tune your experience.\",\n id: \"options\",\n match: \"/options\",\n },\n {\n clue: \"An organisation or creator supporting the community.\",\n id: \"single-partner\",\n match: new RegExp(`^/partners/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Organisations and creators supporting the community.\",\n id: \"partners\",\n match: \"/partners\",\n },\n {\n clue: \"A single published post in full view.\",\n id: \"single-visitor-post\",\n match: new RegExp(`^/visitors/post/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Your identity, on display.\",\n id: \"profile\",\n match: \"/profile\",\n },\n {\n clue: \"One stallholder offering something valuable.\",\n id: \"single-vendor\",\n match: new RegExp(`^/vendors/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Where every stallholder waits under the right category.\",\n id: \"vendors\",\n match: \"/vendors\",\n },\n {\n clue: \"Where you browse articles and posts from around the platform.\",\n id: \"visitors\",\n match: \"/visitors\",\n },\n] as const;\n\nexport type GamePlacement = (typeof gameScreenIdentifierList)[number][\"id\"];\nexport type GamePlacementClue =\n (typeof gameScreenIdentifierList)[number][\"clue\"];\n\nexport type DailyClueBaseGame = {\n gameDate: GameDate;\n gameSolution: string;\n};\n\nexport type DailyClueGameData = GlobalGameData & {\n gameFields: DailyClueBaseGame;\n lastFoundDate: Date | null;\n letterInfo: {\n collected: string[] | null; // The letters the user has found, e.g. [\"C\", \"L\", \"U\"]\n solutionShuffled: string[]; // The letters of the solution, but shuffled, e.g. [\"L\", \"C\", \"U\"]\n todaysClue: GamePlacementClue | null; // The clue for user to find the letter, e.g. related to {todaysPlacement}\n todaysLetter: string | null; // The letter the user has to find today, e.g. \"C\"\n todaysPlacement: GamePlacement | null; // The screen where the user has to find the clue, e.g. \"HomeScreen\"\n };\n};\n","export enum EnumGameType {\n DAILY_CLUE = \"dailyClue\",\n MINI_QUIZ = \"miniQuiz\",\n ODD_ONE_OUT = \"oddOneOut\",\n}\n\nexport type GameDate = {\n startDate: Date;\n endDate: Date;\n};\n\nexport const gameTypeToDisplayName: Record<EnumGameType, string> = {\n [EnumGameType.DAILY_CLUE]: \"Daily Clue\",\n [EnumGameType.MINI_QUIZ]: \"Mini Quiz\",\n [EnumGameType.ODD_ONE_OUT]: \"Odd One Out\",\n};\n\nexport type GlobalGameData = {\n points: number;\n // User has found the clue 3 days in a row, this is incrementing if the user finds the clue and decrements if user misses a day\n streak: number;\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport {\n CreateFormData,\n LocationType,\n OwnerType,\n PromoCodeType,\n SocialMediaType,\n} from \"./global\";\nimport { UserFormData } from \"./user\";\n\nexport enum EnumAffiliateParticipantType {\n INDIVIDUAL = \"INDIVIDUAL\",\n SOLE_TRADER = \"SOLE_TRADER\",\n COMPANY = \"COMPANY\",\n}\n\nexport type AffiliateContactDetails = {\n mobilePhone: string;\n};\n\nexport type AffiliateBankAccountDetailsType = {\n accountHolderName: string;\n accountNumber: string;\n};\n\nexport type AffiliateUserDefaultFields = Pick<\n UserFormData,\n \"email\" | \"firstName\" | \"lastName\" | \"termsAgreement\"\n>;\n\nexport type AffiliateDetailsType = AffiliateUserDefaultFields & {\n bankAccountDetails: AffiliateBankAccountDetailsType;\n contactDetails: AffiliateContactDetails;\n irdNumber: string;\n location: LocationType;\n participantType: EnumAffiliateParticipantType;\n region: string;\n socialMedia: SocialMediaType[] | null;\n};\n\nexport enum EnumAffiliateRewardType {\n ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS = \"ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS\",\n ACTIVE_VENDOR_BONUS_REWARD = \"ACTIVE_VENDOR_BONUS_REWARD\",\n ACTIVE_VENDOR_PRO_SUBSCRIPTION = \"ACTIVE_VENDOR_PRO_SUBSCRIPTION\",\n ACTIVE_VENDOR_STANDARD_SUBSCRIPTION = \"ACTIVE_VENDOR_STANDARD_SUBSCRIPTION\",\n NEW_EVENT_REGISTRATION = \"NEW_EVENT_REGISTRATION\",\n NEW_VENDOR_REGISTRATION = \"NEW_VENDOR_REGISTRATION\",\n}\n\nexport type AffiliateRewardType = {\n createdAt: Date;\n redeemedAt: Date | null;\n rewardDescription: string;\n rewardType: EnumAffiliateRewardType;\n rewardValue: number;\n};\n\nexport type AffiliateResourceType = {\n resourceActive: boolean;\n resourceDeletedAt: Date | null;\n resourceId: string;\n resourceName: string;\n resourceType: EnumResourceType;\n rewards: AffiliateRewardType[];\n};\n\nexport type RedeemHistoryType = {\n redeemedAt: Date;\n rewardValue: number;\n};\n\nexport interface AffiliateType {\n _id: string;\n active: boolean;\n approvedAt?: Date | null;\n affiliateBonusRewards?: AffiliateRewardType[] | null;\n affiliateCode: PromoCodeType | null;\n affiliateDetails: AffiliateDetailsType | null;\n affiliateResources: AffiliateResourceType[];\n createdAt: Date;\n deletedAt: Date | null;\n overallPoints: number;\n owner: OwnerType;\n redeemHistory?: RedeemHistoryType[] | null;\n updatedAt: Date | null;\n}\n\nexport type AffiliateFormData = AffiliateDetailsType &\n Pick<AffiliateType, \"_id\">;\n\nexport type CreateAffiliateFormData = CreateFormData<AffiliateFormData>;\n"],"mappings":"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","names":["EnumVerificationType","EnumAdShowOn","EnumAdStatus","EnumAdType","EnumAdStyle","EnumActivity","EnumPostType","EnumPostContentType","EnumGameStatus","EnumGameType","EnumAffiliateParticipantType","EnumAffiliateRewardType"]}
@@ -42,7 +42,7 @@ import {
42
42
  USER_FIELDS_FRAGMENT,
43
43
  VENDOR,
44
44
  VENDOR_INFO
45
- } from "./chunk-UOFI3LKZ.mjs";
45
+ } from "./chunk-P4XULG5P.mjs";
46
46
 
47
47
  // src/graphql/queries/post.ts
48
48
  import { gql as gql3 } from "@apollo/client";
@@ -466,7 +466,6 @@ var CHAT_MESSAGE_FIELDS_FRAGMENT = gql7`
466
466
  var CHAT_PARTICIPANT = gql7`
467
467
  fragment ChatParticipantFields on ChatParticipantType {
468
468
  active
469
- isAssociate
470
469
  userAvatar
471
470
  userEmail
472
471
  userId
@@ -3470,4 +3469,4 @@ export {
3470
3469
  useDeleteAffiliate,
3471
3470
  useRedeemAffiliateReward
3472
3471
  };
3473
- //# sourceMappingURL=chunk-MOB5R5BF.mjs.map
3472
+ //# sourceMappingURL=chunk-G3CMTXQV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/graphql/queries/post.ts","../src/graphql/queries/game/dailyClue.ts","../src/graphql/queries/game/puzzleGame.ts","../src/graphql/queries/shareSlug.ts","../src/graphql/queries/relation.ts","../src/graphql/toGraphqlQueryString.ts","../src/graphql/hooks/admin/hooksMutation.ts","../src/graphql/mutations/admin.ts","../src/graphql/hooks/chat/hooksMutation.ts","../src/graphql/mutations/chat.ts","../src/graphql/queries/chat.ts","../src/graphql/hooks/chat/hooksQuery.ts","../src/graphql/subscriptions/chat.ts","../src/graphql/hooks/contactUs.ts","../src/graphql/mutations/contactUs.ts","../src/graphql/hooks/event/hooksMutation.ts","../src/graphql/mutations/event.ts","../src/graphql/hooks/event/hooksQuery.ts","../src/graphql/hooks/notifications/hooksMutation.ts","../src/graphql/mutations/notification.ts","../src/graphql/queries/notification.ts","../src/graphql/hooks/notifications/hooksQuery.ts","../src/graphql/hooks/notifications/hooksSubscription.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/poster.ts","../src/graphql/mutations/poster.ts","../src/graphql/hooks/pushToken.ts","../src/graphql/mutations/pushToken.ts","../src/graphql/hooks/relation/hooksMutation.ts","../src/graphql/mutations/relation.ts","../src/graphql/hooks/relation/hooksQuery.ts","../src/graphql/hooks/vendor/hooksMutation.ts","../src/graphql/mutations/vendor.ts","../src/graphql/hooks/vendor/hooksQuery.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/ad/hooksMutation.ts","../src/graphql/mutations/ad.ts","../src/graphql/queries/ad.ts","../src/graphql/hooks/ad/hooksQuery.ts","../src/graphql/hooks/resourceActivities/hooksMutation.ts","../src/graphql/mutations/resourceActivities.ts","../src/graphql/hooks/resourceActivities/hooksQuery.ts","../src/graphql/queries/resourceActivities.ts","../src/graphql/hooks/stripe/hooksMutation.ts","../src/graphql/mutations/stripe.ts","../src/graphql/hooks/stripe/hooksQuery.ts","../src/graphql/queries/stripe.ts","../src/graphql/hooks/partner/hooksMutation.ts","../src/graphql/mutations/partner.ts","../src/graphql/hooks/partner/hooksQuery.ts","../src/graphql/hooks/post/hooksMutation.ts","../src/graphql/mutations/post.ts","../src/graphql/hooks/post/hooksQuery.ts","../src/graphql/hooks/appSettings/hooksMutation.ts","../src/graphql/mutations/appSettings.ts","../src/graphql/queries/appSettings.ts","../src/graphql/hooks/appSettings/hooksQuery.ts","../src/graphql/hooks/game/hooksMutation.ts","../src/graphql/mutations/game.ts","../src/graphql/queries/game/game.ts","../src/graphql/hooks/game/hooksQuery.ts","../src/graphql/hooks/school/hooksMutation.ts","../src/graphql/mutations/school.ts","../src/graphql/queries/school.ts","../src/graphql/hooks/school/hooksQuery.ts","../src/graphql/hooks/affiliate/hooksQuery.ts","../src/graphql/queries/affiliate.ts","../src/graphql/hooks/affiliate/hooksMutation.ts","../src/graphql/mutations/affiliate.ts"],"sourcesContent":["import { gql } from \"@apollo/client\";\n\nimport { DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT } from \"./game/dailyClue\";\nimport { PUZZLE_BASE_GAME_FIELDS_FRAGMENT } from \"./game/puzzleGame\";\nimport {\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT,\n} from \"./global\";\n\nconst BASE_GAME_FIELDS_FRAGMENT = gql`\n fragment BaseGameFields on BaseGameType {\n gameTypeId\n gameTitle\n gameType\n dailyClue {\n ...DailyClueBaseGameFields\n }\n miniQuiz {\n ...PuzzleBaseGameFields\n }\n oddOneOut {\n ...PuzzleBaseGameFields\n }\n }\n ${DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT}\n ${PUZZLE_BASE_GAME_FIELDS_FRAGMENT}\n`;\n\nconst POST_CONTENT_DATA_FIELDS_FRAGMENT = gql`\n fragment PostContentDataFields on PostContentData {\n game {\n ...BaseGameFields\n }\n textarea {\n title\n data\n }\n images {\n ...ResourceImageFields\n }\n video {\n source\n title\n }\n list {\n title\n items {\n text\n }\n }\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${BASE_GAME_FIELDS_FRAGMENT}\n`;\n\nconst POST_CONTENT_FIELDS_FRAGMENT = gql`\n fragment PostContentFields on PostContentType {\n contentData {\n ...PostContentDataFields\n }\n contentOrder\n contentType\n }\n ${POST_CONTENT_DATA_FIELDS_FRAGMENT}\n`;\n\nconst POST_RESOURCE_FIELDS_FRAGMENT = gql`\n fragment PostResourceFields on PostResourceType {\n resourceId\n resourceSlug\n resourceRegion\n resourceType\n }\n`;\n\nexport const POST_FIELDS_FRAGMENT = gql`\n fragment PostFields on PostType {\n _id\n active\n approvedAt\n caption\n content {\n ...PostContentFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n deletedAt\n postType\n resource {\n ...PostResourceFields\n }\n tags\n title\n slug\n sharePublic {\n ...SocialShareResourceFields\n }\n updatedAt\n }\n ${POST_CONTENT_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${POST_RESOURCE_FIELDS_FRAGMENT}\n ${SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS = gql`\n query getPosts {\n posts {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POST = gql`\n query getPost($_id: ID!) {\n post(_id: $_id) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS_BY_TYPE = gql`\n query getPostsByType($postType: PostTypeEnum!) {\n postsByType(postType: $postType) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const GAME_DATE_FIELDS_FRAGMENT = gql`\n fragment GameDateFields on GameDateType {\n startDate\n endDate\n }\n`;\n\nexport const DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT = gql`\n fragment DailyClueBaseGameFields on DailyClueBaseGameType {\n gameDate {\n ...GameDateFields\n }\n gameSolution\n }\n ${GAME_DATE_FIELDS_FRAGMENT}\n`;\n\nexport const DAILY_CLUE_GAME_DATA_FIELDS_FRAGMENT = gql`\n fragment DailyClueGameDataFields on DailyClueGameDataType {\n gameFields {\n ...DailyClueBaseGameFields\n }\n lastFoundDate\n points\n letterInfo {\n collected\n solutionShuffled\n todaysClue\n todaysLetter\n todaysPlacement\n }\n streak\n }\n ${DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nconst PUZZLE_ANSWER_FIELDS_FRAGMENT = gql`\n fragment PuzzleAnswerFields on PuzzleAnswerType {\n answer\n answerId\n correct\n }\n`;\n\nconst PUZZLE_QUESTION_FIELDS_FRAGMENT = gql`\n fragment PuzzleQuestionFields on PuzzleQuestionType {\n answers {\n ...PuzzleAnswerFields\n }\n question\n questionId\n }\n ${PUZZLE_ANSWER_FIELDS_FRAGMENT}\n`;\n\nconst PUZZLE_ANSWERED_QUESTION_FIELDS_FRAGMENT = gql`\n fragment PuzzleAnsweredQuestionFields on PuzzleAnsweredQuestionType {\n questionId\n selectedAnswerId\n }\n`;\n\nexport const PUZZLE_BASE_GAME_FIELDS_FRAGMENT = gql`\n fragment PuzzleBaseGameFields on PuzzleBaseGameType {\n questions {\n ...PuzzleQuestionFields\n }\n }\n ${PUZZLE_QUESTION_FIELDS_FRAGMENT}\n`;\n\nexport const PUZZLE_GAME_DATA_FIELDS_FRAGMENT = gql`\n fragment PuzzleGameDataFields on PuzzleGameDataType {\n gameFields {\n ...PuzzleBaseGameFields\n }\n answeredQuestions {\n ...PuzzleAnsweredQuestionFields\n }\n points\n streak\n }\n ${PUZZLE_BASE_GAME_FIELDS_FRAGMENT}\n ${PUZZLE_ANSWERED_QUESTION_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const GET_EVENT_BY_SLUG = gql`\n query getEventBySlug($slug: String!) {\n eventBySlug(slug: $slug) {\n _id\n }\n }\n`;\n\nexport const GET_VENDOR_BY_SLUG = gql`\n query getVendorBySlug($slug: String!) {\n vendorBySlug(slug: $slug) {\n _id\n }\n }\n`;\n\nexport const GET_PARTNER_BY_SLUG = gql`\n query getPartnerBySlug($slug: String!) {\n partnerBySlug(slug: $slug) {\n _id\n }\n }\n`;\n\nexport const GET_POST_BY_SLUG = gql`\n query getPostBySlug($slug: String!, $postType: PostTypeEnum!) {\n postBySlug(slug: $slug, postType: $postType) {\n _id\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT_LIST_ITEM, RELATION_DATES_FRAGMENT } from \"./global\";\nimport { VENDOR } from \"./vendor\";\n\nexport const RELATION_FIELDS_FRAGMENT = gql`\n fragment RelationFields on RelationType {\n _id\n active\n chatId\n createdAt\n lastUpdateBy\n eventId\n relationDates {\n ...RelationDates\n }\n relationType\n vendorId\n updatedAt\n }\n ${RELATION_DATES_FRAGMENT}\n`;\n\nexport const GET_RELATION = gql`\n query getRelation($_id: ID!) {\n relation(_id: $_id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_BY_EVENT_AND_VENDOR = gql`\n query getRelationByEventAndVendor($eventId: ID!, $vendorId: ID!) {\n relationByEventAndVendor(eventId: $eventId, vendorId: $vendorId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_EVENT_RELATIONS = gql`\n query getEventRelations($eventId: ID!) {\n eventRelations(eventId: $eventId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_VENDOR_RELATIONS = gql`\n query getVendorRelations($vendorId: ID!) {\n vendorRelations(vendorId: $vendorId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RESOURCE_CONNECTIONS = gql`\n query getResourceConnections(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n resourceConnections(resourceId: $resourceId, resourceType: $resourceType) {\n events {\n ...EventListItemFields\n }\n vendors {\n ...VendorFields\n }\n }\n }\n ${VENDOR}\n ${EVENT_LIST_ITEM}\n`;\n","import { print, type DocumentNode } from \"graphql\";\n\nexport function toGraphqlQueryString(query: DocumentNode): string {\n return print(query);\n}\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION,\n ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION,\n ADMIN_UPDATE_RESOURCE_TYPE_MUTATION,\n} from \"src/graphql/mutations/admin\";\nimport { GET_EVENT } from \"src/graphql/queries/event\";\nimport { GET_VENDOR } from \"src/graphql/queries/vendor\";\n\nexport const useAdminUpdateResourceType = () => {\n const [adminUpdateResourceType, { loading, error }] = useMutation<{\n adminUpdateResourceType: {\n resourceId: string;\n resourceType: EnumResourceType;\n };\n }>(ADMIN_UPDATE_RESOURCE_TYPE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract resourceId and resourceType from the mutation response\n const adminUpdateResourceType =\n mutationResult?.data?.adminUpdateResourceType;\n const resourceId = adminUpdateResourceType?.resourceId;\n const resourceType = adminUpdateResourceType?.resourceType;\n\n if (!resourceId) return [];\n\n const detectQuery =\n resourceType === EnumResourceType.EVENT ? GET_EVENT : GET_VENDOR;\n\n return [\n {\n query: detectQuery,\n variables: { _id: resourceId },\n },\n ];\n },\n });\n\n return {\n adminUpdateResourceType,\n error,\n loading,\n };\n};\n\nexport const useAdminResendUserVerificationEmail = () => {\n const [adminResendUserVerificationEmail, { loading, error }] = useMutation(\n ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION,\n );\n\n return {\n adminResendUserVerificationEmail,\n error,\n loading,\n };\n};\n\nexport const useAdminPermanentlyDeleteResource = () => {\n const [adminPermanentlyDeleteResource, { loading, error }] = useMutation(\n ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION,\n );\n\n return {\n adminPermanentlyDeleteResource,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const ADMIN_UPDATE_RESOURCE_TYPE_MUTATION = gql`\n mutation adminUpdateResourceType($input: AdminUpdateResourceInputType!) {\n adminUpdateResourceType(input: $input) {\n active\n resourceId\n resourceType\n }\n }\n`;\n\nexport const ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION = gql`\n mutation adminResendUserVerificationEmail($userId: ID!) {\n adminResendUserVerificationEmail(userId: $userId)\n }\n`;\n\nexport const ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION = gql`\n mutation adminPermanentlyDeleteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n adminPermanentlyDeleteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n )\n }\n`;\n","import { PureQueryOptions, useMutation } from \"@apollo/client\";\n\nimport {\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n DELETE_CHAT_MUTATION,\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n SEND_CHAT_MESSAGE_MUTATION,\n TOGGLE_CHAT_MESSAGE_LIKE_MUTATION,\n MARK_CHAT_MESSAGES_SEEN_MUTATION,\n REPORT_CHAT_USER_MUTATION,\n CREATE_PRIVATE_CHAT_MUTATION,\n} from \"../../mutations/chat\";\nimport { CHAT, GET_CHATS_BY_REGION, USER_CHATS } from \"../../queries/chat\";\n\nexport const useCreatePrivateChat = () => {\n const [createPrivateChat, { loading, error }] = useMutation<{\n createPrivateChat: {\n _id: string;\n };\n }>(CREATE_PRIVATE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { createPrivateChat, error, loading };\n};\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation<{\n sendChatMessage: {\n _id: string;\n };\n }>(SEND_CHAT_MESSAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, sendChatMessage };\n};\n\nexport const useDeleteChat = () => {\n const [deleteChat, { loading, error }] = useMutation(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation<{\n addParticipantToChat: {\n _id: string;\n };\n }>(ADD_PARTICIPANT_TO_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.addParticipantToChat?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation<{\n removeParticipantFromChat: {\n success: boolean;\n region?: string | null;\n };\n }>(REMOVE_PARTICIPANT_FROM_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult): PureQueryOptions[] => {\n const region = mutationResult?.data?.removeParticipantFromChat?.region;\n\n const queries: PureQueryOptions[] = [{ query: USER_CHATS }];\n\n if (region && region.trim() !== \"\") {\n queries.push({\n query: GET_CHATS_BY_REGION,\n variables: { region },\n });\n }\n\n return queries;\n },\n });\n\n return { error, loading, removeParticipantFromChat };\n};\n\nexport const useToggleChatMessageLike = () => {\n const [toggleChatMessageLike, { loading, error }] = useMutation<{\n toggleChatMessageLike: {\n _id: string;\n };\n }>(TOGGLE_CHAT_MESSAGE_LIKE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.toggleChatMessageLike?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, toggleChatMessageLike };\n};\n\nexport const useMarkChatMessagesSeen = () => {\n const [markChatMessagesSeen, { loading, error }] = useMutation<{\n markChatMessagesSeen: {\n _id: string;\n };\n }>(MARK_CHAT_MESSAGES_SEEN_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.markChatMessagesSeen?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, markChatMessagesSeen };\n};\n\nexport const useReportChatUser = () => {\n const [reportChatUser, { loading, error }] = useMutation(\n REPORT_CHAT_USER_MUTATION,\n );\n\n return { error, loading, reportChatUser };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n CHAT_FIELDS_FRAGMENT,\n CHAT_REPORT_FIELDS_FRAGMENT,\n} from \"../queries/chat\";\n\nexport const CREATE_PRIVATE_CHAT_MUTATION = gql`\n mutation createPrivateChat($userId: ID!) {\n createPrivateChat(userId: $userId) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const SEND_CHAT_MESSAGE_MUTATION = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id)\n }\n`;\n\nexport const ADD_PARTICIPANT_TO_CHAT_MUTATION = gql`\n mutation addParticipantToChat($chatId: ID!, $userId: ID!) {\n addParticipantToChat(chatId: $chatId, userId: $userId) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_PARTICIPANT_FROM_CHAT_MUTATION = gql`\n mutation removeParticipantFromChat($chatId: ID!, $userId: ID!) {\n removeParticipantFromChat(chatId: $chatId, userId: $userId) {\n success\n region\n }\n }\n`;\n\nexport const TOGGLE_CHAT_MESSAGE_LIKE_MUTATION = gql`\n mutation toggleChatMessageLike($chatId: ID!, $messageId: ID!) {\n toggleChatMessageLike(chatId: $chatId, messageId: $messageId) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const MARK_CHAT_MESSAGES_SEEN_MUTATION = gql`\n mutation markChatMessagesSeen($chatId: ID!, $messageIds: [ID!]!) {\n markChatMessagesSeen(chatId: $chatId, messageIds: $messageIds) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REPORT_CHAT_USER_MUTATION = gql`\n mutation reportChatUser($input: ReportChatUserInputType!) {\n reportChatUser(input: $input) {\n ...ChatReportFields\n }\n }\n ${CHAT_REPORT_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const CHAT_MESSAGE_FIELDS_FRAGMENT = gql`\n fragment ChatMessageFields on ChatMessageType {\n _id\n content\n createdAt\n replyToMessageId\n replyPreview {\n senderId\n senderName\n contentPreview\n }\n likedBy {\n userId\n createdAt\n }\n senderId\n seenBy {\n userId\n seenAt\n }\n updatedAt\n }\n`;\n\nexport const CHAT_PARTICIPANT = gql`\n fragment ChatParticipantFields on ChatParticipantType {\n active\n userAvatar\n userEmail\n userId\n userName\n }\n`;\n\nexport const CHAT_FIELDS_FRAGMENT = gql`\n fragment ChatFields on ChatType {\n _id\n active\n chatDescription\n chatName\n chatType\n createdAt\n deletedAt\n messages {\n ...ChatMessageFields\n }\n participants {\n ...ChatParticipantFields\n }\n region\n updatedAt\n }\n ${CHAT_MESSAGE_FIELDS_FRAGMENT}\n ${CHAT_PARTICIPANT}\n`;\n\nexport const CHAT = gql`\n query chat($_id: ID!) {\n chat(_id: $_id) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const USER_CHATS = gql`\n query userChats {\n userChats {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const GET_CHATS_BY_REGION = gql`\n query getChatsByRegion($region: String!) {\n chatsByRegion(region: $region) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const CHAT_REPORT_FIELDS_FRAGMENT = gql`\n fragment ChatReportFields on ReportChatUserType {\n _id\n chatId\n createdAt\n reason {\n reasonType\n details\n }\n reportedUserId\n reporterUserId\n resolved\n updatedAt\n }\n`;\n\nexport const GET_REPORTED_CHAT_USERS = gql`\n query getReportedChatUsers {\n reportedChatUsers {\n ...ChatReportFields\n }\n }\n ${CHAT_REPORT_FIELDS_FRAGMENT}\n`;\n","import { useQuery, useSubscription } from \"@apollo/client\";\n\nimport { GET_CHAT_MESSAGE } from \"src/graphql/subscriptions/chat\";\n\nimport { ChatType, ReportChatUser } from \"../../../types/chat\";\nimport {\n CHAT,\n GET_CHATS_BY_REGION,\n GET_REPORTED_CHAT_USERS,\n USER_CHATS,\n} from \"../../queries/chat\";\n\nexport const useGetChat = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ chat: ChatType }>(CHAT, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const chat = data?.chat;\n\n return { chat, error, loading, refetch };\n};\n\nexport const useGetUserChats = () => {\n const { loading, error, data, refetch } = useQuery<{ userChats: ChatType[] }>(\n USER_CHATS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const userChats = data?.userChats || [];\n\n return { error, loading, refetch, userChats };\n};\n\nexport const useGetChatSubscription = () => {\n const { data, loading, error } = useSubscription<{ getChat: ChatType }>(\n GET_CHAT_MESSAGE,\n );\n\n const chat = data?.getChat;\n\n return { chat, error, loading };\n};\n\nexport const useGetChatsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n chatsByRegion: ChatType[];\n }>(GET_CHATS_BY_REGION, {\n fetchPolicy: \"network-only\",\n variables: { region },\n });\n\n const chatsByRegion = data?.chatsByRegion || [];\n\n return { chatsByRegion, error, loading, refetch };\n};\n\nexport const useGetReportedChatUsers = () => {\n const { loading, error, data, refetch } = useQuery<{\n reportedChatUsers: ReportChatUser[];\n }>(GET_REPORTED_CHAT_USERS, {\n fetchPolicy: \"network-only\",\n });\n\n const reportedChatUsers = data?.reportedChatUsers || [];\n\n return { error, loading, refetch, reportedChatUsers };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const GET_CHAT_MESSAGE = gql`\n subscription {\n getChatMessage {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation(CONTACT_US_MUTATION);\n return { contactUs, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CONTACT_US_MUTATION = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_EVENT_INFO_MUTATION,\n CREATE_EVENT_MUTATION,\n DELETE_EVENT_MUTATION,\n UPDATE_EVENT_INFO_MUTATION,\n UPDATE_EVENT_MUTATION,\n} from \"../../mutations/event\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport { GET_USER_EVENTS } from \"../../queries/user\";\n\nexport const useCreateEvent = () => {\n const [createEvent, { loading, error }] = useMutation(CREATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n\n return { createEvent, error, loading };\n};\n\nexport const useUpdateEvent = () => {\n const [updateEvent, { loading, error }] = useMutation<{\n updateEvent: {\n _id: string;\n };\n }>(UPDATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEvent?._id;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_USER_EVENTS,\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n ];\n },\n });\n\n return { error, loading, updateEvent };\n};\n\nexport const useDeleteEvent = () => {\n const [deleteEvent, { loading, error }] = useMutation(DELETE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n return { deleteEvent, error, loading };\n};\n\nexport const useCreateEventInfo = () => {\n const [createEventInfo, { loading, error }] = useMutation<{\n createEventInfo: {\n eventId: string;\n };\n }>(CREATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.createEventInfo?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId }, // Pass the eventId for refetching\n },\n {\n query: GET_USER_EVENTS,\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n ];\n },\n });\n\n return { createEventInfo, error, loading };\n};\n\nexport const useUpdateEventInfo = () => {\n const [updateEventInfo, { loading, error }] = useMutation<{\n updateEventInfo: {\n eventId: string;\n };\n }>(UPDATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEventInfo?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_USER_EVENTS,\n },\n ];\n },\n });\n\n return { error, loading, updateEventInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT, EVENT_INFO } from \"../queries/event\";\n\nexport const CREATE_EVENT_MUTATION = gql`\n mutation createEvent($input: EventInputType!) {\n createEvent(input: $input) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const UPDATE_EVENT_MUTATION = gql`\n mutation updateEvent($_id: ID!, $input: EventInputType!) {\n updateEvent(_id: $_id, input: $input) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const DELETE_EVENT_MUTATION = gql`\n mutation deleteEvent($_id: ID!) {\n deleteEvent(_id: $_id)\n }\n`;\n\nexport const CREATE_EVENT_INFO_MUTATION = gql`\n mutation createEventInfo($input: EventInfoInputType!) {\n createEventInfo(input: $input) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n\nexport const UPDATE_EVENT_INFO_MUTATION = gql`\n mutation updateEventInfo($_id: ID!, $input: EventInfoInputType!) {\n updateEventInfo(_id: $_id, input: $input) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumEventDateStatus } from \"../../../enums\";\nimport {\n EventInfoType,\n EventListItemType,\n EventType,\n} from \"../../../types/event\";\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\nimport {\n GET_EVENT,\n GET_EVENT_BY_PLACE_ID,\n GET_EVENT_INFO,\n GET_EVENTS,\n GET_EVENTS_BY_REGION,\n GET_EVENTS_NEAR_ME,\n SEARCH_EVENTS,\n} from \"../../queries/event\";\n\nexport const useGetEvents = (dateStatus?: EnumEventDateStatus) => {\n const { loading, error, data, refetch } = useQuery<{\n events: EventListItemType[];\n }>(GET_EVENTS, {\n fetchPolicy: \"network-only\",\n variables: { dateStatus },\n });\n\n const events = data?.events || [];\n\n return { error, events, loading, refetch };\n};\n\nexport const useGetEvent = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n event: EventType | null;\n }>(GET_EVENT, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const event = data?.event || null;\n\n return { error, event, loading, refetch };\n};\n\nexport const useGetEventByPlaceId = (googlePlaceId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventByPlaceId: EventListItemType | null;\n }>(GET_EVENT_BY_PLACE_ID, {\n fetchPolicy: \"network-only\",\n skip: !googlePlaceId,\n variables: { googlePlaceId },\n });\n\n const eventByPlaceId = data?.eventByPlaceId || null;\n\n return { error, eventByPlaceId, loading, refetch };\n};\n\nexport const useGetEventsByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n dateStatus?: EnumEventDateStatus,\n) => {\n const variables = {\n dateStatus,\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n eventsByRegion: EventListItemType[];\n }>(GET_EVENTS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip: !region || region === \"\",\n variables,\n });\n\n const eventsByRegion = data?.eventsByRegion || [];\n\n return {\n error,\n eventsByRegion,\n fetchMore,\n loading,\n refetch,\n };\n};\n\nexport const useSearchEvents = (\n region: string,\n searchQuery?: string,\n tags?: string[],\n dateStatus?: EnumEventDateStatus,\n) => {\n const normalizedSearch = searchQuery?.trim() ?? \"\";\n const normalizedTags = (tags ?? []).filter(Boolean);\n\n const shouldRunQuery =\n normalizedSearch.length > 3 || normalizedTags.length > 0;\n\n const { loading, error, data, refetch } = useQuery<{\n eventsSearch: EventListItemType[];\n }>(SEARCH_EVENTS, {\n fetchPolicy: \"network-only\",\n skip: !shouldRunQuery,\n variables: {\n dateStatus,\n region,\n search: normalizedSearch,\n tags: normalizedTags,\n },\n });\n\n return {\n error,\n eventsSearch: data?.eventsSearch ?? [],\n loading,\n refetch,\n };\n};\n\nexport const useGetEventsNearMe = (\n location: {\n latitude: number;\n longitude: number;\n radius?: number;\n },\n dateStatus?: EnumEventDateStatus,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsNearMe: EventListItemType[];\n }>(GET_EVENTS_NEAR_ME, {\n fetchPolicy: \"network-only\",\n skip: !location.latitude || !location.longitude,\n variables: {\n dateStatus,\n latitude: location.latitude,\n longitude: location.longitude,\n radius: location.radius || 10000, // Default to 10km if no radius is provided\n },\n });\n\n const eventsNearMe = data?.eventsNearMe || [];\n\n return { error, eventsNearMe, loading, refetch };\n};\n\nexport const useGetEventInfo = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventInfo: EventInfoType;\n }>(GET_EVENT_INFO, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\",\n variables: { eventId },\n });\n\n const eventInfo = data?.eventInfo;\n\n return { error, eventInfo, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_BULK_NOTIFICATIONS,\n DELETE_ALL_NOTIFICATIONS,\n DELETE_NOTIFICATION,\n MARK_ALL_NOTIFICATIONS_READ,\n MARK_NOTIFICATION_READ,\n} from \"src/graphql/mutations/notification\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"src/graphql/queries/notification\";\n\nexport const useCreateBulkNotifications = () => {\n const [createBulkNotifications, { loading, error }] = useMutation(\n CREATE_BULK_NOTIFICATIONS,\n );\n return { createBulkNotifications, error, loading };\n};\n\nexport const useMarkNotificationRead = () => {\n const [markNotificationRead, { loading, error }] = useMutation(\n MARK_NOTIFICATION_READ,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { error, loading, markNotificationRead };\n};\n\nexport const useMarkAllNotificationsRead = () => {\n const [markAllNotificationsRead, { loading, error }] = useMutation(\n MARK_ALL_NOTIFICATIONS_READ,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { error, loading, markAllNotificationsRead };\n};\n\nexport const useDeleteNotification = () => {\n const [deleteNotification, { loading, error }] = useMutation(\n DELETE_NOTIFICATION,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { deleteNotification, error, loading };\n};\n\nexport const useDeleteAllNotifications = () => {\n const [deleteAllNotifications, { loading, error }] = useMutation(\n DELETE_ALL_NOTIFICATIONS,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { deleteAllNotifications, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const CREATE_BULK_NOTIFICATIONS = gql`\n mutation createBulkNotifications($input: CreateBulkNotificationInput!) {\n createBulkNotifications(input: $input) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_NOTIFICATION_READ = gql`\n mutation markNotificationRead($_id: ID!) {\n markNotificationRead(_id: $_id) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_ALL_NOTIFICATIONS_READ = gql`\n mutation markAllNotificationsRead {\n markAllNotificationsRead\n }\n`;\n\nexport const DELETE_NOTIFICATION = gql`\n mutation deleteNotification($_id: ID!) {\n deleteNotification(_id: $_id)\n }\n`;\n\nexport const DELETE_ALL_NOTIFICATIONS = gql`\n mutation deleteAllNotifications {\n deleteAllNotifications\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const NOTIFICATION_FRAGMENT = gql`\n fragment NotificationFields on Notification {\n _id\n userId\n title\n message\n type\n isRead\n data {\n resourceId\n resourceName\n resourceType\n }\n createdAt\n updatedAt\n }\n`;\n\nexport const GET_USER_NOTIFICATIONS = gql`\n query getUserNotifications($limit: Int, $offset: Int) {\n userNotifications(limit: $limit, offset: $offset) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT = gql`\n query getNotificationCount {\n notificationCount {\n total\n unread\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"../../queries/notification\";\n\nexport const useGetUserNotifications = (limit?: number, offset?: number) => {\n const { data, loading, error, refetch } = useQuery<{\n userNotifications: NotificationType[];\n }>(GET_USER_NOTIFICATIONS, {\n fetchPolicy: \"no-cache\",\n variables: { limit, offset },\n });\n\n return {\n error,\n loading,\n notifications: data?.userNotifications || [],\n refetch,\n };\n};\n\nexport const useGetNotificationCount = () => {\n const { data, loading, error, refetch } = useQuery<{\n notificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT, {\n fetchPolicy: \"no-cache\",\n });\n\n return {\n error,\n loading,\n notificationCount: data?.notificationCount || { total: 0, unread: 0 },\n refetch,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT_SUBSCRIPTION,\n GET_NOTIFICATIONS_SUBSCRIPTION,\n} from \"../../subscriptions/notification\";\n\nexport const useGetUserNotificationsSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getUserNotifications: NotificationType[];\n }>(GET_NOTIFICATIONS_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notifications: data?.getUserNotifications,\n };\n};\n\nexport const useGetNotificationCountSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getNotificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notificationCount: data?.getNotificationCount,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const GET_NOTIFICATIONS_SUBSCRIPTION = gql`\n subscription {\n getUserNotifications {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT_SUBSCRIPTION = gql`\n subscription {\n getNotificationCount {\n total\n unread\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_POSTER_MUTATION } from \"../mutations/poster\";\nimport { GET_USER_EVENTS, GET_USER_VENDORS } from \"../queries/user\";\n\nexport const useCreatePoster = () => {\n const [createPoster, { loading, error }] = useMutation(\n CREATE_POSTER_MUTATION,\n {\n refetchQueries: [{ query: GET_USER_EVENTS }, { query: GET_USER_VENDORS }],\n },\n );\n return { createPoster, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POSTER_USAGE_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_POSTER_MUTATION = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n message\n posterUsage {\n ...PosterUsageFields\n }\n }\n }\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_PUSH_TOKEN_MUTATION } from \"../mutations/pushToken\";\n\nexport const useCreatePushToken = () => {\n const [createPushToken, { loading, error }] = useMutation(\n CREATE_PUSH_TOKEN_MUTATION,\n );\n return { createPushToken, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_PUSH_TOKEN_MUTATION = gql`\n mutation createPushToken($input: PushTokenInput!) {\n createPushToken(input: $input) {\n success\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { RelationType } from \"src/types\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { USER_CHATS } from \"../../queries/chat\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\nimport { GET_VENDOR } from \"../../queries/vendor\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation<{\n createRelation: RelationType;\n }>(CREATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const createRelation = mutationResult?.data?.createRelation;\n const eventId = createRelation?.eventId;\n const vendorId = createRelation?.vendorId;\n\n const resourceType = createRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation<{\n updateRelation: RelationType;\n }>(UPDATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const updateRelation = mutationResult?.data?.updateRelation;\n const eventId = updateRelation?.eventId;\n const vendorId = updateRelation?.vendorId;\n\n const resourceType = updateRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n ];\n },\n });\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation<{\n deleteRelation: RelationType;\n }>(DELETE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const deleteRelation = mutationResult?.data?.deleteRelation;\n const eventId = deleteRelation?.eventId;\n const vendorId = deleteRelation?.vendorId;\n const resourceType = deleteRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n return { deleteRelation, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { RELATION_FIELDS_FRAGMENT } from \"../queries/relation\";\n\nexport const CREATE_RELATION_MUTATION = gql`\n mutation createRelation($input: RelationInputType!) {\n createRelation(input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_RELATION_MUTATION = gql`\n mutation updateRelation($_id: ID!, $input: RelationInputType!) {\n updateRelation(_id: $_id, input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_RELATION_MUTATION = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_RELATION,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\n\nexport const useGetRelation = (_id?: string) => {\n const { loading, error, data, refetch } = useQuery<{\n relation: RelationType;\n }>(GET_RELATION, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: _id ? { _id } : undefined,\n });\n\n const relation = data?.relation;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByEventAndVendor = (\n eventId: string,\n vendorId: string,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n relationByEventAndVendor: RelationType;\n }>(GET_RELATION_BY_EVENT_AND_VENDOR, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\" || !vendorId || vendorId === \"\",\n variables: { eventId, vendorId },\n });\n\n const relationByEventAndVendor = data?.relationByEventAndVendor;\n\n return { error, loading, refetch, relationByEventAndVendor };\n};\n\nexport const useGetEventRelations = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventRelations: RelationType[];\n }>(GET_EVENT_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\",\n variables: { eventId },\n });\n\n const eventRelations = data?.eventRelations || [];\n\n return { error, eventRelations, loading, refetch };\n};\n\nexport const useGetVendorRelations = (vendorId?: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorRelations: RelationType[];\n }>(GET_VENDOR_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !vendorId || vendorId === \"\",\n variables: { vendorId },\n });\n\n const vendorRelations = data?.vendorRelations || [];\n\n return { error, loading, refetch, vendorRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n resourceConnections: ResourceConnectionsType;\n }>(GET_RESOURCE_CONNECTIONS, {\n fetchPolicy: \"network-only\",\n skip: !resourceId || resourceId === \"\" || !resourceType,\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections = data?.resourceConnections;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER_VENDORS } from \"src/graphql/queries/user\";\n\nimport {\n CREATE_UNREGISTERED_VENDOR_MUTATION,\n CREATE_VENDOR_INFO_MUTATION,\n CREATE_VENDOR_MUTATION,\n DELETE_UNREGISTERED_VENDOR_MUTATION,\n DELETE_VENDOR_MUTATION,\n UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION,\n UPDATE_UNREGISTERED_VENDOR_MUTATION,\n UPDATE_VENDOR_INFO_MUTATION,\n UPDATE_VENDOR_MUTATION,\n} from \"../../mutations/vendor\";\nimport { GET_VENDOR, GET_VENDOR_INFO } from \"../../queries/vendor\";\n\nexport const useCreateVendor = () => {\n const [createVendor, { loading, error }] = useMutation(\n CREATE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n\n return { createVendor, error, loading };\n};\n\nexport const useUpdateVendor = () => {\n const [updateVendor, { loading, error }] = useMutation(\n UPDATE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n return { error, loading, updateVendor };\n};\n\nexport const useDeleteVendor = () => {\n const [deleteVendor, { loading, error }] = useMutation(\n DELETE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n return { deleteVendor, error, loading };\n};\n\nexport const useCreateVendorInfo = () => {\n const [createVendorInfo, { loading, error }] = useMutation<{\n createVendorInfo: { vendorId: string };\n }>(CREATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.createVendorInfo?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n {\n query: GET_USER_VENDORS,\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n ];\n },\n });\n\n return { createVendorInfo, error, loading };\n};\n\nexport const useUpdateVendorInfo = () => {\n const [updateVendorInfo, { loading, error }] = useMutation<{\n updateVendorInfo: { vendorId: string };\n }>(UPDATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.updateVendorInfo?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateVendorInfo };\n};\n\nexport const useCreateUnregisteredVendor = () => {\n const [createUnregisteredVendor, { loading, error }] = useMutation(\n CREATE_UNREGISTERED_VENDOR_MUTATION,\n );\n\n return { createUnregisteredVendor, error, loading };\n};\n\nexport const useUpdateUnregisteredVendor = () => {\n const [updateUnregisteredVendor, { loading, error }] = useMutation(\n UPDATE_UNREGISTERED_VENDOR_MUTATION,\n );\n return { error, loading, updateUnregisteredVendor };\n};\n\nexport const useDeleteUnregisteredVendor = () => {\n const [deleteUnregisteredVendor, { loading, error }] = useMutation(\n DELETE_UNREGISTERED_VENDOR_MUTATION,\n );\n return { deleteUnregisteredVendor, error, loading };\n};\n\nexport const useUnlinkUnregisteredVendorByInviterId = () => {\n const [unlinkUnregisteredVendorByInviterId, { loading, error }] = useMutation(\n UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION,\n );\n return { error, loading, unlinkUnregisteredVendorByInviterId };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { UNREGISTERED_VENDOR, VENDOR, VENDOR_INFO } from \"../queries/vendor\";\n\nexport const CREATE_VENDOR_MUTATION = gql`\n mutation createVendor($input: VendorInputType!) {\n createVendor(input: $input) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const UPDATE_VENDOR_MUTATION = gql`\n mutation updateVendor($_id: ID!, $input: VendorInputType!) {\n updateVendor(_id: $_id, input: $input) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const DELETE_VENDOR_MUTATION = gql`\n mutation deleteVendor($_id: ID!) {\n deleteVendor(_id: $_id)\n }\n`;\n\nexport const CREATE_VENDOR_INFO_MUTATION = gql`\n mutation createVendorInfo($input: VendorInfoInputType!) {\n createVendorInfo(input: $input) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const UPDATE_VENDOR_INFO_MUTATION = gql`\n mutation updateVendorInfo($_id: ID!, $input: VendorInfoInputType!) {\n updateVendorInfo(_id: $_id, input: $input) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const CREATE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation createUnregisteredVendor($input: UnregisteredVendorInputType!) {\n createUnregisteredVendor(input: $input) {\n ...UnregisteredVendorFields\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const UPDATE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation updateUnregisteredVendor(\n $_id: ID!\n $input: UnregisteredVendorInputType!\n ) {\n updateUnregisteredVendor(_id: $_id, input: $input) {\n ...UnregisteredVendorFields\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const DELETE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation deleteUnregisteredVendor($_id: ID!) {\n deleteUnregisteredVendor(_id: $_id)\n }\n`;\n\nexport const UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION = gql`\n mutation unlinkUnregisteredVendorByInviterId($_id: ID!, $inviterId: ID!) {\n unlinkUnregisteredVendorByInviterId(_id: $_id, inviterId: $inviterId)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\nimport {\n UnregisteredVendorType,\n VendorInfoType,\n VendorType,\n} from \"../../../types/vendor\";\nimport {\n GET_UNREGISTERED_VENDOR,\n GET_UNREGISTERED_VENDORS,\n GET_UNREGISTERED_VENDORS_BY_INVITER_ID,\n GET_VENDOR,\n GET_VENDOR_INFO,\n GET_VENDORS,\n GET_VENDORS_BY_REGION,\n SEARCH_VENDORS,\n} from \"../../queries/vendor\";\n\nexport const useGetVendors = () => {\n const { loading, error, data, refetch } = useQuery<{ vendors: VendorType[] }>(\n GET_VENDORS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const vendors = data?.vendors || [];\n\n return {\n error,\n loading,\n refetch,\n vendors,\n };\n};\n\nexport const useGetVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ vendor: VendorType }>(\n GET_VENDOR,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const vendor = data?.vendor;\n\n return { error, loading, refetch, vendor };\n};\n\nexport const useGetVendorsByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n) => {\n const variables = {\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n vendorsByRegion: VendorType[];\n }>(GET_VENDORS_BY_REGION, {\n fetchPolicy: \"network-only\",\n variables,\n });\n\n const vendorsByRegion = data?.vendorsByRegion || [];\n\n return {\n error,\n fetchMore,\n loading,\n refetch,\n vendorsByRegion,\n };\n};\n\nexport const useSearchVendors = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorSearch: VendorType[];\n }>(SEARCH_VENDORS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const vendorSearch = data?.vendorSearch || [];\n\n return { error, loading, refetch, vendorSearch };\n};\n\nexport const useGetVendorInfo = (vendorId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorInfo: VendorInfoType;\n }>(GET_VENDOR_INFO, {\n fetchPolicy: \"network-only\",\n skip: !vendorId || vendorId === \"\",\n variables: { vendorId },\n });\n\n const vendorInfo = data?.vendorInfo;\n\n return {\n error,\n loading,\n refetch,\n vendorInfo,\n };\n};\n\nexport const useGetUnregisteredVendors = () => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendors: UnregisteredVendorType[];\n }>(GET_UNREGISTERED_VENDORS, {\n fetchPolicy: \"network-only\",\n });\n\n const unregisteredVendors = data?.unregisteredVendors || [];\n\n return {\n error,\n loading,\n refetch,\n unregisteredVendors,\n };\n};\n\nexport const useGetUnregisteredVendorsByInviterId = (inviterId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendorsByInviterId: UnregisteredVendorType[];\n }>(GET_UNREGISTERED_VENDORS_BY_INVITER_ID, {\n fetchPolicy: \"network-only\",\n skip: !inviterId || inviterId === \"\",\n variables: { inviterId },\n });\n\n const unregisteredVendorsByInviterId =\n data?.unregisteredVendorsByInviterId || [];\n\n return { error, loading, refetch, unregisteredVendorsByInviterId };\n};\n\nexport const useGetUnregisteredVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendor: UnregisteredVendorType;\n }>(GET_UNREGISTERED_VENDOR, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const unregisteredVendor = data?.unregisteredVendor;\n\n return { error, loading, refetch, unregisteredVendor };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n GET_USER,\n GET_USER_ACTIVITIES,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n} from \"src/graphql/queries/user\";\nimport { UserLicenceType, SafeUserType, RedeemRewardResponse } from \"src/types\";\n\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n ADD_USER_GOING_RESOURCE_MUTATION,\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n CREATE_USER_MUTATION,\n DELETE_USER_MUTATION,\n REDEEM_REWARD_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n SELECT_STANDARD_PACKAGE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useCreateUser = () => {\n const [createUser, { loading, error }] = useMutation<{\n createUser: SafeUserType;\n }>(CREATE_USER_MUTATION);\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation<{\n updateUser: SafeUserType;\n }>(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?._id;\n\n if (!userId) return [];\n\n return [{ query: GET_USER, variables: { _id: userId } }];\n },\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useDeleteUser = () => {\n const [deleteUser, { loading, error }] = useMutation(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\n};\n\nexport const useRedeemReward = () => {\n const [redeemReward, { loading, error }] = useMutation<{\n redeemReward: RedeemRewardResponse;\n }>(REDEEM_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const userId = mutationResult?.data?.redeemReward?.userId;\n\n if (!userId) return [];\n\n return [\n {\n query: GET_USER,\n variables: { _id: userId }, // Pass the userId for refetching\n },\n ];\n },\n });\n\n return { error, loading, redeemReward };\n};\n\nexport const useAddUserFavouriteResource = () => {\n const [addUserFavouriteResource, { loading, error }] = useMutation(\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserFavouriteResource, error, loading };\n};\n\nexport const useRemoveUserFavouriteResource = () => {\n const [removeUserFavouriteResource, { loading, error }] = useMutation(\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserFavouriteResource };\n};\n\nexport const useAddUserInterestResource = () => {\n const [addUserInterestResource, { loading, error }] = useMutation(\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserInterestResource, error, loading };\n};\n\nexport const useRemoveUserInterestResource = () => {\n const [removeUserInterestResource, { loading, error }] = useMutation(\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserInterestResource };\n};\n\nexport const useAddUserGoingResource = () => {\n const [addUserGoingResource, { loading, error }] = useMutation(\n ADD_USER_GOING_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserGoingResource, error, loading };\n};\n\nexport const useRemoveUserGoingResource = () => {\n const [removeUserGoingResource, { loading, error }] = useMutation(\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserGoingResource };\n};\n\nexport const useAddUserPresentResource = () => {\n const [addUserPresentResource, { loading, error }] = useMutation(\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserPresentResource, error, loading };\n};\n\nexport const useRemoveUserPresentResource = () => {\n const [removeUserPresentResource, { loading, error }] = useMutation(\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserPresentResource };\n};\n\nexport const useSelectStandardPackage = () => {\n const [selectStandardPackage, { loading, error }] = useMutation<{\n selectStandardPackage: {\n userId: string;\n message: string;\n licences: UserLicenceType[];\n };\n }>(SELECT_STANDARD_PACKAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.selectStandardPackage?.userId;\n\n if (!userId) return [];\n\n return [\n { query: GET_USER, variables: { _id: userId } },\n { query: GET_USER_EVENTS },\n { query: GET_USER_VENDORS },\n ];\n },\n });\n\n return { error, loading, selectStandardPackage };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n LICENCE_FIELDS_FRAGMENT,\n USER_FIELDS_FRAGMENT,\n} from \"../queries/global\";\n\nexport const CREATE_USER_MUTATION = gql`\n mutation createUser($input: UserInputType!) {\n createUser(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_USER_MUTATION = gql`\n mutation updateUser($_id: ID!, $input: UserInputType!) {\n updateUser(_id: $_id, input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_USER_MUTATION = gql`\n mutation deleteUser($email: String!) {\n deleteUser(email: $email)\n }\n`;\n\nexport const REDEEM_REWARD_MUTATION = gql`\n mutation redeemReward($input: RedeemRewardInputType!) {\n redeemReward(input: $input) {\n message\n userId\n }\n }\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation removeUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation addUserInterestResource($input: UserActivityInputType!) {\n addUserInterestResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation removeUserInterestResource($input: UserActivityInputType!) {\n removeUserInterestResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_GOING_RESOURCE_MUTATION = gql`\n mutation addUserGoingResource($input: UserActivityInputType!) {\n addUserGoingResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_GOING_RESOURCE_MUTATION = gql`\n mutation removeUserGoingResource($input: UserActivityInputType!) {\n removeUserGoingResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation addUserPresentResource($input: UserActivityInputType!) {\n addUserPresentResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation removeUserPresentResource($input: UserActivityInputType!) {\n removeUserPresentResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const SELECT_STANDARD_PACKAGE_MUTATION = gql`\n mutation selectStandardPackage($selectedLicence: LicencesEnumType!) {\n selectStandardPackage(selectedLicence: $selectedLicence) {\n licences {\n ...LicenceFields\n }\n userId\n message\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_AD_MUTATION,\n DELETE_AD_MUTATION,\n UPDATE_AD_MUTATION,\n} from \"src/graphql/mutations/ad\";\nimport { GET_ADS } from \"src/graphql/queries/ad\";\n\nexport const useCreateAd = () => {\n const [createAd, { loading, error }] = useMutation(CREATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n createAd,\n error,\n loading,\n };\n};\n\nexport const useUpdateAd = () => {\n const [updateAd, { loading, error }] = useMutation(UPDATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n error,\n loading,\n updateAd,\n };\n};\n\nexport const useDeleteAd = () => {\n const [deleteAd, { loading, error }] = useMutation(DELETE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n deleteAd,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AD_FIELDS_FRAGMENT } from \"../queries/ad\";\n\nexport const CREATE_AD_MUTATION = gql`\n mutation createAd($input: AdInputType!) {\n createAd(input: $input) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_AD_MUTATION = gql`\n mutation updateAd($_id: ID!, $input: AdInputType!) {\n updateAd(_id: $_id, input: $input) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AD_MUTATION = gql`\n mutation deleteAd($_id: ID!) {\n deleteAd(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const AD_FIELDS_FRAGMENT = gql`\n fragment AdFields on AdType {\n _id\n active\n clicks\n createdAt\n end\n impressions\n resource {\n adDescription\n adImage\n adStyle\n adTitle\n adType\n resourceId\n resourceSlug\n resourceName\n resourceRegion\n resourceType\n }\n showOn\n start\n status\n targetRegion\n updatedAt\n }\n`;\n\nexport const GET_ADS = gql`\n query getAds {\n ads {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AD = gql`\n query getAd($_id: ID!) {\n ad(_id: $_id) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_ADS_BY_REGION = gql`\n query getAdsByRegion($region: String!, $status: AdStatusTypeEnum) {\n adsByRegion(region: $region, status: $status) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_ADS, GET_AD, GET_ADS_BY_REGION } from \"src/graphql/queries/ad\";\nimport { AdType, EnumAdStatus } from \"src/types\";\n\nexport const useGetAds = () => {\n const { data, loading, error, refetch } = useQuery<{ ads: AdType[] }>(\n GET_ADS,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n return {\n ads: data?.ads || [],\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAd = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{ ad: AdType }>(GET_AD, {\n fetchPolicy: \"no-cache\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n return {\n ad: data?.ad,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAdsByRegion = (region: string, status?: EnumAdStatus) => {\n const { data, loading, error, refetch } = useQuery<{\n adsByRegion: AdType[];\n }>(GET_ADS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region || region === \"\",\n variables: { region, status },\n });\n\n return {\n adsByRegion: data?.adsByRegion || [],\n error,\n loading,\n refetch,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_RESOURCE_ACTIVITY_MUTATION } from \"src/graphql/mutations/resourceActivities\";\n\nexport const useCreateResourceActivity = () => {\n const [createResourceActivity, { loading, error }] = useMutation(\n CREATE_RESOURCE_ACTIVITY_MUTATION,\n );\n\n return { createResourceActivity, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_RESOURCE_ACTIVITY_MUTATION = gql`\n mutation createResourceActivity($input: ResourceActivityInputType!) {\n createResourceActivity(input: $input)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { GET_RESOURCE_ACTIVITY } from \"src/graphql/queries/resourceActivities\";\nimport { ResourceActivityType } from \"src/types\";\n\nexport const useGetResourceActivity = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { data, loading, error, refetch } = useQuery<{\n resourceActivity: ResourceActivityType;\n }>(GET_RESOURCE_ACTIVITY, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n return {\n error,\n loading,\n refetch,\n resourceActivity: data?.resourceActivity || null,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { LOCATION_GEO_FIELDS_FRAGMENT } from \"./global\";\n\nconst RESOURCE_ACTIVITY_FIELDS_FRAGMENT = gql`\n fragment ResourceActivityFields on ResourceActivityType {\n resourceId\n resourceType\n activity {\n activityType\n location {\n ...LocationGeoFields\n }\n dateStatus\n startDate\n startTime\n timestamp\n userAgent\n userId\n }\n }\n ${LOCATION_GEO_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RESOURCE_ACTIVITY = gql`\n query getResourceActivity(\n $resourceType: ResourceTypeEnum!\n $resourceId: ID!\n ) {\n resourceActivity(resourceType: $resourceType, resourceId: $resourceId) {\n ...ResourceActivityFields\n }\n }\n ${RESOURCE_ACTIVITY_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n GET_USER,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n} from \"src/graphql/queries/user\";\nimport { UserLicenceType } from \"src/types\";\n\nimport {\n CANCEL_SUBSCRIPTION_MUTATION,\n CREATE_CHECKOUT_SESSION_MUTATION,\n CREATE_CUSTOMER_PORTAL,\n SELECT_PACKAGE_MUTATION,\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n} from \"../../mutations/stripe\";\n\nexport const useCreateCheckoutSession = () => {\n const [createCheckoutSession, { loading, error }] = useMutation(\n CREATE_CHECKOUT_SESSION_MUTATION,\n );\n\n return { createCheckoutSession, error, loading };\n};\n\nexport const useCancelSubscription = () => {\n const [cancelSubscription, { loading, error }] = useMutation(\n CANCEL_SUBSCRIPTION_MUTATION,\n );\n\n return { cancelSubscription, error, loading };\n};\n\nexport const useUpdateSubscriptionPlan = () => {\n const [updateSubscriptionPlan, { loading, error }] = useMutation(\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n );\n\n return { error, loading, updateSubscriptionPlan };\n};\n\nexport const useCreateCustomerPortal = () => {\n const [createCustomerPortal, { loading, error }] = useMutation(\n CREATE_CUSTOMER_PORTAL,\n );\n\n return { createCustomerPortal, error, loading };\n};\n\nexport const useSelectPackage = () => {\n const [selectPackage, { loading, error }] = useMutation<{\n selectPackage: {\n checkoutUrl?: string;\n userId: string;\n message: string;\n licences: UserLicenceType[];\n };\n }>(SELECT_PACKAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.selectPackage?.userId;\n\n if (!userId) return [];\n\n return [\n { query: GET_USER, variables: { _id: userId } },\n { query: GET_USER_EVENTS },\n { query: GET_USER_VENDORS },\n ];\n },\n });\n\n return { error, loading, selectPackage };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { LICENCE_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_CHECKOUT_SESSION_MUTATION = gql`\n mutation createCheckoutSession(\n $planId: LicencesEnumType!\n $billingPeriod: BillingPeriodEnumType\n ) {\n createCheckoutSession(planId: $planId, billingPeriod: $billingPeriod) {\n sessionId\n checkoutUrl\n }\n }\n`;\n\nexport const CANCEL_SUBSCRIPTION_MUTATION = gql`\n mutation cancelSubscription {\n cancelSubscription\n }\n`;\n\nexport const UPDATE_SUBSCRIPTION_PLAN_MUTATION = gql`\n mutation updateSubscriptionPlan(\n $newPlanId: LicencesEnumType!\n $billingPeriod: BillingPeriodEnumType\n ) {\n updateSubscriptionPlan(\n newPlanId: $newPlanId\n billingPeriod: $billingPeriod\n ) {\n subscriptionId\n status\n priceId\n currentPlan\n }\n }\n`;\n\nexport const CREATE_CUSTOMER_PORTAL = gql`\n mutation createCustomerPortal($returnUrl: String) {\n createCustomerPortal(returnUrl: $returnUrl) {\n portalUrl\n }\n }\n`;\n\nexport const SELECT_PACKAGE_MUTATION = gql`\n mutation selectPackage(\n $billingPeriod: BillingPeriodEnumType\n $selectedLicence: LicencesEnumType!\n $useStripe: Boolean\n ) {\n selectPackage(\n billingPeriod: $billingPeriod\n selectedLicence: $selectedLicence\n useStripe: $useStripe\n ) {\n checkoutUrl\n licences {\n ...LicenceFields\n }\n userId\n message\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n SubscriptionStatusData,\n SubscriptionPlansResponse,\n} from \"../../../types/user\";\nimport {\n GET_SUBSCRIPTION_STATUS,\n GET_SUBSCRIPTION_PLANS,\n} from \"../../queries/stripe\";\n\nexport const useGetSubscriptionStatus = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionStatus: SubscriptionStatusData;\n }>(GET_SUBSCRIPTION_STATUS);\n\n return {\n data: data?.getSubscriptionStatus,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetSubscriptionPlans = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionPlans: SubscriptionPlansResponse;\n }>(GET_SUBSCRIPTION_PLANS);\n\n return {\n data: data?.getSubscriptionPlans,\n error,\n loading,\n refetch,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const GET_SUBSCRIPTION_STATUS = gql`\n query getSubscriptionStatus {\n getSubscriptionStatus {\n subscriptionId\n status\n priceId\n currentPlan\n }\n }\n`;\n\nexport const GET_SUBSCRIPTION_PLANS = gql`\n query getSubscriptionPlans {\n getSubscriptionPlans {\n plans {\n name\n description\n licenceType\n billingPeriod\n stripeProductId\n stripePriceId\n isEligibleForDiscount\n pricing {\n basePrice\n discountedPrice\n hasDiscount\n discountPercent\n discountAmount\n currency\n formattedBasePrice\n formattedDiscountedPrice\n }\n }\n isNewUser\n isTester\n appliedDiscountType\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_PARTNER_MUTATION,\n DELETE_PARTNER_MUTATION,\n UPDATE_PARTNER_MUTATION,\n} from \"src/graphql/mutations/partner\";\nimport { GET_USER_PARTNERS } from \"src/graphql/queries/user\";\n\nexport const useCreatePartner = () => {\n const [createPartner, { loading, error }] = useMutation(\n CREATE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { createPartner, error, loading };\n};\n\nexport const useUpdatePartner = () => {\n const [updatePartner, { loading, error }] = useMutation(\n UPDATE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { error, loading, updatePartner };\n};\n\nexport const useDeletePartner = () => {\n const [deletePartner, { loading, error }] = useMutation(\n DELETE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { deletePartner, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { PARTNER } from \"../queries/partner\";\n\nexport const CREATE_PARTNER_MUTATION = gql`\n mutation createPartner($input: PartnerInputType!) {\n createPartner(input: $input) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const UPDATE_PARTNER_MUTATION = gql`\n mutation updatePartner($_id: ID!, $input: PartnerInputType!) {\n updatePartner(_id: $_id, input: $input) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const DELETE_PARTNER_MUTATION = gql`\n mutation deletePartner($_id: ID!) {\n deletePartner(_id: $_id)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { PartnerType } from \"src/types/partner\";\n\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\nimport {\n GET_PARTNER,\n GET_PARTNERS,\n GET_PARTNERS_BY_REGION,\n SEARCH_PARTNERS,\n} from \"../../queries/partner\";\n\nexport const useGetPartners = () => {\n const { loading, error, data, refetch } = useQuery<{\n partners: PartnerType[];\n }>(GET_PARTNERS, {\n fetchPolicy: \"network-only\",\n });\n const partners = data?.partners || [];\n\n return {\n error,\n loading,\n partners,\n refetch,\n };\n};\n\nexport const useGetPartner = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ partner: PartnerType }>(\n GET_PARTNER,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const partner = data?.partner;\n\n return { error, loading, partner, refetch };\n};\n\nexport const useGetPartnersByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n) => {\n const variables = {\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n partnersByRegion: PartnerType[];\n }>(GET_PARTNERS_BY_REGION, {\n fetchPolicy: \"network-only\",\n variables,\n });\n\n const partnersByRegion = data?.partnersByRegion || [];\n\n return {\n error,\n fetchMore,\n loading,\n partnersByRegion,\n refetch,\n };\n};\n\nexport const useSearchPartners = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n partnersSearch: PartnerType[];\n }>(SEARCH_PARTNERS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const partnersSearch = data?.partnersSearch || [];\n\n return { error, loading, partnersSearch, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_POST_MUTATION,\n DELETE_POST_MUTATION,\n UPDATE_POST_MUTATION,\n} from \"src/graphql/mutations/post\";\nimport { GET_POSTS } from \"src/graphql/queries/post\";\n\nexport const useCreatePost = () => {\n const [createPost, { loading, error }] = useMutation(CREATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { createPost, error, loading };\n};\n\nexport const useUpdatePost = () => {\n const [updatePost, { loading, error }] = useMutation(UPDATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { error, loading, updatePost };\n};\n\nexport const useDeletePost = () => {\n const [deletePost, { loading, error }] = useMutation(DELETE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { deletePost, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POST_FIELDS_FRAGMENT } from \"../queries/post\";\n\nexport const CREATE_POST_MUTATION = gql`\n mutation createPost($input: PostInputType!) {\n createPost(input: $input) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_POST_MUTATION = gql`\n mutation updatePost($_id: ID!, $input: PostInputType!) {\n updatePost(_id: $_id, input: $input) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_POST_MUTATION = gql`\n mutation deletePost($_id: ID!) {\n deletePost(_id: $_id)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GET_POST,\n GET_POSTS,\n GET_POSTS_BY_TYPE,\n} from \"src/graphql/queries/post\";\nimport { EnumPostType, PostType } from \"src/types\";\n\nexport const useGetPosts = () => {\n const { data, loading, error, refetch } = useQuery<{\n posts: PostType[];\n }>(GET_POSTS, {\n fetchPolicy: \"network-only\",\n });\n\n return { error, loading, posts: data?.posts || [], refetch };\n};\n\nexport const useGetPost = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n post: PostType;\n }>(GET_POST, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n return { error, loading, post: data?.post, refetch };\n};\n\nexport const useGetPostsByType = (postType: EnumPostType) => {\n const { data, loading, error, refetch } = useQuery<{\n postsByType: PostType[];\n }>(GET_POSTS_BY_TYPE, {\n fetchPolicy: \"network-only\",\n skip: !postType,\n variables: { postType },\n });\n\n return { error, loading, postsByType: data?.postsByType || [], refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CRAWL_GOOGLE_MARKETS_MUTATION,\n UPDATE_APP_SETTINGS_MUTATION,\n UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION,\n} from \"src/graphql/mutations/appSettings\";\nimport { GET_APP_SETTINGS } from \"src/graphql/queries/appSettings\";\n\nexport const useUpdateAppSettings = () => {\n const [updateAppSettings, { loading, error }] = useMutation(\n UPDATE_APP_SETTINGS_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_APP_SETTINGS }],\n },\n );\n\n return { error, loading, updateAppSettings };\n};\n\nexport const useCrawlGoogleMarkets = () => {\n const [crawlGoogleMarkets, { loading, error }] = useMutation<{\n crawlGoogleMarkets: {\n message: string;\n };\n }>(CRAWL_GOOGLE_MARKETS_MUTATION);\n\n return { crawlGoogleMarkets, error, loading };\n};\n\nexport const useUpdateGoogleImportedMarkets = () => {\n const [updateGoogleImportedMarkets, { loading, error }] = useMutation<{\n updateGoogleImportedMarkets: {\n message: string;\n };\n }>(UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION);\n\n return { error, loading, updateGoogleImportedMarkets };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const UPDATE_APP_SETTINGS_MUTATION = gql`\n mutation updateAppSettings($input: AppSettingsInputType!) {\n updateAppSettings(input: $input)\n }\n`;\n\nexport const CRAWL_GOOGLE_MARKETS_MUTATION = gql`\n mutation crawlGoogleMarkets {\n crawlGoogleMarkets {\n message\n }\n }\n`;\n\nexport const UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION = gql`\n mutation updateGoogleImportedMarkets {\n updateGoogleImportedMarkets {\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const APP_SETTINGS_FIELDS_FRAGMENT = gql`\n fragment AppSettingsFields on AppSettingsType {\n _id\n appVersion\n createdAt\n isOfflineMode\n key\n updatedAt\n }\n`;\n\nexport const GET_APP_SETTINGS = gql`\n query getAppSettings {\n appSettings {\n ...AppSettingsFields\n }\n }\n ${APP_SETTINGS_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_APP_SETTINGS } from \"src/graphql/queries/appSettings\";\nimport { AppSettingsType } from \"src/types/appSettings\";\n\nexport const useGetAppSettings = () => {\n const { loading, error, data, refetch } = useQuery<{\n appSettings: AppSettingsType;\n }>(GET_APP_SETTINGS, {\n fetchPolicy: \"network-only\",\n });\n\n const appSettings = data?.appSettings || null;\n\n return { appSettings, error, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n LEAVE_GAME_MUTATION,\n START_GAME_MUTATION,\n UPDATE_DAILY_CLUE_MUTATION,\n UPDATE_PUZZLE_GAME_MUTATION,\n} from \"src/graphql/mutations/game\";\nimport { GET_GAME, GET_GAMES } from \"src/graphql/queries/game/game\";\nimport { GET_USER } from \"src/graphql/queries/user\";\nimport { GameDocType } from \"src/types\";\n\nexport const useStartGame = () => {\n const [startGame, { loading, error }] = useMutation<{\n startGame: GameDocType;\n }>(START_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.startGame?._id;\n const userId = mutationResult?.data?.startGame?.owner?.userId;\n\n if (!gameId || !userId) return [];\n\n return [\n {\n query: GET_GAME,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n {\n query: GET_USER,\n variables: { _id: userId }, // Pass the userId for refetching\n },\n ];\n },\n });\n\n return { error, loading, startGame };\n};\n\nexport const useLeaveGame = () => {\n const [leaveGame, { loading, error }] = useMutation(LEAVE_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [\n {\n query: GET_GAMES,\n },\n ],\n });\n\n return { error, leaveGame, loading };\n};\n\nexport const useUpdateDailyClueGame = () => {\n const [updateDailyClueGame, { loading, error }] = useMutation<{\n updateDailyClueGame: GameDocType;\n }>(UPDATE_DAILY_CLUE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.updateDailyClueGame?._id;\n\n if (!gameId) return [];\n\n return [\n {\n query: GET_GAME,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateDailyClueGame };\n};\n\nexport const useUpdatePuzzleGame = () => {\n const [updatePuzzleGame, { loading, error }] = useMutation<{\n updatePuzzleGame: GameDocType;\n }>(UPDATE_PUZZLE_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.updatePuzzleGame?._id;\n\n if (!gameId) return [];\n\n return [\n {\n query: GET_GAME,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updatePuzzleGame };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { GAME_DOC_FIELDS_FRAGMENT } from \"../queries/game/game\";\n\nexport const START_GAME_MUTATION = gql`\n mutation startGame($input: BaseGameInputType!) {\n startGame(input: $input) {\n ...GameDocFields\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const LEAVE_GAME_MUTATION = gql`\n mutation leaveGame(\n $_id: ID!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n leaveGame(_id: $_id, gameType: $gameType, gameTypeId: $gameTypeId)\n }\n`;\n\nexport const UPDATE_DAILY_CLUE_MUTATION = gql`\n mutation updateDailyClueGame(\n $_id: ID!\n $foundLetter: String!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n updateDailyClueGame(\n _id: $_id\n foundLetter: $foundLetter\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n ...GameDocFields\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_PUZZLE_GAME_MUTATION = gql`\n mutation updatePuzzleGame(\n $_id: ID!\n $answeredQuestions: [PuzzleAnsweredQuestionInputType!]!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n updatePuzzleGame(\n _id: $_id\n answeredQuestions: $answeredQuestions\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n ...GameDocFields\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { OWNER_FIELDS_FRAGMENT } from \"../global\";\n\nimport {\n DAILY_CLUE_GAME_DATA_FIELDS_FRAGMENT,\n GAME_DATE_FIELDS_FRAGMENT,\n} from \"./dailyClue\";\nimport { PUZZLE_GAME_DATA_FIELDS_FRAGMENT } from \"./puzzleGame\";\n\nconst GAME_HISTORY_FIELDS_FRAGMENT = gql`\n fragment GameHistoryFields on GameHistoryType {\n createdAt\n gameDate {\n ...GameDateFields\n }\n gameStatus\n gameTitle\n gameType\n gameTypeId\n overallGamePoints\n pointsEarned\n }\n ${GAME_DATE_FIELDS_FRAGMENT}\n`;\n\nconst GAME_DATA_FIELDS_FRAGMENT = gql`\n fragment GameDataFields on GameDataType {\n dailyClue {\n ...DailyClueGameDataFields\n }\n miniQuiz {\n ...PuzzleGameDataFields\n }\n oddOneOut {\n ...PuzzleGameDataFields\n }\n }\n ${DAILY_CLUE_GAME_DATA_FIELDS_FRAGMENT}\n ${PUZZLE_GAME_DATA_FIELDS_FRAGMENT}\n`;\n\nconst GAME_FIELDS_FRAGMENT = gql`\n fragment GameFields on GameType {\n _id\n active\n createdAt\n gameData {\n ...GameDataFields\n }\n gameHistory {\n ...GameHistoryFields\n }\n gameType\n gameTypeId\n gameTitle\n updatedAt\n }\n ${GAME_DATA_FIELDS_FRAGMENT}\n ${GAME_HISTORY_FIELDS_FRAGMENT}\n`;\n\nexport const GAME_DOC_FIELDS_FRAGMENT = gql`\n fragment GameDocFields on GameDocType {\n _id\n active\n createdAt\n deletedAt\n games {\n ...GameFields\n }\n owner {\n ...OwnerFields\n }\n points\n updatedAt\n }\n ${OWNER_FIELDS_FRAGMENT}\n ${GAME_FIELDS_FRAGMENT}\n`;\n\nexport const GET_GAMES = gql`\n query getGames {\n games {\n ...GameDocFields\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const GET_GAME = gql`\n query getGame($_id: ID) {\n game(_id: $_id) {\n ...GameDocFields\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const GET_GAME_LEADERBOARD = gql`\n query getGameLeaderboard {\n gameLeaderboard {\n gameHistory {\n ...GameHistoryFields\n }\n overallPoints\n owner {\n ...OwnerFields\n }\n }\n }\n ${OWNER_FIELDS_FRAGMENT}\n ${GAME_HISTORY_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GET_GAME,\n GET_GAME_LEADERBOARD,\n GET_GAMES,\n} from \"src/graphql/queries/game/game\";\nimport { GameLeaderboard, GameDocType } from \"src/types/game\";\n\nexport const useGetGames = () => {\n const { loading, error, data, refetch } = useQuery<{\n games: GameDocType[];\n }>(GET_GAMES, {\n fetchPolicy: \"network-only\",\n });\n\n const games = data?.games || [];\n\n return { error, games, loading, refetch };\n};\n\nexport const useGetGame = (_id?: string | null) => {\n const { loading, error, data, refetch } = useQuery<{\n game: GameDocType | null;\n }>(GET_GAME, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: _id ? { _id } : undefined,\n });\n\n const game = data?.game || null;\n\n return { error, game, loading, refetch };\n};\n\nexport const useGetGameLeaderboard = () => {\n const { loading, error, data, refetch } = useQuery<{\n gameLeaderboard: GameLeaderboard[];\n }>(GET_GAME_LEADERBOARD, {\n fetchPolicy: \"network-only\",\n });\n\n const gameLeaderboard = data?.gameLeaderboard || [];\n\n return { error, gameLeaderboard, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_SCHOOL_MUTATION,\n DELETE_SCHOOL_MUTATION,\n REQUEST_MARKETING_MATERIAL_MUTATION,\n UPDATE_SCHOOL_MUTATION,\n} from \"../../mutations/school\";\nimport { GET_SCHOOLS } from \"../../queries/school\";\n\nexport const useCreateSchool = () => {\n const [createSchool, { loading, error }] = useMutation(\n CREATE_SCHOOL_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n },\n );\n\n return { createSchool, error, loading };\n};\n\nexport const useUpdateSchool = () => {\n const [updateSchool, { loading, error }] = useMutation(\n UPDATE_SCHOOL_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n },\n );\n\n return { error, loading, updateSchool };\n};\n\nexport const useDeleteSchool = () => {\n const [deleteSchool, { loading, error }] = useMutation(\n DELETE_SCHOOL_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n },\n );\n return { deleteSchool, error, loading };\n};\n\nexport const useRequestMarketingMaterial = () => {\n const [requestMarketingMaterial, { loading, error }] = useMutation(\n REQUEST_MARKETING_MATERIAL_MUTATION,\n );\n\n return { error, loading, requestMarketingMaterial };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { SCHOOL } from \"../queries/school\";\n\nexport const CREATE_SCHOOL_MUTATION = gql`\n mutation createSchool($input: SchoolInputType!) {\n createSchool(input: $input) {\n ...SchoolFields\n }\n }\n ${SCHOOL}\n`;\n\nexport const UPDATE_SCHOOL_MUTATION = gql`\n mutation updateSchool($_id: ID!, $input: SchoolInputType!) {\n updateSchool(_id: $_id, input: $input) {\n ...SchoolFields\n }\n }\n ${SCHOOL}\n`;\n\nexport const DELETE_SCHOOL_MUTATION = gql`\n mutation deleteSchool($_id: ID!) {\n deleteSchool(_id: $_id)\n }\n`;\n\nexport const REQUEST_MARKETING_MATERIAL_MUTATION = gql`\n mutation requestMarketingMaterial(\n $input: MarketingMaterialRequestInputType!\n ) {\n requestMarketingMaterial(input: $input) {\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n} from \"./global\";\n\nconst SCHOOL_REGISTERED_USERS_FIELDS_FRAGMENT = gql`\n fragment SchoolRegisteredUsersFields on SchoolRegisteredUserType {\n _id\n active\n avatar {\n ...ResourceImageFields\n }\n email\n firstName\n lastName\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nconst SCHOOL_CAMPAIGN_FIELDS_FRAGMENT = gql`\n fragment SchoolCampaignFields on SchoolCampaignType {\n endDate\n name\n startDate\n }\n`;\n\nexport const SCHOOL = gql`\n fragment SchoolFields on SchoolType {\n _id\n active\n approvedAt\n campaigns {\n ...SchoolCampaignFields\n }\n contactDetails {\n ...ContactDetailsFields\n }\n location {\n ...LocationFields\n }\n createdAt\n deletedAt\n logo {\n ...ResourceImageFields\n }\n name\n owner {\n ...OwnerFields\n }\n overallPoints\n ranking\n region\n studentCount\n schoolCode\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${OWNER_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${SCHOOL_CAMPAIGN_FIELDS_FRAGMENT}\n`;\n\nexport const GET_SCHOOL = gql`\n query getSchool($_id: ID!) {\n school(_id: $_id) {\n school {\n ...SchoolFields\n }\n users {\n ...SchoolRegisteredUsersFields\n }\n }\n }\n ${SCHOOL}\n ${SCHOOL_REGISTERED_USERS_FIELDS_FRAGMENT}\n`;\n\nexport const GET_SCHOOLS = gql`\n query getSchools {\n schools {\n ...SchoolFields\n }\n }\n ${SCHOOL}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { SchoolReturnType, SchoolType } from \"../../../types/school\";\nimport { GET_SCHOOL, GET_SCHOOLS } from \"../../queries/school\";\n\nexport const useGetSchools = () => {\n const { data, loading, error, refetch } = useQuery<{ schools: SchoolType[] }>(\n GET_SCHOOLS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n return {\n error,\n loading,\n refetch,\n schools: data?.schools || [],\n };\n};\n\nexport const useGetSchool = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n school: SchoolReturnType;\n }>(GET_SCHOOL, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n return {\n error,\n loading,\n refetch,\n school: data?.school || null,\n };\n};\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_AFFILIATE, GET_AFFILIATES } from \"src/graphql/queries/affiliate\";\nimport { AffiliateType } from \"src/types/affiliate\";\n\nexport const useGetAffiliate = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n affiliate: AffiliateType;\n }>(GET_AFFILIATE, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const affiliate = data?.affiliate;\n\n return {\n affiliate,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAffiliates = () => {\n const { data, loading, error, refetch } = useQuery<{\n affiliates: AffiliateType[];\n }>(GET_AFFILIATES, {\n fetchPolicy: \"network-only\",\n });\n\n const affiliates = data?.affiliates || [];\n\n return {\n affiliates,\n error,\n loading,\n refetch,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n} from \"./global\";\n\nconst AFFILIATE_REWARD_FIELDS_FRAGMENT = gql`\n fragment AffiliateRewardFields on AffiliateRewardType {\n createdAt\n redeemedAt\n rewardDescription\n rewardType\n rewardValue\n }\n`;\n\nconst AFFILIATE_RESOURCE_FIELDS_FRAGMENT = gql`\n fragment AffiliateResourceFields on AffiliateResourceType {\n resourceActive\n resourceDeletedAt\n resourceId\n resourceName\n resourceType\n rewards {\n ...AffiliateRewardFields\n }\n }\n ${AFFILIATE_REWARD_FIELDS_FRAGMENT}\n`;\n\nconst AFFILIATE_BANK_ACCOUNT_DETAILS_FIELDS_FRAGMENT = gql`\n fragment AffiliateBankAccountDetailsFields on AffiliateBankAccountDetailsType {\n accountHolderName\n accountNumber\n }\n`;\n\nconst AFFILIATE_DETAILS_FIELDS_FRAGMENT = gql`\n fragment AffiliateDetailsFields on AffiliateDetailsType {\n bankAccountDetails {\n ...AffiliateBankAccountDetailsFields\n }\n contactDetails {\n mobilePhone\n }\n irdNumber\n participantType\n email\n firstName\n lastName\n location {\n ...LocationFields\n }\n region\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n }\n ${AFFILIATE_BANK_ACCOUNT_DETAILS_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n`;\n\nexport const AFFILIATE_FIELDS_FRAGMENT = gql`\n fragment AffiliateFields on AffiliateType {\n _id\n active\n affiliateBonusRewards {\n ...AffiliateRewardFields\n }\n affiliateCode\n affiliateDetails {\n ...AffiliateDetailsFields\n }\n affiliateResources {\n ...AffiliateResourceFields\n }\n approvedAt\n createdAt\n deletedAt\n redeemHistory {\n redeemedAt\n rewardValue\n }\n overallPoints\n owner {\n ...OwnerFields\n }\n updatedAt\n }\n ${AFFILIATE_DETAILS_FIELDS_FRAGMENT}\n ${AFFILIATE_RESOURCE_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AFFILIATE = gql`\n query getAffiliate($_id: ID!) {\n affiliate(_id: $_id) {\n ...AffiliateFields\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AFFILIATES = gql`\n query getAffiliates {\n affiliates {\n ...AffiliateFields\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n DELETE_AFFILIATE_MUTATION,\n REDEEM_AFFILIATE_REWARD_MUTATION,\n UPDATE_AFFILIATE_DETAILS_MUTATION,\n} from \"src/graphql/mutations/affiliate\";\nimport { GET_AFFILIATE, GET_AFFILIATES } from \"src/graphql/queries/affiliate\";\n\nexport const useUpdateAffiliateDetails = () => {\n const [updateAffiliateDetails, { loading, error }] = useMutation(\n UPDATE_AFFILIATE_DETAILS_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId = mutationResult?.data?.updateAffiliateDetails?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n },\n );\n return { error, loading, updateAffiliateDetails };\n};\n\nexport const useDeleteAffiliate = () => {\n const [deleteAffiliate, { loading, error }] = useMutation(\n DELETE_AFFILIATE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_AFFILIATES }],\n },\n );\n return { deleteAffiliate, error, loading };\n};\n\nexport const useRedeemAffiliateReward = () => {\n const [redeemAffiliateReward, { loading, error }] = useMutation(\n REDEEM_AFFILIATE_REWARD_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId = mutationResult?.data?.redeemAffiliateReward?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n },\n );\n return { error, loading, redeemAffiliateReward };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AFFILIATE_FIELDS_FRAGMENT } from \"../queries/affiliate\";\n\nexport const UPDATE_AFFILIATE_DETAILS_MUTATION = gql`\n mutation updateAffiliateDetails(\n $input: AffiliateDetailsInputType!\n $affiliateId: ID!\n ) {\n updateAffiliateDetails(input: $input, affiliateId: $affiliateId) {\n ...AffiliateFields\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AFFILIATE_MUTATION = gql`\n mutation deleteAffiliate($_id: ID!) {\n deleteAffiliate(_id: $_id)\n }\n`;\n\nexport const REDEEM_AFFILIATE_REWARD_MUTATION = gql`\n mutation redeemAffiliateReward($affiliateId: ID!) {\n redeemAffiliateReward(affiliateId: $affiliateId) {\n ...AffiliateFields\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n"],"mappings":"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","names":["gql","gql","gql","gql","gql","gql","gql","adminUpdateResourceType","useMutation","gql","gql","gql","useMutation","gql","gql","useMutation","gql","useMutation","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useSubscription","gql","gql","useSubscription","useMutation","gql","gql","useMutation","useMutation","gql","useMutation","useMutation","gql","gql","useMutation","createRelation","updateRelation","deleteRelation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation","useQuery","gql","gql","useQuery","useMutation","gql","gql","useMutation","useQuery","gql","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useQuery","gql","gql","useQuery","useMutation","gql","gql","useMutation"]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  mapArrayToOptions
3
- } from "./chunk-VNF22ITY.mjs";
3
+ } from "./chunk-SWWVD4J5.mjs";
4
4
  import {
5
5
  EnumFoodFlavor
6
- } from "./chunk-VR3TDBJL.mjs";
6
+ } from "./chunk-X3OLM35T.mjs";
7
7
 
8
8
  // src/formFields/vendor/vendor.ts
9
9
  var vendorBasicInfoFields = [
@@ -959,4 +959,4 @@ export {
959
959
  contactUsFields,
960
960
  partnerBasicInfoFields
961
961
  };
962
- //# sourceMappingURL=chunk-AQR53ECY.mjs.map
962
+ //# sourceMappingURL=chunk-LN5LS2GJ.mjs.map
@@ -16,7 +16,7 @@ import {
16
16
  SHARE_TAGS_SECTION_HEADING,
17
17
  formatDate,
18
18
  joinShareDescriptionSections
19
- } from "./chunk-VNF22ITY.mjs";
19
+ } from "./chunk-SWWVD4J5.mjs";
20
20
 
21
21
  // src/sharing/formatCategoryLabel.ts
22
22
  function formatCategoryLabel(category) {
@@ -221,4 +221,4 @@ export {
221
221
  shareSlugResourceId,
222
222
  toShareSocialImageCacheVersion
223
223
  };
224
- //# sourceMappingURL=chunk-Y62E7JLT.mjs.map
224
+ //# sourceMappingURL=chunk-NU7IZZQY.mjs.map