@opexa/portal-components 0.0.83 → 0.0.85
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/client/hooks/useAccountQuery.d.ts +1 -2
- package/dist/client/hooks/useAccountQuery.js +3 -10
- package/dist/client/hooks/useAuthenticateMutation.d.ts +1 -1
- package/dist/client/hooks/useAvailablePromosQuery.d.ts +2 -2
- package/dist/client/hooks/useAvailablePromosQuery.js +3 -10
- package/dist/client/hooks/useAvailableQuestsQuery.d.ts +1 -2
- package/dist/client/hooks/useAvailableQuestsQuery.js +3 -10
- package/dist/client/hooks/useBetRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useBetRecordsQuery.js +3 -10
- package/dist/client/hooks/useBonusQuery.d.ts +1 -2
- package/dist/client/hooks/useBonusQuery.js +5 -14
- package/dist/client/hooks/useBonusesQuery.d.ts +1 -2
- package/dist/client/hooks/useBonusesQuery.js +3 -10
- package/dist/client/hooks/useCashbackBonusQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbackBonusQuery.js +3 -10
- package/dist/client/hooks/useCashbackBonusesQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbackBonusesQuery.js +3 -10
- package/dist/client/hooks/useCashbackQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbackQuery.js +3 -12
- package/dist/client/hooks/useCashbacksQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbacksQuery.js +2 -9
- package/dist/client/hooks/useCheckInDailyCheckInQuestMutation.js +4 -11
- package/dist/client/hooks/useClaimCashbackBonusMutation.js +3 -9
- package/dist/client/hooks/useClaimSpotBonusMutation.js +3 -9
- package/dist/client/hooks/useCreateGCashDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateGCashDepositMutation.js +5 -16
- package/dist/client/hooks/useCreateGCashWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateGCashWithdrawalMutation.js +4 -11
- package/dist/client/hooks/useCreateGameSessionMutation.d.ts +1 -2
- package/dist/client/hooks/useCreateGameSessionMutation.js +7 -25
- package/dist/client/hooks/useCreateInstapayWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateInstapayWithdrawalMutation.js +4 -11
- package/dist/client/hooks/useCreateMayaAppDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateMayaAppDepositMutation.js +5 -16
- package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.js +4 -11
- package/dist/client/hooks/useCreateMayaDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateMayaDepositMutation.js +5 -16
- package/dist/client/hooks/useCreateMayaWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateMayaWithdrawalMutation.js +4 -11
- package/dist/client/hooks/useCreateOnlineBankDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateOnlineBankDepositMutation.js +5 -16
- package/dist/client/hooks/useCreateQRPHDepositMutation.d.ts +3 -3
- package/dist/client/hooks/useCreateQRPHDepositMutation.js +5 -16
- package/dist/client/hooks/useDepositQuery.d.ts +1 -2
- package/dist/client/hooks/useDepositQuery.js +5 -11
- package/dist/client/hooks/useDepositRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useDepositRecordsQuery.js +3 -10
- package/dist/client/hooks/useDepositsCountQuery.js +5 -11
- package/dist/client/hooks/useEndGameSessionMutation.d.ts +1 -2
- package/dist/client/hooks/useEndGameSessionMutation.js +4 -12
- package/dist/client/hooks/useFavoriteGamesQuery.d.ts +1 -2
- package/dist/client/hooks/useFavoriteGamesQuery.js +5 -11
- package/dist/client/hooks/useGamesQuery.d.ts +2 -2
- package/dist/client/hooks/useGamesQuery.js +1 -7
- package/dist/client/hooks/useGlobalStore.d.ts +1 -1
- package/dist/client/hooks/useInfiniteQueryHelper.d.ts +1 -2
- package/dist/client/hooks/useInstapayBankListQuery.d.ts +1 -2
- package/dist/client/hooks/useInstapayBankListQuery.js +5 -11
- package/dist/client/hooks/useIsMayaSessionValidQuery.js +3 -10
- package/dist/client/hooks/useJackpotPayoutsQuery.d.ts +2 -2
- package/dist/client/hooks/useJackpotPayoutsQuery.js +2 -9
- package/dist/client/hooks/useJackpotsQuery.d.ts +2 -2
- package/dist/client/hooks/useJackpotsQuery.js +2 -9
- package/dist/client/hooks/useMarkGameAsFavoriteMutation.js +3 -9
- package/dist/client/hooks/useMarkMessageAsReadMutation.js +3 -9
- package/dist/client/hooks/useMemberVerificationQuery.d.ts +1 -2
- package/dist/client/hooks/useMemberVerificationQuery.js +3 -10
- package/dist/client/hooks/useMessagesQuery.d.ts +2 -2
- package/dist/client/hooks/useMessagesQuery.js +3 -10
- package/dist/client/hooks/usePaymentSettingsQuery.d.ts +1 -2
- package/dist/client/hooks/usePaymentSettingsQuery.js +3 -10
- package/dist/client/hooks/usePlatformQuery.d.ts +1 -2
- package/dist/client/hooks/usePlatformQuery.js +3 -8
- package/dist/client/hooks/useProfileCompletionQuery.d.ts +1 -2
- package/dist/client/hooks/useProfileCompletionQuery.js +3 -10
- package/dist/client/hooks/usePromoQuery.d.ts +1 -2
- package/dist/client/hooks/usePromoQuery.js +3 -12
- package/dist/client/hooks/usePromosQuery.d.ts +1 -2
- package/dist/client/hooks/usePromosQuery.js +2 -9
- package/dist/client/hooks/useSendVerificationCodeMutation.d.ts +1 -1
- package/dist/client/hooks/useSendVerificationCodeMutation.js +2 -8
- package/dist/client/hooks/useSessionQuery.js +2 -2
- package/dist/client/hooks/useSignInMutation.d.ts +1 -2
- package/dist/client/hooks/useSignUpMutation.d.ts +1 -1
- package/dist/client/hooks/useSignUpMutation.js +2 -11
- package/dist/client/hooks/useTopWinsQuery.d.ts +1 -2
- package/dist/client/hooks/useTopWinsQuery.js +3 -9
- package/dist/client/hooks/useTournamentsQuery.d.ts +2 -2
- package/dist/client/hooks/useTournamentsQuery.js +2 -9
- package/dist/client/hooks/useTransactionRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useTransactionRecordsQuery.js +3 -10
- package/dist/client/hooks/useUnmarkGameAsFavoriteMutation.js +3 -9
- package/dist/client/hooks/useUnreadMessagesCountQuery.d.ts +1 -1
- package/dist/client/hooks/useUnreadMessagesCountQuery.js +3 -10
- package/dist/client/hooks/useUpdateAccountMutation.d.ts +1 -1
- package/dist/client/hooks/useUpdateAccountMutation.js +3 -9
- package/dist/client/hooks/useWalletQuery.d.ts +1 -2
- package/dist/client/hooks/useWalletQuery.js +5 -11
- package/dist/client/hooks/useWithdrawalRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useWithdrawalRecordsQuery.js +3 -10
- package/dist/client/services/authenticate.d.ts +3 -2
- package/dist/client/services/authenticate.js +5 -12
- package/dist/client/services/getSession.d.ts +2 -1
- package/dist/client/services/getSession.js +4 -11
- package/dist/client/services/signIn.d.ts +4 -2
- package/dist/client/services/signIn.js +6 -13
- package/dist/client/services/signOut.d.ts +2 -1
- package/dist/client/services/signOut.js +15 -13
- package/dist/components/AccountSecurity/AccountSecurity.js +2 -25
- package/dist/components/BetRecords/BetRecords.d.ts +1 -1
- package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
- package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
- package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.d.ts +2 -2
- package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.d.ts +1 -1
- package/dist/components/GameLaunch/GameLaunchTrigger.d.ts +1 -1
- package/dist/components/GameProviders/GameProvidersCarousel.d.ts +1 -2
- package/dist/components/GameProviders/GameProvidersList.d.ts +1 -2
- package/dist/components/Games/GamesCarousel.d.ts +1 -1
- package/dist/components/Games/GamesContext.d.ts +1 -1
- package/dist/components/Games/GamesList.d.ts +1 -1
- package/dist/components/GamesSearch/GamesSearch.d.ts +1 -1
- package/dist/components/JackpotCounter/JackpotCounterItem.d.ts +1 -1
- package/dist/components/JackpotCounter/JackpotCounterItem.module.css +184 -184
- package/dist/components/Jackpots/Jackpots.d.ts +1 -1
- package/dist/components/Jackpots/JackpotsContext.d.ts +1 -1
- package/dist/components/Jackpots/useJackpotData.d.ts +2 -2
- package/dist/components/Jackpots/useJackpotData.js +0 -1
- package/dist/components/Messages/Message.d.ts +4 -0
- package/dist/components/Messages/{MessageItem.js → Message.js} +2 -2
- package/dist/components/Messages/MessageTrigger.d.ts +1 -1
- package/dist/components/Messages/Messages.js +2 -2
- package/dist/components/Messages/utils.d.ts +1 -1
- package/dist/components/Promos/Cashback.d.ts +1 -1
- package/dist/components/Promos/Promo.d.ts +1 -1
- package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.d.ts +1 -1
- package/dist/components/Quests/OnboardingQuest/OnboardingQuest.d.ts +1 -1
- package/dist/components/Quests/WageringQuest/WageringQuest.d.ts +1 -1
- package/dist/components/Search/Search.d.ts +1 -2
- package/dist/components/SignUp/SignUpForm.js +1 -1
- package/dist/components/TournamentCounter/TournamentCounterItem.d.ts +1 -1
- package/dist/components/Tournaments/Tournaments.d.ts +1 -1
- package/dist/components/Tournaments/TournamentsContext.d.ts +1 -1
- package/dist/components/Tournaments/useTournamentData.js +0 -1
- package/dist/components/TransactionRecords/DepositRecordsTable.js +0 -1
- package/dist/components/TransactionRecords/TableFilters.d.ts +1 -2
- package/dist/constants/endpoints.d.ts +10 -0
- package/dist/constants/endpoints.js +41 -0
- package/dist/constants/gameProviders.d.ts +1 -2
- package/dist/constants/gameTypes.d.ts +1 -2
- package/dist/constants/headerKeys.d.ts +1 -0
- package/dist/constants/headerKeys.js +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/secretQuestions.d.ts +1 -1
- package/dist/handlers.js +2 -12
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +2 -3
- package/dist/server/services/authenticate.d.ts +1 -1
- package/dist/server/services/authenticate.js +3 -8
- package/dist/server/services/signIn.d.ts +2 -1
- package/dist/server/services/signIn.js +3 -8
- package/dist/server/services/signOut.js +2 -3
- package/dist/server/utils/prefetchAccountQuery.js +1 -4
- package/dist/server/utils/prefetchAvailablePromosQuery.d.ts +1 -1
- package/dist/server/utils/prefetchAvailablePromosQuery.js +1 -4
- package/dist/server/utils/prefetchAvailableQuestsQuery.js +1 -4
- package/dist/server/utils/prefetchBetRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchBetRecordsQuery.js +1 -4
- package/dist/server/utils/prefetchBonusQuery.js +3 -8
- package/dist/server/utils/prefetchBonusesQuery.js +1 -4
- package/dist/server/utils/prefetchCashbackBonusQuery.js +1 -4
- package/dist/server/utils/prefetchCashbackBonusesQuery.js +1 -4
- package/dist/server/utils/prefetchCashbackQuery.js +3 -12
- package/dist/server/utils/prefetchCashbacksQuery.js +1 -6
- package/dist/server/utils/prefetchDepositQuery.js +3 -5
- package/dist/server/utils/prefetchDepositRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchDepositRecordsQuery.js +1 -4
- package/dist/server/utils/prefetchDepositsCountQuery.js +3 -5
- package/dist/server/utils/prefetchFavoriteGamesQuery.js +3 -5
- package/dist/server/utils/prefetchGamesQuery.d.ts +1 -1
- package/dist/server/utils/prefetchGamesQuery.js +2 -10
- package/dist/server/utils/prefetchInstapayBankListQuery.js +3 -5
- package/dist/server/utils/prefetchIsMayaSessionValidQuery.js +1 -4
- package/dist/server/utils/prefetchJackpotsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchJackpotsQuery.js +2 -9
- package/dist/server/utils/prefetchMemberVerificationQuery.js +1 -4
- package/dist/server/utils/prefetchPaymentSettingsQuery.js +1 -4
- package/dist/server/utils/prefetchPlatformQuery.js +2 -9
- package/dist/server/utils/prefetchProfileCompletionQuery.js +1 -4
- package/dist/server/utils/prefetchPromoQuery.js +3 -12
- package/dist/server/utils/prefetchPromosQuery.js +2 -9
- package/dist/server/utils/prefetchTopWinsQuery.js +2 -9
- package/dist/server/utils/prefetchTournamentsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchTournamentsQuery.js +2 -9
- package/dist/server/utils/prefetchTransactionRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchTransactionRecordsQuery.js +1 -4
- package/dist/server/utils/prefetchUnreadMessagesCountQuery.d.ts +1 -1
- package/dist/server/utils/prefetchUnreadMessagesCountQuery.js +1 -4
- package/dist/server/utils/prefetchWalletQuery.js +3 -5
- package/dist/server/utils/prefetchWithdrawalRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchWithdrawalRecordsQuery.js +1 -4
- package/dist/services/ObjectId.d.ts +24 -0
- package/dist/services/ObjectId.js +86 -0
- package/dist/services/account.service.d.ts +341 -0
- package/dist/services/account.service.js +233 -0
- package/dist/services/auth.service.d.ts +80 -0
- package/dist/services/auth.service.js +152 -0
- package/dist/services/cmsPortal.service.d.ts +43 -0
- package/dist/services/cmsPortal.service.js +148 -0
- package/dist/services/file.service.d.ts +33 -0
- package/dist/services/file.service.js +18 -0
- package/dist/services/game.service.d.ts +44 -0
- package/dist/services/game.service.js +33 -0
- package/dist/services/graphqlRequest.d.ts +4 -0
- package/dist/services/graphqlRequest.js +255 -0
- package/dist/services/httpRequest.d.ts +23 -0
- package/dist/services/httpRequest.js +93 -0
- package/dist/services/index.d.ts +12 -0
- package/dist/services/index.js +12 -0
- package/dist/services/portal.service.d.ts +37 -0
- package/dist/services/portal.service.js +44 -0
- package/dist/services/queries.d.ts +115 -0
- package/dist/services/queries.js +2319 -0
- package/dist/services/report.service.d.ts +203 -0
- package/dist/services/report.service.js +64 -0
- package/dist/services/sha256.d.ts +4 -0
- package/dist/services/sha256.js +16 -0
- package/dist/services/trigger.service.d.ts +88 -0
- package/dist/services/trigger.service.js +84 -0
- package/dist/services/wallet.service.d.ts +463 -0
- package/dist/services/wallet.service.js +357 -0
- package/dist/styles/theme.css +697 -697
- package/dist/types/index.d.ts +752 -6
- package/dist/ui/AlertDialog/AlertDialog.d.ts +88 -88
- package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +8 -8
- package/dist/ui/Badge/Badge.d.ts +12 -12
- package/dist/ui/Badge/badge.recipe.d.ts +3 -3
- package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
- package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
- package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
- package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
- package/dist/ui/Collapsible/Collapsible.d.ts +20 -20
- package/dist/ui/Collapsible/collapsible.recipe.d.ts +5 -5
- package/dist/ui/Combobox/Combobox.d.ts +42 -42
- package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
- package/dist/ui/DatePicker/DatePicker.d.ts +264 -264
- package/dist/ui/DatePicker/datePicker.recipe.d.ts +11 -11
- package/dist/ui/Dialog/Dialog.d.ts +88 -88
- package/dist/ui/Dialog/dialog.recipe.d.ts +8 -8
- package/dist/ui/Drawer/Drawer.d.ts +33 -33
- package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
- package/dist/ui/Popover/Popover.d.ts +55 -55
- package/dist/ui/Popover/popover.recipe.d.ts +5 -5
- package/dist/ui/Progress/Progress.d.ts +27 -27
- package/dist/ui/Progress/progress.recipe.d.ts +3 -3
- package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
- package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
- package/dist/ui/Select/Select.d.ts +45 -45
- package/dist/ui/Select/select.recipe.d.ts +3 -3
- package/dist/ui/Table/Table.d.ts +21 -21
- package/dist/ui/Table/table.recipe.d.ts +3 -3
- package/dist/ui/Tabs/Tabs.d.ts +15 -15
- package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
- package/dist/utils/getGameImageUrl.d.ts +1 -1
- package/dist/utils/getGameImageUrl.js +3 -5
- package/dist/utils/getGameProviderData.d.ts +1 -2
- package/dist/utils/getGameTypeData.d.ts +1 -2
- package/dist/utils/graphqlRequest.d.ts +4 -0
- package/dist/utils/graphqlRequest.js +255 -0
- package/dist/utils/httpRequest.d.ts +6 -0
- package/dist/utils/httpRequest.js +87 -0
- package/dist/utils/queryKeys.d.ts +1 -1
- package/dist/utils/sha256.d.ts +4 -0
- package/dist/utils/sha256.js +16 -0
- package/package.json +166 -160
- package/dist/components/Games/GameContext.d.ts +0 -2
- package/dist/components/Games/GameContext.js +0 -2
- package/dist/components/Jackpots/JackpotItemDesktop.d.ts +0 -9
- package/dist/components/Jackpots/JackpotItemDesktop.js +0 -43
- package/dist/components/Jackpots/JackpotItemMobile.d.ts +0 -9
- package/dist/components/Jackpots/JackpotItemMobile.js +0 -44
- package/dist/components/Jackpots/useJackpotItemData.d.ts +0 -20
- package/dist/components/Jackpots/useJackpotItemData.js +0 -87
- package/dist/components/Messages/MessageItem.d.ts +0 -4
- package/dist/components/Tournaments/TournamentItemDesktop.d.ts +0 -7
- package/dist/components/Tournaments/TournamentItemDesktop.js +0 -56
- package/dist/components/Tournaments/TournamentItemMobile.d.ts +0 -7
- package/dist/components/Tournaments/TournamentItemMobile.js +0 -54
- package/dist/components/Tournaments/useTournamentItemData.d.ts +0 -16
- package/dist/components/Tournaments/useTournamentItemData.js +0 -64
- package/dist/images/hacksaw-gaming.png +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { cache } from 'react';
|
|
2
|
+
import { FILE_GRAPHQL_ENDPOINT } from '../constants/index.js';
|
|
3
|
+
import { graphqlRequest, graphqlUpload, } from './graphqlRequest.js';
|
|
4
|
+
import { FILE, UPLOAD_PRIVATE_IMAGE_FILE } from './queries.js';
|
|
5
|
+
export const getFile = cache(async (id, options) => {
|
|
6
|
+
const res = await graphqlRequest(FILE_GRAPHQL_ENDPOINT, FILE, { id }, options);
|
|
7
|
+
return res.node ?? null;
|
|
8
|
+
});
|
|
9
|
+
export const uploadPrivateImageFile = async (input, options) => {
|
|
10
|
+
const res = await graphqlUpload(FILE_GRAPHQL_ENDPOINT, UPLOAD_PRIVATE_IMAGE_FILE, { input }, options);
|
|
11
|
+
if (res.uploadPrivateImageFile) {
|
|
12
|
+
const error = new Error();
|
|
13
|
+
error.name = res.uploadPrivateImageFile.name;
|
|
14
|
+
error.message = res.uploadPrivateImageFile.message;
|
|
15
|
+
Error.captureStackTrace?.(error, uploadPrivateImageFile);
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Simplify } from 'type-fest';
|
|
2
|
+
import type { GameSession, GameSession__Legacy } from '../types';
|
|
3
|
+
import { type GraphQLRequestOptions } from './graphqlRequest';
|
|
4
|
+
export interface GameSessionQuery__Legacy {
|
|
5
|
+
node?: GameSession__Legacy | null;
|
|
6
|
+
}
|
|
7
|
+
export interface GameSessionQueryVariables__Legacy {
|
|
8
|
+
id: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const getGameSession__legacy: (id: string, options?: GraphQLRequestOptions) => Promise<GameSession | null>;
|
|
11
|
+
export type CreateGameSessionError__Legacy = {
|
|
12
|
+
name: 'GameDoesNotExistError';
|
|
13
|
+
message: string;
|
|
14
|
+
};
|
|
15
|
+
export interface CreateGameSessionMutation__Legacy {
|
|
16
|
+
createGameSession?: null | CreateGameSessionError__Legacy;
|
|
17
|
+
}
|
|
18
|
+
export interface CreateGameSessionMutationVariables__Legacy {
|
|
19
|
+
input: {
|
|
20
|
+
id: string;
|
|
21
|
+
game: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export type CreateGameSessionInput__Legacy = Simplify<CreateGameSessionMutationVariables__Legacy['input']>;
|
|
25
|
+
export declare function createGameSession__legacy(input: CreateGameSessionInput__Legacy, options?: GraphQLRequestOptions): Promise<void>;
|
|
26
|
+
export type EndGameSessionError = {
|
|
27
|
+
name: 'GameSessionDoesNotExistError';
|
|
28
|
+
message: string;
|
|
29
|
+
} | {
|
|
30
|
+
name: 'GameSessionAlreadyClosedError';
|
|
31
|
+
message: string;
|
|
32
|
+
} | {
|
|
33
|
+
name: 'GameProviderError';
|
|
34
|
+
message: string;
|
|
35
|
+
};
|
|
36
|
+
export interface EndGameSessionMutation__Legacy {
|
|
37
|
+
endGameSession?: null | EndGameSessionError;
|
|
38
|
+
}
|
|
39
|
+
export interface EndGameSessionMutationVariables__Legacy {
|
|
40
|
+
input: {
|
|
41
|
+
id: string;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export declare function endGameSession__legacy(id: string, options?: GraphQLRequestOptions): Promise<void>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { cache } from 'react';
|
|
2
|
+
import { GAME_GRAPHQL_ENDPOINT } from '../constants/index.js';
|
|
3
|
+
import { graphqlRequest } from './graphqlRequest.js';
|
|
4
|
+
import { CREATE_GAME_SESSION, END_GAME_SESSION__LEGACY, GAME_SESSION__LEGACY, } from './queries.js';
|
|
5
|
+
export const getGameSession__legacy = cache(async (id, options) => {
|
|
6
|
+
const res = await graphqlRequest(GAME_GRAPHQL_ENDPOINT, GAME_SESSION__LEGACY, { id }, options);
|
|
7
|
+
if (!res.node)
|
|
8
|
+
return null;
|
|
9
|
+
return {
|
|
10
|
+
...res.node,
|
|
11
|
+
game: res.node.game.id,
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
export async function createGameSession__legacy(input, options) {
|
|
15
|
+
const res = await graphqlRequest(GAME_GRAPHQL_ENDPOINT, CREATE_GAME_SESSION, { input }, options);
|
|
16
|
+
if (res.createGameSession) {
|
|
17
|
+
const error = new Error();
|
|
18
|
+
error.name = res.createGameSession.name;
|
|
19
|
+
error.message = res.createGameSession.message;
|
|
20
|
+
Error.captureStackTrace?.(error, createGameSession__legacy);
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export async function endGameSession__legacy(id, options) {
|
|
25
|
+
const res = await graphqlRequest(GAME_GRAPHQL_ENDPOINT, END_GAME_SESSION__LEGACY, { input: { id } }, options);
|
|
26
|
+
if (res.endGameSession) {
|
|
27
|
+
const error = new Error();
|
|
28
|
+
error.name = res.endGameSession.name;
|
|
29
|
+
error.message = res.endGameSession.message;
|
|
30
|
+
Error.captureStackTrace?.(error, endGameSession__legacy);
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export interface GraphQLRequestOptions extends Omit<RequestInit, 'body' | 'method'> {
|
|
2
|
+
}
|
|
3
|
+
export declare function graphqlRequest<T, V extends Record<string, any> = never>(url: string, query: string, variables?: V, options?: GraphQLRequestOptions): Promise<T>;
|
|
4
|
+
export declare function graphqlUpload<T, V extends Record<string, any> = never>(url: string, query: string, variables: V, options?: GraphQLRequestOptions): Promise<T>;
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { BYPASS_RECAPTCHA, PLATFORM_CODE, PLATFORM_ID, SITE_ID, TEST_PASS_HEADER_KEY, } from '../constants/index.js';
|
|
3
|
+
export async function graphqlRequest(url, query, variables, options) {
|
|
4
|
+
const headers = new Headers();
|
|
5
|
+
headers.set('Role', 'MEMBER');
|
|
6
|
+
headers.set('Site-ID', SITE_ID);
|
|
7
|
+
headers.set('Platform-ID', PLATFORM_ID);
|
|
8
|
+
headers.set('Platform-Code', PLATFORM_CODE);
|
|
9
|
+
headers.set('Accept', 'application/json');
|
|
10
|
+
headers.set('Content-Type', 'application/json');
|
|
11
|
+
new Headers(options?.headers).forEach((value, key) => {
|
|
12
|
+
headers.set(key, value);
|
|
13
|
+
});
|
|
14
|
+
if (BYPASS_RECAPTCHA) {
|
|
15
|
+
headers.set(TEST_PASS_HEADER_KEY, '');
|
|
16
|
+
}
|
|
17
|
+
const info = getOperationInfo(query);
|
|
18
|
+
const url_ = new URL(url);
|
|
19
|
+
if (info) {
|
|
20
|
+
url_.searchParams.set(`_${info.type}`, info.name);
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const response = await fetch(url_, {
|
|
24
|
+
...options,
|
|
25
|
+
method: 'POST',
|
|
26
|
+
headers,
|
|
27
|
+
body: JSON.stringify({
|
|
28
|
+
query,
|
|
29
|
+
variables,
|
|
30
|
+
}),
|
|
31
|
+
});
|
|
32
|
+
if (response.status === 400) {
|
|
33
|
+
const error = new Error();
|
|
34
|
+
error.name = 'GraphQLRequestError';
|
|
35
|
+
error.message = 'Bad Request';
|
|
36
|
+
Error.captureStackTrace?.(error, graphqlRequest);
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
if (response.status === 401) {
|
|
40
|
+
const error = new Error();
|
|
41
|
+
error.name = 'GraphQLRequestError';
|
|
42
|
+
error.message = 'Unauthorized';
|
|
43
|
+
Error.captureStackTrace?.(error, graphqlRequest);
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
if (response.status === 403) {
|
|
47
|
+
const error = new Error();
|
|
48
|
+
error.name = 'GraphQLRequestError';
|
|
49
|
+
error.message = 'Forbidden';
|
|
50
|
+
Error.captureStackTrace?.(error, graphqlRequest);
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
if (!response.ok) {
|
|
54
|
+
const error = new Error();
|
|
55
|
+
error.name = 'GraphQLRequestError';
|
|
56
|
+
error.message = 'Network error';
|
|
57
|
+
Error.captureStackTrace?.(error, graphqlRequest);
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
const obj = (await response.json());
|
|
61
|
+
if (!obj.errors?.length)
|
|
62
|
+
return obj.data;
|
|
63
|
+
const error = new Error();
|
|
64
|
+
if (obj.errors[0].extensions?.code === 'FORBIDDEN') {
|
|
65
|
+
error.name = 'GraphQLRequestError';
|
|
66
|
+
error.message = 'Forbidden';
|
|
67
|
+
}
|
|
68
|
+
else if (obj.errors[0].extensions?.code === 'ACCESS_TOKEN_EXPIRED') {
|
|
69
|
+
error.name = 'GraphQLRequestError';
|
|
70
|
+
error.message = 'Access Token Expired';
|
|
71
|
+
}
|
|
72
|
+
else if (obj.errors[0].extensions?.code === 'UNAUTHORIZED') {
|
|
73
|
+
error.name = 'GraphQLRequestError';
|
|
74
|
+
error.message = 'Unauthorized';
|
|
75
|
+
}
|
|
76
|
+
else if (obj.errors[0].extensions?.code === 'BAD_USER_INPUT') {
|
|
77
|
+
error.name = 'GraphQLRequestError';
|
|
78
|
+
error.message = 'Bad User Input';
|
|
79
|
+
}
|
|
80
|
+
else if (obj.errors[0].extensions?.code === 'BAD_REQUEST') {
|
|
81
|
+
error.name = 'GraphQLRequestError';
|
|
82
|
+
error.message = 'Bad Request';
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
error.name = 'GraphQLRequestError';
|
|
86
|
+
error.message = 'Internal Server Error';
|
|
87
|
+
}
|
|
88
|
+
Error.captureStackTrace?.(error, graphqlRequest);
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
if (error instanceof Error) {
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const e = new Error();
|
|
97
|
+
e.name = 'GraphQLRequestError';
|
|
98
|
+
e.message = 'Network error';
|
|
99
|
+
Error.captureStackTrace?.(e, graphqlRequest);
|
|
100
|
+
throw e;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export async function graphqlUpload(url, query, variables, options) {
|
|
105
|
+
const headers = new Headers();
|
|
106
|
+
new Headers(options?.headers).forEach((value, key) => {
|
|
107
|
+
headers.set(key, value);
|
|
108
|
+
});
|
|
109
|
+
headers.set('Role', 'MEMBER');
|
|
110
|
+
headers.set('Site-ID', SITE_ID);
|
|
111
|
+
headers.set('Platform-ID', PLATFORM_ID);
|
|
112
|
+
headers.set('Platform-Code', PLATFORM_CODE);
|
|
113
|
+
headers.delete('Content-Type');
|
|
114
|
+
if (BYPASS_RECAPTCHA) {
|
|
115
|
+
headers.set(TEST_PASS_HEADER_KEY, '');
|
|
116
|
+
}
|
|
117
|
+
const body = createUploadBody(query, variables);
|
|
118
|
+
const info = getOperationInfo(query);
|
|
119
|
+
const url_ = new URL(url);
|
|
120
|
+
if (info) {
|
|
121
|
+
url_.searchParams.set(`_${info.type}`, info.name);
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
const response = await fetch(url_, {
|
|
125
|
+
...options,
|
|
126
|
+
method: 'POST',
|
|
127
|
+
headers,
|
|
128
|
+
body,
|
|
129
|
+
});
|
|
130
|
+
if (response.status === 400) {
|
|
131
|
+
const error = new Error();
|
|
132
|
+
error.name = 'GraphQLUploadError';
|
|
133
|
+
error.message = 'Bad Request';
|
|
134
|
+
Error.captureStackTrace?.(error, graphqlUpload);
|
|
135
|
+
throw error;
|
|
136
|
+
}
|
|
137
|
+
if (response.status === 401) {
|
|
138
|
+
const error = new Error();
|
|
139
|
+
error.name = 'GraphQLUploadError';
|
|
140
|
+
error.message = 'Unauthorized';
|
|
141
|
+
Error.captureStackTrace?.(error, graphqlUpload);
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
if (response.status === 403) {
|
|
145
|
+
const error = new Error();
|
|
146
|
+
error.name = 'GraphQLUploadError';
|
|
147
|
+
error.message = 'Forbidden';
|
|
148
|
+
Error.captureStackTrace?.(error, graphqlUpload);
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
if (!response.ok) {
|
|
152
|
+
const error = new Error();
|
|
153
|
+
error.name = 'GraphQLUploadError';
|
|
154
|
+
error.message = 'Failed to upload file';
|
|
155
|
+
Error.captureStackTrace?.(error, graphqlUpload);
|
|
156
|
+
throw error;
|
|
157
|
+
}
|
|
158
|
+
const obj = (await response.json());
|
|
159
|
+
if (!obj.errors?.length)
|
|
160
|
+
return obj.data;
|
|
161
|
+
const error = new Error();
|
|
162
|
+
if (obj.errors[0].extensions?.code === 'FORBIDDEN') {
|
|
163
|
+
error.name = 'GraphQLUploadError';
|
|
164
|
+
error.message = 'Forbidden';
|
|
165
|
+
}
|
|
166
|
+
else if (obj.errors[0].extensions?.code === 'ACCESS_TOKEN_EXPIRED') {
|
|
167
|
+
error.name = 'GraphQLUploadError';
|
|
168
|
+
error.message = 'Access Token Expired';
|
|
169
|
+
}
|
|
170
|
+
else if (obj.errors[0].extensions?.code === 'UNAUTHORIZED') {
|
|
171
|
+
error.name = 'GraphQLUploadError';
|
|
172
|
+
error.message = 'Unauthorized';
|
|
173
|
+
}
|
|
174
|
+
else if (obj.errors[0].extensions?.code === 'BAD_USER_INPUT') {
|
|
175
|
+
error.name = 'GraphQLUploadError';
|
|
176
|
+
error.message = 'Bad User Input';
|
|
177
|
+
}
|
|
178
|
+
else if (obj.errors[0].extensions?.code === 'BAD_REQUEST') {
|
|
179
|
+
error.name = 'GraphQLUploadError';
|
|
180
|
+
error.message = 'Bad Request';
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
error.name = 'GraphQLUploadError';
|
|
184
|
+
error.message = 'Internal Server Error';
|
|
185
|
+
}
|
|
186
|
+
Error.captureStackTrace?.(error, graphqlUpload);
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
if (error instanceof Error) {
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
const error = new Error();
|
|
195
|
+
error.name = 'GraphQLUploadError';
|
|
196
|
+
error.message = 'Network error';
|
|
197
|
+
Error.captureStackTrace?.(error, graphqlUpload);
|
|
198
|
+
throw error;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function getOperationInfo(query) {
|
|
203
|
+
const l = query.match(/(query|mutation)\s+(\w+)/);
|
|
204
|
+
if (!l)
|
|
205
|
+
return null;
|
|
206
|
+
const k = l.at(1);
|
|
207
|
+
const v = l.at(2);
|
|
208
|
+
return k && v ? { type: k, name: v } : null;
|
|
209
|
+
}
|
|
210
|
+
function createUploadBody(query, variables) {
|
|
211
|
+
const files = pair(variables).filter((o) => o.value instanceof File || o.value instanceof Blob);
|
|
212
|
+
const body = new FormData();
|
|
213
|
+
body.append('operations', JSON.stringify({
|
|
214
|
+
query,
|
|
215
|
+
variables,
|
|
216
|
+
}));
|
|
217
|
+
const map = {};
|
|
218
|
+
files.forEach((o, i) => {
|
|
219
|
+
map[i.toString()] = [`variables.${o.key.join('.')}`];
|
|
220
|
+
});
|
|
221
|
+
body.append('map', JSON.stringify(map));
|
|
222
|
+
files.forEach((o, i) => {
|
|
223
|
+
body.append(i.toString(), o.value);
|
|
224
|
+
});
|
|
225
|
+
return body;
|
|
226
|
+
}
|
|
227
|
+
function isPlainObject(value) {
|
|
228
|
+
return (Object.prototype.toString.call(value) === '[object Object]' &&
|
|
229
|
+
Object(value) === value);
|
|
230
|
+
}
|
|
231
|
+
function pair(value) {
|
|
232
|
+
const result = [];
|
|
233
|
+
function fn(o, parentKeys = []) {
|
|
234
|
+
for (const k in o) {
|
|
235
|
+
const v = o[k];
|
|
236
|
+
if (isPlainObject(v)) {
|
|
237
|
+
fn(v, [...parentKeys, k]);
|
|
238
|
+
}
|
|
239
|
+
else if (Array.isArray(v)) {
|
|
240
|
+
fn([...parentKeys, k].reduce((o, v, i) => {
|
|
241
|
+
o[i] = v;
|
|
242
|
+
return o;
|
|
243
|
+
}, {}));
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
result.push({
|
|
247
|
+
key: [...parentKeys, k],
|
|
248
|
+
value: v,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
fn(value);
|
|
254
|
+
return result;
|
|
255
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface HttpRequestOptions extends RequestInit {
|
|
2
|
+
}
|
|
3
|
+
export declare function httpRequest(url: string, opts?: HttpRequestOptions): Promise<{
|
|
4
|
+
json<T>(): Promise<T>;
|
|
5
|
+
headers: Headers;
|
|
6
|
+
ok: boolean;
|
|
7
|
+
redirected: boolean;
|
|
8
|
+
status: number;
|
|
9
|
+
statusText: string;
|
|
10
|
+
type: ResponseType;
|
|
11
|
+
url: string;
|
|
12
|
+
clone(): Response;
|
|
13
|
+
body: ReadableStream<Uint8Array> | null;
|
|
14
|
+
bodyUsed: boolean;
|
|
15
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
16
|
+
blob(): Promise<Blob>;
|
|
17
|
+
bytes(): Promise<Uint8Array>;
|
|
18
|
+
formData(): Promise<FormData>;
|
|
19
|
+
text(): Promise<string>;
|
|
20
|
+
}>;
|
|
21
|
+
export declare namespace httpRequest {
|
|
22
|
+
var json: <T>(url: string, opts?: HttpRequestOptions) => Promise<T>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { BYPASS_RECAPTCHA, PLATFORM_CODE, PLATFORM_ID, SITE_ID, TEST_PASS_HEADER_KEY, } from '../constants/index.js';
|
|
3
|
+
export async function httpRequest(url, opts = {}) {
|
|
4
|
+
const headers = new Headers(opts.headers);
|
|
5
|
+
headers.set('Role', 'MEMBER');
|
|
6
|
+
headers.set('Site-ID', SITE_ID);
|
|
7
|
+
headers.set('Platform-ID', PLATFORM_ID);
|
|
8
|
+
headers.set('Platform-Code', PLATFORM_CODE);
|
|
9
|
+
new Headers(opts.headers).forEach((value, key) => {
|
|
10
|
+
headers.set(key, value);
|
|
11
|
+
});
|
|
12
|
+
if (BYPASS_RECAPTCHA) {
|
|
13
|
+
headers.set(TEST_PASS_HEADER_KEY, '');
|
|
14
|
+
}
|
|
15
|
+
const res = await fetch(url, {
|
|
16
|
+
...opts,
|
|
17
|
+
headers,
|
|
18
|
+
});
|
|
19
|
+
if (!res.ok) {
|
|
20
|
+
const code = KnownErrorSchema.parse(await res.json());
|
|
21
|
+
const exception = new Error();
|
|
22
|
+
exception.name = code ?? 'HttpRequestError';
|
|
23
|
+
exception.message = code
|
|
24
|
+
? getErrorMessage(code)
|
|
25
|
+
: `Error ${res.status}: ${res.statusText}`;
|
|
26
|
+
Error.captureStackTrace?.(exception, httpRequest.json);
|
|
27
|
+
throw exception;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
...res,
|
|
31
|
+
async json() {
|
|
32
|
+
const o = await res.json();
|
|
33
|
+
return o;
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
httpRequest.json = async (url, opts = {}) => {
|
|
38
|
+
const headers = new Headers();
|
|
39
|
+
headers.set('Role', 'MEMBER');
|
|
40
|
+
headers.set('Site-ID', SITE_ID);
|
|
41
|
+
headers.set('Platform-ID', PLATFORM_ID);
|
|
42
|
+
headers.set('Platform-Code', PLATFORM_CODE);
|
|
43
|
+
headers.set('Accept', 'application/json');
|
|
44
|
+
headers.set('Content-Type', 'application/json');
|
|
45
|
+
new Headers(opts.headers).forEach((value, key) => {
|
|
46
|
+
headers.set(key, value);
|
|
47
|
+
});
|
|
48
|
+
if (BYPASS_RECAPTCHA) {
|
|
49
|
+
headers.set(TEST_PASS_HEADER_KEY, '');
|
|
50
|
+
}
|
|
51
|
+
const response = await fetch(url, {
|
|
52
|
+
...opts,
|
|
53
|
+
headers,
|
|
54
|
+
});
|
|
55
|
+
if (!response.ok) {
|
|
56
|
+
const code = KnownErrorSchema.parse(await response.json());
|
|
57
|
+
const exception = new Error();
|
|
58
|
+
exception.name = code ?? 'HttpRequestError';
|
|
59
|
+
exception.message = code
|
|
60
|
+
? getErrorMessage(code)
|
|
61
|
+
: `Error ${response.status}: ${response.statusText}`;
|
|
62
|
+
Error.captureStackTrace?.(exception, httpRequest.json);
|
|
63
|
+
throw exception;
|
|
64
|
+
}
|
|
65
|
+
const json = await response.json();
|
|
66
|
+
return json;
|
|
67
|
+
};
|
|
68
|
+
const KnownErrorSchema = z
|
|
69
|
+
.object({
|
|
70
|
+
code: z.string().optional(),
|
|
71
|
+
message: z.string().optional(),
|
|
72
|
+
})
|
|
73
|
+
.nullable()
|
|
74
|
+
.catch(null)
|
|
75
|
+
.transform((v) => v?.code ?? v?.message ?? null);
|
|
76
|
+
function getErrorMessage(code) {
|
|
77
|
+
switch (code) {
|
|
78
|
+
case 'ACCOUNT_BLACKLISTED':
|
|
79
|
+
return 'Account is blacklisted';
|
|
80
|
+
case 'MEMBER_ACCOUNT_SUSPENDED':
|
|
81
|
+
return 'Account is suspended';
|
|
82
|
+
case 'INVALID_RECAPTCHA_RESPONSE':
|
|
83
|
+
return 'Invalid reCAPTCHA response';
|
|
84
|
+
case 'MEMBER_NOT_FOUND':
|
|
85
|
+
return 'Account not found';
|
|
86
|
+
case 'RATE_LIMIT_REACH':
|
|
87
|
+
return 'Rate limit exceeded';
|
|
88
|
+
case 'NOT_READY_TO_SEND_VERIFICATION_ERROR':
|
|
89
|
+
return 'Not ready to send verification code';
|
|
90
|
+
default:
|
|
91
|
+
return 'Something went wrong. Please try again later.';
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './account.service';
|
|
2
|
+
export * from './auth.service';
|
|
3
|
+
export * from './cmsPortal.service';
|
|
4
|
+
export * from './file.service';
|
|
5
|
+
export * from './game.service';
|
|
6
|
+
export * from './graphqlRequest';
|
|
7
|
+
export * from './httpRequest';
|
|
8
|
+
export * from './portal.service';
|
|
9
|
+
export * from './report.service';
|
|
10
|
+
export * from './sha256';
|
|
11
|
+
export * from './trigger.service';
|
|
12
|
+
export * from './wallet.service';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './account.service.js';
|
|
2
|
+
export * from './auth.service.js';
|
|
3
|
+
export * from './cmsPortal.service.js';
|
|
4
|
+
export * from './file.service.js';
|
|
5
|
+
export * from './game.service.js';
|
|
6
|
+
export * from './graphqlRequest.js';
|
|
7
|
+
export * from './httpRequest.js';
|
|
8
|
+
export * from './portal.service.js';
|
|
9
|
+
export * from './report.service.js';
|
|
10
|
+
export * from './sha256.js';
|
|
11
|
+
export * from './trigger.service.js';
|
|
12
|
+
export * from './wallet.service.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Simplify } from 'type-fest';
|
|
2
|
+
import type { GameType, LatestBetRecord, OnboardingPlayerExperience, OnboardingStatus, Platform, RecommendedGame, TopWin } from '../types';
|
|
3
|
+
import { type GraphQLRequestOptions } from './graphqlRequest';
|
|
4
|
+
export interface LatestBetRecordsQuery {
|
|
5
|
+
latestBetRecords: LatestBetRecord[];
|
|
6
|
+
}
|
|
7
|
+
export declare const getLatestBetRecords: (options?: GraphQLRequestOptions) => Promise<LatestBetRecord[]>;
|
|
8
|
+
export interface PlatformQuery extends Platform {
|
|
9
|
+
}
|
|
10
|
+
export declare const getPlatform: (options?: GraphQLRequestOptions) => Promise<PlatformQuery>;
|
|
11
|
+
export interface RecommendedGamesQuery {
|
|
12
|
+
recommendedGames: RecommendedGame[];
|
|
13
|
+
}
|
|
14
|
+
export declare const getRecommendedGames: (options?: GraphQLRequestOptions) => Promise<RecommendedGame[]>;
|
|
15
|
+
export interface OnboardingStatusQuery {
|
|
16
|
+
onboardingStatus?: OnboardingStatus | null;
|
|
17
|
+
}
|
|
18
|
+
export declare const getOnboardingStatus: (options?: GraphQLRequestOptions) => Promise<OnboardingStatus | null>;
|
|
19
|
+
export interface CompleteOnboardingMutationVariables {
|
|
20
|
+
input: {
|
|
21
|
+
playerExperience: OnboardingPlayerExperience;
|
|
22
|
+
favoriteGameTypes: GameType[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface CompleteOnboardingMutation {
|
|
26
|
+
completeOnboarding: boolean;
|
|
27
|
+
}
|
|
28
|
+
export type CompleteOnboardingInput = Simplify<CompleteOnboardingMutationVariables['input']>;
|
|
29
|
+
export declare const completeOnboarding: (input: CompleteOnboardingInput, options?: GraphQLRequestOptions) => Promise<void>;
|
|
30
|
+
export interface SkipOnboardingMutation {
|
|
31
|
+
skipOnboarding: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare const skipOnboarding: (options?: GraphQLRequestOptions) => Promise<void>;
|
|
34
|
+
export interface TopWinsQuery {
|
|
35
|
+
topWins: TopWin[];
|
|
36
|
+
}
|
|
37
|
+
export declare const getTopWins: (options?: GraphQLRequestOptions) => Promise<TopWin[]>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { cache } from 'react';
|
|
2
|
+
import { PORTAL_GRAPHQL_ENDPOINT } from '../constants/index.js';
|
|
3
|
+
import { graphqlRequest } from './graphqlRequest.js';
|
|
4
|
+
import { COMPLETE_ONBOARDING, LATEST_BET_RECORDS, ONBOARDING_STATUS, PLATFORM, RECOMMENDED_GAMES, SKIP_ONBOARDING, TOP_WINS, } from './queries.js';
|
|
5
|
+
export const getLatestBetRecords = cache(async (options) => {
|
|
6
|
+
const res = await graphqlRequest(PORTAL_GRAPHQL_ENDPOINT, LATEST_BET_RECORDS, undefined, options);
|
|
7
|
+
return res.latestBetRecords;
|
|
8
|
+
});
|
|
9
|
+
export const getPlatform = cache(async (options) => {
|
|
10
|
+
const res = await graphqlRequest(PORTAL_GRAPHQL_ENDPOINT, PLATFORM, undefined, options);
|
|
11
|
+
return res;
|
|
12
|
+
});
|
|
13
|
+
export const getRecommendedGames = cache(async (options) => {
|
|
14
|
+
const res = await graphqlRequest(PORTAL_GRAPHQL_ENDPOINT, RECOMMENDED_GAMES, undefined, options);
|
|
15
|
+
return res.recommendedGames;
|
|
16
|
+
});
|
|
17
|
+
export const getOnboardingStatus = cache(async (options) => {
|
|
18
|
+
const res = await graphqlRequest(PORTAL_GRAPHQL_ENDPOINT, ONBOARDING_STATUS, undefined, options);
|
|
19
|
+
return res.onboardingStatus ?? null;
|
|
20
|
+
});
|
|
21
|
+
export const completeOnboarding = async (input, options) => {
|
|
22
|
+
const res = await graphqlRequest(PORTAL_GRAPHQL_ENDPOINT, COMPLETE_ONBOARDING, { input }, options);
|
|
23
|
+
if (!res.completeOnboarding) {
|
|
24
|
+
const error = new Error();
|
|
25
|
+
error.name = 'UnknownError';
|
|
26
|
+
error.message = 'Something went wrong';
|
|
27
|
+
Error.captureStackTrace?.(error, completeOnboarding);
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export const skipOnboarding = async (options) => {
|
|
32
|
+
const res = await graphqlRequest(PORTAL_GRAPHQL_ENDPOINT, SKIP_ONBOARDING, undefined, options);
|
|
33
|
+
if (!res.skipOnboarding) {
|
|
34
|
+
const error = new Error();
|
|
35
|
+
error.name = 'UnknownError';
|
|
36
|
+
error.message = 'Something went wrong';
|
|
37
|
+
Error.captureStackTrace?.(error, skipOnboarding);
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
export const getTopWins = cache(async (options) => {
|
|
42
|
+
const res = await graphqlRequest(PORTAL_GRAPHQL_ENDPOINT, TOP_WINS, undefined, options);
|
|
43
|
+
return res.topWins;
|
|
44
|
+
});
|