@mikle7/litty-api-client
Version:
TypeScript client for Litty API with clean, semantic type definitions
291 lines (290 loc) • 12.8 kB
JavaScript
/* 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();
}
}