@space-cow-media/spellbook-client
Version:
An Open Api generated client for the Commander Spellbook backend REST API.
205 lines (166 loc) • 7.14 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Commander Spellbook API
* API for Commander Spellbook, the combo database engine for Magic: The Gathering
*
* The version of the OpenAPI document: 5.4.10
*
*
* 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.js';
import {
type DeckRequest,
DeckRequestFromJSON,
DeckRequestToJSON,
} from '../models/DeckRequest.js';
import {
type PaginatedFindMyCombosResponseList,
PaginatedFindMyCombosResponseListFromJSON,
PaginatedFindMyCombosResponseListToJSON,
} from '../models/PaginatedFindMyCombosResponseList.js';
export interface FindMyCombosCreateRequest {
count?: boolean;
groupByCombo?: boolean;
limit?: number;
offset?: number;
ordering?: string;
q?: string;
variant?: string;
deckRequest?: DeckRequest;
}
export interface FindMyCombosListRequest {
count?: boolean;
groupByCombo?: boolean;
limit?: number;
offset?: number;
ordering?: string;
q?: string;
variant?: string;
}
/**
*
*/
export class FindMyCombosApi extends runtime.BaseAPI {
/**
* Creates request options for findMyCombosCreate without sending the request
*/
async findMyCombosCreateRequestOpts(requestParameters: FindMyCombosCreateRequest): Promise<runtime.RequestOpts> {
const queryParameters: any = {};
if (requestParameters['count'] != null) {
queryParameters['count'] = requestParameters['count'];
}
if (requestParameters['groupByCombo'] != null) {
queryParameters['groupByCombo'] = requestParameters['groupByCombo'];
}
if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}
if (requestParameters['offset'] != null) {
queryParameters['offset'] = requestParameters['offset'];
}
if (requestParameters['ordering'] != null) {
queryParameters['ordering'] = requestParameters['ordering'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
if (requestParameters['variant'] != null) {
queryParameters['variant'] = requestParameters['variant'];
}
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {
headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password);
}
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("jwtAuth", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
let urlPath = `/find-my-combos`;
return {
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DeckRequestToJSON(requestParameters['deckRequest']),
};
}
/**
*/
async findMyCombosCreateRaw(requestParameters: FindMyCombosCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedFindMyCombosResponseList>> {
const requestOptions = await this.findMyCombosCreateRequestOpts(requestParameters);
const response = await this.request(requestOptions, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedFindMyCombosResponseListFromJSON(jsonValue));
}
/**
*/
async findMyCombosCreate(requestParameters: FindMyCombosCreateRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedFindMyCombosResponseList> {
const response = await this.findMyCombosCreateRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Creates request options for findMyCombosList without sending the request
*/
async findMyCombosListRequestOpts(requestParameters: FindMyCombosListRequest): Promise<runtime.RequestOpts> {
const queryParameters: any = {};
if (requestParameters['count'] != null) {
queryParameters['count'] = requestParameters['count'];
}
if (requestParameters['groupByCombo'] != null) {
queryParameters['groupByCombo'] = requestParameters['groupByCombo'];
}
if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}
if (requestParameters['offset'] != null) {
queryParameters['offset'] = requestParameters['offset'];
}
if (requestParameters['ordering'] != null) {
queryParameters['ordering'] = requestParameters['ordering'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
if (requestParameters['variant'] != null) {
queryParameters['variant'] = requestParameters['variant'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {
headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password);
}
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("jwtAuth", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
let urlPath = `/find-my-combos`;
return {
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
};
}
/**
*/
async findMyCombosListRaw(requestParameters: FindMyCombosListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedFindMyCombosResponseList>> {
const requestOptions = await this.findMyCombosListRequestOpts(requestParameters);
const response = await this.request(requestOptions, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedFindMyCombosResponseListFromJSON(jsonValue));
}
/**
*/
async findMyCombosList(requestParameters: FindMyCombosListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedFindMyCombosResponseList> {
const response = await this.findMyCombosListRaw(requestParameters, initOverrides);
return await response.value();
}
}