@space-cow-media/spellbook-client
Version:
An Open Api generated client for the Commander Spellbook backend REST API.
157 lines (128 loc) • 4.98 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: 4.8.19
*
*
* 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 type {
Feature,
PaginatedFeatureList,
} from '../models/index';
import {
FeatureFromJSON,
FeatureToJSON,
PaginatedFeatureListFromJSON,
PaginatedFeatureListToJSON,
} from '../models/index';
export interface FeaturesListRequest {
limit?: number;
offset?: number;
q?: string;
status?: Array<FeaturesListStatusEnum>;
}
export interface FeaturesRetrieveRequest {
id: number;
}
/**
*
*/
export class FeaturesApi extends runtime.BaseAPI {
/**
*/
async featuresListRaw(requestParameters: FeaturesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedFeatureList>> {
const queryParameters: any = {};
if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}
if (requestParameters['offset'] != null) {
queryParameters['offset'] = requestParameters['offset'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
if (requestParameters['status'] != null) {
queryParameters['status'] = requestParameters['status'];
}
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 = `/features/`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedFeatureListFromJSON(jsonValue));
}
/**
*/
async featuresList(requestParameters: FeaturesListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedFeatureList> {
const response = await this.featuresListRaw(requestParameters, initOverrides);
return await response.value();
}
/**
*/
async featuresRetrieveRaw(requestParameters: FeaturesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Feature>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling featuresRetrieve().'
);
}
const queryParameters: any = {};
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 = `/features/{id}/`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => FeatureFromJSON(jsonValue));
}
/**
*/
async featuresRetrieve(requestParameters: FeaturesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Feature> {
const response = await this.featuresRetrieveRaw(requestParameters, initOverrides);
return await response.value();
}
}
/**
* @export
* @enum {string}
*/
export enum FeaturesListStatusEnum {
C = 'C',
H = 'H',
Hu = 'HU',
Pu = 'PU',
S = 'S'
}