diff options
Diffstat (limited to 'src/api/apis/leaderboard-api.ts')
| -rw-r--r-- | src/api/apis/leaderboard-api.ts | 301 |
1 files changed, 301 insertions, 0 deletions
diff --git a/src/api/apis/leaderboard-api.ts b/src/api/apis/leaderboard-api.ts new file mode 100644 index 0000000..26e8c95 --- /dev/null +++ b/src/api/apis/leaderboard-api.ts @@ -0,0 +1,301 @@ +/* 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<RequestArgs> => { + // 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<RequestArgs> => { + // 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<AxiosResponse<LeaderboardWinnerResponse>>> { + 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<AxiosResponse<LeaderboardResponse>>> { + 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<AxiosResponse<LeaderboardWinnerResponse>> { + 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<AxiosResponse<LeaderboardResponse>> { + 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<AxiosResponse<LeaderboardWinnerResponse>> { + 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<AxiosResponse<LeaderboardResponse>> { + return LeaderboardApiFp(this.configuration).timespanLeaderboardProductIdLeaderboardTimespanBoardCodeGet(productId, boardCode, freq, countryIso, bpuid, timestamp, scope, limit, options).then((request) => request(this.axios, this.basePath)); + } +} |
