/* tslint:disable */
/* eslint-disable */
/**
* recraft.ai external api
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 0.0.1
*
*
* 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 {
CreateStyleResponse,
ImageStyle,
ListBasicStylesResponse,
ListStylesResponse,
Style,
} from '../models/index';
import {
CreateStyleResponseFromJSON,
CreateStyleResponseToJSON,
ImageStyleFromJSON,
ImageStyleToJSON,
ListBasicStylesResponseFromJSON,
ListBasicStylesResponseToJSON,
ListStylesResponseFromJSON,
ListStylesResponseToJSON,
StyleFromJSON,
StyleToJSON,
} from '../models/index';
export interface CreateStyleRequest {
images: Array<Blob>;
style: ImageStyle;
_private?: boolean;
}
export interface DeleteStyleRequest {
styleId: string;
}
export interface GetStyleRequest {
styleId: string;
}
/**
*
*/
export class StyleApi extends runtime.BaseAPI {
/**
* Create Style
*/
async createStyleRaw(requestParameters: CreateStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateStyleResponse>> {
if (requestParameters['images'] == null) {
throw new runtime.RequiredError(
'images',
'Required parameter "images" was null or undefined when calling createStyle().'
);
}
if (requestParameters['style'] == null) {
throw new runtime.RequiredError(
'style',
'Required parameter "style" was null or undefined when calling createStyle().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("auth0", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const consumes: runtime.Consume[] = [
{ contentType: 'multipart/form-data' },
];
// @ts-ignore: canConsumeForm may be unused
const canConsumeForm = runtime.canConsumeForm(consumes);
let formParams: { append(param: string, value: any): any };
let useForm = false;
// use FormData to transmit files using content-type "multipart/form-data"
useForm = canConsumeForm;
if (useForm) {
formParams = new FormData();
} else {
formParams = new URLSearchParams();
}
if (requestParameters['images'] != null) {
requestParameters['images'].forEach((element) => {
formParams.append('images', element as any);
})
}
if (requestParameters['_private'] != null) {
formParams.append('private', requestParameters['_private'] as any);
}
if (requestParameters['style'] != null) {
formParams.append('style', requestParameters['style'] as any);
}
const response = await this.request({
path: `/v1/styles`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: formParams,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => CreateStyleResponseFromJSON(jsonValue));
}
/**
* Create Style
*/
async createStyle(requestParameters: CreateStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateStyleResponse> {
const response = await this.createStyleRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Delete Style
*/
async deleteStyleRaw(requestParameters: DeleteStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
if (requestParameters['styleId'] == null) {
throw new runtime.RequiredError(
'styleId',
'Required parameter "styleId" was null or undefined when calling deleteStyle().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("auth0", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = await this.request({
path: `/v1/styles/{style_id}`.replace(`{${"style_id"}}`, encodeURIComponent(String(requestParameters['styleId']))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse<any>(response);
}
/**
* Delete Style
*/
async deleteStyle(requestParameters: DeleteStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
const response = await this.deleteStyleRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get Style
*/
async getStyleRaw(requestParameters: GetStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Style>> {
if (requestParameters['styleId'] == null) {
throw new runtime.RequiredError(
'styleId',
'Required parameter "styleId" was null or undefined when calling getStyle().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("auth0", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = await this.request({
path: `/v1/styles/{style_id}`.replace(`{${"style_id"}}`, encodeURIComponent(String(requestParameters['styleId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => StyleFromJSON(jsonValue));
}
/**
* Get Style
*/
async getStyle(requestParameters: GetStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Style> {
const response = await this.getStyleRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* List Basic Styles
*/
async listBasicStylesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListBasicStylesResponse>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("auth0", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = await this.request({
path: `/v1/styles/basic`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ListBasicStylesResponseFromJSON(jsonValue));
}
/**
* List Basic Styles
*/
async listBasicStyles(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListBasicStylesResponse> {
const response = await this.listBasicStylesRaw(initOverrides);
return await response.value();
}
/**
* List Styles
*/
async listStylesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListStylesResponse>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("auth0", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = await this.request({
path: `/v1/styles`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ListStylesResponseFromJSON(jsonValue));
}
/**
* List Styles
*/
async listStyles(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListStylesResponse> {
const response = await this.listStylesRaw(initOverrides);
return await response.value();
}
}