UNPKG

@mikle7/litty-api-client

Version:

TypeScript client for Litty API with clean, semantic type definitions

291 lines (290 loc) 12.8 kB
/* 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. */ import * as runtime from '../runtime'; import { CreateUser201ResponseFromJSON, GetAllUsers200ResponseFromJSON, GetMe200ResponseFromJSON, GetOnboardingStatus200ResponseFromJSON, GetReferrals200ResponseFromJSON, SubmitOnboarding200ResponseFromJSON, UpdateEmailVerification200ResponseFromJSON, ValidateNickname200ResponseFromJSON, } from '../models/index'; /** * */ export class UsersApi extends runtime.BaseAPI { /** * Create a new user account in the system * Create a new user */ async createUserRaw(requestParameters, initOverrides) { if (requestParameters['body'] == null) { throw new runtime.RequiredError('body', 'Required parameter "body" was null or undefined when calling createUser().'); } 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: `/users`, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['body'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CreateUser201ResponseFromJSON(jsonValue)); } /** * Create a new user account in the system * Create a new user */ async createUser(requestParameters, initOverrides) { const response = await this.createUserRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve a paginated list of all users with their wallet information. Admin access required. * Get all users */ async getAllUsersRaw(requestParameters, initOverrides) { const queryParameters = {}; if (requestParameters['page'] != null) { queryParameters['page'] = requestParameters['page']; } if (requestParameters['limit'] != null) { queryParameters['limit'] = requestParameters['limit']; } if (requestParameters['search'] != null) { queryParameters['search'] = requestParameters['search']; } 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: `/users`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GetAllUsers200ResponseFromJSON(jsonValue)); } /** * Retrieve a paginated list of all users with their wallet information. Admin access required. * Get all users */ async getAllUsers(requestParameters = {}, initOverrides) { const response = await this.getAllUsersRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve the authenticated user\'s profile information * Get current user information */ async getMeRaw(initOverrides) { 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: `/users/me`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GetMe200ResponseFromJSON(jsonValue)); } /** * Retrieve the authenticated user\'s profile information * Get current user information */ async getMe(initOverrides) { const response = await this.getMeRaw(initOverrides); return await response.value(); } /** * Check if the authenticated user has completed onboarding * Get user onboarding status */ async getOnboardingStatusRaw(initOverrides) { 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: `/users/onboarding/status`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GetOnboardingStatus200ResponseFromJSON(jsonValue)); } /** * Check if the authenticated user has completed onboarding * Get user onboarding status */ async getOnboardingStatus(initOverrides) { const response = await this.getOnboardingStatusRaw(initOverrides); return await response.value(); } /** * Retrieve the authenticated user\'s referral information * Get user referrals */ async getReferralsRaw(initOverrides) { 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: `/users/referrals`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GetReferrals200ResponseFromJSON(jsonValue)); } /** * Retrieve the authenticated user\'s referral information * Get user referrals */ async getReferrals(initOverrides) { const response = await this.getReferralsRaw(initOverrides); return await response.value(); } /** * Complete the user onboarding process with required information * Submit user onboarding information */ async submitOnboardingRaw(requestParameters, initOverrides) { if (requestParameters['body'] == null) { throw new runtime.RequiredError('body', 'Required parameter "body" was null or undefined when calling submitOnboarding().'); } 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: `/users/onboarding`, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['body'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => SubmitOnboarding200ResponseFromJSON(jsonValue)); } /** * Complete the user onboarding process with required information * Submit user onboarding information */ async submitOnboarding(requestParameters, initOverrides) { const response = await this.submitOnboardingRaw(requestParameters, initOverrides); return await response.value(); } /** * Update the email verification status for a user * Update email verification status */ async updateEmailVerificationRaw(requestParameters, initOverrides) { if (requestParameters['body'] == null) { throw new runtime.RequiredError('body', 'Required parameter "body" was null or undefined when calling updateEmailVerification().'); } 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: `/users/email-verification`, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['body'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => UpdateEmailVerification200ResponseFromJSON(jsonValue)); } /** * Update the email verification status for a user * Update email verification status */ async updateEmailVerification(requestParameters, initOverrides) { const response = await this.updateEmailVerificationRaw(requestParameters, initOverrides); return await response.value(); } /** * Check if a nickname is available and meets format requirements * Validate nickname availability */ async validateNicknameRaw(requestParameters, initOverrides) { if (requestParameters['nickname'] == null) { throw new runtime.RequiredError('nickname', 'Required parameter "nickname" was null or undefined when calling validateNickname().'); } const queryParameters = {}; if (requestParameters['nickname'] != null) { queryParameters['nickname'] = requestParameters['nickname']; } 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: `/users/validate/nickname`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ValidateNickname200ResponseFromJSON(jsonValue)); } /** * Check if a nickname is available and meets format requirements * Validate nickname availability */ async validateNickname(requestParameters, initOverrides) { const response = await this.validateNicknameRaw(requestParameters, initOverrides); return await response.value(); } }