/* tslint:disable */ /* eslint-disable */ /** * General Research Full Service Brokerage API * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) * * OpenAPI spec version: 1.1.0 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios'; import { Configuration } from '../configuration'; // Some imports not used depending on template conditions // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; import { HTTPValidationError } from '../models'; import { LeaderboardResponse } from '../models'; import { LeaderboardWinnerResponse } from '../models'; /** * LeaderboardApi - axios parameter creator * @export */ export const LeaderboardApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Get the Winners of leaderboard contests * @summary Leaderboard Winners * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} countryIso Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {*} [options] Override http request option. * @throws {RequiredError} */ leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet: async (productId: any, boardCode: any, freq: any, countryIso: any, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productId' is not null or undefined if (productId === null || productId === undefined) { throw new RequiredError('productId','Required parameter productId was null or undefined when calling leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet.'); } // verify required parameter 'boardCode' is not null or undefined if (boardCode === null || boardCode === undefined) { throw new RequiredError('boardCode','Required parameter boardCode was null or undefined when calling leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet.'); } // verify required parameter 'freq' is not null or undefined if (freq === null || freq === undefined) { throw new RequiredError('freq','Required parameter freq was null or undefined when calling leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet.'); } // verify required parameter 'countryIso' is not null or undefined if (countryIso === null || countryIso === undefined) { throw new RequiredError('countryIso','Required parameter countryIso was null or undefined when calling leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet.'); } const localVarPath = `/{product_id}/leaderboard/timespan/{board_code}/winners/` .replace(`{${"product_id"}}`, encodeURIComponent(String(productId))) .replace(`{${"board_code"}}`, encodeURIComponent(String(boardCode))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (freq !== undefined) { localVarQueryParameter['freq'] = freq; } if (countryIso !== undefined) { localVarQueryParameter['country_iso'] = countryIso; } const query = new URLSearchParams(localVarUrlObj.search); for (const key in localVarQueryParameter) { query.set(key, localVarQueryParameter[key]); } for (const key in options.params) { query.set(key, options.params[key]); } localVarUrlObj.search = (new URLSearchParams(query)).toString(); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, options: localVarRequestOptions, }; }, /** * * @summary Timespan Leaderboard * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} [countryIso] Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {any} [bpuid] Brokerage Product User ID. If passed, then the country is not required; the country is determined by this user's latest IP. * @param {any} [timestamp] The start timestamp for the requested leaderboard. If NULL, uses the current time period. * @param {any} [scope] If scope is \"user\", then `bp_user_id` must be set. Results in filtering rows to include only this user's row, plus rows above and below in rank (up to `limit` rows). If \"global\", then the top `limit` rows are returned. * @param {any} [limit] Max number of rows to return * @param {*} [options] Override http request option. * @throws {RequiredError} */ timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet: async (productId: any, boardCode: any, freq: any, countryIso?: any, bpuid?: any, timestamp?: any, scope?: any, limit?: any, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productId' is not null or undefined if (productId === null || productId === undefined) { throw new RequiredError('productId','Required parameter productId was null or undefined when calling timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet.'); } // verify required parameter 'boardCode' is not null or undefined if (boardCode === null || boardCode === undefined) { throw new RequiredError('boardCode','Required parameter boardCode was null or undefined when calling timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet.'); } // verify required parameter 'freq' is not null or undefined if (freq === null || freq === undefined) { throw new RequiredError('freq','Required parameter freq was null or undefined when calling timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet.'); } const localVarPath = `/{product_id}/leaderboard/timespan/{board_code}/` .replace(`{${"product_id"}}`, encodeURIComponent(String(productId))) .replace(`{${"board_code"}}`, encodeURIComponent(String(boardCode))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (freq !== undefined) { localVarQueryParameter['freq'] = freq; } if (countryIso !== undefined) { localVarQueryParameter['country_iso'] = countryIso; } if (bpuid !== undefined) { localVarQueryParameter['bpuid'] = bpuid; } if (timestamp !== undefined) { localVarQueryParameter['timestamp'] = timestamp; } if (scope !== undefined) { localVarQueryParameter['scope'] = scope; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } const query = new URLSearchParams(localVarUrlObj.search); for (const key in localVarQueryParameter) { query.set(key, localVarQueryParameter[key]); } for (const key in options.params) { query.set(key, options.params[key]); } localVarUrlObj.search = (new URLSearchParams(query)).toString(); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, options: localVarRequestOptions, }; }, } }; /** * LeaderboardApi - functional programming interface * @export */ export const LeaderboardApiFp = function(configuration?: Configuration) { return { /** * Get the Winners of leaderboard contests * @summary Leaderboard Winners * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} countryIso Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {*} [options] Override http request option. * @throws {RequiredError} */ async leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet(productId: any, boardCode: any, freq: any, countryIso: any, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>> { const localVarAxiosArgs = await LeaderboardApiAxiosParamCreator(configuration).leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet(productId, boardCode, freq, countryIso, options); return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; return axios.request(axiosRequestArgs); }; }, /** * * @summary Timespan Leaderboard * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} [countryIso] Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {any} [bpuid] Brokerage Product User ID. If passed, then the country is not required; the country is determined by this user's latest IP. * @param {any} [timestamp] The start timestamp for the requested leaderboard. If NULL, uses the current time period. * @param {any} [scope] If scope is \"user\", then `bp_user_id` must be set. Results in filtering rows to include only this user's row, plus rows above and below in rank (up to `limit` rows). If \"global\", then the top `limit` rows are returned. * @param {any} [limit] Max number of rows to return * @param {*} [options] Override http request option. * @throws {RequiredError} */ async timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet(productId: any, boardCode: any, freq: any, countryIso?: any, bpuid?: any, timestamp?: any, scope?: any, limit?: any, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>> { const localVarAxiosArgs = await LeaderboardApiAxiosParamCreator(configuration).timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet(productId, boardCode, freq, countryIso, bpuid, timestamp, scope, limit, options); return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; return axios.request(axiosRequestArgs); }; }, } }; /** * LeaderboardApi - factory interface * @export */ export const LeaderboardApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { return { /** * Get the Winners of leaderboard contests * @summary Leaderboard Winners * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} countryIso Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {*} [options] Override http request option. * @throws {RequiredError} */ async leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet(productId: any, boardCode: any, freq: any, countryIso: any, options?: AxiosRequestConfig): Promise> { return LeaderboardApiFp(configuration).leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet(productId, boardCode, freq, countryIso, options).then((request) => request(axios, basePath)); }, /** * * @summary Timespan Leaderboard * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} [countryIso] Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {any} [bpuid] Brokerage Product User ID. If passed, then the country is not required; the country is determined by this user's latest IP. * @param {any} [timestamp] The start timestamp for the requested leaderboard. If NULL, uses the current time period. * @param {any} [scope] If scope is \"user\", then `bp_user_id` must be set. Results in filtering rows to include only this user's row, plus rows above and below in rank (up to `limit` rows). If \"global\", then the top `limit` rows are returned. * @param {any} [limit] Max number of rows to return * @param {*} [options] Override http request option. * @throws {RequiredError} */ async timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet(productId: any, boardCode: any, freq: any, countryIso?: any, bpuid?: any, timestamp?: any, scope?: any, limit?: any, options?: AxiosRequestConfig): Promise> { return LeaderboardApiFp(configuration).timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet(productId, boardCode, freq, countryIso, bpuid, timestamp, scope, limit, options).then((request) => request(axios, basePath)); }, }; }; /** * LeaderboardApi - object-oriented interface * @export * @class LeaderboardApi * @extends {BaseAPI} */ export class LeaderboardApi extends BaseAPI { /** * Get the Winners of leaderboard contests * @summary Leaderboard Winners * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} countryIso Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof LeaderboardApi */ public async leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet(productId: any, boardCode: any, freq: any, countryIso: any, options?: AxiosRequestConfig) : Promise> { return LeaderboardApiFp(this.configuration).leaderboardWinnersProductIdLeaderboardTimespanBoardCodeWinnersGet(productId, boardCode, freq, countryIso, options).then((request) => request(this.axios, this.basePath)); } /** * * @summary Timespan Leaderboard * @param {any} productId The Brokerage Product ID provided by GRL. * @param {any} boardCode The type of leaderboard. What the \"values\" represent. Allowed values: - __complete_count__ *(COMPLETE_COUNT)*: Number of Completes - __largest_user_payout__ *(LARGEST_PAYOUT)*: Largest Single Payout - __sum_user_payout__ *(SUM_PAYOUTS)*: (Sum of) Total Payouts * @param {any} freq The time period range for the leaderboard. Allowed values: - __daily__ *(DAILY)*: UTC midnight to UTC midnight - __weekly__ *(WEEKLY)*: Sunday Midnight to Sunday Midnight UTC - __monthly__ *(MONTHLY)*: Jan 1 00:00:00 * @param {any} [countryIso] Respondent's country code (ISO 3166-1 alpha-2, lowercase) * @param {any} [bpuid] Brokerage Product User ID. If passed, then the country is not required; the country is determined by this user's latest IP. * @param {any} [timestamp] The start timestamp for the requested leaderboard. If NULL, uses the current time period. * @param {any} [scope] If scope is \"user\", then `bp_user_id` must be set. Results in filtering rows to include only this user's row, plus rows above and below in rank (up to `limit` rows). If \"global\", then the top `limit` rows are returned. * @param {any} [limit] Max number of rows to return * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof LeaderboardApi */ public async timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet(productId: any, boardCode: any, freq: any, countryIso?: any, bpuid?: any, timestamp?: any, scope?: any, limit?: any, options?: AxiosRequestConfig) : Promise> { return LeaderboardApiFp(this.configuration).timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet(productId, boardCode, freq, countryIso, bpuid, timestamp, scope, limit, options).then((request) => request(this.axios, this.basePath)); } }