UNPKG

@mikle7/litty-api-client

Version:

TypeScript client for Litty API with clean, semantic type definitions

242 lines (241 loc) 12.5 kB
"use strict"; /* tslint:disable */ /* eslint-disable */ /** * Litty API * Complete API documentation for the Litty platform. ## Authentication Most endpoints require authentication via Supabase JWT tokens. Include the token in the Authorization header: `Bearer <token>` ## API Structure - **Contests**: Create and manage contests, entries, and settlements - **Markets**: Manage prediction markets within contests - **Transactions**: Handle financial transactions for contest entries and rewards - **Wallet**: Manage user wallet balances (cashable, points, tickets) - **Users**: User management and profiles - **Leaderboards**: Competition rankings and scoring - **Uploads**: File upload management - **Shows**: TV show and episode management (admin only) ## Response Formats All endpoints return JSON responses with consistent error handling. Error responses include `statusCode`, `message`, and `error` fields. * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ContestsMarketsApi = void 0; const runtime = __importStar(require("../runtime")); const index_1 = require("../models/index"); /** * */ class ContestsMarketsApi extends runtime.BaseAPI { /** * Create a new prediction market for a contest with multiple options for users to choose from. * Create a new market */ async createMarketRaw(requestParameters, initOverrides) { if (requestParameters['contestId'] == null) { throw new runtime.RequiredError('contestId', 'Required parameter "contestId" was null or undefined when calling createMarket().'); } if (requestParameters['body'] == null) { throw new runtime.RequiredError('body', 'Required parameter "body" was null or undefined when calling createMarket().'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("JWT-auth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/contests/{contestId}/markets`.replace(`{${"contestId"}}`, encodeURIComponent(String(requestParameters['contestId']))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['body'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.CreateMarket201ResponseFromJSON)(jsonValue)); } /** * Create a new prediction market for a contest with multiple options for users to choose from. * Create a new market */ async createMarket(requestParameters, initOverrides) { const response = await this.createMarketRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve all markets associated with a specific contest, including their options. * Get markets for a contest */ async getMarketsByContestIdRaw(requestParameters, initOverrides) { if (requestParameters['contestId'] == null) { throw new runtime.RequiredError('contestId', 'Required parameter "contestId" was null or undefined when calling getMarketsByContestId().'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("JWT-auth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/contests/{contestId}/markets`.replace(`{${"contestId"}}`, encodeURIComponent(String(requestParameters['contestId']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.GetMarketsByContestId200ResponseInnerFromJSON)); } /** * Retrieve all markets associated with a specific contest, including their options. * Get markets for a contest */ async getMarketsByContestId(requestParameters, initOverrides) { const response = await this.getMarketsByContestIdRaw(requestParameters, initOverrides); return await response.value(); } /** * Settle a market by specifying the correct answer/winning option. * Settle a market */ async settleMarketRaw(requestParameters, initOverrides) { if (requestParameters['contestId'] == null) { throw new runtime.RequiredError('contestId', 'Required parameter "contestId" was null or undefined when calling settleMarket().'); } if (requestParameters['marketId'] == null) { throw new runtime.RequiredError('marketId', 'Required parameter "marketId" was null or undefined when calling settleMarket().'); } if (requestParameters['body'] == null) { throw new runtime.RequiredError('body', 'Required parameter "body" was null or undefined when calling settleMarket().'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("JWT-auth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/contests/{contestId}/markets/{marketId}/settle`.replace(`{${"contestId"}}`, encodeURIComponent(String(requestParameters['contestId']))).replace(`{${"marketId"}}`, encodeURIComponent(String(requestParameters['marketId']))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['body'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.SettleMarket200ResponseFromJSON)(jsonValue)); } /** * Settle a market by specifying the correct answer/winning option. * Settle a market */ async settleMarket(requestParameters, initOverrides) { const response = await this.settleMarketRaw(requestParameters, initOverrides); return await response.value(); } /** * Update market details such as name, description, or point value. * Update a market */ async updateMarketRaw(requestParameters, initOverrides) { if (requestParameters['contestId'] == null) { throw new runtime.RequiredError('contestId', 'Required parameter "contestId" was null or undefined when calling updateMarket().'); } if (requestParameters['marketId'] == null) { throw new runtime.RequiredError('marketId', 'Required parameter "marketId" was null or undefined when calling updateMarket().'); } if (requestParameters['body'] == null) { throw new runtime.RequiredError('body', 'Required parameter "body" was null or undefined when calling updateMarket().'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("JWT-auth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/contests/{contestId}/markets/{marketId}`.replace(`{${"contestId"}}`, encodeURIComponent(String(requestParameters['contestId']))).replace(`{${"marketId"}}`, encodeURIComponent(String(requestParameters['marketId']))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: requestParameters['body'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.UpdateMarket200ResponseFromJSON)(jsonValue)); } /** * Update market details such as name, description, or point value. * Update a market */ async updateMarket(requestParameters, initOverrides) { const response = await this.updateMarketRaw(requestParameters, initOverrides); return await response.value(); } /** * Update the status of a market (Draft, Open, Closed, Settled). * Update market status */ async updateMarketStatusRaw(requestParameters, initOverrides) { if (requestParameters['contestId'] == null) { throw new runtime.RequiredError('contestId', 'Required parameter "contestId" was null or undefined when calling updateMarketStatus().'); } if (requestParameters['marketId'] == null) { throw new runtime.RequiredError('marketId', 'Required parameter "marketId" was null or undefined when calling updateMarketStatus().'); } if (requestParameters['body'] == null) { throw new runtime.RequiredError('body', 'Required parameter "body" was null or undefined when calling updateMarketStatus().'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("JWT-auth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/contests/{contestId}/markets/{marketId}/status`.replace(`{${"contestId"}}`, encodeURIComponent(String(requestParameters['contestId']))).replace(`{${"marketId"}}`, encodeURIComponent(String(requestParameters['marketId']))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: requestParameters['body'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.UpdateMarketStatus200ResponseFromJSON)(jsonValue)); } /** * Update the status of a market (Draft, Open, Closed, Settled). * Update market status */ async updateMarketStatus(requestParameters, initOverrides) { const response = await this.updateMarketStatusRaw(requestParameters, initOverrides); return await response.value(); } } exports.ContestsMarketsApi = ContestsMarketsApi;