mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
chore(ui): regenerate api
This commit is contained in:
parent
de0df4945d
commit
b7de3162c3
@ -21,9 +21,11 @@ import { CancelablePromise } from './CancelablePromise';
|
|||||||
import type { OnCancel } from './CancelablePromise';
|
import type { OnCancel } from './CancelablePromise';
|
||||||
import type { OpenAPIConfig } from './OpenAPI';
|
import type { OpenAPIConfig } from './OpenAPI';
|
||||||
|
|
||||||
export const HEADERS = Symbol("HEADERS")
|
export const HEADERS = Symbol('HEADERS');
|
||||||
|
|
||||||
const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {
|
const isDefined = <T>(
|
||||||
|
value: T | null | undefined
|
||||||
|
): value is Exclude<T, null | undefined> => {
|
||||||
return value !== undefined && value !== null;
|
return value !== undefined && value !== null;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -75,7 +77,7 @@ const getQueryString = (params: Record<string, any>): string => {
|
|||||||
const process = (key: string, value: any) => {
|
const process = (key: string, value: any) => {
|
||||||
if (isDefined(value)) {
|
if (isDefined(value)) {
|
||||||
if (Array.isArray(value)) {
|
if (Array.isArray(value)) {
|
||||||
value.forEach(v => {
|
value.forEach((v) => {
|
||||||
process(key, v);
|
process(key, v);
|
||||||
});
|
});
|
||||||
} else if (typeof value === 'object') {
|
} else if (typeof value === 'object') {
|
||||||
@ -134,7 +136,7 @@ const getFormData = (options: ApiRequestOptions): FormData | undefined => {
|
|||||||
.filter(([_, value]) => isDefined(value))
|
.filter(([_, value]) => isDefined(value))
|
||||||
.forEach(([key, value]) => {
|
.forEach(([key, value]) => {
|
||||||
if (Array.isArray(value)) {
|
if (Array.isArray(value)) {
|
||||||
value.forEach(v => process(key, v));
|
value.forEach((v) => process(key, v));
|
||||||
} else {
|
} else {
|
||||||
process(key, value);
|
process(key, value);
|
||||||
}
|
}
|
||||||
@ -147,19 +149,28 @@ const getFormData = (options: ApiRequestOptions): FormData | undefined => {
|
|||||||
|
|
||||||
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
|
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
|
||||||
|
|
||||||
const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {
|
const resolve = async <T>(
|
||||||
|
options: ApiRequestOptions,
|
||||||
|
resolver?: T | Resolver<T>
|
||||||
|
): Promise<T | undefined> => {
|
||||||
if (typeof resolver === 'function') {
|
if (typeof resolver === 'function') {
|
||||||
return (resolver as Resolver<T>)(options);
|
return (resolver as Resolver<T>)(options);
|
||||||
}
|
}
|
||||||
return resolver;
|
return resolver;
|
||||||
};
|
};
|
||||||
|
|
||||||
const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise<Record<string, string>> => {
|
const getHeaders = async (
|
||||||
|
config: OpenAPIConfig,
|
||||||
|
options: ApiRequestOptions,
|
||||||
|
formData?: FormData
|
||||||
|
): Promise<Record<string, string>> => {
|
||||||
const token = await resolve(options, config.TOKEN);
|
const token = await resolve(options, config.TOKEN);
|
||||||
const username = await resolve(options, config.USERNAME);
|
const username = await resolve(options, config.USERNAME);
|
||||||
const password = await resolve(options, config.PASSWORD);
|
const password = await resolve(options, config.PASSWORD);
|
||||||
const additionalHeaders = await resolve(options, config.HEADERS);
|
const additionalHeaders = await resolve(options, config.HEADERS);
|
||||||
const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}
|
const formHeaders =
|
||||||
|
(typeof formData?.getHeaders === 'function' && formData?.getHeaders()) ||
|
||||||
|
{};
|
||||||
|
|
||||||
const headers = Object.entries({
|
const headers = Object.entries({
|
||||||
Accept: 'application/json',
|
Accept: 'application/json',
|
||||||
@ -167,11 +178,14 @@ const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, for
|
|||||||
...options.headers,
|
...options.headers,
|
||||||
...formHeaders,
|
...formHeaders,
|
||||||
})
|
})
|
||||||
.filter(([_, value]) => isDefined(value))
|
.filter(([_, value]) => isDefined(value))
|
||||||
.reduce((headers, [key, value]) => ({
|
.reduce(
|
||||||
...headers,
|
(headers, [key, value]) => ({
|
||||||
[key]: String(value),
|
...headers,
|
||||||
}), {} as Record<string, string>);
|
[key]: String(value),
|
||||||
|
}),
|
||||||
|
{} as Record<string, string>
|
||||||
|
);
|
||||||
|
|
||||||
if (isStringWithValue(token)) {
|
if (isStringWithValue(token)) {
|
||||||
headers['Authorization'] = `Bearer ${token}`;
|
headers['Authorization'] = `Bearer ${token}`;
|
||||||
@ -237,7 +251,10 @@ const sendRequest = async <T>(
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const getResponseHeader = (response: AxiosResponse<any>, responseHeader?: string): string | undefined => {
|
const getResponseHeader = (
|
||||||
|
response: AxiosResponse<any>,
|
||||||
|
responseHeader?: string
|
||||||
|
): string | undefined => {
|
||||||
if (responseHeader) {
|
if (responseHeader) {
|
||||||
const content = response.headers[responseHeader];
|
const content = response.headers[responseHeader];
|
||||||
if (isString(content)) {
|
if (isString(content)) {
|
||||||
@ -254,7 +271,10 @@ const getResponseBody = (response: AxiosResponse<any>): any => {
|
|||||||
return undefined;
|
return undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {
|
const catchErrorCodes = (
|
||||||
|
options: ApiRequestOptions,
|
||||||
|
result: ApiResult
|
||||||
|
): void => {
|
||||||
const errors: Record<number, string> = {
|
const errors: Record<number, string> = {
|
||||||
400: 'Bad Request',
|
400: 'Bad Request',
|
||||||
401: 'Unauthorized',
|
401: 'Unauthorized',
|
||||||
@ -264,7 +284,7 @@ const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void =>
|
|||||||
502: 'Bad Gateway',
|
502: 'Bad Gateway',
|
||||||
503: 'Service Unavailable',
|
503: 'Service Unavailable',
|
||||||
...options.errors,
|
...options.errors,
|
||||||
}
|
};
|
||||||
|
|
||||||
const error = errors[result.status];
|
const error = errors[result.status];
|
||||||
if (error) {
|
if (error) {
|
||||||
@ -283,7 +303,10 @@ const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void =>
|
|||||||
* @returns CancelablePromise<T>
|
* @returns CancelablePromise<T>
|
||||||
* @throws ApiError
|
* @throws ApiError
|
||||||
*/
|
*/
|
||||||
export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {
|
export const request = <T>(
|
||||||
|
config: OpenAPIConfig,
|
||||||
|
options: ApiRequestOptions
|
||||||
|
): CancelablePromise<T> => {
|
||||||
return new CancelablePromise(async (resolve, reject, onCancel) => {
|
return new CancelablePromise(async (resolve, reject, onCancel) => {
|
||||||
try {
|
try {
|
||||||
const url = getUrl(config, options);
|
const url = getUrl(config, options);
|
||||||
@ -292,9 +315,20 @@ export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): C
|
|||||||
const headers = await getHeaders(config, options, formData);
|
const headers = await getHeaders(config, options, formData);
|
||||||
|
|
||||||
if (!onCancel.isCancelled) {
|
if (!onCancel.isCancelled) {
|
||||||
const response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel);
|
const response = await sendRequest<T>(
|
||||||
|
config,
|
||||||
|
options,
|
||||||
|
url,
|
||||||
|
body,
|
||||||
|
formData,
|
||||||
|
headers,
|
||||||
|
onCancel
|
||||||
|
);
|
||||||
const responseBody = getResponseBody(response);
|
const responseBody = getResponseBody(response);
|
||||||
const responseHeader = getResponseHeader(response, options.responseHeader);
|
const responseHeader = getResponseHeader(
|
||||||
|
response,
|
||||||
|
options.responseHeader
|
||||||
|
);
|
||||||
|
|
||||||
const result: ApiResult = {
|
const result: ApiResult = {
|
||||||
url,
|
url,
|
||||||
|
@ -32,6 +32,7 @@ export type { LoadImageInvocation } from './models/LoadImageInvocation';
|
|||||||
export type { MaskFromAlphaInvocation } from './models/MaskFromAlphaInvocation';
|
export type { MaskFromAlphaInvocation } from './models/MaskFromAlphaInvocation';
|
||||||
export type { MaskOutput } from './models/MaskOutput';
|
export type { MaskOutput } from './models/MaskOutput';
|
||||||
export type { PaginatedResults_GraphExecutionState_ } from './models/PaginatedResults_GraphExecutionState_';
|
export type { PaginatedResults_GraphExecutionState_ } from './models/PaginatedResults_GraphExecutionState_';
|
||||||
|
export type { PaginatedResults_ImageField_ } from './models/PaginatedResults_ImageField_';
|
||||||
export type { PasteImageInvocation } from './models/PasteImageInvocation';
|
export type { PasteImageInvocation } from './models/PasteImageInvocation';
|
||||||
export type { PromptOutput } from './models/PromptOutput';
|
export type { PromptOutput } from './models/PromptOutput';
|
||||||
export type { RestoreFaceInvocation } from './models/RestoreFaceInvocation';
|
export type { RestoreFaceInvocation } from './models/RestoreFaceInvocation';
|
||||||
@ -66,6 +67,7 @@ export { $LoadImageInvocation } from './schemas/$LoadImageInvocation';
|
|||||||
export { $MaskFromAlphaInvocation } from './schemas/$MaskFromAlphaInvocation';
|
export { $MaskFromAlphaInvocation } from './schemas/$MaskFromAlphaInvocation';
|
||||||
export { $MaskOutput } from './schemas/$MaskOutput';
|
export { $MaskOutput } from './schemas/$MaskOutput';
|
||||||
export { $PaginatedResults_GraphExecutionState_ } from './schemas/$PaginatedResults_GraphExecutionState_';
|
export { $PaginatedResults_GraphExecutionState_ } from './schemas/$PaginatedResults_GraphExecutionState_';
|
||||||
|
export { $PaginatedResults_ImageField_ } from './schemas/$PaginatedResults_ImageField_';
|
||||||
export { $PasteImageInvocation } from './schemas/$PasteImageInvocation';
|
export { $PasteImageInvocation } from './schemas/$PasteImageInvocation';
|
||||||
export { $PromptOutput } from './schemas/$PromptOutput';
|
export { $PromptOutput } from './schemas/$PromptOutput';
|
||||||
export { $RestoreFaceInvocation } from './schemas/$RestoreFaceInvocation';
|
export { $RestoreFaceInvocation } from './schemas/$RestoreFaceInvocation';
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
|
|
||||||
|
import type { ImageType } from './ImageType';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An image field used for passing image objects between invocations
|
* An image field used for passing image objects between invocations
|
||||||
*/
|
*/
|
||||||
@ -9,7 +11,7 @@ export type ImageField = {
|
|||||||
/**
|
/**
|
||||||
* The type of the image
|
* The type of the image
|
||||||
*/
|
*/
|
||||||
image_type: string;
|
image_type: ImageType;
|
||||||
/**
|
/**
|
||||||
* The name of the image
|
* The name of the image
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
/* istanbul ignore file */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
|
import type { ImageField } from './ImageField';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Paginated results
|
||||||
|
*/
|
||||||
|
export type PaginatedResults_ImageField_ = {
|
||||||
|
/**
|
||||||
|
* Items
|
||||||
|
*/
|
||||||
|
items: Array<ImageField>;
|
||||||
|
/**
|
||||||
|
* Current Page
|
||||||
|
*/
|
||||||
|
page: number;
|
||||||
|
/**
|
||||||
|
* Total number of pages
|
||||||
|
*/
|
||||||
|
pages: number;
|
||||||
|
/**
|
||||||
|
* Number of items per page
|
||||||
|
*/
|
||||||
|
per_page: number;
|
||||||
|
/**
|
||||||
|
* Total number of items in result
|
||||||
|
*/
|
||||||
|
total: number;
|
||||||
|
};
|
||||||
|
|
@ -5,8 +5,11 @@ export const $ImageField = {
|
|||||||
description: `An image field used for passing image objects between invocations`,
|
description: `An image field used for passing image objects between invocations`,
|
||||||
properties: {
|
properties: {
|
||||||
image_type: {
|
image_type: {
|
||||||
type: 'string',
|
type: 'all-of',
|
||||||
description: `The type of the image`,
|
description: `The type of the image`,
|
||||||
|
contains: [{
|
||||||
|
type: 'ImageType',
|
||||||
|
}],
|
||||||
isRequired: true,
|
isRequired: true,
|
||||||
},
|
},
|
||||||
image_name: {
|
image_name: {
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
/* istanbul ignore file */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
export const $PaginatedResults_ImageField_ = {
|
||||||
|
description: `Paginated results`,
|
||||||
|
properties: {
|
||||||
|
items: {
|
||||||
|
type: 'array',
|
||||||
|
contains: {
|
||||||
|
type: 'ImageField',
|
||||||
|
},
|
||||||
|
isRequired: true,
|
||||||
|
},
|
||||||
|
page: {
|
||||||
|
type: 'number',
|
||||||
|
description: `Current Page`,
|
||||||
|
isRequired: true,
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
type: 'number',
|
||||||
|
description: `Total number of pages`,
|
||||||
|
isRequired: true,
|
||||||
|
},
|
||||||
|
per_page: {
|
||||||
|
type: 'number',
|
||||||
|
description: `Number of items per page`,
|
||||||
|
isRequired: true,
|
||||||
|
},
|
||||||
|
total: {
|
||||||
|
type: 'number',
|
||||||
|
description: `Total number of items in result`,
|
||||||
|
isRequired: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} as const;
|
@ -3,6 +3,7 @@
|
|||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
import type { Body_upload_image } from '../models/Body_upload_image';
|
import type { Body_upload_image } from '../models/Body_upload_image';
|
||||||
import type { ImageType } from '../models/ImageType';
|
import type { ImageType } from '../models/ImageType';
|
||||||
|
import type { PaginatedResults_ImageField_ } from '../models/PaginatedResults_ImageField_';
|
||||||
|
|
||||||
import type { CancelablePromise } from '../core/CancelablePromise';
|
import type { CancelablePromise } from '../core/CancelablePromise';
|
||||||
import { OpenAPI } from '../core/OpenAPI';
|
import { OpenAPI } from '../core/OpenAPI';
|
||||||
@ -96,4 +97,42 @@ export class ImagesService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List Images
|
||||||
|
* Gets a list of images
|
||||||
|
* @returns PaginatedResults_ImageField_ Successful Response
|
||||||
|
* @throws ApiError
|
||||||
|
*/
|
||||||
|
public static listImages({
|
||||||
|
imageType,
|
||||||
|
page,
|
||||||
|
perPage = 10,
|
||||||
|
}: {
|
||||||
|
/**
|
||||||
|
* The type of images to get
|
||||||
|
*/
|
||||||
|
imageType?: ImageType,
|
||||||
|
/**
|
||||||
|
* The page of images to get
|
||||||
|
*/
|
||||||
|
page?: number,
|
||||||
|
/**
|
||||||
|
* The number of images per page
|
||||||
|
*/
|
||||||
|
perPage?: number,
|
||||||
|
}): CancelablePromise<PaginatedResults_ImageField_> {
|
||||||
|
return __request(OpenAPI, {
|
||||||
|
method: 'GET',
|
||||||
|
url: '/api/v1/images/',
|
||||||
|
query: {
|
||||||
|
'image_type': imageType,
|
||||||
|
'page': page,
|
||||||
|
'per_page': perPage,
|
||||||
|
},
|
||||||
|
errors: {
|
||||||
|
422: `Validation Error`,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user