sdk-sapi-promarketing 0.0.1
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/README.md +110 -0
- package/dist/index.d.mts +7311 -0
- package/dist/index.d.ts +7311 -0
- package/dist/index.js +2827 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2788 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../request/index.ts","../request/base.ts","../services/game.service.ts","../services/skin.service.ts","../utils/headers.ts","../services/player.service.ts","../services/validate.service.ts","../services/supplier.service.ts","../services/verify.service.ts","../services/form.services.ts","../services/self-exclusion.services.ts","../types/tournament.interface.ts","../types/player-session.interface.ts","../types/enums/menu-status.enum.ts","../types/player-bonus-activate.interface.ts","../types/session-report.interface.ts","../types/payment-create.interface.ts","../types/payment-details.interface.ts","../types/transactions-details.interface.ts","../types/player-two-factor-authentication-methods.interface.ts","../types/player-two-factor-code-data.interface.ts","../types/player-transactions.interface.ts","../types/player-self-limitation-info.interface.ts","../types/player-self-limitation-cancel.interface.ts","../types/player-self-limitation-info-data.interface.ts","../types/player-create-self-exclusion-total-data.interface.ts","../types/player-self-exclusion-status.interface.ts","../types/player-sportbook-transactions-report.interface.ts","../types/bonus-status-available-data.interface.ts","../types/bonus-status-finalized-data.interface.ts","../types/bonus-status-promotion-data.interface.ts","../types/player-request-withdrawal-pending-tracking.interface.ts","../services/self-limitation.services.ts","../services/bank.service.ts","../services/payment.service.ts","../services/transactions.service.ts","../services/identity-biometry.service.ts","../services/pep-verification.service.ts","../services/sports.service.ts","../services/other.service.ts","../services/bonus.service.ts","../services/onboarding.service.ts","../services/two-factor-authentication.service.ts","../services/skin-content.service.ts","../services/player-session.service.ts","../services/player-notification.services.ts","../services/player-report.service.ts","../services/optix.service.ts","../index.ts"],"names":["TournamentCurrentStatus","AccessFlowControllerTypeEnum","AccessFlowControllerFromOriginEnum","MenuStatusType","PromotionTypeEnum","PlayerSessionDeviceEnum","PlayerSessionStatusEnum","SelfLimitationAlertKey","DepositStatusKey","TransactionDetailsKey","TransactionWithdrawalStatus","DepositManualButtonKey","TWO_FACTOR_AUTHENTICATION_METHODS_ENUM","TWO_FACTOR_AUTHENTICATION_BLOCKED_ENUM","PlayerTransactionFlagEnum","PlayerTransactionStatusEnum","PlayerTransactionTypeEnum","PlayerTransactionTypeFilterEnum","SelfLimitationEnum","TypeSelfLimitationEnum","SelfLimitationInfoResumeTypeEnum","SelfLimitationCancelEnum","SelfLimitationProgressBarStateEnum","SelfLimitationStateEnum","SelfLimitationRuleEnum","ChooseSeverityEnum","SelfExclusionCardCurrentStatusEnum","PlayerSportsbookTransactionsDetailsStatus","PlayerSportsbookTransactionsDetailsType","BonusStatusAvailableEnum","BonusStatusAvailableFlagEnum","BonusFinalizedTypeFlagEnum","BonusFinalizedStatusEnum","BonusParticipationButtonNum","BonusParticipationStatusEnum","BonusPromotionCodeEnum","WithdrawalStatusEnum"],"mappings":"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","file":"index.mjs","sourcesContent":["import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\n\r\n/**\r\n * RequestSDK.\r\n */\r\nexport class RequestSDK {\r\n constructor(public context: SdkSapiContext) { }\r\n\r\n /**\r\n * Get path.\r\n *\r\n * @returns Value path.\r\n */\r\n get pathSdk(): string {\r\n const { proxy } = this.context;\r\n return proxy;\r\n }\r\n\r\n /**\r\n * Get path.\r\n *\r\n * @returns Value path.\r\n */\r\n get urlBase(): string {\r\n const { url } = this.context;\r\n return url as string;\r\n }\r\n\r\n /**\r\n * Handles errors from the API response and reports them if necessary.\r\n *\r\n * @param data - The data object containing errors and message.\r\n * @param response - The response object from the API request.\r\n * @returns An object with errors and a flag indicating unauthorized status.\r\n */\r\n controlErrors(data: { errors?: unknown }, response: Response) {\r\n const errors = data.errors ? data.errors : null;\r\n const statusCode = response.status;\r\n const isUnauthorized = statusCode === 401;\r\n\r\n return { errors, isUnauthorized };\r\n }\r\n\r\n /**\r\n * Make the `request` function generic.\r\n *\r\n * @param endpoint Represent values.\r\n * @param config Represent values.\r\n * @returns Instance fetch.\r\n */\r\n requestSdk = async <TResponse>(\r\n endpoint: string,\r\n config: RequestInit = {},\r\n ): Promise<TResponse> => {\r\n\r\n const baseUrlClient = `/${this.pathSdk}${endpoint}`\r\n const baseUrlServer = `${this.urlBase}${endpoint}`;\r\n const url = this.context.onlyServer ? baseUrlServer : baseUrlClient;\r\n\r\n const response = await fetch(url, { ...config });\r\n const data = await response.json();\r\n\r\n const { errors, isUnauthorized } = this.controlErrors(data, response);\r\n\r\n if (isUnauthorized) {\r\n this.context.statusResponse = \"401\";\r\n await this.context.callback401?.();\r\n this.context.statusResponse = null;\r\n throw new Error(\"Session vencida\");\r\n }\r\n\r\n if (errors) throw data;\r\n\r\n return data;\r\n };\r\n\r\n /**\r\n * Make the `request` function generic.\r\n *\r\n * @param endpoint Represent values.\r\n * @param config Represent values.\r\n * @returns Instance fetch.\r\n */\r\n requestBase = async <TResponse>(\r\n endpoint: string,\r\n config: RequestInit = {},\r\n ): Promise<TResponse> => {\r\n const response = await fetch(`${this.urlBase}${endpoint}`, config);\r\n const data = await response.json();\r\n return await data;\r\n };\r\n\r\n /**\r\n * Http GET action of fetch.\r\n *\r\n * @param endpoint The endpoint URL.\r\n * @param options The HTTP options to send with the request.\r\n * @returns Promise http get type action.\r\n */\r\n get = <TResponse>(endpoint: string, options?: object) =>\r\n this.requestSdk<TResponse>(endpoint, {\r\n ...options,\r\n method: \"GET\",\r\n });\r\n\r\n /**\r\n * Http POST action of fetch.\r\n *\r\n * @param endpoint The endpoint URL.\r\n * @param options The HTTP options to send with the request.\r\n * @returns Promise http get type action.\r\n */\r\n post = <TResponse>(endpoint: string, options?: object) =>\r\n this.requestSdk<TResponse>(endpoint, {\r\n ...options,\r\n method: \"POST\",\r\n });\r\n\r\n /**\r\n * Http PUT action of fetch.\r\n *\r\n * @param endpoint The endpoint URL.\r\n * @param options The HTTP options to send with the request.\r\n * @returns Promise http get type action.\r\n */\r\n put = <TResponse>(endpoint: string, options?: object) =>\r\n this.requestSdk<TResponse>(endpoint, {\r\n ...options,\r\n method: \"PUT\",\r\n });\r\n}\r\n","import { RequestSDK } from \".\";\r\nimport type { SdkSapiContext } from \"../sdk-sapi-context\";\r\n\r\n/**\r\n * Represent value. \r\n */\r\nexport class RequestBase extends RequestSDK {\r\n prefix: string;\r\n\r\n constructor(public context: SdkSapiContext, prefix: string) {\r\n super(context);\r\n this.prefix = prefix;\r\n }\r\n\r\n /**\r\n * TokenAuth..\r\n *\r\n * @returns Token value.\r\n */\r\n tokenAuth(): { Authorization: string } {\r\n if (!this.context.valueToken) {\r\n if (!this.context.token) {\r\n throw new Error(\r\n \"SdkSapiContext.token is required when requesting with authentication\",\r\n );\r\n }\r\n this.context.valueToken = this.context.token();\r\n }\r\n return {\r\n Authorization: `Bearer ${this.context.valueToken}`,\r\n };\r\n }\r\n\r\n /**\r\n * Http GET action of fetch.\r\n *\r\n * @param endpoint The endpoint URL.\r\n * @param options The HTTP options to send with the request.\r\n * @param withToken Endpoint required token.\r\n * @returns Promise http get type action.\r\n */\r\n getBase = async <TResponse>(\r\n endpoint: string,\r\n options?: object,\r\n withToken?: boolean,\r\n ) => {\r\n const headers = await this.getHeaders(options, withToken);\r\n return this.requestSdk<TResponse>(`${this.prefix}${endpoint}`, {\r\n ...headers,\r\n ...options,\r\n method: \"GET\",\r\n });\r\n };\r\n\r\n /**\r\n * Handle headers.\r\n *\r\n * @param options Options values.\r\n * @param withToken WithToken values.\r\n * @returns Value header fetch.\r\n */\r\n getHeaders = async (\r\n options: { headers?: Record<string, string> } = {},\r\n withToken = false,\r\n ) => {\r\n const token = withToken ? this.tokenAuth() : {};\r\n\r\n return {\r\n headers: {\r\n ...token,\r\n ...options.headers,\r\n },\r\n };\r\n };\r\n\r\n /**\r\n * Http POST action of fetch.\r\n *\r\n * @param endpoint The endpoint URL.\r\n * @param options The HTTP options to send with the request.\r\n * @param withToken Endpoint required token.\r\n * @returns Promise http get type action.\r\n */\r\n postBase = async <TResponse>(\r\n endpoint: string,\r\n options?: object,\r\n withToken?: boolean,\r\n ) => {\r\n const headers = await this.getHeaders(options, withToken);\r\n\r\n return this.requestSdk<TResponse>(`${this.prefix}${endpoint}`, {\r\n ...options,\r\n ...headers,\r\n method: \"POST\",\r\n });\r\n };\r\n\r\n /**\r\n * Http PUT action of fetch.\r\n *\r\n * @param endpoint The endpoint URL.\r\n * @param options The HTTP options to send with the request.\r\n * @param withToken Endpoint required token.\r\n * @returns Promise http get type action.\r\n */\r\n putBase = async <TResponse>(\r\n endpoint: string,\r\n options?: object,\r\n withToken?: boolean,\r\n ) => {\r\n const headers = await this.getHeaders(options, withToken);\r\n return this.requestSdk<TResponse>(`${this.prefix}${endpoint}`, {\r\n ...options,\r\n ...headers,\r\n method: \"PUT\",\r\n });\r\n };\r\n\r\n /**\r\n * Http Delete action of fetch.\r\n *\r\n * @param endpoint The endpoint URL.\r\n * @param options The HTTP options to send with the request.\r\n * @param withToken Endpoint required token.\r\n * @returns Promise http get type action.\r\n */\r\n deleteBase = async <TResponse>(\r\n endpoint: string,\r\n options?: object,\r\n withToken?: boolean,\r\n ) => {\r\n const headers = await this.getHeaders(options, withToken);\r\n return this.requestSdk<TResponse>(`${this.prefix}${endpoint}`, {\r\n ...options,\r\n ...headers,\r\n method: \"DELETE\",\r\n });\r\n };\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport {\r\n SkinLobbyByCodeType,\r\n GameOpeningURL,\r\n GameSearchType,\r\n QueryType,\r\n GameTypes,\r\n GameCategoryType,\r\n GamesJackpotsPragmaticType,\r\n Game,\r\n} from \"../types\";\r\n\r\n/**\r\n *\r\n */\r\nexport class GameService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/games`;\r\n\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get skin lobby by code.\r\n *\r\n * @param lobbyCode Lobby code.\r\n * @param token Represent value token.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinLobbyByCode = async (lobbyCode: string, token: string) =>\r\n this.requestBase<SkinLobbyByCodeType>(\r\n `/games/skin/${this.context.skin}/lobby/${lobbyCode}`,\r\n {\r\n ...(token && {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }),\r\n },\r\n );\r\n\r\n /**\r\n * Get game opening URL.\r\n *\r\n * @param gameId Represents game ID.\r\n * @param device Represent value device.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGamesOpeningUrl = async (gameId: string, device: string, options = {}) =>\r\n this.getBase<GameOpeningURL>(\r\n `/${gameId}/device/${device}/opening-url`,\r\n options,\r\n true,\r\n );\r\n\r\n /**\r\n * Get game opening URL.\r\n *\r\n * @param gameId Represents game ID.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGameById = async (gameId: string, options = {}) =>\r\n this.getBase<Game>(`/${gameId}/skin/${this.context.skin}`, options);\r\n\r\n /**\r\n * Get game opening URL.\r\n *\r\n * @param gameId Represents game ID.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGameByIdServer = async (gameId: string, options = {}) =>\r\n this.requestBase<Game>(\r\n `/games/${gameId}/skin/${this.context.skin}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get game by supplier and category.\r\n *\r\n * @param supplier Supplier name.\r\n * @param category Category name.\r\n * @param query QueryType.\r\n * @param options Represent value options.\r\n * @param withToken Is fetch with session.\r\n * @returns These returns values unknown.\r\n */\r\n getGamesBySupplierAndCategory = async (\r\n supplier: string,\r\n category?: string,\r\n query?: QueryType,\r\n options = {},\r\n withToken = false,\r\n ) => {\r\n if (!supplier) return {};\r\n const categoryUrl = category ? `/category/${category}` : \"\";\r\n const page = query?.page ?? 1;\r\n const limit = query?.limit ?? 20;\r\n return this.getBase<GameSearchType>(\r\n `/provider/${supplier}/skin/${this.context.skin}${categoryUrl}?page=${page}&limit=${limit}`,\r\n options,\r\n withToken,\r\n );\r\n };\r\n\r\n /**\r\n * Get games by tournament ID and skin.\r\n *\r\n * @param tournamentId Represents tournament ID.\r\n * @param query QueryType.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGamesByTournamentAndSkin = async (\r\n tournamentId: string,\r\n query?: QueryType,\r\n options = {},\r\n ) => {\r\n if (!tournamentId) return {};\r\n const { page = 1, limit = 20 } = query || {};\r\n return this.getBase<GameSearchType>(\r\n `/skin/${this.context.skin}/tournament/${tournamentId}?page=${page}&limit=${limit}`,\r\n options,\r\n );\r\n };\r\n\r\n /**\r\n * Get game types.\r\n *\r\n * @param options Represent value options.\r\n * @param withToken Is fetch with session.\r\n * @returns These returns values unknown.\r\n */\r\n getGameTypes = async (options = {}, withToken = false) =>\r\n this.getBase<GameTypes[]>(`/types`, options, withToken);\r\n\r\n /**\r\n * Get game categories.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGameCategories = async (options = {}) =>\r\n this.getBase<GameCategoryType[]>(`/categories`, options, true);\r\n\r\n /**\r\n * Get game by lobby code.\r\n *\r\n * @param lobbyCode Represents tournament ID.\r\n * @param query QueryType.\r\n * @param options Represent value options.\r\n * @param withToken Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGameByLobbyCode = async (\r\n lobbyCode: string,\r\n query?: QueryType,\r\n options = {},\r\n withToken = false,\r\n ) => {\r\n const { page = 1, limit = 20, ...queryParams } = query || {};\r\n\r\n return this.getBase<GameSearchType[]>(\r\n `/skin/${this.context.skin}/lobby-paginate/${lobbyCode}?page=${page}&limit=${limit}`,\r\n options,\r\n withToken,\r\n );\r\n };\r\n\r\n /**\r\n * Get game by type.\r\n *\r\n * @param type Type name.\r\n * @param query QueryType.\r\n * @param options Represent value options.\r\n * @param withToken Is fetch with session.\r\n * @returns These returns values unknown.\r\n */\r\n getGamesByType = async (\r\n type: string,\r\n query?: QueryType,\r\n options = {},\r\n withToken = false,\r\n ) => {\r\n const typeUrl = type ? `/type/${type}` : \"\";\r\n const { page = 1, limit = 20, } = query || {};\r\n return this.getBase<GameSearchType>(\r\n `/skin/${this.context.skin}${typeUrl}?page=${page}&limit=${limit}`,\r\n options,\r\n withToken,\r\n );\r\n };\r\n\r\n /**\r\n * Get skin games jackpots pragmatic .\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinGamesJackpotsPragmatic = (options = {}) =>\r\n this.getBase<GamesJackpotsPragmaticType>(\r\n `/jackpot/pragmatic/skin/${this.context.skin}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get game skin by code lobby.\r\n *\r\n * @param codeLobby Type name.\r\n * @param query QueryType.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGamesSkinByCodeLobby = async (\r\n codeLobby: string,\r\n query?: QueryType,\r\n options = {},\r\n ) => {\r\n const { page = 1, limit = 20 } = query || {};\r\n\r\n return this.getBase<GameSearchType>(\r\n `/skin/${this.context.skin}/lobby/${codeLobby}?page=${page}&limit=${limit}`,\r\n options,\r\n true,\r\n );\r\n };\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport {\r\n SliderTournamentType,\r\n SkinInformationType,\r\n SkinCountryType,\r\n CurrencyType,\r\n ProviderType,\r\n FaqItemType,\r\n} from \"../types\";\r\n\r\n/**\r\n *\r\n */\r\nexport class SkinService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const { skin } = context;\r\n // Here you define the service prefix.\r\n const prefixService = `/skin/${skin}`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get faq by skin.\r\n *\r\n * @param withToken Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getFaqBySkin = (withToken = false) =>\r\n this.getBase<FaqItemType[]>(\"/faq\", {}, withToken);\r\n\r\n /**\r\n * Get skin providers.\r\n *\r\n * @param query Represent value options.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinProviders = (query = {}, options = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<string[]>(`/providers?${handleQuery}`, options);\r\n };\r\n\r\n /**\r\n * Get skin providers.\r\n *\r\n * @param query Represent value options.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinProvidersServer = (query = {}, options = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.requestBase<string[]>(\r\n `/skin/${this.context.skin}/providers?${handleQuery}`,\r\n options,\r\n );\r\n };\r\n\r\n /**\r\n * Get Skin General Information.\r\n *\r\n * @param query Represent value query.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinInformation = (query = {}, options = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n\r\n return this.getBase<SkinInformationType[]>(\r\n `/information?${handleQuery}`,\r\n options,\r\n );\r\n };\r\n\r\n /**\r\n * Get Skin Country.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinCountry = (options = {}) =>\r\n this.getBase<SkinCountryType>(`/country`, options);\r\n\r\n /**\r\n * Get skin currency.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinCurrency = (options = {}) =>\r\n this.getBase<CurrencyType>(`/currency`, options);\r\n\r\n /**\r\n * Get skin providers.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinProvidersList = (options = {}) =>\r\n this.getBase<Array<ProviderType>>(`/provider/list`, options);\r\n}\r\n","export const headersApplicationJson = {\r\n \"Content-Type\": \"application/json\",\r\n};\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n CreatePlayerType,\r\n CreatePlayerDataType,\r\n PlayerSendVerifySmsType,\r\n PlayerSendVerifySmsDataType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\nimport {\r\n PlayerSendPasswordRecoverDataType,\r\n PlayerSendPasswordRecoverType,\r\n PlayerUpdatePasswordDataType,\r\n PlayerUpdatePasswordType,\r\n PlayerSetPasswordType,\r\n PlayerSetPasswordDataType,\r\n PlayerBankAccountsType,\r\n PlayerEditType,\r\n PlayerEditDataType,\r\n PlayerRequestWithdrawalDataType,\r\n PlayerRequestWithdrawalType,\r\n PlayerType,\r\n PlayerRequestWithdrawalStatusType,\r\n PlayerBonusAvailablesType,\r\n PlayerBonusAvailableCountType,\r\n BetRoundLinkType,\r\n PlayerBonusActivateType,\r\n PlayerBonusTermsConditionsType,\r\n TransactionTypeType,\r\n TransactionStatusType,\r\n SendEmailConfirmationType,\r\n PlayerBalanceType,\r\n PlayerDetailsEditDataType,\r\n PlayerDetailsEditType,\r\n PlayerTransactionsType,\r\n PlayerRequestWithdrawalPendingTrackingType,\r\n PlayerPreRegistrationRequestDataType,\r\n PlayerPreRegistrationResponseType,\r\n CreatePlayerPhoneDataType,\r\n PlayerUpdateOrCreatePhoneType,\r\n PlayerBonusPromotionActivateDataType,\r\n} from \"../types\";\r\nimport { CommonMessageType } from \"../types/message.interface\";\r\n\r\n/**\r\n *\r\n */\r\nexport class PlayerService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/player`;\r\n super(context, prefixService);\r\n }\r\n\r\n postPlayerPreRegistration = async (\r\n data: PlayerPreRegistrationRequestDataType,\r\n ) =>\r\n this.postBase<PlayerPreRegistrationResponseType>(\r\n \"/create/preregister\",\r\n {\r\n body: JSON.stringify({\r\n ...data,\r\n skin: this.context.skin,\r\n }),\r\n headers: headersApplicationJson,\r\n },\r\n );\r\n /**\r\n * Get player bank accounts.\r\n *\r\n * @param options - Represent value options.\r\n * @returns These returns a list with player notifications.\r\n */\r\n getPlayerBankAccounts = async (options = {}) =>\r\n this.getBase<PlayerBankAccountsType>(\"/bank-accounts\", options, true);\r\n\r\n /**\r\n * Post create player.\r\n *\r\n * @param data Represent the data to send in the body.\r\n * @returns These returns values unknown.\r\n */\r\n postCreatePlayer = (data: CreatePlayerDataType) =>\r\n this.postBase<CreatePlayerType>(\"/create\", {\r\n body: JSON.stringify({\r\n country_id: 241,\r\n ...data,\r\n }),\r\n headers: headersApplicationJson,\r\n });\r\n\r\n /**\r\n * Sends a POST request to edit player details.\r\n *\r\n * @param data - The data to be sent in the request body.\r\n * @returns A promise that resolves with the response of the POST request.\r\n */\r\n postPlayerAcceptChangeTermsAndPolicy = (data: PlayerDetailsEditDataType) =>\r\n this.postBase<PlayerDetailsEditType>(\r\n \"/details/edit\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post send verification sms code.\r\n *\r\n * @param data - Represent the data to send in the body.\r\n * @returns These returns values unknown.\r\n */\r\n postSendVerificationSms = (data: PlayerSendVerifySmsDataType) =>\r\n this.postBase<PlayerSendVerifySmsType>(\"/send/sms-code-verify\", {\r\n body: JSON.stringify(data),\r\n headers: headersApplicationJson,\r\n });\r\n\r\n /**\r\n * Post send password recover url.\r\n *\r\n * @param data - Represent the data to send in the body.\r\n * @returns These returns values unknown.\r\n */\r\n postSendPasswordRecover = (data: PlayerSendPasswordRecoverDataType) =>\r\n this.postBase<PlayerSendPasswordRecoverType>(\r\n \"/password-recovery/request\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n ...data,\r\n skin: this.context.skin,\r\n link: \"password/recover/\",\r\n }),\r\n },\r\n );\r\n\r\n /**\r\n * Put update password player.\r\n *\r\n * @param data - PlayerUpdatePasswordDataType.\r\n * @returns These returns values unknown.\r\n */\r\n putUpdatePasswordPlayer = async (data: PlayerUpdatePasswordDataType) =>\r\n this.putBase<PlayerUpdatePasswordType>(\r\n \"/update-password\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Set new password.\r\n *\r\n * @param data - PlayerSetPasswordDateType.\r\n * @returns These returns values unknown.\r\n */\r\n postUpdatePlayerPassword = async (data: PlayerSetPasswordDataType) =>\r\n this.postBase<PlayerSetPasswordType>(\"/password-recovery\", {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n ...data,\r\n skin: this.context.skin,\r\n }),\r\n });\r\n\r\n /**\r\n * Put edit player.\r\n *\r\n * @param data - PlayerEditDataType.\r\n * @returns These returns values unknown.\r\n */\r\n putEditPlayer = async (data: PlayerEditDataType) =>\r\n this.putBase<PlayerEditType>(\r\n \"/edit\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Request withdrawal.\r\n *\r\n * @param data - PlayerRequestWithdrawalDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postRequestWithdrawal = async (data: PlayerRequestWithdrawalDataType) =>\r\n this.postBase<PlayerRequestWithdrawalType>(\r\n \"/request-withdrawal/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get player info.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerInfo = async (options = {}) =>\r\n this.getBase<PlayerType>(\"\", options, true);\r\n\r\n /**\r\n * Get player balance.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBalance = async (options = {}) =>\r\n this.getBase<PlayerBalanceType>(\"/balance\", options, true);\r\n\r\n /**\r\n * Get player request withdrawal status.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerRequestWithdrawalStatus = async () =>\r\n this.getBase<PlayerRequestWithdrawalStatusType>(\r\n \"/request-withdrawal/status\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get player request withdrawal pending tracking.\r\n *\r\n * @param props - PlayerRequestWithdrawalPendingTrackingType.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerRequestWithdrawalPendingTracking = async (\r\n playerRequestId: number,\r\n ) =>\r\n this.getBase<PlayerRequestWithdrawalPendingTrackingType>(\r\n `/request-withdrawal/pending/${playerRequestId}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Close player request withdrawal pending tracking.\r\n *\r\n * @param playerRequestId - Player request withdrawal id.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerRequestWithdrawalPendingClose = async (playerRequestId: number) =>\r\n this.postBase<CommonMessageType>(\r\n \"/request-withdrawal/pending/close\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n player_request_id: playerRequestId,\r\n }),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get player bonus availables.\r\n *\r\n * @returns These returns values PlayerBonusAvailablesType.\r\n */\r\n getPlayerBonusAvailable = async () =>\r\n this.getBase<PlayerBonusAvailablesType>(\"/bonus/availables\", {}, true);\r\n\r\n /**\r\n * Get player bonus available count.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusAvailableCount = async () =>\r\n this.postBase<PlayerBonusAvailableCountType>(\r\n \"/bonus/available/count\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get bet round link.\r\n *\r\n * @param roundId - Round id.\r\n * @returns These returns values unknown.\r\n */\r\n getBetRoundLink = async (roundId: string | number) =>\r\n this.getBase<BetRoundLinkType>(\r\n `/game-replay/transaction-id/${roundId}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Post bonus activate.\r\n *\r\n * @param bonusId - String.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerBonusActivate = async (bonusId: number) =>\r\n this.postBase<PlayerBonusActivateType>(\r\n `/bonus/activate/bonus-id/${bonusId}`,\r\n {\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post bonus Give up.\r\n *\r\n * @param bonusId - String.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerBonusGiveUp = async (bonusId: number) =>\r\n this.postBase<PlayerBonusActivateType>(\r\n `/bonus/give-up/bonus-id/${bonusId}`,\r\n {\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get bonus activate.\r\n *\r\n * @param bonusId - String.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusTermsConditions = async (bonusId: number) =>\r\n this.getBase<PlayerBonusTermsConditionsType>(\r\n `/bonus/terms-conditions/bonus-id/${bonusId}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get transactions type.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getTransactionsTypes = async () =>\r\n this.getBase<TransactionTypeType[]>(`/transactions/type`, {}, true);\r\n\r\n /**\r\n * Get transactions status.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getTransactionsStatus = async () =>\r\n this.getBase<TransactionStatusType[]>(`/transactions/status`, {}, true);\r\n\r\n /**\r\n * Send email to confirm email verification.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n postSendEmailConfirmationVerify = async () =>\r\n this.postBase<SendEmailConfirmationType>(\r\n \"/send/email-confirmation-verify\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get latest transactions.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getLatestTransactions = () =>\r\n this.getBase<PlayerTransactionsType[]>(\r\n `/transactions/latest?limit=2`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Post player preferences.\r\n *\r\n * @param isPreferSkin2 - Boolean.\r\n * @param ip - String.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerPreferenceByIp = async (isPreferSkin2: boolean, ip: string) =>\r\n this.postBase<boolean>(\r\n \"/skin/ip/preference\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n prefer_skin2: isPreferSkin2,\r\n ip: ip,\r\n }),\r\n },\r\n false,\r\n );\r\n\r\n /**\r\n * Post player preferences.\r\n *\r\n * @param isPreferSkin2 - Boolean.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerPreferenceByUser = async (isPreferSkin2: boolean) =>\r\n this.postBase<boolean>(\r\n \"/skin/preference\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n prefer_skin2: isPreferSkin2,\r\n }),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post update or create phone.\r\n *\r\n * @param data - The data to be verified.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerUpdateOrCreatePhone = (data: CreatePlayerPhoneDataType) =>\r\n this.postBase<PlayerUpdateOrCreatePhoneType>(\"/create/phone\", {\r\n body: JSON.stringify(data),\r\n headers: headersApplicationJson,\r\n });\r\n\r\n /**\r\n * Post promotion activate bonus.\r\n *\r\n * @param data - PlayerBonusPromotionActivateDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postPromotionActivateBonus = async (\r\n data: PlayerBonusPromotionActivateDataType,\r\n ) =>\r\n this.postBase<PlayerBonusActivateType>(\r\n \"/promotion/welcome/assign\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n ValidateAffiliateCodeType,\r\n ValidateDocumentBySkinType,\r\n ValidatePhoneType,\r\n ValidateMailType,\r\n ValidateUsernameType,\r\n ValidatePasswordRecoveryCodeType,\r\n ValidateSerialResponseType,\r\n ValidateSerialType,\r\n ValidateSerialDataType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\n/**\r\n *\r\n */\r\nexport class ValidateService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/validate`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get username validation.\r\n *\r\n * @param username Username string.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getUsernameValidation = (username: string, options = {}) =>\r\n username &&\r\n this.getBase<ValidateUsernameType>(`/username/${username}`, options);\r\n\r\n /**\r\n * Get document validation by skin.\r\n *\r\n * @param document Document string.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getDocumentValidationBySkin = (\r\n document: string,\r\n playerPreregisterId: string,\r\n ) =>\r\n document &&\r\n this.postBase<ValidateDocumentBySkinType>(`/document`, {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n document_rut: document,\r\n skin: this.context.skin,\r\n document_type: \"CI\",\r\n player_preregister_id: playerPreregisterId,\r\n }),\r\n });\r\n /**\r\n * Get document validation by skin.\r\n *\r\n * @param body Document string.\r\n * @returns These returns values unknown.\r\n */\r\n getSerialValidationBySkin = (body: ValidateSerialResponseType) =>\r\n this.postBase<ValidateDocumentBySkinType>(`/serial`, {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n ...body,\r\n skin: this.context.skin,\r\n document_type: \"CI\",\r\n }),\r\n });\r\n\r\n /**\r\n * Get affiliate code validation.\r\n *\r\n * @param code Affiliate Code string.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getAffiliateValidation = (code: string, options = {}) =>\r\n code &&\r\n this.getBase<ValidateAffiliateCodeType>(\r\n `/skin/${this.context.skin}/affiliate/code/${code}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get mail validation.\r\n *\r\n * @param mail Mail string.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getMailValidation = (mail: string, options = {}) =>\r\n mail &&\r\n this.getBase<ValidateMailType>(\r\n `/mail/${mail}/skin/${this.context.skin}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get phone validation by skin.\r\n *\r\n * @param phone - Phone number string.\r\n * @param options - Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getPhoneValidationBySkin = (phone: string, options = {}) =>\r\n phone &&\r\n this.getBase<ValidatePhoneType>(\r\n `/phone/${phone}/skin/${this.context.skin}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get the code validation.\r\n *\r\n * @param code - Code to validate.\r\n * @param options - Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getPasswordRecoveryCodeValidation = (code: string, options = {}) =>\r\n code &&\r\n this.getBase<ValidatePasswordRecoveryCodeType>(\r\n `/password-recovery/code/${code}`,\r\n options,\r\n );\r\n\r\n postValidateSerial = (data: ValidateSerialDataType, withToken = false) =>\r\n this.postBase<ValidateSerialType>(\r\n \"/serial\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n ...data,\r\n document_type: \"CI\",\r\n skin: this.context.skin,\r\n }),\r\n },\r\n withToken,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type { GameCategoryType } from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\n\r\n/**\r\n *\r\n */\r\nexport class SupplierService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/provider`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get game categories by supplier.\r\n *\r\n * @param supplier Represents the value of the supplier.\r\n * @param options Represent Value options.\r\n * @param withToken Is fetch with session.\r\n * @returns These returns values unknown.\r\n */\r\n getGameCategoriesBySupplier = async (\r\n supplier: string,\r\n options = {},\r\n withToken = false,\r\n ) =>\r\n this.getBase<GameCategoryType[]>(\r\n `/${supplier}/categories`,\r\n options,\r\n withToken,\r\n );\r\n\r\n /**\r\n * Get game categories by supplier.\r\n *\r\n * @param supplier Represents the value of the supplier.\r\n * @param options Represent Value options.\r\n * @returns These returns values unknown.\r\n */\r\n getGameCategoriesBySupplierServer = async (\r\n supplier: string,\r\n options = {},\r\n ) => {\r\n const supplierSlug = supplier.trim().toLowerCase();\r\n return this.requestBase<GameCategoryType[]>(\r\n `/provider/${encodeURIComponent(supplierSlug)}/categories`,\r\n options,\r\n );\r\n };\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n VerifyIdentityDocumentType,\r\n VerifyPlayerEmailType,\r\n VerifyPlayerPhoneType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\n/**\r\n * Service for verify player.\r\n */\r\nexport class VerifyService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n /* Here you define the service prefix. */\r\n const prefixService = `/verify/player`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Verify identity document.\r\n *\r\n * @param document - Identity document string.\r\n * @param serial - Serial number.\r\n * @param options - Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n verifyIdentityDocument = (document: string, serial: string, options = {}) =>\r\n document &&\r\n this.getBase<VerifyIdentityDocumentType>(\r\n `/document/${document}/skin/${this.context.skin}/verify?serial=${serial}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Verify player phone number.\r\n *\r\n * @param data - The data to be verified.\r\n * @returns These returns values unknown.\r\n */\r\n verifyPlayerPhone = (data: Record<string, unknown>) =>\r\n this.requestBase<VerifyPlayerPhoneType>(`/verify/player/phone`, {\r\n method: \"POST\",\r\n body: JSON.stringify(data),\r\n headers: headersApplicationJson,\r\n });\r\n\r\n /**\r\n * Verify player email.\r\n *\r\n * @param code Code to verify the email.\r\n * @returns These returns values unknown.\r\n */\r\n verifyPlayerEmail = (code: string) =>\r\n this.getBase<VerifyPlayerEmailType>(\r\n `/auth/email/code/${code}`,\r\n {},\r\n true,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\nimport {\r\n SendCasinoClaimFormDataType,\r\n SendCasinoClaimFormType,\r\n SendContactFormDataType,\r\n SendContactFormType,\r\n SendSportClaimFormDataType,\r\n SendSportClaimFormType,\r\n} from \"../types\";\r\nimport { CommonMessageType } from \"../types/message.interface\";\r\n\r\n/**\r\n *\r\n */\r\nexport class FormService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const prefixService = `/form`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * This method sends contact form.\r\n *\r\n * @param data - Represent value data.\r\n * @returns These returns values unknown.\r\n */\r\n postSendContactForm = (data: SendContactFormDataType) =>\r\n this.postBase<SendContactFormType>(\"/contact/create\", {\r\n body: JSON.stringify({\r\n ...data,\r\n skin: this.context.skin,\r\n }),\r\n headers: headersApplicationJson,\r\n });\r\n\r\n /**\r\n * This method sends deposit form.\r\n *\r\n * @param data - Represent value data.\r\n * @returns These returns values unknown.\r\n */\r\n postSupportDepositForm = (data: FormData) =>\r\n this.postBase<CommonMessageType>(\"/deposit\", { body: data }, true);\r\n\r\n /**\r\n * This method sends sport claim form.\r\n *\r\n * @param data - Represent value data.\r\n * @returns These returns values unknown.\r\n */\r\n postSendSportClaimForm = (data: SendSportClaimFormDataType) =>\r\n this.postBase<SendSportClaimFormType>(\r\n \"/support/sport\",\r\n {\r\n body: JSON.stringify(data),\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * This method sends sport claim form.\r\n *\r\n * @param data - Represent value data.\r\n * @returns These returns values unknown.\r\n */\r\n postSendCasinoClaimForm = (data: SendCasinoClaimFormDataType) =>\r\n this.postBase<SendCasinoClaimFormType>(\r\n \"/support\",\r\n {\r\n body: JSON.stringify(data),\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * This method sends update data form.\r\n *\r\n * @param data - Represent value data.\r\n * @returns These returns values unknown.\r\n */\r\n postSendUpdateDataSupport = (data: FormData) =>\r\n this.postBase<CommonMessageType>(\r\n \"/personal-data\",\r\n {\r\n body: data,\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * This method sends unblock account support form.\r\n *\r\n * @param data - Represent value data.\r\n * @returns These returns values unknown.\r\n */\r\n postSendAccountClosureSupport = (data: FormData) => {\r\n data.append(\"skin\", this.context.skin);\r\n return this.postBase<CommonMessageType>(\"/unlock\", {\r\n body: data,\r\n });\r\n };\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\nimport {\r\n PlayerCreateSelfExclusionAccountClosureDataType,\r\n PlayerCreateSelfExclusionAccountClosureType,\r\n PlayerCreateSelfExclusionByCategoryDataType,\r\n PlayerCreateSelfExclusionByCategoryType,\r\n PlayerCreateSelfExclusionByProviderDataType,\r\n PlayerCreateSelfExclusionByProviderType,\r\n PlayerCreateSelfExclusionRevocationRequestDataType,\r\n PlayerCreateSelfExclusionRevocationRequestType,\r\n PlayerCreateSelfExclusionTotalDataType,\r\n PlayerSelfExclusionStatusType,\r\n} from \"../types\";\r\n\r\n/**\r\n * Represent all services self-exclusion.\r\n */\r\nexport class SelfExclusionService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n /* Here you define the service prefix.*/\r\n const prefixService = \"/player/self-exclusion\";\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Post update or create self exclusion by category.\r\n *\r\n * @param data - PlayerCreateSelfExclusionByCategoryDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postCreateSelfExclusionByCategory = async (\r\n data: PlayerCreateSelfExclusionByCategoryDataType,\r\n ) =>\r\n this.postBase<PlayerCreateSelfExclusionByCategoryType>(\r\n \"/category/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post update or create self exclusion by provider.\r\n *\r\n * @param data - PlayerCreateSelfExclusionByProviderDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postCreateSelfExclusionByProvider = async (\r\n data: PlayerCreateSelfExclusionByProviderDataType,\r\n ) =>\r\n this.postBase<PlayerCreateSelfExclusionByProviderType>(\r\n \"/provider/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post create self exclusion revocation request.\r\n *\r\n * @param data - PlayerCreateSelfExclusionRevocationRequestDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postCreateSelfExclusionRevocationRequest = async (\r\n data: PlayerCreateSelfExclusionRevocationRequestDataType,\r\n ) =>\r\n this.postBase<PlayerCreateSelfExclusionRevocationRequestType>(\r\n \"/revocation-request\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post create self exclusion for account closure.\r\n *\r\n * @param data - PlayerCreateSelfExclusionAccountClosureDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postCreateSelfExclusionAccountClosure = async (\r\n data: PlayerCreateSelfExclusionAccountClosureDataType,\r\n ) =>\r\n this.postBase<PlayerCreateSelfExclusionAccountClosureType>(\r\n \"/account-closure/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post create self exclusion for total.\r\n *\r\n * @param data - PlayerCreateSelfExclusionTotalDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postCreateSelfExclusionTotal = async (\r\n data: PlayerCreateSelfExclusionTotalDataType,\r\n ) =>\r\n this.postBase<PlayerCreateSelfExclusionAccountClosureType>(\r\n \"/total/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get self exclusion status.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getSelfExclusionStatus = async () =>\r\n this.getBase<PlayerSelfExclusionStatusType>(\"/active\", {}, true);\r\n\r\n /**\r\n * Get self exclusion status.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getSelfExclusionRevocationRequestStatus = async () =>\r\n this.getBase<PlayerCreateSelfExclusionRevocationRequestType>(\r\n \"/revocation-request/block\",\r\n {},\r\n true,\r\n );\r\n}\r\n","import { GameProviderType } from \"./game-provider.interface\";\r\n\r\nexport interface SliderTournamentType {\r\n /** ID of the tournament. */\r\n id: number;\r\n /** Name of the tournament. */\r\n name: string;\r\n /** Title of the tournament. */\r\n title: string;\r\n /** Amount of the tournament. */\r\n amount: number;\r\n /** Type of the tournament. */\r\n type: string;\r\n /** Activated date of the tournament. */\r\n activated_at: string;\r\n /** Expired date of the tournament. */\r\n expired_at: string;\r\n /** Current status of the tournament. */\r\n current_status: TournamentCurrentStatus;\r\n /** Image of the tournament. */\r\n image: string;\r\n /** Provider list of the tournament. */\r\n provider: GameProviderType[];\r\n}\r\n\r\nexport enum TournamentCurrentStatus {\r\n IN_GAME = \"EN JUEGO\",\r\n EXPIRED = \"EXPIRADO\",\r\n BEGIN = \"POR EMPEZAR\",\r\n INACTIVE = \"INACTIVE\",\r\n DEFAULT = \"DEFAULT\",\r\n}","import { SkinType } from \"./skin.interface\";\r\nimport { PlayerType } from \"./player.interface\";\r\nimport { SessionType } from \"./session.interface\";\r\nimport { CommonMessageType } from \"./message.interface\";\r\nimport { PlayerTwoFactorCodeDataType } from \"./player-two-factor-code-data.interface\";\r\n\r\nexport enum AccessFlowControllerTypeEnum {\r\n BLOCK_ACCOUNT = \"BLOCK_ACCOUNT\",\r\n TEMPORAL_BLOCK = \"TEMPORAL_BLOCK\",\r\n AGE_RESTRICTION = \"AGE_RESTRICTION\",\r\n SAME_SKIN_FOUND = \"SAME_SKIN_FOUND\",\r\n EXIST_OTHER_SKIN = \"EXIST_OTHER_SKIN\",\r\n RESTRICTED_BLACKLIST = \"RESTRICTED_BLACKLIST\",\r\n INCOMPLETE_REGISTRATION = \"INCOMPLETE_REGISTRATION\",\r\n ACCOUNT_PENDING_SMS_VERIFICATION = \"ACCOUNT_PENDING_SMS_VERIFICATION\",\r\n DOCUMENT_IP_BLOCK = \"DOCUMENT_IP_BLOCK\",\r\n /** The document serial. */\r\n PROVIDER_ERROR = \"PROVIDER_ERROR\",\r\n DOCUMENT_HARD_BLOCK = \"DOCUMENT_HARD_BLOCK\",\r\n DOCUMENT_SERIAL_BLOCK = \"DOCUMENT_SERIAL_BLOCK\",\r\n DOCUMENT_SERIAL_WARNING = \"DOCUMENT_SERIAL_WARNING\",\r\n\r\n /** The player SMS code. */\r\n PLAYER_SMS_CODE_BLOCK = \"PLAYER_SMS_CODE_BLOCK\",\r\n PLAYER_SMS_CODE_INVALID = \"PLAYER_SMS_CODE_INVALID\",\r\n PLAYER_SMS_CODE_WARNING = \"PLAYER_SMS_CODE_WARNING\",\r\n PLAYER_SMS_CODE_HARD_BLOCK = \"PLAYER_SMS_CODE_HARD_BLOCK\",\r\n PLAYER_SMS_CODE_HARD_WARNING = \"PLAYER_SMS_CODE_HARD_WARNING\",\r\n}\r\n\r\nexport enum AccessFlowControllerFromOriginEnum {\r\n LOGIN = \"LOGIN\",\r\n REGISTER = \"REGISTER\",\r\n VALIDATE_DOCUMENT = \"VALIDATE_DOCUMENT\",\r\n VALIDATE_DOCUMENT_BONUS = \"VALIDATE_DOCUMENT_BONUS\",\r\n}\r\n\r\nexport interface PlayerAccessFlowControllerBlockedData {\r\n /** Indicates whether the resend limit has been reached. */\r\n is_resend_limit_reached: boolean;\r\n /** The number of attempts to send the SMS. */\r\n attempts: number;\r\n /** The date (ISO 8601 format) when the access flow controller block will be lifted or activated. */\r\n activation_date: string;\r\n /** The remaining seconds to the access flow controller block will be lifted or activated. */\r\n remaining_seconds: number;\r\n /** The unique identifier of the player. */\r\n player_id: number;\r\n /** The next step in the registration process. */\r\n next_step: number;\r\n /** Phone number of the player. */\r\n phone: string | null;\r\n /** Whether the terms and privacy have been accepted. */\r\n terms_and_privacy_accepted: boolean;\r\n /** Whether the player wants to subscribe to the newsletter. */\r\n newsletter: boolean;\r\n /** URL to redirect to the other skin. */\r\n url: string;\r\n /** Name of the other skin. */\r\n skin: string | SkinType;\r\n /** Whether to show the support link. */\r\n is_show_support_link: boolean;\r\n /** The rut of the player. */\r\n rut: string;\r\n}\r\n\r\nexport interface PlayerAccessFlowControllerDataType {\r\n /** Title of the blocked message. */\r\n title: string;\r\n /** Description of the blocked message. */\r\n description: string;\r\n /** Type of the blocked message. */\r\n type: AccessFlowControllerTypeEnum;\r\n /** The meta data of the blocked message. */\r\n meta: Partial<PlayerAccessFlowControllerBlockedData>;\r\n /** View type of the blocked message. */\r\n readonly fromOrigin: AccessFlowControllerFromOriginEnum;\r\n}\r\n\r\nexport interface PlayerSessionType\r\n extends CommonMessageType,\r\n PlayerTwoFactorCodeDataType,\r\n PlayerAccessFlowControllerDataType {\r\n /** The unique identifier of the player. */\r\n player_id: number;\r\n /** Indicates whether phone validation via SMS code is required. */\r\n smsCodeRequired: boolean;\r\n /** The player's data. */\r\n player: PlayerType;\r\n /** The player's session data. */\r\n session: SessionType;\r\n}\r\n","/**\r\n * Represents all the type of status of menu item.\r\n */\r\nexport enum MenuStatusType {\r\n /** Show item with or without section. */\r\n WITH_WITHOUT_SESSION = \"WITH_WITHOUT_SESSION\",\r\n /** Show item with section. */\r\n WITH_SESSION = \"WITH_SESSION\",\r\n /** Show item without section. */\r\n WITHOUT_SESSION = \"WITHOUT_SESSION\",\r\n}\r\n","import { CommonMessageType } from \"./message.interface\";\r\nimport { PlayerAccessFlowControllerDataType } from \"./player-session.interface\";\r\nimport { PlayerBonusActivateDataType } from \"./player-bonus-activate-data.interface\";\r\n\r\nexport enum PromotionTypeEnum {\r\n CASINO = \"CASINO\",\r\n SPORTS = \"SPORTS\",\r\n}\r\n\r\nexport interface PlayerBonusActivateType\r\n extends CommonMessageType,\r\n PlayerAccessFlowControllerDataType {\r\n /** Represents isSuccessful of bonus. */\r\n data: PlayerBonusActivateDataType;\r\n /** Represents isSuccessful of bonus. */\r\n isSuccessful: boolean;\r\n /** Represents messageResponse of bonus. */\r\n messageResponse: string;\r\n}\r\n\r\nexport interface PlayerBonusPromotionActivateDataType {\r\n /** Represents type of promotion. */\r\n promotion_type: PromotionTypeEnum;\r\n}\r\n","export enum PlayerSessionDeviceEnum {\r\n PC = \"PC\",\r\n MOBILE = \"MOBILE\",\r\n TABLET = \"TABLET\",\r\n}\r\n\r\nexport enum PlayerSessionStatusEnum {\r\n ACTIVE = \"ACTIVE\",\r\n TIMEOUT = \"TIMEOUT\",\r\n CLOSED = \"CLOSED\",\r\n}\r\n\r\nexport interface SessionReportType {\r\n /** Session id. */\r\n id: number;\r\n /** Session agent. */\r\n agent: string;\r\n /** Session browser. */\r\n browser: string;\r\n /** Session operating_system. */\r\n operating_system: PlayerSessionDeviceEnum;\r\n /** Session ipaddress. */\r\n ipaddress: string;\r\n /** Session login. */\r\n login: string;\r\n /** Session device_type. */\r\n device_type: PlayerSessionDeviceEnum;\r\n /** Session status. */\r\n status: PlayerSessionStatusEnum;\r\n}\r\n","export enum SelfLimitationAlertKey {\r\n FULL_LIMIT = \"FULL_LIMIT\",\r\n PARTIAL_LIMIT = \"PARTIAL_LIMIT\",\r\n}\r\n\r\nexport interface PaymentCreateType {\r\n /** The message response. */\r\n messageResponse?: string;\r\n /** The is successful response. */\r\n isSuccessful?: boolean;\r\n /** The params. */\r\n params?: {\r\n /** The url. */\r\n url: string;\r\n /** The order code. */\r\n orderCode: number;\r\n /** The token. */\r\n token: string;\r\n /** The url final. */\r\n urlFinal: string;\r\n };\r\n /** The payment provider transaction id. */\r\n payment_provider_transaction_id?: number;\r\n /** The response message. */\r\n message?: string;\r\n /** The response error. */\r\n error?: {\r\n /** Skin error description. */\r\n skin: string;\r\n };\r\n /** Represent limitations. */\r\n self_limitation?: {\r\n /** Represent limitations message. */\r\n message: string;\r\n /** Represent limitations daily limit. */\r\n daily_limit: string;\r\n /** Represent limitations time period. */\r\n time_period: string;\r\n /** Represent limitations has limitation. */\r\n has_limitation: boolean;\r\n /** Represent limitations available amount. */\r\n available_amount: string;\r\n /** Represent limitations alert type. */\r\n alert_type: SelfLimitationAlertKey;\r\n };\r\n}\r\n","import { CommonMessageType } from \"./message.interface\";\r\n\r\n\r\n/** Represents the status of the deposit. */\r\nexport enum DepositStatusKey {\r\n WAITING_RESPONSE = \"WAITING_RESPONSE\",\r\n CANCELED = \"CANCELED\",\r\n FAILED = \"FAILED\",\r\n PAID = \"PAID\",\r\n PENDING = \"PENDING\",\r\n ERROR = \"ERROR\",\r\n}\r\n\r\nexport interface PaymentDetailsType extends CommonMessageType {\r\n /** The provider id. */\r\n provider_id?: number;\r\n /** The provider. */\r\n provider?: string;\r\n /** The amount. */\r\n amount?: string;\r\n /** The transaction status. */\r\n transaction_status?: string;\r\n /** Represents Payment Status. */\r\n status?: DepositStatusKey;\r\n /** Represents Payment user email. */\r\n email?: string;\r\n /** Represents Payment Date. */\r\n date?: string;\r\n /** Represents Payment time. */\r\n time?: string;\r\n /** Represents Payment concept. */\r\n concept?: string;\r\n /** Represents Payment method. */\r\n payment_method?: string;\r\n /** Represents Payment document number. */\r\n document_number?: string;\r\n /** Represents Payment provider transaction id. */\r\n payment_provider_transaction_id?: string;\r\n /** Represents Payment username transaction. */\r\n username?: string;\r\n}\r\n","export enum TransactionDetailsKey {\r\n /** Manual charge from backoffice */\r\n MANUAL_CHARGE = \"MANUAL_CHARGE\",\r\n /** Approved or completed deposit */\r\n DEPOSIT_APPROVED = \"DEPOSIT_APPROVED\",\r\n /** Pending deposit (has a different card than approved) */\r\n DEPOSIT_IN_PROCESS = \"DEPOSIT_IN_PROCESS\",\r\n /** Cancelled deposit (has a specific button) */\r\n DEPOSIT_CANCELLED = \"DEPOSIT_CANCELLED\",\r\n /** Failed deposit (has a report button) */\r\n DEPOSIT_FAILED = \"DEPOSIT_FAILED\",\r\n /** Withdrawal */\r\n WITHDRAWAL = \"WITHDRAWAL\",\r\n /** Manual withdrawal from backoffice */\r\n MANUAL_WITHDRAWAL = \"MANUAL_WITHDRAWAL\",\r\n}\r\n\r\nexport enum TransactionWithdrawalStatus {\r\n /** Pending withdrawal */\r\n PENDING = \"PENDING\",\r\n /** Rejected withdrawal */\r\n REJECTED = \"REJECTED\",\r\n /** Processed withdrawal */\r\n PROCESSED = \"PROCESSED\",\r\n}\r\n\r\nexport enum DepositManualButtonKey {\r\n /** Withdrawal */\r\n WITHDRAWAL = \"WITHDRAWAL\",\r\n /** Bonus */\r\n BONUS = \"BONUS\",\r\n /** Normal */\r\n NORMAL = \"NORMAL\",\r\n}\r\n\r\ninterface DepositCommonData {\r\n /** Order number or transaction ID. */\r\n order_number: string;\r\n /** Payment provider name. */\r\n provider: string;\r\n}\r\n\r\nexport interface WithdrawalCommonData {\r\n /** Account number of the withdrawal. */\r\n account_number: string | null;\r\n /** Bank of the withdrawal. */\r\n bank: string | null;\r\n /** Observation of the deposit. */\r\n observation: string;\r\n /** Title of the deposit. */\r\n title: string | null;\r\n /** Status of the withdrawal. */\r\n status: TransactionWithdrawalStatus;\r\n}\r\n\r\nexport interface DepositManualDetailsData extends DepositCommonData {\r\n /** Observation of the deposit. */\r\n observation: string;\r\n /** Title of the deposit. */\r\n title: string | null;\r\n /** Button of the deposit. */\r\n button: DepositManualButtonKey;\r\n /** Bank of the deposit. */\r\n bank: string | null;\r\n /** Team of the deposit. */\r\n team: string;\r\n}\r\n\r\nexport interface DepositHybridDetailsData extends DepositCommonData {\r\n /** Observation of the deposit. */\r\n observation: string;\r\n /** Type of the deposit. */\r\n type: TransactionDetailsKey;\r\n}\r\n\r\nexport interface DepositApprovedDetailsData extends DepositCommonData {\r\n /** Current balance before transaction */\r\n balance: string;\r\n /** New balance after transaction */\r\n new_balance: string;\r\n}\r\n\r\nexport type TransactionsDepositDetailsType = DepositApprovedDetailsData &\r\n DepositHybridDetailsData &\r\n DepositManualDetailsData;\r\n\r\nexport type TransactionsWithdrawalDetailsType = WithdrawalCommonData;\r\n\r\nexport interface TransactionsDetailsType\r\n extends TransactionsDepositDetailsType,\r\n TransactionsWithdrawalDetailsType {\r\n type: TransactionDetailsKey;\r\n [key: string]: unknown;\r\n}\r\n","import { CommonMessageType } from \"./message.interface\";\r\n\r\nexport enum TWO_FACTOR_AUTHENTICATION_METHODS_ENUM {\r\n SMS = \"sms\",\r\n EMAIL = \"email\",\r\n}\r\nexport interface PlayerTwoFactorAuthenticationMethodsType\r\n extends CommonMessageType {\r\n /** Represents two factor authentication methods. */\r\n methods: TWO_FACTOR_AUTHENTICATION_METHODS_ENUM[];\r\n}\r\n","import { CommonMessageType } from \"./message.interface\";\r\nimport { TWO_FACTOR_AUTHENTICATION_METHODS_ENUM } from \"./player-two-factor-authentication-methods.interface\";\r\n\r\n\r\nexport enum TWO_FACTOR_AUTHENTICATION_BLOCKED_ENUM {\r\n REQUIRE_2FA = \"REQUIRE_2FA\",\r\n TOTAL_BLOCK = \"TOTAL_BLOCK\",\r\n CODE_BLOCK_ATTEMPTS = \"CODE_BLOCK_ATTEMPTS\",\r\n}\r\n\r\nexport interface PlayerTwoFactorCodeDataType extends CommonMessageType {\r\n /** Indicates whether two-factor authentication (2FA) code validation is required. */\r\n twoFactorCodeRequired: boolean;\r\n /** Indicates whether the two-factor authentication is blocked. */\r\n isBlocked: TWO_FACTOR_AUTHENTICATION_BLOCKED_ENUM;\r\n /** The number of remaining attempts for two-factor authentication. */\r\n remainingAttempts: number;\r\n /** The unique identifier of the player. */\r\n player_id: number;\r\n /** The email address of the player. */\r\n email: string;\r\n /** The phone number of the player. */\r\n phone: string;\r\n /** The default two-factor authentication method of the player. */\r\n twoFactorDefaultMethod: TWO_FACTOR_AUTHENTICATION_METHODS_ENUM;\r\n /** The activation date for the player's two-factor authentication. */\r\n activationDate: string;\r\n}\r\n","import { PaginatorType } from \"./paginator.interface\";\r\n\r\nexport enum PlayerTransactionFlagEnum {\r\n RED = \"RED\",\r\n GRAY = \"GRAY\",\r\n GREEN = \"GREEN\",\r\n}\r\n\r\nexport enum PlayerTransactionStatusEnum {\r\n IN_PROCESS = \"IN_PROCESS\",\r\n COMPLETED = \"COMPLETED\",\r\n CANCELLED = \"CANCELLED\",\r\n NOT_COMPLETED = \"NOT_COMPLETED\",\r\n UNKNOWN = \"UNKNOWN\",\r\n}\r\n\r\nexport enum PlayerTransactionTypeEnum {\r\n DEPOSIT = \"Depósito\",\r\n WITHDRAWAL = \"Retiro\",\r\n DEPOSIT_MANUAL = \"Carga manual\",\r\n WITHDRAWAL_MANUAL = \"Retiro manual\",\r\n}\r\n\r\nexport enum PlayerTransactionTypeFilterEnum {\r\n DEPOSIT = \"DEPOSIT\",\r\n WITHDRAWAL = \"WITHDRAWAL\",\r\n}\r\n\r\nexport interface PlayerTransactionsType {\r\n /** Represent the amount. */\r\n amount: string;\r\n /** Represent the date. */\r\n date: string;\r\n /** Represent the status. */\r\n status: string;\r\n /** Represent the deposit id. */\r\n deposit_id?: number | null;\r\n /** Represent the withdrawal id. */\r\n withdrawal_id?: number | null;\r\n /** Represent the flag. */\r\n flag: PlayerTransactionFlagEnum;\r\n /** Represent the status enum. */\r\n status_enum: PlayerTransactionStatusEnum;\r\n /** Represent the transaction type. */\r\n transaction_type: PlayerTransactionTypeEnum;\r\n}\r\n\r\nexport interface PlayerTransactionsResponseType {\r\n /** Represent the transactions. */\r\n transactions: PlayerTransactionsType[];\r\n /** Represent the paginator. */\r\n paginator: PaginatorType;\r\n}\r\n","import { CommonMessageType } from \"./message.interface\";\r\nimport { PlayerSelfLimitationInfoDataType } from \"./player-self-limitation-info-data.interface\";\r\n\r\nexport enum SelfLimitationEnum {\r\n DEPOSIT = \"deposit\",\r\n BET = \"bet\",\r\n SESSION = \"session\",\r\n}\r\n\r\nexport enum TypeSelfLimitationEnum {\r\n DAILY = \"daily\",\r\n WEEKLY = \"weekly\",\r\n MONTHLY = \"monthly\",\r\n}\r\n\r\n\r\nexport enum SelfLimitationInfoResumeTypeEnum {\r\n DEPOSIT = \"depositSelfLimitationResume\",\r\n BET = \"betSelfLimitationResume\",\r\n SESSION = \"sessionSelfLimitationResume\",\r\n}\r\n\r\nexport interface PlayerSelfLimitationInfoType extends CommonMessageType {\r\n /** List of deposit limitation records. */\r\n [SelfLimitationInfoResumeTypeEnum.DEPOSIT]: PlayerSelfLimitationInfoDataType[];\r\n /** List of betting limitation records. */\r\n [SelfLimitationInfoResumeTypeEnum.BET]: PlayerSelfLimitationInfoDataType[];\r\n /** List of session limitation records. */\r\n [SelfLimitationInfoResumeTypeEnum.SESSION]: PlayerSelfLimitationInfoDataType[];\r\n}\r\n","import { CommonMessageType } from \"./message.interface\";\r\nimport { SelfLimitationEnum } from \"./player-self-limitation-info.interface\";\r\n\r\nexport enum SelfLimitationCancelEnum {\r\n DAILY = \"daily\",\r\n WEEKLY = \"weekly\",\r\n MONTHLY = \"monthly\",\r\n}\r\n\r\nexport type PlayerSelfLimitationCancelType = CommonMessageType;\r\n\r\nexport interface PlayerSelfLimitationCancelReqType {\r\n /** Path that identifies the limitation category (deposit, bet, session). */\r\n selfLimitation: SelfLimitationEnum;\r\n /** Type of cancellation action requested. */\r\n typeSelfLimitation: SelfLimitationCancelEnum;\r\n}\r\n","import { SelfLimitationCancelEnum } from \"./player-self-limitation-cancel.interface\";\r\n\r\nexport enum SelfLimitationProgressBarStateEnum {\r\n HIGH_USAGE = \"HIGH_USAGE\",\r\n MEDIUM_USAGE = \"MEDIUM_USAGE\",\r\n LOW_USAGE = \"LOW_USAGE\",\r\n}\r\n\r\nexport enum SelfLimitationStateEnum {\r\n ACTIVE = \"ACTIVE\",\r\n REVISION = \"REVISION\",\r\n NOT_CREATED = \"NOT_CREATED\",\r\n}\r\n\r\nexport enum SelfLimitationRuleEnum {\r\n DAILY = \"amount_limit_day\",\r\n WEEKLY = \"amount_limit_week\",\r\n MONTHLY = \"amount_limit_month\",\r\n}\r\n\r\nexport interface PlayerSelfLimitationInfoDataType {\r\n /** Remaining deposit amount the player can use. */\r\n available: string;\r\n /** Maximum allowed deposit limit. */\r\n limit: string;\r\n /** Percentage of the limit that has already been used. */\r\n percentageUsed: number;\r\n /** State of usage to indicate progress bar color or severity level. */\r\n progressBarState: SelfLimitationProgressBarStateEnum;\r\n /** Textual description of the limitation rule. */\r\n ruleDescription: string;\r\n /** Numeric representation of the severity level. */\r\n severity: number;\r\n /** Total deposits made by the player. */\r\n total: string;\r\n /** Message displayed to the user about their usage. */\r\n usageMessage: string;\r\n /** Current status of the limitation (active, revision, etc.). */\r\n status: SelfLimitationStateEnum;\r\n /** Start date when the limitation rule became effective. */\r\n start_date: string;\r\n /** Type of limitation applied (deposit, bet, session). */\r\n type: SelfLimitationCancelEnum;\r\n /** Date when the limitation resets or becomes active again. */\r\n resetDate: string;\r\n /** Specific rule applied for the limitation (daily, weekly, monthly). */\r\n rule: SelfLimitationRuleEnum;\r\n}\r\n","\r\nexport enum ChooseSeverityEnum {\r\n /** Self limiting by time one day. */\r\n ONE_DAY = \"ONE_DAY\",\r\n /** Self limiting by time one week. */\r\n ONE_WEEK = \"ONE_WEEK\",\r\n /** Self limiting by time one month. */\r\n ONE_MONTH = \"ONE_MONTH\",\r\n /** Self limiting by time three months. */\r\n THREE_MONTHS = \"THREE_MONTHS\",\r\n /** Self limiting item six months. */\r\n SIX_MONTHS = \"SIX_MONTHS\",\r\n /** Self limiting item one year. */\r\n ONE_YEAR = \"ONE_YEAR\",\r\n /** Self limiting by time unlimited. */\r\n TIME_UNLIMITED = \"TIME_UNLIMITED\",\r\n /** Self limiting by time custom. */\r\n TIME_CUSTOM = \"TIME_CUSTOM\",\r\n}\r\n\r\nexport interface PlayerCreateSelfExclusionTotalDataType {\r\n /** Represent date undefined. */\r\n undefined?: boolean;\r\n /** Represent date to finalized. */\r\n date_to?: string;\r\n /** The reason for the self exclusion. */\r\n reason?: string;\r\n /** Represent type severity. */\r\n type: ChooseSeverityEnum;\r\n}\r\n","\r\nexport enum SelfExclusionCardCurrentStatusEnum {\r\n DEFAULT = \"DEFAULT\",\r\n ACTIVE = \"ACTIVE\",\r\n REVIEW = \"REVIEW\",\r\n UPDATE = \"UPDATE\",\r\n}\r\n\r\n\r\n\r\nimport { CommonMessageType } from \"./message.interface\";\r\nimport { ChooseSeverityEnum } from \"./player-create-self-exclusion-total-data.interface\";\r\n\r\nexport interface PlayerSelfExclusionStatusType extends CommonMessageType {\r\n /** Represent status. */\r\n status: SelfExclusionCardCurrentStatusEnum;\r\n /** Represent date time. */\r\n until: string | null;\r\n /** Represent type severity. */\r\n type: ChooseSeverityEnum | null;\r\n}\r\n","import { PaginatorType } from \".\";\r\n\r\nexport interface PlayerSportsbookTransactionsDetails {\r\n /** Represent the id. */\r\n id: number;\r\n /** Represent the amount. */\r\n amount: string;\r\n /** Represent the new balance. */\r\n new_balance: string;\r\n /** Represent the balance. */\r\n balance: string;\r\n /** Represent the round id. */\r\n round_id: string;\r\n /** Represent the created at. */\r\n created_at: string;\r\n /** Represent the round id short. */\r\n round_id_short: string;\r\n /** Represent the flag. */\r\n flag: string;\r\n /** Represent the date. */\r\n date: string;\r\n}\r\n\r\nexport interface TransactionsSportsbookReportType {\r\n /** */\r\n id: string | null;\r\n /** */\r\n name: string;\r\n}\r\n\r\nexport interface PlayerSportsbookTransactionsReport {\r\n /** Limitations List. */\r\n report: PlayerSportsbookTransactionsDetails[];\r\n\r\n /** Notifications Paginator. */\r\n paginator: PaginatorType;\r\n\r\n /** Request Message. */\r\n message?: string;\r\n\r\n /** Request Error. */\r\n errors?: [];\r\n}\r\n\r\nexport enum PlayerSportsbookTransactionsDetailsStatus {\r\n /** Represent the id. */\r\n WIN = \"WIN\",\r\n /** Represent the id. */\r\n LOSE = \"LOSE\",\r\n /** Represent the id. */\r\n PREPAID = \"CANCELLED\",\r\n /** Represent the id. */\r\n OPEN_BET = \"OPEN\",\r\n}\r\n\r\nexport enum PlayerSportsbookTransactionsDetailsType {\r\n /** Represent the id. */\r\n SINGLE = \"SINGLE\",\r\n /** Represent the id. */\r\n MULTIPLE = \"MULTIPLE\",\r\n}\r\n\r\nexport interface PlayerSportsbookMatch {\r\n /** Represent the id. */\r\n id: number;\r\n /** Represent the amount. */\r\n selection: string;\r\n /** Represent the new balance. */\r\n odds: string;\r\n /** Represent the round id. */\r\n match: string;\r\n /** Represent the created at. */\r\n league: string;\r\n /** Represent the flag. */\r\n status: PlayerSportsbookTransactionsDetailsStatus;\r\n /** Represent the flag. */\r\n match_result: string;\r\n}\r\n\r\nexport interface PlayerSportsbookTransactionsDetailsReport {\r\n /** Represent the id. */\r\n id: number;\r\n /** Represent the amount. */\r\n type: PlayerSportsbookTransactionsDetailsType;\r\n /** Represent the new balance. */\r\n status: PlayerSportsbookTransactionsDetailsStatus;\r\n /** Represent the balance. */\r\n odds: string;\r\n /** Represent the round id. */\r\n bets: PlayerSportsbookMatch[];\r\n /** Represent the created at. */\r\n bet_amount: string;\r\n /** Represent the created at date. */\r\n date: string;\r\n /** Represent the value round id short. */\r\n round_id_short?: string;\r\n /** Represent the flag. */\r\n win_amount: string;\r\n /** Represent the flag. */\r\n potential_win_amount: string;\r\n /** Represent the flag. */\r\n refund_amount: string;\r\n}\r\n","\r\nexport enum BonusStatusAvailableEnum {\r\n SHOW_BONUS = \"SHOW_BONUS\",\r\n SHOW_PLAYS = \"SHOW_PLAYS\",\r\n}\r\n\r\nexport enum BonusStatusAvailableFlagEnum {\r\n ACTIVE = \"ACTIVE\",\r\n AVAILABLE = \"AVAILABLE\",\r\n TO_RELEASE = \"TO_RELEASE\",\r\n}\r\n\r\nexport interface BonusStatusAvailableData {\r\n /** Bonus id. */\r\n id: number;\r\n /** Bonus name. */\r\n name: string;\r\n /** Bonus status. */\r\n status: string;\r\n /** Bonus amount. */\r\n amount: string;\r\n /** Bonus tooltip. */\r\n tooltip: string;\r\n /** Bonus image. */\r\n image: string;\r\n /** Bonus expiration. */\r\n expiration: string;\r\n /** Bonus is sports. */\r\n is_sports: boolean;\r\n /** Bonus is internal. */\r\n is_internal: boolean;\r\n /** Bonus is free spin. */\r\n is_free_spin: boolean;\r\n /** Bonus round. */\r\n round: string | null;\r\n /** Bonus assignation. */\r\n assignation: string | null;\r\n /** Bonus observation. */\r\n observation: string | null;\r\n /** Bonus provider. */\r\n provider: string;\r\n /** Bonus button. */\r\n button: BonusStatusAvailableEnum;\r\n /** Bonus status flag. */\r\n status_flag: BonusStatusAvailableFlagEnum;\r\n}\r\n","\r\nexport enum BonusFinalizedTypeFlagEnum {\r\n CASH = \"CASH\",\r\n WEEKLY = \"WEEKLY\",\r\n CHARGE = \"CHARGE\",\r\n WELCOME = \"WELCOME\",\r\n WEEKEND = \"WEEKEND\",\r\n BIRTHDAY = \"BIRTHDAY\",\r\n FREE_SPIN = \"FREE_SPIN\",\r\n}\r\n\r\nexport enum BonusFinalizedStatusEnum {\r\n EXPIRED = \"EXPIRED\",\r\n CANCELED = \"CANCELED\",\r\n DECLINED = \"DECLINED\",\r\n COMPLETED_WITH_PROFIT = \"COMPLETED_WITH_PROFIT\",\r\n COMPLETED_WITHOUT_PROFIT = \"COMPLETED_WITHOUT_PROFIT\",\r\n}\r\n\r\nexport interface BonusStatusFinalizedData {\r\n /** Bonus id. */\r\n id: number;\r\n /** Bonus name. */\r\n name: string;\r\n /** Bonus amount. */\r\n amount: string;\r\n /** Bonus profit display. */\r\n profit_display: string;\r\n /** Bonus is free spin. */\r\n is_free_spin: boolean;\r\n /** Bonus is internal. */\r\n is_internal: boolean;\r\n /** Bonus provider. */\r\n provider: string;\r\n /** Bonus tooltip content. */\r\n tooltip: string;\r\n /** Bonus status. */\r\n status: string;\r\n /** Bonus image. */\r\n image: string;\r\n /** Bonus expiration. */\r\n expiration: string;\r\n /** Bonus provider name. */\r\n provider_name: string;\r\n /** Bonus rounds. */\r\n rounds: number | null;\r\n /** Bonus expired at. */\r\n expired_at: string | null;\r\n /** Bonus assignation. */\r\n assignation: string | null;\r\n /** Bonus finished at. */\r\n finished_at: string | null;\r\n /** Bonus canceled at. */\r\n canceled_at: string | null;\r\n /** Bonus declined at. */\r\n declined_at: string | null;\r\n /** Bonus type flag. */\r\n type_flag: BonusFinalizedTypeFlagEnum;\r\n /** Bonus status flag. */\r\n status_flag: BonusFinalizedStatusEnum;\r\n}\r\n","export enum BonusParticipationButtonNum {\r\n DEPOSIT = \"DEPOSIT\",\r\n PROGRESS = \"PROGRESS\",\r\n REQUIREMENTS = \"REQUIREMENTS\",\r\n}\r\n\r\nexport enum BonusParticipationStatusEnum {\r\n NOT_COMPLY = \"NOT_COMPLY\",\r\n PARTICIPATING = \"PARTICIPATING\",\r\n PENDING_DEPOSIT = \"PENDING_DEPOSIT\",\r\n}\r\n\r\nexport enum BonusPromotionCodeEnum {\r\n NWB = \"NWB\",\r\n CBF = \"CBF\",\r\n CBS = \"CBS\",\r\n CBT = \"CBT\",\r\n BSM = \"BSM\",\r\n BSE = \"BSE\",\r\n BFS = \"BFS\",\r\n BGF = \"BGF\",\r\n}\r\n\r\nexport interface BonusStatusPromotionData {\r\n /** Bonus name. */\r\n name: string;\r\n /** Bonus image. */\r\n image: string;\r\n /** Bonus status text. */\r\n status_text: string;\r\n /** Bonus information type. */\r\n information_type: string;\r\n /** Bonus expiration. */\r\n expiration: string | null;\r\n /** Bonus assignation. */\r\n assignation: string | null;\r\n /** Bonus observation. */\r\n observation: string | null;\r\n /** Bonus code. */\r\n code: BonusPromotionCodeEnum;\r\n /** Bonus button. */\r\n button: BonusParticipationButtonNum;\r\n /** Bonus status. */\r\n status: BonusParticipationStatusEnum;\r\n}\r\n","import { CommonMessageType } from \"./message.interface\";\r\n\r\nexport enum WithdrawalStatusEnum {\r\n RECEIVED = \"RECEIVED\",\r\n IN_REVIEW = \"IN_REVIEW\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n SUCCESSFUL = \"SUCCESSFUL\",\r\n CANCELLED = \"CANCELLED\",\r\n NOT_COMPLETED = \"NOT_COMPLETED\",\r\n}\r\n\r\nexport interface PlayerRequestWithdrawalPendingTrackingDataType {\r\n /** Represents id of withdrawal. */\r\n id: number;\r\n /** Represents step of withdrawal. */\r\n step: number;\r\n /** Represents title of withdrawal. */\r\n title: string;\r\n /** Represents description of withdrawal. */\r\n description: string;\r\n /** Represents last step updated at of withdrawal. */\r\n last_step_updated_at: string | null;\r\n /** Represents status enum of withdrawal. */\r\n status_enum: WithdrawalStatusEnum;\r\n}\r\n\r\nexport type PlayerRequestWithdrawalPendingTrackingType = CommonMessageType &\r\n PlayerRequestWithdrawalPendingTrackingDataType;\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\nimport {\r\n PlayerCreateOrUpdateSelfLimitationBySessionType,\r\n PlayerCreateOrUpdateSelfLimitationBySessionDataType,\r\n PlayerCreateOrUpdateSelfLimitationByDepositDataType,\r\n PlayerCreateOrUpdateSelfLimitationByDepositType,\r\n PlayerCreateOrUpdateSelfLimitationByBetDataType,\r\n PlayerCreateOrUpdateSelfLimitationByBetType,\r\n PlayerSelfLimitationBetReport,\r\n PlayerSelfLimitationDepositReport,\r\n PlayerSelfLimitationInfoType,\r\n PlayerSelfLimitationCreateOrUpdateDataType,\r\n SelfLimitationEnum,\r\n SelfLimitationTypesType,\r\n TypeSelfLimitationEnum,\r\n} from \"../types\";\r\nimport { CommonMessageType } from \"../types/message.interface\";\r\n\r\n/**\r\n * Represent all services self-limitation.\r\n */\r\nexport class SelfLimitationService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n /* Here you define the service prefix. */\r\n const prefixService = `/player/self-limitation`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Post update or create self limitation by session.\r\n *\r\n * @param data - PlayerCreateOrUpdateSelfLimitationBySessionDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postUpdateOrCreateSelfLimitationBySession = async (\r\n data: PlayerCreateOrUpdateSelfLimitationBySessionDataType,\r\n ) =>\r\n this.postBase<PlayerCreateOrUpdateSelfLimitationBySessionType>(\r\n \"/session/updateOrCreate\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post update or create self limitation by deposit.\r\n *\r\n * @param data - PlayerCreateOrUpdateSelfLimitationBySessionDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postUpdateOrCreateSelfLimitationByDeposit = async (\r\n data: PlayerCreateOrUpdateSelfLimitationByDepositDataType,\r\n ) =>\r\n this.postBase<PlayerCreateOrUpdateSelfLimitationByDepositType>(\r\n \"/deposit/updateOrCreate\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post update or create self limitation by bet.\r\n *\r\n * @param data - PlayerCreateOrUpdateSelfLimitationByBetDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postUpdateOrCreateSelfLimitationByBet = async (\r\n data: PlayerCreateOrUpdateSelfLimitationByBetDataType,\r\n ) =>\r\n this.postBase<PlayerCreateOrUpdateSelfLimitationByBetType>(\r\n \"/bet/updateOrCreate\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get self limitation bet report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getSelfLimitationBetReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSelfLimitationBetReport>(\r\n `/bet/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get self limitation deposit report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getSelfLimitationDepositReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSelfLimitationDepositReport>(\r\n `/deposit/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Fetches the self-limitation information for a given path (deposit, betting, or session).\r\n *\r\n * @param nameSelfLimitation - API path representing the limitation type. Defaults to deposit.\r\n * @returns A promise with the player's self-limitation information.\r\n */\r\n getSelfLimitationInfo = async (\r\n nameSelfLimitation: `${SelfLimitationEnum}` = SelfLimitationEnum.DEPOSIT,\r\n ) =>\r\n this.getBase<PlayerSelfLimitationInfoType>(\r\n `/${nameSelfLimitation}/info`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Sends a request to cancel a pending or active self-limitation.\r\n *\r\n * @param selfLimitation - The self-limitation path (deposit, betting, session).\r\n * @param typeSelfLimitation - The type of self-limitation to cancel.\r\n * @returns A promise with the server response about the cancellation status.\r\n */\r\n postSelfLimitationCancel = async (selfLimitation: SelfLimitationEnum, typeSelfLimitation: TypeSelfLimitationEnum) => {\r\n return this.postBase<CommonMessageType>(\r\n `/${selfLimitation}/cancel`,\r\n {\r\n headers: headersApplicationJson,\r\n ...(typeSelfLimitation && {\r\n body: JSON.stringify({ type: typeSelfLimitation }),\r\n }),\r\n },\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Creates or updates a self-limitation configuration for the given path.\r\n *\r\n * @param nameSelfLimitation - The self-limitation category (deposit, betting, session).\r\n * @param data - Payload with the new or updated self-limitation data.\r\n * @returns A promise with the operation result.\r\n */\r\n postSelfLimitationUpdateOrCreate = async (\r\n nameSelfLimitation: `${SelfLimitationEnum}` = SelfLimitationEnum.DEPOSIT,\r\n data: PlayerSelfLimitationCreateOrUpdateDataType,\r\n ) =>\r\n this.postBase<CommonMessageType>(\r\n `/${nameSelfLimitation}/updateOrCreate`,\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Retrieves the self-limitation report for the specified path.\r\n *\r\n * @param query - Optional filters or query parameters for the report.\r\n * @returns A promise with the limitation report data.\r\n */\r\n getSelfLimitationReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSelfLimitationDepositReport>(\r\n `/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Retrieves the self-limitation report for the specified path.\r\n *\r\n * @returns A promise with the limitation report data.\r\n */\r\n getSelfLimitationTypes = async () => {\r\n return this.getBase<SelfLimitationTypesType>(`/types`, {}, true);\r\n };\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n BankAccountTypeType,\r\n BankCreateBankAccountDataType,\r\n BankCreateBankAccountType,\r\n BankDeleteBankAccountDataType,\r\n BankDeleteBankAccountType,\r\n BankEditBankAccountDataType,\r\n BankEditBankAccountType,\r\n BankType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { CommonMessageType } from \"../types/message.interface\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\n/**\r\n *\r\n */\r\nexport class BankService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const prefixService = `/player/bank-accounts`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get banks list.\r\n *\r\n * @returns These returns a list with banks.\r\n */\r\n getBankList = async () => this.getBase<BankType[]>(\"/bank\", {}, true);\r\n\r\n /**\r\n * Get bank account type list.\r\n *\r\n * @returns These returns a list with bank account types.\r\n */\r\n getBankAccountTypeList = async () =>\r\n this.getBase<BankAccountTypeType[]>(\"/account-type\", {}, true);\r\n\r\n /**\r\n * Post add bank account.\r\n *\r\n * @param data - PlayerBankAccountDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postAddBankAccount = async (data: BankCreateBankAccountDataType) =>\r\n this.postBase<BankCreateBankAccountType>(\r\n \"/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Put edit bank account.\r\n *\r\n * @param data - BankEditBankAccountDataType.\r\n * @returns These returns values unknown.\r\n */\r\n putEditBankAccount = async (data: BankEditBankAccountDataType) =>\r\n this.putBase<BankEditBankAccountType>(\r\n \"/edit\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Delete bank account.\r\n *\r\n * @param data - BankDeleteBankAccountDataType.\r\n * @returns These returns values unknown.\r\n */\r\n deleteBankAccount = async (data: BankDeleteBankAccountDataType) =>\r\n this.deleteBase<BankDeleteBankAccountType>(\r\n \"/delete\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Restore bank account.\r\n *\r\n * @param data - BankDeleteBankAccountDataType.\r\n * @returns These returns values unknown.\r\n */\r\n restoreBankAccount = async (data: BankDeleteBankAccountDataType) =>\r\n this.postBase<CommonMessageType>(\r\n \"/restore\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PaymentConfirmDataType,\r\n PaymentConfirmType,\r\n PaymentCreateDataType,\r\n PaymentCreateType,\r\n PaymentDetailsType,\r\n PaymentMethodsDataType,\r\n PlayerBankAccountIsBlockedType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { CommonMessageType } from \"../types/message.interface\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\n/**\r\n *\r\n */\r\nexport class PaymentService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const prefixService = `/payment`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Post create a new payment.\r\n *\r\n * @param data - PaymentCreateDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postCreatePayment = async (data: PaymentCreateDataType) =>\r\n this.postBase<PaymentCreateType>(\r\n \"/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get payment method list.\r\n *\r\n * @param options - Represent value options.\r\n * @returns These returns a list with payment methods.\r\n */\r\n getPaymentMethods = async (options = {}) =>\r\n this.getBase<\r\n | (CommonMessageType & PlayerBankAccountIsBlockedType)\r\n | PaymentMethodsDataType[]\r\n >(\"/methods\", options, true);\r\n\r\n /**\r\n * Post Confirm payment provider transaction.\r\n *\r\n * @param provider - Payment provider.\r\n * @param modality - Payment modality.\r\n * @param data - PaymentCreateDataType.\r\n * @returns These returns values unknown.\r\n */\r\n postConfirmPayment = async (\r\n provider: string,\r\n modality: string,\r\n data: PaymentConfirmDataType,\r\n ) =>\r\n this.postBase<PaymentConfirmType>(\r\n `/confirm/provider/${provider}/modality/${modality}`,\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n false,\r\n );\r\n\r\n /**\r\n * Get payment details from provider.\r\n *\r\n * @param payment_id - Payment id.\r\n * @param options - Represent value options.\r\n * @returns These returns a list with payment methods.\r\n */\r\n getPaymentDetails = async (payment_id: string, options = {}) =>\r\n payment_id &&\r\n this.getBase<PaymentDetailsType>(\r\n `/details/payment-id/${payment_id}`,\r\n options,\r\n false,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PlayerBetsReport,\r\n TransactionsTypesDownloadType,\r\n TransactionsTypesListType,\r\n TransactionsTypesType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\n\r\n/**\r\n *\r\n */\r\nexport class TransactionsService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const prefixService = `/player/plays`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get Bets report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getBetsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerBetsReport>(\r\n `/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get Bets types.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getBetsTypes = async () =>\r\n this.getBase<TransactionsTypesType>(`/type`, {}, true);\r\n\r\n /**\r\n * Get Bets types list.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getBetsTypesList = async () =>\r\n this.getBase<TransactionsTypesListType>(`/types/list`, {}, true);\r\n\r\n /**\r\n * Download Bets report.\r\n *\r\n * @param query Represent query url.\r\n * @returns These returns values unknown.\r\n */\r\n downloadBetsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<TransactionsTypesDownloadType>(\r\n `/report/download?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\nimport {\r\n PlayerBiometryVerifyStatusType,\r\n PlayerCreateIdentifyBiometryType,\r\n PlayerConfirmIdentifyBiometryType,\r\n PlayerCreateIdentifyBiometryDataType,\r\n PlayerConfirmIdentifyBiometryDataType,\r\n PlayerVerifyValidateDocumentStatusType,\r\n} from \"../types\";\r\n\r\n/**\r\n *\r\n */\r\nexport class IdentityBiometryService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/player`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get Biometric Verify Status Of Player.\r\n *\r\n * @returns The player's biometric verification status.\r\n */\r\n getBiometryVerifyStatusOfPlayer = async () =>\r\n this.getBase<PlayerBiometryVerifyStatusType>(\r\n \"/identity-biometry/verify/type/required\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get Verify Validate Document.\r\n *\r\n * @returns The player's validate document status.\r\n */\r\n getVerifyValidateDocument = async () =>\r\n this.getBase<PlayerVerifyValidateDocumentStatusType>(\r\n \"/verify/serial\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get Verify Identity Biometry For Recharge.\r\n *\r\n * @param amount Amount.\r\n * @returns The provider url to verify biometric identity.\r\n */\r\n getVerifyIdentityBiometryForRecharge = async (amount: number) =>\r\n this.getBase<PlayerBiometryVerifyStatusType>(\r\n `/identity-biometry/verify/type/recharge/amount/${amount}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get Verify Identity Biometry For Withdrawal.\r\n *\r\n * @param amount Amount.\r\n * @returns The provider url to verify biometric identity.\r\n */\r\n getVerifyIdentityBiometryForWithdrawal = async (amount: number) =>\r\n this.getBase<PlayerBiometryVerifyStatusType>(\r\n `/identity-biometry/verify/type/withdrawal/amount/${amount}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Create identity biometry.\r\n *\r\n * @param data - PlayerCreateIdentifyBiometryDataType.\r\n * @returns The provider url to verify biometric identity.\r\n */\r\n postCreateIdentityBiometry = async (\r\n data: PlayerCreateIdentifyBiometryDataType,\r\n ) =>\r\n this.postBase<PlayerCreateIdentifyBiometryType>(\r\n \"/identity-biometry/create\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Create identity biometry.\r\n *\r\n * @param data - PlayerCreateIdentifyBiometryDataType.\r\n * @returns The provider url to verify biometric identity.\r\n */\r\n postConfirmIdentityBiometry = async (\r\n data: PlayerConfirmIdentifyBiometryDataType,\r\n ) =>\r\n this.postBase<PlayerConfirmIdentifyBiometryType>(\r\n \"/identity-biometry/confirm\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PlayerPepVerificationStatus,\r\n PlayerPepVerificationQuestions,\r\n PlayerPepConfirmQuestions,\r\n PlayerPepConfirmQuestionsType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\n/**\r\n *\r\n */\r\nexport class PepVerificationService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/player`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get Pep Verify Status Of Player.\r\n *\r\n * @returns The player's Pep check verification status.\r\n */\r\n getPepVerificationStatusOfPlayer = async () =>\r\n this.getBase<PlayerPepVerificationStatus>(\"/check/pep\", {}, true);\r\n\r\n /**\r\n * Get pep verification questions.\r\n *\r\n * @returns The player's pep verification questions.\r\n */\r\n getPepVerificationQuestions = async () =>\r\n this.getBase<PlayerPepVerificationQuestions[]>(\r\n \"/check/pep/questions\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Post send pep verification.\r\n *\r\n * @param data Confirm questions player.\r\n * @returns Success save questions.\r\n */\r\n postSendPepVerification = async (data: PlayerPepConfirmQuestionsType) =>\r\n this.postBase<PlayerPepConfirmQuestions>(\r\n \"/check/pep\",\r\n {\r\n body: JSON.stringify(data),\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n}\r\n","import { RequestBase } from \"../request/base\";\r\nimport type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PlayerBalanceType,\r\n SportFirstProviderType,\r\n TransactionsTypesDownloadType,\r\n} from \"../types\";\r\n\r\n/**\r\n *\r\n */\r\nexport class SportsService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n /** Here you define the service prefix. */\r\n const prefixService = \"/sport\";\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get player balance from server.\r\n *\r\n * @param token Represent value token.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBalanceFromFirstProvider = async (token: string) =>\r\n this.requestBase<PlayerBalanceType>(\r\n `/sport/first/refreshSession?operatorToken=${token}`,\r\n {\r\n method: \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n },\r\n );\r\n\r\n /**\r\n * Asynchronously retrieves the sport first provider skin based on the current context's skin.\r\n *\r\n * @param withAuth Boolean.\r\n * @returns A promise that resolves with an array of GameCategoryType objects representing the first provider skin.\r\n */\r\n getSportFirstProvider = async (withAuth = true) =>\r\n this.getBase<SportFirstProviderType>(\r\n `/first/skin/${this.context.skin}`,\r\n {},\r\n withAuth,\r\n );\r\n\r\n /**\r\n * Download Bets report.\r\n *\r\n * @param query Represent query url.\r\n * @returns These returns values unknown.\r\n */\r\n downloadBetsSportsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<TransactionsTypesDownloadType>(\r\n `/report/download?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n}\r\n","import { RequestBase } from \"../request/base\";\r\nimport type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type { SkinCountryType } from \"../types\";\r\n\r\n/**\r\n *\r\n */\r\nexport class OtherService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n /** Here you define the service prefix. */\r\n const prefixService = \"\";\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get Skin Countries.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getSkinCountries = (options = {}) =>\r\n this.getBase<Array<SkinCountryType>>(\"/skin/country\", options);\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\nimport {\r\n BonusPromotionCodeEnum,\r\n BonusPromotionReasonDataType,\r\n BonusStatusAvailableData,\r\n BonusStatusDetailsDataType,\r\n BonusStatusFinalizedData,\r\n BonusStatusPromotionData,\r\n GameSearchType,\r\n PlayerBonusActivateType,\r\n PlayerBonusAvailableCountType,\r\n PlayerBonusAvailablesType,\r\n PlayerBonusCheckStatusType,\r\n PlayerBonusPromotionActivateDataType,\r\n PlayerBonusProvidersDataType,\r\n PlayerBonusReportsType,\r\n PlayerBonusStatusType,\r\n PlayerBonusTermsConditionsType,\r\n PlayerDetailsModeBonusActive,\r\n} from \"../types\";\r\n\r\n/**\r\n * BonusService class provides methods to interact with player bonus-related endpoints.\r\n * It extends the RequestBase class to utilize common request functionalities.\r\n *\r\n * Each method returns a promise with the expected response type or unknown if not specified.\r\n */\r\nexport class BonusService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/player/bonus`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get player bonus status list.\r\n *\r\n * @returns These returns values PlayerBonusStatusType.\r\n */\r\n getPlayerBonusStatus = async () =>\r\n this.getBase<PlayerBonusStatusType[]>(\"/status/list\", {}, true);\r\n\r\n /**\r\n * Get player mode bonus active.\r\n *\r\n * @returns These returns values PlayerDetailModeBonusActive.\r\n */\r\n getPlayerDetailsModeBonusActive = async () =>\r\n this.getBase<PlayerDetailsModeBonusActive>(\"/active\", {}, true);\r\n\r\n /**\r\n * Get player bonus providers list.\r\n *\r\n * @returns These returns values PlayerBonusProvidersDataType.\r\n */\r\n getPlayerBonusProviders = async () =>\r\n this.getBase<PlayerBonusProvidersDataType[]>(\"/providers\", {}, true);\r\n\r\n /**\r\n * Get player bonus availables.\r\n *\r\n * @returns These returns values PlayerBonusAvailablesType.\r\n */\r\n getPlayerBonusAvailable = async () =>\r\n this.getBase<PlayerBonusAvailablesType>(\"/availables\", {}, true);\r\n\r\n /**\r\n * Get player bonus available count.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusAvailableCount = async () =>\r\n this.postBase<PlayerBonusAvailableCountType>(\r\n \"/available/count\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Post bonus activate.\r\n *\r\n * @param bonusId - String.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerBonusActivate = async (bonusId: number) =>\r\n this.postBase<PlayerBonusActivateType>(\r\n `/activate/bonus-id/${bonusId}`,\r\n {\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Post bonus Give up.\r\n *\r\n * @param bonusId - String.\r\n * @returns These returns values unknown.\r\n */\r\n postPlayerBonusGiveUp = async (bonusId: number) =>\r\n this.postBase<PlayerBonusActivateType>(\r\n `/give-up/bonus-id/${bonusId}`,\r\n {\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get bonus terms conditions.\r\n *\r\n * @param bonusId - String.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusTermsConditions = async (bonusId: number) =>\r\n this.getBase<PlayerBonusTermsConditionsType>(\r\n `/terms-conditions/bonus-id/${bonusId}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get bonus check status.\r\n *\r\n * @param bonusId - String.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusCheckStatusId = async (bonusId: string | number) =>\r\n this.getBase<PlayerBonusCheckStatusType>(\r\n `/check-status/bonus-id/${bonusId}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get bonus games list.\r\n *\r\n * @param bonusId - String.\r\n * @param query - Object.\r\n * @param options - Object.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusGamesList = async (\r\n bonusId: string | number,\r\n query = {},\r\n options = {},\r\n ) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<GameSearchType>(\r\n `/games/${bonusId}?${handleQuery}`,\r\n options,\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get bonus report list.\r\n *\r\n * @param query - Object.\r\n * @param options - Object.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusReports = async (query = {}, options = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerBonusReportsType>(\r\n `/report?${handleQuery}`,\r\n options,\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get bonus status available report.\r\n *\r\n * @returns These returns values BonusStatusAvailableData.\r\n */\r\n getBonusStatusAvailableReport = async () =>\r\n this.getBase<BonusStatusAvailableData[]>(\"/available/report\", {}, true);\r\n\r\n /**\r\n * Get bonus status promotion available.\r\n *\r\n * @returns These returns values BonusStatusAvailableData.\r\n */\r\n getBonusStatusPromotionAvailable = async () =>\r\n this.getBase<BonusPromotionCodeEnum[]>(\r\n \"/promotions/available\",\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get bonus status promotion available code.\r\n *\r\n * @returns These returns values BonusStatusPromotionData.\r\n */\r\n getBonusStatusPromotionAvailableCode = async (\r\n code: BonusPromotionCodeEnum,\r\n ) =>\r\n this.getBase<BonusStatusPromotionData>(\r\n `/promotions/available/${code}`,\r\n {},\r\n true,\r\n );\r\n\r\n /**\r\n * Get bonus status finish report.\r\n *\r\n * @returns These returns values BonusStatusFinalizedData.\r\n */\r\n getBonusStatusFinishReport = async (query = {}, options = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<BonusStatusFinalizedData[]>(\r\n `/finish/report?${handleQuery}`,\r\n options,\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get bonus status details.\r\n *\r\n * @returns These returns values BonusStatusDetailsDataType.\r\n */\r\n getBonusStatusDetails = async (\r\n code: BonusPromotionCodeEnum,\r\n query = {},\r\n ) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<BonusStatusDetailsDataType>(\r\n `/promotions/details/${code}?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get bonus promotion reason.\r\n *\r\n * @returns These returns values BonusPromotionReasonDataType.\r\n */\r\n getBonusPromotionReason = async (code: BonusPromotionCodeEnum) =>\r\n this.getBase<BonusPromotionReasonDataType>(\r\n `/promotion/reason/${code}`,\r\n {},\r\n true,\r\n );\r\n}\r\n","import { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\nimport type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PlayerOnboardingType,\r\n PlayerCreateOnboardingType,\r\n PlayerCreateOnboardingDataType,\r\n} from \"../types\";\r\n\r\n/**\r\n * OnboardingService class provides methods to interact with player bonus-related endpoints.\r\n * It extends the RequestBase class to utilize common request functionalities.\r\n *\r\n * Each method returns a promise with the expected response type or unknown if not specified.\r\n */\r\nexport class OnboardingService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/player/tutorial`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Retrieves the onboarding code for a player.\r\n *\r\n * @param code - The unique key associated with the player's onboarding process.\r\n * @returns A promise that resolves with the onboarding code details.\r\n */\r\n getPlayerOnboardingCode = async (code: string | number) =>\r\n this.getBase<PlayerOnboardingType>(`/${code}`, {}, true);\r\n\r\n /**\r\n * Sends a POST request to the player onboarding endpoint with the specified code and data.\r\n *\r\n * @param code - The unique key identifying the player onboarding process.\r\n * @param data - The data required to create a player onboarding, adhering to the PlayerCreateOnboardingDataType.\r\n * @returns A promise resolving to the response of type PlayerCreateOnboardingType.\r\n */\r\n postPlayerOnboardingCode = async (\r\n code: string | number,\r\n data: PlayerCreateOnboardingDataType,\r\n ) =>\r\n this.postBase<PlayerCreateOnboardingType>(\r\n `/${code}`,\r\n {\r\n body: JSON.stringify(data),\r\n headers: headersApplicationJson,\r\n },\r\n true,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\nimport {\r\n PlayerTwoFactorAuthenticationMethodsType,\r\n PlayerTwoFactorAuthenticationSendCodeDataType,\r\n PlayerTwoFactorAuthenticationVerifiesCodeType,\r\n PlayerTwoFactorAuthenticationVerifiesCodeDataType,\r\n} from \"../types\";\r\n\r\n/**\r\n * Service for handling two-factor authentication operations.\r\n * Extends the RequestBase class to utilize HTTP methods for interacting\r\n * with the two-factor authentication endpoints.\r\n *\r\n * @function getTwoFactorAuthenticationMethods - Retrieves available two-factor authentication methods for a player.\r\n * @function postVerifiesTheTwoFactorAuthenticationCode - Verifies the two-factor authentication code provided by the player.\r\n * @function postSendTwoFactorAuthenticationCode - Sends a two-factor authentication code to the player.\r\n */\r\nexport class TwoFactorAuthenticationService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = \"/player/two-factor\";\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get Two Factor Authentication Methods.\r\n *\r\n * @returns Retrieves available two-factor authentication methods for a player.\r\n */\r\n getTwoFactorAuthenticationMethods = async () =>\r\n this.getBase<PlayerTwoFactorAuthenticationMethodsType>(\r\n \"/methods\",\r\n {},\r\n false,\r\n );\r\n\r\n /**\r\n * Post Verifies Two Factor Authentication Code.\r\n *\r\n * @param data Represent the data to send in the body.\r\n * @returns These returns values PlayerTwoFactorAuthenticationVerifiesCodeType.\r\n */\r\n verifiesTwoFactorAuthenticationCode = (\r\n data: PlayerTwoFactorAuthenticationVerifiesCodeDataType,\r\n ) =>\r\n this.requestBase<PlayerTwoFactorAuthenticationVerifiesCodeType>(\r\n \"/player/two-factor/verify\",\r\n {\r\n method: \"POST\",\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n ...data,\r\n skin: this.context.skin,\r\n }),\r\n },\r\n );\r\n\r\n /**\r\n * Post Send Two Factor Authentication Code.\r\n *\r\n * @param data Represent the data to send in the body.\r\n * @returns These returns values PlayerTwoFactorAuthenticationVerifiesCodeType.\r\n */\r\n postSendTwoFactorAuthenticationCode = (\r\n data: PlayerTwoFactorAuthenticationSendCodeDataType,\r\n ) =>\r\n this.postBase<PlayerTwoFactorAuthenticationVerifiesCodeType>(\r\n \"\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify({\r\n ...data,\r\n skin: this.context.skin,\r\n }),\r\n },\r\n false,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport {\r\n MenuType,\r\n SliderTournamentType,\r\n TournamentDetailsType,\r\n} from \"../types\";\r\nimport { SkinContentSectionType } from \"../types/skin-content.interface\";\r\n\r\n/**\r\n *\r\n */\r\nexport class SkinContentService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const { skin, skinContent } = context;\r\n const valueSkinContent = skinContent || skin;\r\n // Here you define the service prefix.\r\n const prefixService = `/skin/${valueSkinContent}`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get all tournament by skin.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getTournamentsBySkinServer = (options = {}) =>\r\n this.requestBase<SliderTournamentType[]>(\r\n `/skin/${this.getSkinContent()}/tournaments`,\r\n {\r\n ...options,\r\n ...{ ...this.getHeaders(options) },\r\n method: \"POST\",\r\n },\r\n );\r\n\r\n /**\r\n * Get skin content.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getSkinContent = (): string => {\r\n return this.context.skinContent || this.context.skin;\r\n };\r\n\r\n /**\r\n * Get all tournament by skin.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getTournamentsBySkin = (options = {}) =>\r\n this.postBase<SliderTournamentType[]>(\"/tournaments\", options);\r\n\r\n /**\r\n * Get tournament details by ID.\r\n *\r\n * @param tournamentId Represent tournament ID.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getTournamentDetailsById = (tournamentId: string, options = {}) =>\r\n this.getBase<TournamentDetailsType>(\r\n `/tournaments/${tournamentId}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get tournament details by ID.\r\n *\r\n * @param tournamentId Represent tournament ID.\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getTournamentDetailsByIdServer = (tournamentId: string, options = {}) =>\r\n this.requestBase<TournamentDetailsType>(\r\n `/skin/${this.getSkinContent()}/tournaments/${tournamentId}`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get menu by skin.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getMenuBySkin = (options = {}) =>\r\n this.getBase<MenuType[]>(\"/menu\", options);\r\n\r\n /**\r\n * Get menu by skin.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getMenuBySkinServer = () =>\r\n this.requestBase<MenuType[]>(`/skin/${this.getSkinContent()}/menu`);\r\n\r\n /**\r\n * Get content top of skin.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getTopSectionSkin = (options = {}) =>\r\n this.requestBase<SkinContentSectionType>(\r\n `/skin/${this.getSkinContent()}/content/section/top`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get content middle of skin.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getMiddleSectionSkin = (options = {}) =>\r\n this.requestBase<SkinContentSectionType>(\r\n `/skin/${this.getSkinContent()}/content/section/middle`,\r\n options,\r\n );\r\n\r\n /**\r\n * Get content bottom of skin.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getLowerSectionSkin = (options = {}) =>\r\n this.requestBase<SkinContentSectionType>(\r\n `/skin/${this.getSkinContent()}/content/section/lower`,\r\n options,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PlayerSessionCreateDataType,\r\n PlayerSessionLatestReport,\r\n PlayerSessionRefreshType,\r\n PlayerSessionType,\r\n PlayerSessionsReport,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\n\r\n/**\r\n *\r\n */\r\nexport class PlayerSessionService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const prefixService = `/player/session`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get menu by skin.\r\n *\r\n * @param data Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n postSignIn = (data: PlayerSessionCreateDataType) =>\r\n this.postBase<PlayerSessionType>(\"/create\", {\r\n method: \"POST\",\r\n body: JSON.stringify(data),\r\n headers: { \"Content-Type\": \"application/json\" },\r\n });\r\n\r\n /**\r\n * Get Session SignOut.\r\n *\r\n * @param reason - String.\r\n * @returns These returns function to Sign Out.\r\n */\r\n getSignOut = (reason = \"Logout\") =>\r\n this.getBase<PlayerSessionType>(`/close?reason=${reason}`, {}, true);\r\n\r\n /**\r\n * Get Session refresh.\r\n *\r\n * @returns These returns function to Sign Out.\r\n */\r\n getSessionRefresh = () =>\r\n this.getBase<PlayerSessionRefreshType>(\"/refresh\", {}, true);\r\n\r\n /**\r\n * Get Session Status.\r\n *\r\n * @returns These returns function status.\r\n */\r\n getSessionStatus = () =>\r\n this.getBase<PlayerSessionType>(\"/status\", {}, true);\r\n\r\n /**\r\n * Get sessions report report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getSessionsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSessionsReport>(\r\n `/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get latest sessions.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getSessionLatest = () =>\r\n this.getBase<PlayerSessionLatestReport>(`/latest`, {}, true);\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PlayerNotifications,\r\n PlayerNotifyDeleteDataType,\r\n PlayerNotifyDeleteType,\r\n PlayerNotifyMarkAsReadDataType,\r\n PlayerNotifyMarkAsReadType,\r\n PlayerNotifyRestoreDataType,\r\n PlayerUnreadNotificationsType,\r\n QueryType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\n/**\r\n *\r\n */\r\nexport class PlayerNotificationService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const prefixService = `/player/notify`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get player unread notifications.\r\n *\r\n * @param options Represent value options.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerUnreadNotifications = async (options = {}) =>\r\n this.getBase<PlayerUnreadNotificationsType>(\r\n `/notread/count`,\r\n options,\r\n true,\r\n );\r\n\r\n /**\r\n * Put mark as read notify.\r\n *\r\n * @param data - PlayerNotifyMarkAsReadDataType.\r\n * @returns These returns values unknown.\r\n */\r\n putMarkAsReadNotify = async (data: PlayerNotifyMarkAsReadDataType) =>\r\n this.putBase<PlayerNotifyMarkAsReadType>(\r\n \"/mark-as-read\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Put restore notify.\r\n *\r\n * @param data - PlayerNotifyRestoreDataType.\r\n * @returns These returns values unknown.\r\n */\r\n putRestoreNotify = async (data: PlayerNotifyRestoreDataType) =>\r\n this.putBase<PlayerNotifyRestoreDataType>(\r\n \"/restore\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Delete notify.\r\n *\r\n * @param data - PlayerNotifyDeleteDataType.\r\n * @returns These returns values unknown.\r\n */\r\n deleteNotify = async (data: PlayerNotifyDeleteDataType) =>\r\n this.deleteBase<PlayerNotifyDeleteType>(\r\n \"/delete\",\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n\r\n /**\r\n * Get player notifications.\r\n *\r\n * @param query - QueryType.\r\n * @param options - Represent value options.\r\n * @returns These returns a list with player notifications.\r\n */\r\n getPlayerNotifications = async (query?: QueryType, options = {}) => {\r\n const { page, limit } = { page: 1, limit: 20, ...query };\r\n\r\n return this.getBase<PlayerNotifications>(\r\n `?page=${page}&limit=${limit}`,\r\n options,\r\n true,\r\n );\r\n };\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport type {\r\n PlayerBonusTransactionsReport,\r\n PlayerSelfExclusionReport,\r\n PlayerSelfLimitationDepositReport,\r\n PlayerSelfLimitationSessionReport,\r\n TransactionsReportType,\r\n TransactionsTypesDownloadType,\r\n TransactionsDetailsType,\r\n} from \"../types\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport {\r\n PlayerSportsbookTransactionsDetailsReport,\r\n PlayerSportsbookTransactionsReport,\r\n TransactionsSportsbookReportType,\r\n} from \"../types/player-sportbook-transactions-report.interface\";\r\n\r\n/**\r\n * ReportService.\r\n */\r\nexport class PlayerReportService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n const prefixService = `/player`;\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get self exclusion report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getSelfExclusionReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSelfExclusionReport>(\r\n `/self-exclusion/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get self limitation Session report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getSelfLimitationSessionReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSelfLimitationSessionReport>(\r\n `/self-limitation/session/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get bonus transactions report list.\r\n *\r\n * @param bonusId - String.\r\n * @param query - Object.\r\n * @param options - Object.\r\n * @returns These returns values unknown.\r\n */\r\n getPlayerBonusTransactionsReport = async (\r\n bonusId: string | number,\r\n query = {},\r\n options = {},\r\n ) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerBonusTransactionsReport>(\r\n `/plays/bonus-id/${bonusId}/report?${handleQuery}`,\r\n options,\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get self limitation deposit report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getSelfLimitationDepositReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSelfLimitationDepositReport>(\r\n `/self-limitation/deposit/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get transactions report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getTransactionsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<TransactionsReportType>(\r\n `/transactions/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Download transactions report.\r\n *\r\n * @param query Represent query url.\r\n * @returns These returns values unknown.\r\n */\r\n transactionsDownloadReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<TransactionsTypesDownloadType>(\r\n `/transactions/report/download?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get transactions details report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getTransactionsDetailsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<TransactionsDetailsType>(\r\n `/transactions/details?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get sportbook transactions report.\r\n *\r\n * @param query - QueryType.\r\n * @returns These returns values unknown.\r\n */\r\n getSportBookTransactionsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<PlayerSportsbookTransactionsReport>(\r\n `/sport/report?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Download Bets report.\r\n *\r\n * @param query Represent query url.\r\n * @returns These returns values unknown.\r\n */\r\n downloadBetsSportsReport = async (query = {}) => {\r\n const handleQuery = new URLSearchParams(query).toString();\r\n return this.getBase<TransactionsTypesDownloadType>(\r\n `/sport/report/download?${handleQuery}`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get sportsbook transactions report.\r\n *\r\n * @returns These returns values unknown.\r\n */\r\n getSportBookStatusTransactions = async () => {\r\n return this.getBase<TransactionsSportsbookReportType[]>(\r\n `/plays/types/sports/list`,\r\n {},\r\n true,\r\n );\r\n };\r\n\r\n /**\r\n * Get sportsbook transactions report.\r\n *\r\n * @param bet_transaction_id - String.\r\n * @returns These returns values unknown.\r\n */\r\n getSportBookDetailsTransactions = async (bet_transaction_id: number) =>\r\n this.getBase<PlayerSportsbookTransactionsDetailsReport>(\r\n `/sport/details?bet_transaction_id=${bet_transaction_id}`,\r\n {},\r\n true,\r\n );\r\n}\r\n","import type { SdkSapiContext } from \"../sdk-sapi-context\";\r\nimport { RequestBase } from \"../request/base\";\r\nimport {\r\n GameSearchType,\r\n QueryType,\r\n SearchGamesEventOptixType,\r\n SkinLobbyByCodeType,\r\n SkinLobbyOptixType,\r\n} from \"../types\";\r\nimport { headersApplicationJson } from \"../utils/headers\";\r\n\r\n/**\r\n *\r\n */\r\nexport class OptixService extends RequestBase {\r\n constructor(public context: SdkSapiContext) {\r\n // Here you define the service prefix.\r\n const prefixService = `/optix`;\r\n\r\n super(context, prefixService);\r\n }\r\n\r\n /**\r\n * Get game by name and skin.\r\n *\r\n * @param name Game ID.\r\n * @param query QueryType.\r\n * @param options Represent value options.\r\n * @param withToken Is fetch with session.\r\n * @returns These returns values unknown.\r\n */\r\n getGameByNameAndSkin = async (\r\n name: string,\r\n query?: QueryType,\r\n options = {},\r\n withToken = false,\r\n ) => {\r\n if (!name) return null;\r\n const { page, limit } = { page: 1, limit: 20, ...query };\r\n return this.getBase<GameSearchType>(\r\n `/games/search/name/${name}/skin/${this.context.skin}?page=${page}&limit=${limit}`,\r\n options,\r\n withToken,\r\n );\r\n };\r\n\r\n getLobbyOptixByCode = async (lobbyCode: string, token: string) =>\r\n this.requestBase<SkinLobbyByCodeType>(\r\n `/optix/games/skin/${this.context.skin}/lobby/${lobbyCode}?limit=100`,\r\n {\r\n ...(token && {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }),\r\n },\r\n );\r\n\r\n getListLobbyOptix = async (token: string) =>\r\n this.requestBase<SkinLobbyOptixType[]>(\r\n `/optix/games/skin/${this.context.skin}/lobby`,\r\n {\r\n ...(token && {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }),\r\n },\r\n );\r\n\r\n searchGamesEventOptix = async (data: SearchGamesEventOptixType) =>\r\n this.postBase(\r\n `/search/event`,\r\n {\r\n headers: headersApplicationJson,\r\n body: JSON.stringify(data),\r\n },\r\n true,\r\n );\r\n}\r\n","import { Mixin } from \"ts-mixer\";\r\nimport {\r\n GameService,\r\n SkinService,\r\n PlayerService,\r\n ValidateService,\r\n SupplierService,\r\n VerifyService,\r\n FormService,\r\n SelfExclusionService,\r\n SelfLimitationService,\r\n BankService,\r\n PaymentService,\r\n TransactionsService,\r\n IdentityBiometryService,\r\n SportsService,\r\n OtherService,\r\n PepVerificationService,\r\n BonusService,\r\n OnboardingService,\r\n TwoFactorAuthenticationService,\r\n SkinContentService,\r\n PlayerSessionService,\r\n PlayerNotificationService,\r\n PlayerReportService,\r\n OptixService,\r\n} from \"./services\";\r\n\r\nexport * from \"./types\";\r\nexport type { SdkSapiContext } from \"./sdk-sapi-context\";\r\n\r\nimport type { SdkSapiContext } from \"./sdk-sapi-context\";\r\n\r\n/**\r\n * SdkSAPIExtendedService.\r\n */\r\nclass SdkSAPIExtendedService extends Mixin(\r\n SkinService,\r\n GameService,\r\n PlayerService,\r\n ValidateService,\r\n SupplierService,\r\n VerifyService,\r\n FormService,\r\n SelfExclusionService,\r\n SelfLimitationService,\r\n BankService,\r\n) {}\r\n\r\n/**\r\n * SdkSAPIExtendedService2.\r\n */\r\nclass SdkSAPIExtendedService2 extends Mixin(\r\n SkinContentService,\r\n PaymentService,\r\n TransactionsService,\r\n IdentityBiometryService,\r\n PepVerificationService,\r\n SportsService,\r\n OtherService,\r\n BonusService,\r\n OnboardingService,\r\n TwoFactorAuthenticationService,\r\n) {}\r\n\r\n/**\r\n * SdkSAPIExtendedService2.\r\n */\r\nclass SdkSAPIExtendedService3 extends Mixin(\r\n PlayerSessionService,\r\n PlayerNotificationService,\r\n PlayerReportService,\r\n OptixService,\r\n) {}\r\n\r\n/**\r\n * SdkSAPI.\r\n */\r\nexport class SdkSAPI extends Mixin(\r\n SdkSAPIExtendedService,\r\n SdkSAPIExtendedService2,\r\n SdkSAPIExtendedService3,\r\n) {\r\n constructor(context: SdkSapiContext) {\r\n super(context);\r\n }\r\n}\r\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sdk-sapi-promarketing",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "TypeScript SDK client for SAPI",
|
|
5
|
+
"private": false,
|
|
6
|
+
"keywords": [
|
|
7
|
+
"sdk",
|
|
8
|
+
"sapi",
|
|
9
|
+
"api-client"
|
|
10
|
+
],
|
|
11
|
+
"homepage": "https://bitbucket.org/promarketing/skin2-sdk-sapi#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://bitbucket.org/promarketing/skin2-sdk-sapi/issues"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://bitbucket.org/promarketing/skin2-sdk-sapi.git"
|
|
18
|
+
},
|
|
19
|
+
"license": "UNLICENSED",
|
|
20
|
+
"author": "Carlos Chacon",
|
|
21
|
+
"type": "commonjs",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"import": "./dist/index.mjs",
|
|
26
|
+
"require": "./dist/index.js"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"main": "./dist/index.js",
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"files": [
|
|
32
|
+
"dist"
|
|
33
|
+
],
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"ts-mixer": "^6.0.4"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/node": "^20.17.0",
|
|
39
|
+
"tsup": "^8.3.5",
|
|
40
|
+
"typescript": "^5.7.2"
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=18.0.0"
|
|
44
|
+
},
|
|
45
|
+
"module": "./dist/index.mjs",
|
|
46
|
+
"sideEffects": false,
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public",
|
|
49
|
+
"git-checks": false
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "tsup"
|
|
53
|
+
}
|
|
54
|
+
}
|