@timardex/cluemart-shared 2.0.14 → 2.0.16
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.
- package/dist/{ad-C6QfVk6L.d.ts → ad-B4Acy8eW.d.ts} +5 -1
- package/dist/{ad-Dm8ht5tc.d.mts → ad-D_5m292R.d.mts} +5 -1
- package/dist/{chunk-VHYU2BPC.mjs → chunk-E23D3LUI.mjs} +2 -2
- package/dist/{chunk-BO7IQ33V.mjs → chunk-PSP5KDHQ.mjs} +9 -5
- package/dist/chunk-PSP5KDHQ.mjs.map +1 -0
- package/dist/{chunk-XU65BXAM.mjs → chunk-TJJ6XKJY.mjs} +7 -1
- package/dist/chunk-TJJ6XKJY.mjs.map +1 -0
- package/dist/formFields/index.mjs +2 -2
- package/dist/graphql/index.cjs +8 -4
- package/dist/graphql/index.cjs.map +1 -1
- package/dist/graphql/index.d.mts +2 -2
- package/dist/graphql/index.d.ts +2 -2
- package/dist/graphql/index.mjs +1 -1
- package/dist/hooks/index.cjs +6 -2
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.mjs +3 -3
- package/dist/index.cjs +15 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.mjs +14 -4
- package/dist/index.mjs.map +1 -1
- package/dist/types/index.cjs +7 -0
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.mjs +3 -1
- package/dist/utils/index.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-BO7IQ33V.mjs.map +0 -1
- package/dist/chunk-XU65BXAM.mjs.map +0 -1
- /package/dist/{chunk-VHYU2BPC.mjs.map → chunk-E23D3LUI.mjs.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphql/mutations/vendor.ts","../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/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/queries/adBooking.ts","../src/graphql/mutations/adBooking.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/billingCatalog/hooksMutation.ts","../src/graphql/mutations/billingCatalog.ts","../src/graphql/queries/billingCatalog.ts","../src/graphql/hooks/billingCatalog/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","../src/graphql/hooks/coupon/hooksMutation.ts","../src/graphql/mutations/coupon.ts","../src/graphql/queries/coupon.ts","../src/graphql/hooks/coupon/hooksQuery.ts","../src/graphql/hooks/usePaginatedList.ts"],"sourcesContent":["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 data {\n ...VendorFields\n }\n message\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 data {\n ...VendorFields\n }\n message\n }\n }\n ${VENDOR}\n`;\n\nexport const DELETE_VENDOR_MUTATION = gql`\n mutation deleteVendor($_id: ID!) {\n deleteVendor(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const CREATE_VENDOR_INFO_MUTATION = gql`\n mutation createVendorInfo($input: VendorInfoInputType!) {\n createVendorInfo(input: $input) {\n data {\n ...VendorInfoFields\n }\n message\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 data {\n ...VendorInfoFields\n }\n message\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const CREATE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation createUnregisteredVendor($input: UnregisteredVendorInputType!) {\n createUnregisteredVendor(input: $input) {\n data {\n ...UnregisteredVendorFields\n }\n message\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 data {\n ...UnregisteredVendorFields\n }\n message\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const DELETE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation deleteUnregisteredVendor($_id: ID!) {\n deleteUnregisteredVendor(_id: $_id) {\n data\n message\n }\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 data\n message\n }\n }\n`;\n\nexport const ACTIVATE_VENDOR_CLAIM_MUTATION = gql`\n mutation activateVendorClaim($token: String!) {\n activateVendorClaim(token: $token) {\n valid\n vendorName\n }\n }\n`;\n","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($options: PaginationOptions, $filter: PostListFilter) {\n posts(options: $options, filter: $filter) {\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!, $options: PaginationOptions) {\n postsByType(postType: $postType, options: $options) {\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 ADMIN_UPDATE_USER_VENDOR_LICENSE_MUTATION,\n} from \"src/graphql/mutations/admin\";\nimport { GET_EVENT } from \"src/graphql/queries/event\";\nimport { GET_VENDOR } from \"src/graphql/queries/vendor\";\nimport {\n AdminUpdateResourceType,\n MutationResponse,\n SafeUserType,\n} from \"src/types\";\n\nexport const useAdminUpdateResourceType = () => {\n const [adminUpdateResourceType, { loading, error }] = useMutation<{\n adminUpdateResourceType: MutationResponse<AdminUpdateResourceType>;\n }>(ADMIN_UPDATE_RESOURCE_TYPE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const adminUpdateResourceType =\n mutationResult?.data?.adminUpdateResourceType?.data;\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 adminResendUserVerificationEmail: MutationResponse<boolean>;\n }>(ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION);\n\n return {\n adminResendUserVerificationEmail,\n error,\n loading,\n };\n};\n\nexport const useAdminPermanentlyDeleteResource = () => {\n const [adminPermanentlyDeleteResource, { loading, error }] = useMutation<{\n adminPermanentlyDeleteResource: MutationResponse<boolean>;\n }>(ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION);\n\n return {\n adminPermanentlyDeleteResource,\n error,\n loading,\n };\n};\n\nexport const useAdminUpdateUserVendorLicense = () => {\n const [adminUpdateUserVendorLicense, { loading, error }] = useMutation<{\n adminUpdateUserVendorLicense: MutationResponse<SafeUserType>;\n }>(ADMIN_UPDATE_USER_VENDOR_LICENSE_MUTATION);\n\n return {\n adminUpdateUserVendorLicense,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const ADMIN_UPDATE_RESOURCE_TYPE_MUTATION = gql`\n mutation adminUpdateResourceType($input: AdminUpdateResourceInputType!) {\n adminUpdateResourceType(input: $input) {\n data {\n active\n resourceId\n resourceType\n }\n message\n }\n }\n`;\n\nexport const ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION = gql`\n mutation adminResendUserVerificationEmail($userId: ID!) {\n adminResendUserVerificationEmail(userId: $userId) {\n data\n message\n }\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 data\n message\n }\n }\n`;\n\nexport const ADMIN_UPDATE_USER_VENDOR_LICENSE_MUTATION = gql`\n mutation adminUpdateUserVendorLicense(\n $input: AdminUpdateUserVendorLicenseInputType!\n ) {\n adminUpdateUserVendorLicense(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n","import { PureQueryOptions, useMutation } from \"@apollo/client\";\n\nimport { ChatType, MutationResponse, ReportChatUser } from \"src/types\";\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 {\n CHAT,\n GET_CHATS_BY_REGION,\n PRIVATE_CHATS,\n RELATION_CHATS,\n} from \"../../queries/chat\";\n\nexport const useCreatePrivateChat = () => {\n const [createPrivateChat, { loading, error }] = useMutation<{\n createPrivateChat: MutationResponse<ChatType>;\n }>(CREATE_PRIVATE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: PRIVATE_CHATS }],\n });\n\n return { createPrivateChat, error, loading };\n};\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation<{\n sendChatMessage: MutationResponse<ChatType>;\n }>(SEND_CHAT_MESSAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?.data?._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<{\n deleteChat: MutationResponse<boolean>;\n }>(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: PRIVATE_CHATS }, { query: RELATION_CHATS }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation<{\n addParticipantToChat: MutationResponse<ChatType>;\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?.data?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n {\n query: PRIVATE_CHATS,\n },\n {\n query: RELATION_CHATS,\n },\n ];\n },\n });\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation<{\n removeParticipantFromChat: MutationResponse<{\n success: boolean;\n region?: string | null;\n }>;\n }>(REMOVE_PARTICIPANT_FROM_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult): PureQueryOptions[] => {\n const region =\n mutationResult?.data?.removeParticipantFromChat?.data?.region;\n\n const queries: PureQueryOptions[] = [\n { query: PRIVATE_CHATS },\n { query: RELATION_CHATS },\n ];\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: MutationResponse<ChatType>;\n }>(TOGGLE_CHAT_MESSAGE_LIKE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.toggleChatMessageLike?.data?._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: MutationResponse<ChatType>;\n }>(MARK_CHAT_MESSAGES_SEEN_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.markChatMessagesSeen?.data?._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 reportChatUser: MutationResponse<ReportChatUser>;\n }>(REPORT_CHAT_USER_MUTATION);\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 data {\n ...ChatFields\n }\n message\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 data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id) {\n data\n message\n }\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 data {\n ...ChatFields\n }\n message\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 data {\n success\n region\n }\n message\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 data {\n ...ChatFields\n }\n message\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 data {\n ...ChatFields\n }\n message\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 data {\n ...ChatReportFields\n }\n message\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 PRIVATE_CHATS = gql`\n query privateChats {\n privateChats {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const RELATION_CHATS = gql`\n query relationChats {\n relationChats {\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 PRIVATE_CHATS,\n RELATION_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 useGetPrivateChats = () => {\n const { loading, error, data, refetch } = useQuery<{\n privateChats: ChatType[];\n }>(PRIVATE_CHATS, {\n fetchPolicy: \"network-only\",\n });\n\n const privateChats = data?.privateChats || [];\n\n return { error, loading, privateChats, refetch };\n};\n\nexport const useGetRelationChats = () => {\n const { loading, error, data, refetch } = useQuery<{\n relationChats: ChatType[];\n }>(RELATION_CHATS, {\n fetchPolicy: \"network-only\",\n });\n\n const relationChats = data?.relationChats || [];\n\n return { error, loading, refetch, relationChats };\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 { MutationResponse } from \"src/types\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation<{\n contactUs: MutationResponse<boolean>;\n }>(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 data\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EventType, MutationResponse } from \"src/types\";\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<{\n createEvent: MutationResponse<EventType>;\n }>(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: MutationResponse<EventType>;\n }>(UPDATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEvent?.data?._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<{\n deleteEvent: MutationResponse<boolean>;\n }>(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: MutationResponse<{ eventId: string }>;\n }>(CREATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.createEventInfo?.data?.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: MutationResponse<{ eventId: string }>;\n }>(UPDATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEventInfo?.data?.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 data {\n ...EventFields\n }\n message\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 data {\n ...EventFields\n }\n message\n }\n }\n ${EVENT}\n`;\n\nexport const DELETE_EVENT_MUTATION = gql`\n mutation deleteEvent($_id: ID!) {\n deleteEvent(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const CREATE_EVENT_INFO_MUTATION = gql`\n mutation createEventInfo($input: EventInfoInputType!) {\n createEventInfo(input: $input) {\n data {\n ...EventInfoFields\n }\n message\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 data {\n ...EventInfoFields\n }\n message\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_BY_REGION,\n GET_EVENTS_NEAR_ME,\n GET_OWNED_EVENT,\n SEARCH_EVENTS,\n} from \"../../queries/event\";\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 useGetOwnedEvent = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n ownedEvent: EventType | null;\n }>(GET_OWNED_EVENT, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const event = data?.ownedEvent || 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 tags?: string[],\n) => {\n const { skip = false, ...queryOptions } = options ?? {};\n const hasOptions = Object.keys(queryOptions).length > 0;\n const variables = {\n dateStatus,\n ...(hasOptions ? { options: queryOptions } : {}),\n region,\n tags: (tags ?? []).filter(Boolean),\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n eventsByRegion: EventListItemType[];\n }>(GET_EVENTS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip: 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 search: string,\n region: string,\n tags?: string[],\n dateStatus?: EnumEventDateStatus,\n) => {\n const normalizedSearch = search.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\";\nimport { MutationResponse, NotificationType } from \"src/types\";\n\nexport const useCreateBulkNotifications = () => {\n const [createBulkNotifications, { loading, error }] = useMutation<{\n createBulkNotifications: MutationResponse<boolean>;\n }>(CREATE_BULK_NOTIFICATIONS);\n return { createBulkNotifications, error, loading };\n};\n\nexport const useMarkNotificationRead = () => {\n const [markNotificationRead, { loading, error }] = useMutation<{\n markNotificationRead: MutationResponse<NotificationType>;\n }>(MARK_NOTIFICATION_READ, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n });\n return { error, loading, markNotificationRead };\n};\n\nexport const useMarkAllNotificationsRead = () => {\n const [markAllNotificationsRead, { loading, error }] = useMutation<{\n markAllNotificationsRead: MutationResponse<boolean>;\n }>(MARK_ALL_NOTIFICATIONS_READ, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n });\n return { error, loading, markAllNotificationsRead };\n};\n\nexport const useDeleteNotification = () => {\n const [deleteNotification, { loading, error }] = useMutation<{\n deleteNotification: MutationResponse<boolean>;\n }>(DELETE_NOTIFICATION, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n });\n return { deleteNotification, error, loading };\n};\n\nexport const useDeleteAllNotifications = () => {\n const [deleteAllNotifications, { loading, error }] = useMutation<{\n deleteAllNotifications: MutationResponse<boolean>;\n }>(DELETE_ALL_NOTIFICATIONS, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\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 data\n message\n }\n }\n`;\n\nexport const MARK_NOTIFICATION_READ = gql`\n mutation markNotificationRead($_id: ID!) {\n markNotificationRead(_id: $_id) {\n data {\n ...NotificationFields\n }\n message\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_ALL_NOTIFICATIONS_READ = gql`\n mutation markAllNotificationsRead {\n markAllNotificationsRead {\n data\n message\n }\n }\n`;\n\nexport const DELETE_NOTIFICATION = gql`\n mutation deleteNotification($_id: ID!) {\n deleteNotification(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const DELETE_ALL_NOTIFICATIONS = gql`\n mutation deleteAllNotifications {\n deleteAllNotifications {\n data\n message\n }\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 { MutationResponse, PosterUsageType } from \"src/types\";\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 createPoster: MutationResponse<{ posterUsage: PosterUsageType }>;\n }>(CREATE_POSTER_MUTATION, {\n refetchQueries: [{ query: GET_USER_EVENTS }, { query: GET_USER_VENDORS }],\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 data {\n posterUsage {\n ...PosterUsageFields\n }\n }\n message\n }\n }\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse } from \"src/types\";\n\nimport { CREATE_PUSH_TOKEN_MUTATION } from \"../mutations/pushToken\";\n\nexport const useCreatePushToken = () => {\n const [createPushToken, { loading, error }] = useMutation<{\n createPushToken: MutationResponse<{ success: boolean }>;\n }>(CREATE_PUSH_TOKEN_MUTATION);\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 data {\n success\n }\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { MutationResponse, RelationType } from \"src/types\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { RELATION_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: MutationResponse<RelationType>;\n }>(CREATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const createRelation = mutationResult?.data?.createRelation?.data;\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: RELATION_CHATS,\n },\n ];\n },\n });\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation<{\n updateRelation: MutationResponse<RelationType>;\n }>(UPDATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const updateRelation = mutationResult?.data?.updateRelation?.data;\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: MutationResponse<RelationType>;\n }>(DELETE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const deleteRelation = mutationResult?.data?.deleteRelation?.data;\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: RELATION_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 data {\n ...RelationFields\n }\n message\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 data {\n ...RelationFields\n }\n message\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_RELATION_MUTATION = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n data {\n ...RelationFields\n }\n message\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 notifyOnNetworkStatusChange: true,\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\";\nimport {\n MutationResponse,\n UnregisteredVendorType,\n VendorClaimTokenValidation,\n VendorType,\n} from \"src/types\";\n\nimport {\n ACTIVATE_VENDOR_CLAIM_MUTATION,\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 createVendor: MutationResponse<VendorType>;\n }>(CREATE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n });\n\n return { createVendor, error, loading };\n};\n\nexport const useUpdateVendor = () => {\n const [updateVendor, { loading, error }] = useMutation<{\n updateVendor: MutationResponse<VendorType>;\n }>(UPDATE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const vendorId = mutationResult?.data?.updateVendor?.data?._id;\n\n if (!vendorId) return [];\n\n return [\n { query: GET_USER_VENDORS },\n { query: GET_VENDOR, variables: { _id: vendorId } },\n ];\n },\n });\n return { error, loading, updateVendor };\n};\n\nexport const useDeleteVendor = () => {\n const [deleteVendor, { loading, error }] = useMutation<{\n deleteVendor: MutationResponse<boolean>;\n }>(DELETE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n });\n return { deleteVendor, error, loading };\n};\n\nexport const useCreateVendorInfo = () => {\n const [createVendorInfo, { loading, error }] = useMutation<{\n createVendorInfo: MutationResponse<{ 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?.data?.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: MutationResponse<{ 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?.data?.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 createUnregisteredVendor: MutationResponse<UnregisteredVendorType>;\n }>(CREATE_UNREGISTERED_VENDOR_MUTATION);\n\n return { createUnregisteredVendor, error, loading };\n};\n\nexport const useUpdateUnregisteredVendor = () => {\n const [updateUnregisteredVendor, { loading, error }] = useMutation<{\n updateUnregisteredVendor: MutationResponse<UnregisteredVendorType>;\n }>(UPDATE_UNREGISTERED_VENDOR_MUTATION);\n return { error, loading, updateUnregisteredVendor };\n};\n\nexport const useDeleteUnregisteredVendor = () => {\n const [deleteUnregisteredVendor, { loading, error }] = useMutation<{\n deleteUnregisteredVendor: MutationResponse<boolean>;\n }>(DELETE_UNREGISTERED_VENDOR_MUTATION);\n return { deleteUnregisteredVendor, error, loading };\n};\n\nexport const useUnlinkUnregisteredVendorByInviterId = () => {\n const [unlinkUnregisteredVendorByInviterId, { loading, error }] =\n useMutation<{\n unlinkUnregisteredVendorByInviterId: MutationResponse<boolean>;\n }>(UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION);\n return { error, loading, unlinkUnregisteredVendorByInviterId };\n};\n\nexport const useActivateVendorClaim = () => {\n const [activateVendorClaim, { loading, error }] = useMutation<{\n activateVendorClaim: VendorClaimTokenValidation;\n }>(ACTIVATE_VENDOR_CLAIM_MUTATION);\n return { activateVendorClaim, error, loading };\n};\n","import { useQuery } from \"@apollo/client\";\n\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\nimport {\n MyPendingVendorClaim,\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_BY_REGION,\n MY_PENDING_VENDOR_CLAIM,\n SEARCH_VENDORS,\n} from \"../../queries/vendor\";\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 || null;\n\n return { error, loading, refetch, vendor };\n};\n\nexport const useGetVendorsByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n) => {\n const { skip = false, ...queryOptions } = options ?? {};\n const hasOptions = Object.keys(queryOptions).length > 0;\n const variables = {\n ...(hasOptions ? { options: queryOptions } : {}),\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n vendorsByRegion: VendorType[];\n }>(GET_VENDORS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip,\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 normalizedSearch = search.trim();\n\n const { loading, error, data, refetch } = useQuery<{\n vendorSearch: VendorType[];\n }>(SEARCH_VENDORS, {\n fetchPolicy: \"network-only\",\n skip: normalizedSearch.length < 3,\n variables: { region, search: normalizedSearch },\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 notifyOnNetworkStatusChange: true,\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\nexport const useMyPendingVendorClaim = (skip = false) => {\n const { loading, error, data, refetch } = useQuery<{\n myPendingVendorClaim: MyPendingVendorClaim | null;\n }>(MY_PENDING_VENDOR_CLAIM, {\n fetchPolicy: \"network-only\",\n skip,\n });\n\n return {\n error,\n loading,\n myPendingVendorClaim: data?.myPendingVendorClaim ?? null,\n refetch,\n };\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 {\n UserLicenceType,\n SafeUserType,\n RedeemRewardMutationResponse,\n MutationResponse,\n} 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: MutationResponse<SafeUserType>;\n }>(CREATE_USER_MUTATION);\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation<{\n updateUser: MutationResponse<SafeUserType>;\n }>(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?.data?._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<{\n deleteUser: MutationResponse<boolean>;\n }>(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\n};\n\nexport const useRedeemReward = () => {\n const [redeemReward, { loading, error }] = useMutation<{\n redeemReward: RedeemRewardMutationResponse;\n }>(REDEEM_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const userId = mutationResult?.data?.redeemReward?.data?.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 addUserFavouriteResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_FAVOURITE_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserFavouriteResource, error, loading };\n};\n\nexport const useRemoveUserFavouriteResource = () => {\n const [removeUserFavouriteResource, { loading, error }] = useMutation<{\n removeUserFavouriteResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_FAVOURITE_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserFavouriteResource };\n};\n\nexport const useAddUserInterestResource = () => {\n const [addUserInterestResource, { loading, error }] = useMutation<{\n addUserInterestResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_INTEREST_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserInterestResource, error, loading };\n};\n\nexport const useRemoveUserInterestResource = () => {\n const [removeUserInterestResource, { loading, error }] = useMutation<{\n removeUserInterestResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_INTEREST_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserInterestResource };\n};\n\nexport const useAddUserGoingResource = () => {\n const [addUserGoingResource, { loading, error }] = useMutation<{\n addUserGoingResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_GOING_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserGoingResource, error, loading };\n};\n\nexport const useRemoveUserGoingResource = () => {\n const [removeUserGoingResource, { loading, error }] = useMutation<{\n removeUserGoingResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_GOING_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserGoingResource };\n};\n\nexport const useAddUserPresentResource = () => {\n const [addUserPresentResource, { loading, error }] = useMutation<{\n addUserPresentResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_PRESENT_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserPresentResource, error, loading };\n};\n\nexport const useRemoveUserPresentResource = () => {\n const [removeUserPresentResource, { loading, error }] = useMutation<{\n removeUserPresentResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_PRESENT_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserPresentResource };\n};\n\nexport const useSelectStandardPackage = () => {\n const [selectStandardPackage, { loading, error }] = useMutation<{\n selectStandardPackage: MutationResponse<{\n userId: 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?.data?.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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_USER_MUTATION = gql`\n mutation deleteUser($email: String!) {\n deleteUser(email: $email) {\n data\n message\n }\n }\n`;\n\nexport const REDEEM_REWARD_MUTATION = gql`\n mutation redeemReward($input: RedeemRewardInputType!) {\n redeemReward(input: $input) {\n data {\n userId\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n ...UserFields\n }\n message\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 data {\n licences {\n ...LicenceFields\n }\n userId\n }\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\";\nimport { AdType, MutationResponse } from \"src/types\";\n\nexport const useCreateAd = () => {\n const [createAd, { loading, error }] = useMutation<{\n createAd: MutationResponse<AdType>;\n }>(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<{\n updateAd: MutationResponse<AdType>;\n }>(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<{\n deleteAd: MutationResponse<boolean>;\n }>(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 data {\n ...AdFields\n }\n message\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 data {\n ...AdFields\n }\n message\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AD_MUTATION = gql`\n mutation deleteAd($_id: ID!) {\n deleteAd(_id: $_id) {\n data\n message\n }\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 { gql } from \"@apollo/client\";\n\nexport const AD_BOOKING_FIELDS_FRAGMENT = gql`\n fragment AdBookingFields on AdBookingGraphQLType {\n _id\n adId\n approvalStatus\n dayKey\n placement\n region\n resource {\n adDescription\n adImage\n adStyle\n adTitle\n adType\n resourceId\n resourceName\n resourceRegion\n resourceSlug\n resourceType\n }\n slotKind\n state\n stripeCheckoutSessionId\n unitAmount\n }\n`;\n\nexport const GET_AD_DAY_AVAILABILITY = gql`\n query getAdDayAvailability(\n $region: String!\n $dayKey: String!\n $placement: AdShowOnEnum!\n ) {\n adDayAvailability(region: $region, dayKey: $dayKey, placement: $placement) {\n currency\n paidAvailable\n reservedAvailable\n unitAmount\n }\n }\n`;\n\nexport const GET_MY_AD_BOOKINGS = gql`\n query getMyAdBookings {\n myAdBookings {\n ...AdBookingFields\n }\n }\n ${AD_BOOKING_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AD_BOOKING = gql`\n query getAdBooking($id: ID!) {\n adBooking(id: $id) {\n ...AdBookingFields\n }\n }\n ${AD_BOOKING_FIELDS_FRAGMENT}\n`;\n\nexport const GET_PENDING_AD_BOOKINGS = gql`\n query getPendingAdBookings {\n pendingAdBookings {\n ...AdBookingFields\n }\n }\n ${AD_BOOKING_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AD_DAILY_PRICES = gql`\n query getAdDailyPrices {\n adDailyPrices {\n active\n currency\n key\n revision\n unitAmount\n }\n }\n`;\n\nexport const GET_AD_SETTINGS = gql`\n query getAdSettings {\n adSettings {\n approvalRequired\n minAppearancesPerHour\n paidSlotsPerPlacement\n reservedSlotsPerPlacement\n rotationSeconds\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { AD_BOOKING_FIELDS_FRAGMENT } from \"../queries/adBooking\";\n\nexport const CREATE_AD_CHECKOUT_MUTATION = gql`\n mutation createAdCheckout($input: CreateAdCheckoutInputGraphQLType!) {\n createAdCheckout(input: $input) {\n data {\n bookingId\n checkoutUrl\n sessionId\n }\n message\n }\n }\n`;\n\nexport const CLAIM_RESERVED_AD_DAY_MUTATION = gql`\n mutation claimReservedAdDay($input: ClaimReservedAdDayInputType!) {\n claimReservedAdDay(input: $input) {\n data {\n ...AdBookingFields\n }\n message\n }\n }\n ${AD_BOOKING_FIELDS_FRAGMENT}\n`;\n\nexport const APPROVE_AD_BOOKING_MUTATION = gql`\n mutation approveAdBooking($bookingId: ID!, $approved: Boolean!) {\n approveAdBooking(bookingId: $bookingId, approved: $approved) {\n data {\n ...AdBookingFields\n }\n message\n }\n }\n ${AD_BOOKING_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_AD_DAILY_PRICE_MUTATION = gql`\n mutation updateAdDailyPrice($input: UpdateAdDailyPriceInputGraphQLType!) {\n updateAdDailyPrice(input: $input) {\n data {\n active\n currency\n key\n revision\n unitAmount\n }\n message\n }\n }\n`;\n\nexport const UPDATE_AD_SETTINGS_MUTATION = gql`\n mutation updateAdSettings($input: UpdateAdSettingsInputGraphQLType!) {\n updateAdSettings(input: $input) {\n data {\n approvalRequired\n minAppearancesPerHour\n paidSlotsPerPlacement\n reservedSlotsPerPlacement\n rotationSeconds\n }\n message\n }\n }\n`;\n\nexport const RECORD_AD_IMPRESSION_MUTATION = gql`\n mutation recordAdImpression($input: RecordAdImpressionInputGraphQLType!) {\n recordAdImpression(input: $input) {\n data\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_RESOURCE_ACTIVITY_MUTATION } from \"src/graphql/mutations/resourceActivities\";\nimport { MutationResponse } from \"src/types\";\n\nexport const useCreateResourceActivity = () => {\n const [createResourceActivity, { loading, error }] = useMutation<{\n createResourceActivity: MutationResponse<boolean>;\n }>(CREATE_RESOURCE_ACTIVITY_MUTATION);\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 data\n message\n }\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 { MutationResponse, SubscriptionStatusData } from \"src/types\";\n\nimport {\n CANCEL_SUBSCRIPTION_MUTATION,\n CREATE_CHECKOUT_SESSION_MUTATION,\n CREATE_CUSTOMER_PORTAL,\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n} from \"../../mutations/stripe\";\n\nexport const useCreateCheckoutSession = () => {\n const [createCheckoutSession, { loading, error }] = useMutation<{\n createCheckoutSession: MutationResponse<{\n sessionId: string;\n checkoutUrl: string;\n }>;\n }>(CREATE_CHECKOUT_SESSION_MUTATION);\n\n return { createCheckoutSession, error, loading };\n};\n\nexport const useCancelSubscription = () => {\n const [cancelSubscription, { loading, error }] = useMutation<{\n cancelSubscription: MutationResponse<SubscriptionStatusData>;\n }>(CANCEL_SUBSCRIPTION_MUTATION);\n\n return { cancelSubscription, error, loading };\n};\n\nexport const useUpdateSubscriptionPlan = () => {\n const [updateSubscriptionPlan, { loading, error }] = useMutation<{\n updateSubscriptionPlan: MutationResponse<SubscriptionStatusData>;\n }>(UPDATE_SUBSCRIPTION_PLAN_MUTATION);\n\n return { error, loading, updateSubscriptionPlan };\n};\n\nexport const useCreateCustomerPortal = () => {\n const [createCustomerPortal, { loading, error }] = useMutation<{\n createCustomerPortal: MutationResponse<{ portalUrl: string }>;\n }>(CREATE_CUSTOMER_PORTAL);\n\n return { createCustomerPortal, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_CHECKOUT_SESSION_MUTATION = gql`\n mutation createCheckoutSession($input: CreateCheckoutSessionInputType!) {\n createCheckoutSession(input: $input) {\n data {\n sessionId\n checkoutUrl\n }\n message\n }\n }\n`;\n\nexport const CANCEL_SUBSCRIPTION_MUTATION = gql`\n mutation cancelSubscription {\n cancelSubscription {\n data {\n billingPeriod\n cancelAtPeriodEnd\n currentPlan\n endDate\n pendingBillingPeriod\n pendingChangeEffectiveAt\n pendingPlan\n priceId\n scheduleId\n status\n subscriptionId\n }\n message\n }\n }\n`;\n\nexport const UPDATE_SUBSCRIPTION_PLAN_MUTATION = gql`\n mutation updateSubscriptionPlan($input: UpdateSubscriptionPlanInputType!) {\n updateSubscriptionPlan(input: $input) {\n data {\n billingPeriod\n cancelAtPeriodEnd\n currentPlan\n endDate\n pendingBillingPeriod\n pendingChangeEffectiveAt\n pendingPlan\n priceId\n scheduleId\n status\n subscriptionId\n }\n message\n }\n }\n`;\n\nexport const CREATE_CUSTOMER_PORTAL = gql`\n mutation createCustomerPortal($returnUrl: String) {\n createCustomerPortal(returnUrl: $returnUrl) {\n data {\n portalUrl\n }\n message\n }\n }\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 billingPeriod\n cancelAtPeriodEnd\n currentPlan\n endDate\n paymentFailedAt\n paymentGracePeriodEndsAt\n pendingBillingPeriod\n pendingChangeEffectiveAt\n pendingPlan\n priceId\n scheduleId\n status\n subscriptionId\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 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_PARTNER } from \"src/graphql/queries/partner\";\nimport { GET_USER_PARTNERS } from \"src/graphql/queries/user\";\nimport { MutationResponse, PartnerType } from \"src/types\";\n\nexport const useCreatePartner = () => {\n const [createPartner, { loading, error }] = useMutation<{\n createPartner: MutationResponse<PartnerType>;\n }>(CREATE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n });\n\n return { createPartner, error, loading };\n};\n\nexport const useUpdatePartner = () => {\n const [updatePartner, { loading, error }] = useMutation<{\n updatePartner: MutationResponse<PartnerType>;\n }>(UPDATE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const partnerId = mutationResult?.data?.updatePartner?.data?._id;\n\n if (!partnerId) return [];\n\n return [\n { query: GET_USER_PARTNERS },\n { query: GET_PARTNER, variables: { _id: partnerId } },\n ];\n },\n });\n\n return { error, loading, updatePartner };\n};\n\nexport const useDeletePartner = () => {\n const [deletePartner, { loading, error }] = useMutation<{\n deletePartner: MutationResponse<boolean>;\n }>(DELETE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\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 data {\n ...PartnerFields\n }\n message\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 data {\n ...PartnerFields\n }\n message\n }\n }\n ${PARTNER}\n`;\n\nexport const DELETE_PARTNER_MUTATION = gql`\n mutation deletePartner($_id: ID!) {\n deletePartner(_id: $_id) {\n data\n message\n }\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_BY_REGION,\n SEARCH_PARTNERS,\n} from \"../../queries/partner\";\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 { skip = false, ...queryOptions } = options ?? {};\n const hasOptions = Object.keys(queryOptions).length > 0;\n const variables = {\n ...(hasOptions ? { options: queryOptions } : {}),\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n partnersByRegion: PartnerType[];\n }>(GET_PARTNERS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip,\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 normalizedSearch = search.trim();\n\n const { loading, error, data, refetch } = useQuery<{\n partnersSearch: PartnerType[];\n }>(SEARCH_PARTNERS, {\n fetchPolicy: \"network-only\",\n skip: normalizedSearch.length < 3,\n variables: { region, search: normalizedSearch },\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\";\nimport { MutationResponse, PostType } from \"src/types\";\n\nexport const useCreatePost = () => {\n const [createPost, { loading, error }] = useMutation<{\n createPost: MutationResponse<PostType>;\n }>(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<{\n updatePost: MutationResponse<PostType>;\n }>(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<{\n deletePost: MutationResponse<boolean>;\n }>(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 data {\n ...PostFields\n }\n message\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 data {\n ...PostFields\n }\n message\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_POST_MUTATION = gql`\n mutation deletePost($_id: ID!) {\n deletePost(_id: $_id) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_POST } from \"src/graphql/queries/post\";\nimport { PostType } from \"src/types\";\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","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\";\nimport { MutationResponse } from \"src/types\";\n\nexport const useUpdateAppSettings = () => {\n const [updateAppSettings, { loading, error }] = useMutation<{\n updateAppSettings: MutationResponse<boolean>;\n }>(UPDATE_APP_SETTINGS_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_APP_SETTINGS }],\n });\n\n return { error, loading, updateAppSettings };\n};\n\nexport const useCrawlGoogleMarkets = () => {\n const [crawlGoogleMarkets, { loading, error }] = useMutation<{\n crawlGoogleMarkets: MutationResponse<boolean>;\n }>(CRAWL_GOOGLE_MARKETS_MUTATION);\n\n return { crawlGoogleMarkets, error, loading };\n};\n\nexport const useUpdateGoogleImportedMarkets = () => {\n const [updateGoogleImportedMarkets, { loading, error }] = useMutation<{\n updateGoogleImportedMarkets: MutationResponse<boolean>;\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 data\n message\n }\n }\n`;\n\nexport const CRAWL_GOOGLE_MARKETS_MUTATION = gql`\n mutation crawlGoogleMarkets {\n crawlGoogleMarkets {\n data\n message\n }\n }\n`;\n\nexport const UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION = gql`\n mutation updateGoogleImportedMarkets {\n updateGoogleImportedMarkets {\n data\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 adSettings {\n mobileDisplayEnabled\n webDisplayEnabled\n }\n appVersion\n createdAt\n isOfflineMode\n key\n minimumRedeemableAffiliatePoints\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 skip = false,\n}: { skip?: boolean } = {}) => {\n const { loading, error, data, refetch } = useQuery<{\n appSettings: AppSettingsType;\n }>(GET_APP_SETTINGS, {\n fetchPolicy: \"network-only\",\n skip,\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 SYNC_BILLING_CATALOG_PRICE_MUTATION,\n UPDATE_BILLING_CATALOG_PRICE_MUTATION,\n} from \"src/graphql/mutations/billingCatalog\";\nimport { GET_BILLING_CATALOG } from \"src/graphql/queries/billingCatalog\";\nimport { BillingCatalogEntryType } from \"src/types/billingCatalog\";\nimport { MutationResponse } from \"src/types/global\";\n\nexport const useUpdateBillingCatalogPrice = () => {\n const [updateBillingCatalogPrice, { error, loading }] = useMutation<{\n updateBillingCatalogPrice: MutationResponse<BillingCatalogEntryType>;\n }>(UPDATE_BILLING_CATALOG_PRICE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_BILLING_CATALOG }],\n });\n\n return { error, loading, updateBillingCatalogPrice };\n};\n\nexport const useSyncBillingCatalogPrice = () => {\n const [syncBillingCatalogPrice, { error, loading }] = useMutation<{\n syncBillingCatalogPrice: MutationResponse<BillingCatalogEntryType>;\n }>(SYNC_BILLING_CATALOG_PRICE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_BILLING_CATALOG }],\n });\n\n return { error, loading, syncBillingCatalogPrice };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { BILLING_CATALOG_FIELDS_FRAGMENT } from \"../queries/billingCatalog\";\n\nexport const UPDATE_BILLING_CATALOG_PRICE_MUTATION = gql`\n mutation updateBillingCatalogPrice(\n $input: UpdateBillingCatalogPriceInputType!\n ) {\n updateBillingCatalogPrice(input: $input) {\n data {\n ...BillingCatalogFields\n }\n message\n }\n }\n ${BILLING_CATALOG_FIELDS_FRAGMENT}\n`;\n\nexport const SYNC_BILLING_CATALOG_PRICE_MUTATION = gql`\n mutation syncBillingCatalogPrice($input: SyncBillingCatalogPriceInputType!) {\n syncBillingCatalogPrice(input: $input) {\n data {\n ...BillingCatalogFields\n }\n message\n }\n }\n ${BILLING_CATALOG_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const BILLING_CATALOG_FIELDS_FRAGMENT = gql`\n fragment BillingCatalogFields on BillingCatalogEntryType {\n _id\n active\n billingPeriod\n createdAt\n currency\n effectiveFrom\n key\n licenceType\n revision\n stripePriceId\n stripeProductId\n taxInclusive\n unitAmount\n updatedAt\n updatedBy\n }\n`;\n\nexport const GET_BILLING_CATALOG = gql`\n query getBillingCatalog {\n billingCatalog {\n ...BillingCatalogFields\n }\n }\n ${BILLING_CATALOG_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_BILLING_CATALOG } from \"src/graphql/queries/billingCatalog\";\nimport { BillingCatalogEntryType } from \"src/types/billingCatalog\";\n\nexport const useGetBillingCatalog = () => {\n const { data, error, loading, refetch } = useQuery<{\n billingCatalog: BillingCatalogEntryType[];\n }>(GET_BILLING_CATALOG, {\n fetchPolicy: \"network-only\",\n });\n\n return {\n billingCatalog: data?.billingCatalog ?? [],\n error,\n loading,\n refetch,\n };\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, MutationResponse } from \"src/types\";\n\nexport const useStartGame = () => {\n const [startGame, { loading, error }] = useMutation<{\n startGame: MutationResponse<GameDocType>;\n }>(START_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.startGame?.data?._id;\n const userId = mutationResult?.data?.startGame?.data?.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<{\n leaveGame: MutationResponse<boolean>;\n }>(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: MutationResponse<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?.data?._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: MutationResponse<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?.data?._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 data {\n ...GameDocFields\n }\n message\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 data\n message\n }\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 data {\n ...GameDocFields\n }\n message\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 data {\n ...GameDocFields\n }\n message\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 nickName\n overallPoints\n userId\n }\n }\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 { MutationResponse, SchoolType } from \"src/types\";\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 createSchool: MutationResponse<SchoolType>;\n }>(CREATE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n });\n\n return { createSchool, error, loading };\n};\n\nexport const useUpdateSchool = () => {\n const [updateSchool, { loading, error }] = useMutation<{\n updateSchool: MutationResponse<SchoolType>;\n }>(UPDATE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n });\n\n return { error, loading, updateSchool };\n};\n\nexport const useDeleteSchool = () => {\n const [deleteSchool, { loading, error }] = useMutation<{\n deleteSchool: MutationResponse<boolean>;\n }>(DELETE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n });\n return { deleteSchool, error, loading };\n};\n\nexport const useRequestMarketingMaterial = () => {\n const [requestMarketingMaterial, { loading, error }] = useMutation<{\n requestMarketingMaterial: MutationResponse<boolean>;\n }>(REQUEST_MARKETING_MATERIAL_MUTATION);\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 data {\n ...SchoolFields\n }\n message\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 data {\n ...SchoolFields\n }\n message\n }\n }\n ${SCHOOL}\n`;\n\nexport const DELETE_SCHOOL_MUTATION = gql`\n mutation deleteSchool($_id: ID!) {\n deleteSchool(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const REQUEST_MARKETING_MATERIAL_MUTATION = gql`\n mutation requestMarketingMaterial(\n $input: MarketingMaterialRequestInputType!\n ) {\n requestMarketingMaterial(input: $input) {\n data\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 resourceOwner {\n ...OwnerFields\n }\n resourceType\n rewards {\n ...AffiliateRewardFields\n }\n }\n ${AFFILIATE_REWARD_FIELDS_FRAGMENT}\n ${OWNER_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 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 paidAt\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 ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION,\n ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION,\n CREATE_AFFILIATE_MUTATION,\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\";\nimport { AffiliateType, MutationResponse } from \"src/types\";\n\nexport const useCreateAffiliate = () => {\n const [createAffiliate, { loading, error }] = useMutation<{\n createAffiliate: MutationResponse<AffiliateType>;\n }>(CREATE_AFFILIATE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId = mutationResult?.data?.createAffiliate?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { createAffiliate, error, loading };\n};\n\nexport const useUpdateAffiliateDetails = () => {\n const [updateAffiliateDetails, { loading, error }] = useMutation<{\n updateAffiliateDetails: MutationResponse<AffiliateType>;\n }>(UPDATE_AFFILIATE_DETAILS_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.updateAffiliateDetails?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { error, loading, updateAffiliateDetails };\n};\n\nexport const useDeleteAffiliate = () => {\n const [deleteAffiliate, { loading, error }] = useMutation<{\n deleteAffiliate: MutationResponse<boolean>;\n }>(DELETE_AFFILIATE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_AFFILIATES }],\n });\n return { deleteAffiliate, error, loading };\n};\n\nexport const useRedeemAffiliateReward = () => {\n const [redeemAffiliateReward, { loading, error }] = useMutation<{\n redeemAffiliateReward: MutationResponse<AffiliateType>;\n }>(REDEEM_AFFILIATE_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.redeemAffiliateReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { error, loading, redeemAffiliateReward };\n};\n\nexport const useAssignAffiliateResourceReward = () => {\n const [assignAffiliateResourceReward, { loading, error }] = useMutation<{\n assignAffiliateResourceReward: MutationResponse<AffiliateType>;\n }>(ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.assignAffiliateResourceReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { assignAffiliateResourceReward, error, loading };\n};\n\nexport const useAssignAffiliateBonusReward = () => {\n const [assignAffiliateBonusReward, { loading, error }] = useMutation<{\n assignAffiliateBonusReward: MutationResponse<AffiliateType>;\n }>(ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.assignAffiliateBonusReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { assignAffiliateBonusReward, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AFFILIATE_FIELDS_FRAGMENT } from \"../queries/affiliate\";\n\nexport const CREATE_AFFILIATE_MUTATION = gql`\n mutation createAffiliate($input: AffiliateDetailsInputType!) {\n createAffiliate(input: $input) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\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 data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AFFILIATE_MUTATION = gql`\n mutation deleteAffiliate($_id: ID!) {\n deleteAffiliate(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const REDEEM_AFFILIATE_REWARD_MUTATION = gql`\n mutation redeemAffiliateReward($affiliateId: ID!) {\n redeemAffiliateReward(affiliateId: $affiliateId) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION = gql`\n mutation assignAffiliateResourceReward(\n $affiliateId: ID!\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $rewardType: AffiliateRewardEnumType!\n ) {\n assignAffiliateResourceReward(\n affiliateId: $affiliateId\n resourceId: $resourceId\n resourceType: $resourceType\n rewardType: $rewardType\n ) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION = gql`\n mutation assignAffiliateBonusReward(\n $affiliateId: ID!\n $rewardType: AffiliateRewardEnumType!\n ) {\n assignAffiliateBonusReward(\n affiliateId: $affiliateId\n rewardType: $rewardType\n ) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_COUPON_MUTATION,\n DELETE_COUPON_MUTATION,\n REWARD_COUPON_MUTATION,\n SCAN_COUPON_MUTATION,\n UPDATE_COUPON_MUTATION,\n} from \"../../../graphql/mutations/coupon\";\nimport { GET_COUPONS } from \"../../../graphql/queries/coupon\";\nimport { MutationResponse } from \"../../../types\";\nimport { CouponType } from \"../../../types/coupon\";\n\nexport const useCreateCoupon = () => {\n const [createCoupon, { loading, error }] = useMutation<{\n createCoupon: MutationResponse<CouponType>;\n }>(CREATE_COUPON_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [GET_COUPONS],\n });\n\n return { createCoupon, error, loading };\n};\n\nexport const useUpdateCoupon = () => {\n const [updateCoupon, { loading, error }] = useMutation<{\n updateCoupon: MutationResponse<CouponType>;\n }>(UPDATE_COUPON_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [GET_COUPONS],\n });\n\n return { error, loading, updateCoupon };\n};\n\nexport const useDeleteCoupon = () => {\n const [deleteCoupon, { loading, error }] = useMutation<{\n deleteCoupon: MutationResponse<boolean>;\n }>(DELETE_COUPON_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [GET_COUPONS],\n });\n\n return { deleteCoupon, error, loading };\n};\n\nexport const useScanCoupon = () => {\n // No automatic refetch: refetching `GET_COUPONS` after a scan removes the\n // just-scanned coupon from the Active list, which unmounts the scanner modal\n // before the success result can render. The consumer refreshes the list\n // itself once the result is acknowledged (see ScanCoupon.tsx).\n const [scanCoupon, { loading, error }] = useMutation<{\n scanCoupon: MutationResponse<boolean>;\n }>(SCAN_COUPON_MUTATION);\n\n return { error, loading, scanCoupon };\n};\n\nexport const useRewardCoupon = () => {\n const [rewardCoupon, { loading, error }] = useMutation<{\n rewardCoupon: MutationResponse<boolean>;\n }>(REWARD_COUPON_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [GET_COUPONS],\n });\n\n return { error, loading, rewardCoupon };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { COUPON } from \"../queries/coupon\";\n\nexport const CREATE_COUPON_MUTATION = gql`\n mutation createCoupon($input: CouponInputType!) {\n createCoupon(input: $input) {\n data {\n ...CouponFields\n }\n message\n }\n }\n ${COUPON}\n`;\n\nexport const UPDATE_COUPON_MUTATION = gql`\n mutation updateCoupon(\n $couponDocumentId: ID!\n $couponId: ID!\n $input: CouponInputType!\n ) {\n updateCoupon(\n couponDocumentId: $couponDocumentId\n couponId: $couponId\n input: $input\n ) {\n data {\n ...CouponFields\n }\n message\n }\n }\n ${COUPON}\n`;\n\nexport const DELETE_COUPON_MUTATION = gql`\n mutation deleteCoupon($input: ProductCouponInputType!) {\n deleteCoupon(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const SCAN_COUPON_MUTATION = gql`\n mutation scanCoupon($input: ProductCouponInputType!) {\n scanCoupon(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const REWARD_COUPON_MUTATION = gql`\n mutation rewardCoupon($input: ProductCouponInputType!, $userId: ID!) {\n rewardCoupon(input: $input, userId: $userId) {\n data\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n} from \"./global\";\nimport { VENDOR_PRODUCT_LIST_FIELDS_FRAGMENT } from \"./vendor\";\n\nconst COUPON_CODE_FIELDS_FRAGMENT = gql`\n fragment CouponCodeFields on CouponCodeType {\n code\n qrCode {\n ...ResourceImageFields\n }\n shareableQrCode {\n ...ResourceImageFields\n }\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nconst COUPON_PARTICIPANT_USER_FIELDS_FRAGMENT = gql`\n fragment CouponParticipantUserFields on CouponParticipantUserType {\n couponCollectedCount\n couponRedeemedAt\n couponRedeemedCount\n couponCycleRedeemed\n createdAt\n updatedAt\n userId\n nickName\n }\n`;\n\nconst COUPON_OPTION_FIELDS_FRAGMENT = gql`\n fragment CouponOptionFields on CouponOptionType {\n type\n buy\n get\n unit\n visits\n maxRewardCount\n }\n`;\n\nconst COUPON_VENDOR_PRODUCT_FIELDS_FRAGMENT = gql`\n fragment CouponVendorProductFields on CouponVendorProductType {\n couponId\n vendorId\n productId\n vendorCouponId\n }\n`;\n\nconst COUPON_DATA_PRODUCTS_FIELDS_FRAGMENT = gql`\n fragment CouponDataProductsFields on CouponDataProductsType {\n active\n couponId\n productsList {\n ...VendorProductListFields\n }\n vendorId\n vendorLogo {\n ...ResourceImageFields\n }\n vendorName\n }\n ${VENDOR_PRODUCT_LIST_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nconst COUPON_DATA_FIELDS_FRAGMENT = gql`\n fragment CouponDataFields on CouponDataType {\n _id\n active\n couponCode {\n ...CouponCodeFields\n }\n couponDescription\n couponOption {\n ...CouponOptionFields\n }\n couponVendorProducts {\n ...CouponVendorProductFields\n }\n createdAt\n deletedAt\n endDate\n participantUsers {\n ...CouponParticipantUserFields\n }\n products {\n ...CouponDataProductsFields\n }\n resourceId\n resourceType\n startDate\n updatedAt\n }\n ${COUPON_CODE_FIELDS_FRAGMENT}\n ${COUPON_OPTION_FIELDS_FRAGMENT}\n ${COUPON_PARTICIPANT_USER_FIELDS_FRAGMENT}\n ${COUPON_VENDOR_PRODUCT_FIELDS_FRAGMENT}\n ${COUPON_DATA_PRODUCTS_FIELDS_FRAGMENT}\n`;\n\nexport const COUPON = gql`\n fragment CouponFields on CouponType {\n _id\n active\n couponData {\n ...CouponDataFields\n }\n createdAt\n deletedAt\n owner {\n ...OwnerFields\n }\n updatedAt\n }\n ${OWNER_FIELDS_FRAGMENT}\n ${COUPON_DATA_FIELDS_FRAGMENT}\n`;\n\nexport const GET_COUPONS = gql`\n query getCoupons(\n $region: String\n $category: String\n $resourceId: String\n $resourceType: ResourceTypeEnum\n ) {\n coupons(\n region: $region\n category: $category\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n active {\n listName\n data {\n ...CouponFields\n }\n }\n owned {\n listName\n data {\n ...CouponFields\n }\n }\n scanned {\n listName\n data {\n ...CouponFields\n }\n }\n }\n }\n ${COUPON}\n`;\n\nexport const GET_COUPON = gql`\n query getCoupon($_id: ID!) {\n coupon(_id: $_id) {\n ...CouponFields\n }\n }\n ${COUPON}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { CouponType, CouponTypeList } from \"../../../types/coupon\";\nimport { GET_COUPON, GET_COUPONS } from \"../../queries/coupon\";\n\nexport type GetCouponsVariables = {\n category?: string | null;\n region?: string | null;\n resourceId?: string | null;\n resourceType?: EnumResourceType | null;\n};\n\nexport const useGetCoupons = (variables?: GetCouponsVariables) => {\n const { loading, error, data, refetch } = useQuery<{\n coupons: CouponTypeList | null;\n }>(GET_COUPONS, {\n fetchPolicy: \"network-only\",\n variables,\n });\n\n const coupons = data?.coupons || {\n active: null,\n owned: null,\n scanned: null,\n };\n\n return { coupons, error, loading, refetch };\n};\n\nexport const useGetCoupon = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n coupon: CouponType | null;\n }>(GET_COUPON, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const coupon = data?.coupon || null;\n\n return { coupon, error, loading, refetch };\n};\n","import { useQuery } from \"@apollo/client\";\nimport type { ApolloError, DocumentNode } from \"@apollo/client\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport {\n accumulateItems,\n DEFAULT_PAGE_SIZE,\n defaultGetId,\n} from \"../../utils/pagination\";\n\nexport interface UsePaginatedListArgs<TData, TItem> {\n /** GraphQL query document (must accept `options: PaginationOptions`). */\n document: DocumentNode;\n /** Extract the page's items from the query result. */\n getItems: (data: TData | undefined) => TItem[];\n /** Extra (non-pagination) query variables, e.g. `{ postType }`. */\n variables?: Record<string, unknown>;\n /** Skip the query entirely (e.g. when a required variable is empty). */\n skip?: boolean;\n pageSize?: number;\n /** Override the identity key (defaults to `_id`). */\n getId?: (item: TItem) => string;\n}\n\nexport interface UsePaginatedListResult<TItem> {\n /** Accumulated, de-duplicated items across all loaded pages. */\n items: TItem[];\n /** True while a full page has been loaded and another page may exist. */\n hasMore: boolean;\n /** True during the very first page load. */\n loading: boolean;\n /** True while a subsequent page is loading (not the first). */\n loadingMore: boolean;\n error: ApolloError | undefined;\n /** Loads the next page (or retries the current page when errored). */\n loadMore: () => void;\n /** Resets pagination and re-fetches page 0. */\n refresh: () => Promise<unknown>;\n}\n\n/**\n * Offset-based \"Load more\" pagination, generalizing the affiliate users pattern.\n *\n * The hook owns the offset and accumulation; the caller supplies a GraphQL\n * document plus an accessor for extracting items from that resource's response\n * shape (each field has a different data key and item type). `hasMore` is\n * derived from a one-row probe (`pageSize + 1` fetch) and is frozen while a page\n * is in flight, so it reaches `false` without flickering away mid-load.\n */\nexport function usePaginatedList<TData, TItem>({\n document,\n getItems,\n variables,\n skip = false,\n pageSize = DEFAULT_PAGE_SIZE,\n getId = defaultGetId,\n}: UsePaginatedListArgs<TData, TItem>): UsePaginatedListResult<TItem> {\n // Fail fast on an invalid page size: the probe math below assumes a positive\n // integer. Otherwise `0`/negative values make `setOffset` never advance (or\n // move backward) while `limit: pageSize + 1` collapses, causing stuck lists\n // and repeated fetches of the same offset.\n if (!Number.isInteger(pageSize) || pageSize <= 0) {\n throw new Error(\n `usePaginatedList: pageSize must be a positive integer, received ${String(pageSize)}.`,\n );\n }\n\n const [offset, setOffset] = useState(0);\n const [items, setItems] = useState<TItem[]>([]);\n const [hasMore, setHasMore] = useState(!skip);\n const [hasSettled, setHasSettled] = useState(false);\n\n // Stable identity for the caller-supplied variables. Inline object literals\n // are recreated on every render, so keying on the object reference would\n // reset pagination every render; keying on the serialized value resets only\n // when the contents actually change.\n const variablesKey = JSON.stringify(variables ?? null);\n\n // Reset pagination whenever the query inputs change (`variables` or\n // `pageSize`) or when skipping toggles — not only when `skip` becomes true.\n // Otherwise changing `{ postType }` mid-list would mix results across\n // variable sets, and `hasMore` would stay stuck `false` after an un-skip\n // until the first response lands.\n useEffect(() => {\n setItems([]);\n setHasMore(!skip);\n setHasSettled(false);\n setOffset(0);\n }, [variablesKey, pageSize, skip]);\n\n // Fetch `pageSize + 1` rows and treat the extra row as a probe: `hasMore` is\n // then determined from the response itself, avoiding a follow-up empty-page\n // fetch when the total is an exact multiple of `pageSize`. The probe row is\n // dropped from the accumulated page and re-fetched as the first row of the\n // next page. Note: `pageSize` must stay below the server list cap\n // (MAX_LIST_PAGE_SIZE = 1000) for the probe to remain effective.\n const { data, loading, error, refetch } = useQuery<TData>(document, {\n fetchPolicy: \"network-only\",\n skip,\n variables: { ...variables, options: { limit: pageSize + 1, offset } },\n });\n\n // Apollo's `refetch` is a fresh `.bind()` on every render, and callers may\n // pass an inline `variables` object. Holding both in refs lets `loadMore`\n // and `refresh` keep a stable identity, so consumers can safely list them in\n // `useEffect`/`useCallback` dependency arrays without re-running every render\n // (which previously caused \"Maximum update depth exceeded\" loops).\n const refetchRef = useRef(refetch);\n refetchRef.current = refetch;\n const variablesRef = useRef(variables);\n variablesRef.current = variables;\n\n const rawPage = getItems(data);\n const page = rawPage.length > pageSize ? rawPage.slice(0, pageSize) : rawPage;\n const hasMorePage = rawPage.length > pageSize;\n\n useEffect(() => {\n // Freeze `hasMore` and accumulated items while a page is in flight or when\n // the query failed, so the \"Load more\" control neither flickers nor hides\n // the retry affordance on error.\n if (loading || skip || error) {\n return;\n }\n\n setItems((prev) => {\n if (!hasSettled) {\n if (page.length === 0 && prev.length === 0) {\n return prev;\n }\n return page;\n }\n return accumulateItems(prev, page, getId);\n });\n setHasSettled(true);\n setHasMore(hasMorePage);\n }, [loading, skip, error, page, hasMorePage, hasSettled, pageSize, getId]);\n\n const loadMore = useCallback(() => {\n if (loading || skip) {\n return;\n }\n if (error) {\n // Retry the SAME offset — never skip ahead past the failed page. This\n // must run before the `hasSettled` guard so a failed FIRST page can still\n // be retried (its effect never runs, so `hasSettled` stays false).\n void refetchRef.current();\n return;\n }\n // Do not advance the offset until the first page has been committed to\n // state. Otherwise `loadMore` can run in the window after Apollo resolves\n // the first fetch but before the effect sets `hasSettled`, advancing the\n // offset and making the effect treat the SECOND page as the initial page —\n // which would replace (and lose) the first page.\n if (!hasSettled) {\n return;\n }\n if (!hasMore) {\n return;\n }\n // Advance from the *current* offset (not via a functional update): setting\n // an absolute value makes `loadMore` idempotent within a render, so a\n // double-click or repeated keypress cannot queue two `+pageSize` updates\n // and silently skip a page. The same `loading` guard above stops any call\n // once the next fetch is actually in flight.\n setOffset(offset + pageSize);\n }, [loading, skip, error, hasSettled, hasMore, offset, pageSize]);\n\n const refresh = useCallback(() => {\n setItems([]);\n setHasMore(!skip);\n setHasSettled(false);\n setOffset(0);\n\n // When the query is skipped (e.g. missing required variables) there is no\n // active query to re-fetch: reset local state only and resolve immediately.\n // Calling `refetch` on a skipped query can throw or misbehave depending on\n // the Apollo version.\n if (skip) {\n return Promise.resolve();\n }\n\n // `setOffset(0)` is async; re-fetch page 0 explicitly so a pull-to-refresh\n // on any page always reloads from the start.\n return refetchRef.current({\n ...variablesRef.current,\n options: { limit: pageSize + 1, offset: 0 },\n });\n }, [pageSize, skip]);\n\n return {\n error,\n hasMore,\n items,\n loading: loading && !hasSettled,\n loadingMore: loading && hasSettled,\n loadMore,\n refresh,\n };\n}\n"],"mappings":"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","names":["gql","gql","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","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","gql","gql","gql","useMutation","gql","useMutation","useQuery","gql","gql","useQuery","useMutation","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","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","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useQuery","useQuery"]}
|
|
@@ -1 +0,0 @@
|
|
|
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","../src/types/coupon/index.ts"],"sourcesContent":["import {\n CreateFormData,\n EnumOSPlatform,\n EnumResourceType,\n PromoCodeType,\n TermsAgreement,\n} from \"src\";\n\nimport { MutationResponse } from \"./global\";\nimport { SafeUserType, UserFormData } 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 = Pick<\n UserFormData,\n | \"email\"\n | \"firstName\"\n | \"lastName\"\n | \"nickName\"\n | \"platform\"\n | \"preferredRegion\"\n | \"termsAgreement\"\n> & {\n interests: EnumResourceType[];\n password: string;\n promoCode?: PromoCodeType | 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 refreshToken: string | null;\n token: string;\n user: SafeUserType;\n};\n\nexport type AuthMutationResponse = MutationResponse<AuthPayloadType>;\n\nexport type RefreshTokenPayloadType = {\n refreshToken: string;\n token: string;\n};\n\nexport type RefreshTokenMutationResponse =\n MutationResponse<RefreshTokenPayloadType>;\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 EnumPartnerType,\n EnumResourceType,\n EnumSocialMedia,\n EnumUserLicence,\n EnumUserRole,\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\n/** Uniform mutation response envelope used across GraphQL mutations. */\nexport type MutationResponse<T> = {\n data: T | null;\n message: string | null;\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: Date;\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 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 owner: OwnerType;\n posterUsage?: PosterUsageType | null;\n rating?: number | null;\n relatedPost?: RelatedPostType | null;\n reviewCount?: number | null;\n sharePublic?: SocialShareResourceType | 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\n/** Offset-pagination input for plain list fields (events/vendors/partners/posts/users). */\nexport interface PaginationOptions {\n limit?: number;\n offset?: number;\n}\n\n/** Server-side filter input for the super-admin users list query. */\nexport interface UserListFilter {\n active?: boolean | null;\n hasLicences?: boolean | null;\n role?: EnumUserRole | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin partners list query. */\nexport interface PartnerListFilter {\n active?: boolean | null;\n partnerType?: EnumPartnerType | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin vendors list query. */\nexport interface VendorListFilter {\n active?: boolean | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin events list query. */\nexport interface EventListFilter {\n active?: boolean | null;\n claimed?: boolean | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin posts list query. */\nexport interface PostListFilter {\n active?: boolean | null;\n postType?: EnumPostType | null;\n search?: string | null;\n}\n\nexport interface UseGetResourcesByRegionOptions extends PaginationOptions {\n onlyClaimed?: boolean;\n skip?: boolean;\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 MARKET_SEARCH = \"Market_search\",\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 enum EnumAdBookingSlotKind {\n PAID = \"paid\",\n RESERVED = \"reserved\",\n}\n\nexport enum EnumAdBookingState {\n HELD = \"held\",\n PENDING_APPROVAL = \"pending_approval\",\n APPROVED = \"approved\",\n FAILED = \"failed\",\n CANCELLED = \"cancelled\",\n REJECTED = \"rejected\",\n}\n\nexport enum EnumAdPaymentStatus {\n PENDING = \"pending\",\n PAID = \"paid\",\n FAILED = \"failed\",\n CANCELLED = \"cancelled\",\n}\n\nexport enum EnumAdEntitlementSource {\n PRO_PLUS = \"pro_plus\",\n ADMIN = \"admin\",\n ORGANIZER = \"organizer\",\n PARTNER = \"partner\",\n}\n\nexport enum EnumAdApprovalStatus {\n PENDING = \"pending\",\n APPROVED = \"approved\",\n REJECTED = \"rejected\",\n}\n\nexport type AdPlacement = EnumAdShowOn.FRONT_PAGE | EnumAdShowOn.MARKET_SEARCH;\n\nexport type AdDailyPriceKey = \"front_page_day\" | \"market_search_day\";\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 adminManaged?: boolean;\n approvalStatus?: EnumAdApprovalStatus;\n bookingIds?: string[];\n bookingKind?: EnumAdBookingSlotKind;\n clicks?: number; // How many times the ad was clicked\n createdAt: Date;\n impressions?: number; // How often the ad was seen\n paymentStatus?: EnumAdPaymentStatus;\n start: Date; // ISO date string\n updatedAt: Date | null;\n}\n\nexport type AdBookingType = {\n _id: string;\n adId?: string | null;\n approvalStatus: EnumAdApprovalStatus;\n checkoutAttemptId?: string | null;\n currency?: string | null;\n dayKey: string;\n entitlementClaimKey?: string | null;\n entitlementSource?: EnumAdEntitlementSource | null;\n expiresAt?: Date | null;\n placement: AdPlacement;\n purchaseKey?: string | null;\n region: string;\n resource: AdResource;\n slotKind: EnumAdBookingSlotKind;\n slotNumber: number;\n state: EnumAdBookingState;\n stripeCheckoutSessionId?: string | null;\n stripePaymentIntentId?: string | null;\n unitAmount?: number | null;\n userId: string;\n};\n\nexport type AdDailyPriceType = {\n _id: string;\n active: boolean;\n currency: \"nzd\";\n key: AdDailyPriceKey;\n revision: number;\n unitAmount: number;\n};\n\nexport type AdSettingsType = {\n _id: \"default\";\n approvalRequired: boolean;\n minAppearancesPerHour: number;\n paidSlotsPerPlacement: number;\n reservedSlotsPerPlacement: number;\n rotationSeconds: number;\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\" | \"userId\">;\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 CLUE_BITES = \"clue_bites\",\n //CLUE_GUIDES_FOR_ORGANISERS = \"clue_guides_for_organisers\",\n //CLUE_GUIDES_FOR_VENDORS = \"clue_guides_for_vendors\",\n MARKET_FACES = \"market_faces\",\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 nickName: string;\n overallPoints: number;\n userId: string;\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 conversations happen without speaking.\",\n id: \"chat\",\n match: \"/chat\",\n },\n {\n clue: \"Where you can find your loyalties.\",\n id: \"coupons\",\n match: \"/profile/account/coupons\",\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: \"/profile/account/games\",\n },\n {\n clue: \"Your starting point for everything.\",\n id: \"home\",\n match: \"/home\",\n },\n {\n clue: \"Where the app whispers what you shouldn’t miss.\",\n id: \"notifications\",\n match: \"/notifications\",\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: \"Where your actions turn into a timeline.\",\n id: \"activities\",\n match: \"/profile/account/favourites\",\n },\n {\n clue: \"The place to redefine who you are.\",\n id: \"edit-profile\",\n match: \"/profile/account\",\n },\n {\n clue: \"Your identity, on display.\",\n id: \"profile\",\n match: \"/profile\",\n },\n {\n clue: \"Where you can redeem your rewards.\",\n id: \"rewards\",\n match: \"/profile/account/rewards\",\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: \"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 {\n clue: \"Where you fine-tune your experience.\",\n id: \"options\",\n match: \"/options\",\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 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 resourceOwner: OwnerType;\n resourceType: EnumResourceType;\n rewards: AffiliateRewardType[];\n};\n\nexport type RedeemHistoryType = {\n paidAt?: Date | null;\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 = Omit<\n AffiliateDetailsType,\n \"email\" | \"firstName\" | \"lastName\"\n>;\n\nexport type CreateAffiliateFormData = CreateFormData<AffiliateFormData>;\n","import { EnumResourceType } from \"../../enums\";\nimport { CreateFormData, OwnerType, ResourceImageType } from \"../global\";\nimport { VendorProductList } from \"../vendor\";\n\nexport type ProductCoupon = {\n couponDocumentId: string;\n couponId: string;\n};\n\nexport enum EnumCouponQualificationType {\n PURCHASE = \"PURCHASE\",\n MARKET_VISIT = \"MARKET_VISIT\",\n MARKET_PASSPORT = \"MARKET_PASSPORT\",\n}\n\nexport type CouponPurchaseOption = {\n buy: number;\n get: number;\n maxRewardCount: number;\n type: EnumCouponQualificationType.PURCHASE;\n unit: string;\n};\n\nexport type CouponMarketVisitOption = {\n type: EnumCouponQualificationType.MARKET_VISIT;\n visits: number;\n};\n\nexport type CouponMarketPassportOption = {\n type: EnumCouponQualificationType.MARKET_PASSPORT;\n visits: number;\n};\n\nexport type CouponOption =\n CouponPurchaseOption | CouponMarketVisitOption | CouponMarketPassportOption;\n\nexport type CouponVendorProduct = {\n couponId: string;\n productId: string;\n vendorId: string;\n\n // Required only for MARKET_PASSPORT: which Vendor coupon contributes\n // progress when scanned.\n vendorCouponId?: string | null;\n};\n\nexport type CouponDefaultsFormData = {\n couponDescription: string;\n couponOption: CouponOption | null;\n couponVendorProducts?: CouponVendorProduct[];\n endDate: Date;\n resourceId: string;\n resourceType: EnumResourceType;\n startDate: Date;\n};\n\nexport type CreateCouponFormData = CreateFormData<CouponDefaultsFormData>;\n\nexport type CouponParticipantUserType = {\n couponCollectedCount: number;\n couponRedeemedAt: Date | null;\n couponRedeemedCount: number;\n couponCycleRedeemed: boolean;\n createdAt: Date;\n updatedAt: Date | null;\n userId: string;\n // Not persisted; resolved on read by `attachCouponDataProducts` from\n // `UserModel` via the participant's `userId`.\n nickName?: string | null;\n};\n\nexport type CouponCodeType = {\n code: string;\n qrCode: ResourceImageType;\n shareableQrCode: ResourceImageType;\n};\n\nexport type CouponDataProductsType = {\n active: boolean | null;\n couponId: string;\n productsList: VendorProductList[];\n vendorId: string;\n vendorLogo: ResourceImageType | null;\n vendorName: string;\n};\n\nexport type CouponDataType = CouponDefaultsFormData & {\n _id: string;\n active: boolean;\n couponCode: CouponCodeType | null;\n createdAt: Date;\n deletedAt: Date | null;\n participantUsers: CouponParticipantUserType[] | null;\n // products are not saved in the database, but are returned by the backend for convenience\n products?: CouponDataProductsType[] | null;\n updatedAt: Date | null;\n};\n\nexport interface CouponType {\n _id: string;\n active: boolean;\n couponData: CouponDataType[] | null;\n createdAt: Date;\n deletedAt: Date | null;\n owner: OwnerType;\n updatedAt: Date | null;\n}\n\nexport enum EnumCouponListType {\n ACTIVE = \"active\",\n OWNED = \"owned\",\n SCANNED = \"scanned\",\n}\n\nexport type CouponTypeList = {\n active: {\n data: CouponType[] | null;\n listName: EnumCouponListType.ACTIVE;\n };\n owned: {\n data: CouponType[] | null;\n listName: EnumCouponListType.OWNED;\n };\n scanned: {\n data: CouponType[] | null;\n listName: EnumCouponListType.SCANNED;\n };\n};\n"],"mappings":"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","names":["EnumVerificationType","EnumAdShowOn","EnumAdStatus","EnumAdType","EnumAdStyle","EnumAdBookingSlotKind","EnumAdBookingState","EnumAdPaymentStatus","EnumAdEntitlementSource","EnumAdApprovalStatus","EnumActivity","EnumPostType","EnumPostContentType","EnumGameStatus","EnumGameType","EnumAffiliateParticipantType","EnumAffiliateRewardType","EnumCouponQualificationType","EnumCouponListType"]}
|
|
File without changes
|