mirror of
https://github.com/immich-app/immich.git
synced 2024-12-28 11:15:54 +02:00
6f4449d5e9
* Add new cli * Remove old readme * Add documentation to readme file * Add github workflow tests for cli * Fix typo in docs * Add usage info to readme * Add package-lock.json * Fix tsconfig * Cleanup * Fix lint * Cleanup package.json * Fix accidental server change * Remove rootdir from cli * Remove tsbuildinfo * Add prettierignore * Make CLI use internal openapi specs * Add ignore and dry-run features * Sort paths alphabetically * Don't remove substring * Remove shorthand for delete * Remove unused import * Remove chokidar * Set correct openapi cli generator script * Add progress bar * Rename target to asset * Add deletion progress bar * Ignore require statement * Use read streams instead of readfile * Fix github feedback * Fix upload requires * More github comments * Cleanup messages * Cleaner pattern concats * Github comments --------- Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
392 lines
17 KiB
Plaintext
392 lines
17 KiB
Plaintext
{{#withSeparateModelsAndApi}}
|
|
/* tslint:disable */
|
|
/* eslint-disable */
|
|
{{>licenseInfo}}
|
|
|
|
import type { Configuration } from '{{apiRelativeToRoot}}configuration';
|
|
import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
import globalAxios from 'axios';
|
|
{{#withNodeImports}}
|
|
// URLSearchParams not necessarily used
|
|
// @ts-ignore
|
|
import { URL, URLSearchParams } from 'url';
|
|
{{#multipartFormData}}
|
|
import FormData from 'form-data'
|
|
{{/multipartFormData}}
|
|
{{/withNodeImports}}
|
|
// Some imports not used depending on template conditions
|
|
// @ts-ignore
|
|
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '{{apiRelativeToRoot}}common';
|
|
// @ts-ignore
|
|
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '{{apiRelativeToRoot}}base';
|
|
{{#imports}}
|
|
// @ts-ignore
|
|
import { {{classname}} } from '{{apiRelativeToRoot}}{{tsModelPackage}}';
|
|
{{/imports}}
|
|
{{/withSeparateModelsAndApi}}
|
|
{{^withSeparateModelsAndApi}}
|
|
{{/withSeparateModelsAndApi}}
|
|
{{#operations}}
|
|
/**
|
|
* {{classname}} - axios parameter creator{{#description}}
|
|
* {{&description}}{{/description}}
|
|
* @export
|
|
*/
|
|
export const {{classname}}AxiosParamCreator = function (configuration?: Configuration) {
|
|
return {
|
|
{{#operation}}
|
|
/**
|
|
* {{¬es}}
|
|
{{#summary}}
|
|
* @summary {{&summary}}
|
|
{{/summary}}
|
|
{{#allParams}}
|
|
* @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}}
|
|
{{/allParams}}
|
|
* @param {*} [options] Override http request option.{{#isDeprecated}}
|
|
* @deprecated{{/isDeprecated}}
|
|
* @throws {RequiredError}
|
|
*/
|
|
{{nickname}}: async ({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
{{#allParams}}
|
|
{{#required}}
|
|
// verify required parameter '{{paramName}}' is not null or undefined
|
|
assertParamExists('{{nickname}}', '{{paramName}}', {{paramName}})
|
|
{{/required}}
|
|
{{/allParams}}
|
|
const localVarPath = `{{{path}}}`{{#pathParams}}
|
|
.replace(`{${"{{baseName}}"}}`, encodeURIComponent(String({{paramName}}))){{/pathParams}};
|
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
let baseOptions;
|
|
if (configuration) {
|
|
baseOptions = configuration.baseOptions;
|
|
}
|
|
|
|
const localVarRequestOptions = { method: '{{httpMethod}}', ...baseOptions, ...options};
|
|
const localVarHeaderParameter = {} as any;
|
|
const localVarQueryParameter = {} as any;{{#vendorExtensions}}{{#hasFormParams}}
|
|
const localVarFormParams = new {{^multipartFormData}}URLSearchParams(){{/multipartFormData}}{{#multipartFormData}}((configuration && configuration.formDataCtor) || FormData)(){{/multipartFormData}};{{/hasFormParams}}{{/vendorExtensions}}
|
|
|
|
{{#authMethods}}
|
|
// authentication {{name}} required
|
|
{{#isApiKey}}
|
|
{{#isKeyInHeader}}
|
|
await setApiKeyToObject(localVarHeaderParameter, "{{keyParamName}}", configuration)
|
|
{{/isKeyInHeader}}
|
|
{{#isKeyInQuery}}
|
|
await setApiKeyToObject(localVarQueryParameter, "{{keyParamName}}", configuration)
|
|
{{/isKeyInQuery}}
|
|
{{/isApiKey}}
|
|
{{#isBasicBasic}}
|
|
// http basic authentication required
|
|
setBasicAuthToObject(localVarRequestOptions, configuration)
|
|
{{/isBasicBasic}}
|
|
{{#isBasicBearer}}
|
|
// http bearer authentication required
|
|
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
{{/isBasicBearer}}
|
|
{{#isOAuth}}
|
|
// oauth required
|
|
await setOAuthToObject(localVarHeaderParameter, "{{name}}", [{{#scopes}}"{{{scope}}}"{{^-last}}, {{/-last}}{{/scopes}}], configuration)
|
|
{{/isOAuth}}
|
|
|
|
{{/authMethods}}
|
|
{{#queryParams}}
|
|
{{#isArray}}
|
|
if ({{paramName}}) {
|
|
{{#isCollectionFormatMulti}}
|
|
{{#uniqueItems}}
|
|
localVarQueryParameter['{{baseName}}'] = Array.from({{paramName}});
|
|
{{/uniqueItems}}
|
|
{{^uniqueItems}}
|
|
localVarQueryParameter['{{baseName}}'] = {{paramName}};
|
|
{{/uniqueItems}}
|
|
{{/isCollectionFormatMulti}}
|
|
{{^isCollectionFormatMulti}}
|
|
{{#uniqueItems}}
|
|
localVarQueryParameter['{{baseName}}'] = Array.from({{paramName}}).join(COLLECTION_FORMATS.{{collectionFormat}});
|
|
{{/uniqueItems}}
|
|
{{^uniqueItems}}
|
|
localVarQueryParameter['{{baseName}}'] = {{paramName}}.join(COLLECTION_FORMATS.{{collectionFormat}});
|
|
{{/uniqueItems}}
|
|
{{/isCollectionFormatMulti}}
|
|
}
|
|
{{/isArray}}
|
|
{{^isArray}}
|
|
if ({{paramName}} !== undefined) {
|
|
{{#isDateTime}}
|
|
localVarQueryParameter['{{baseName}}'] = ({{paramName}} as any instanceof Date) ?
|
|
({{paramName}} as any).toISOString() :
|
|
{{paramName}};
|
|
{{/isDateTime}}
|
|
{{^isDateTime}}
|
|
{{#isDate}}
|
|
localVarQueryParameter['{{baseName}}'] = ({{paramName}} as any instanceof Date) ?
|
|
({{paramName}} as any).toISOString().substr(0,10) :
|
|
{{paramName}};
|
|
{{/isDate}}
|
|
{{^isDate}}
|
|
localVarQueryParameter['{{baseName}}'] = {{paramName}};
|
|
{{/isDate}}
|
|
{{/isDateTime}}
|
|
}
|
|
{{/isArray}}
|
|
|
|
{{/queryParams}}
|
|
{{#headerParams}}
|
|
{{#isArray}}
|
|
if ({{paramName}}) {
|
|
{{#uniqueItems}}
|
|
let mapped = Array.from({{paramName}}).map(value => (<any>"{{{dataType}}}" !== "Set<string>") ? JSON.stringify(value) : (value || ""));
|
|
{{/uniqueItems}}
|
|
{{^uniqueItems}}
|
|
let mapped = {{paramName}}.map(value => (<any>"{{{dataType}}}" !== "Array<string>") ? JSON.stringify(value) : (value || ""));
|
|
{{/uniqueItems}}
|
|
localVarHeaderParameter['{{baseName}}'] = mapped.join(COLLECTION_FORMATS["{{collectionFormat}}"]);
|
|
}
|
|
{{/isArray}}
|
|
{{^isArray}}
|
|
{{! `val == null` covers for both `null` and `undefined`}}
|
|
if ({{paramName}} != null) {
|
|
{{#isString}}
|
|
localVarHeaderParameter['{{baseName}}'] = String({{paramName}});
|
|
{{/isString}}
|
|
{{^isString}}
|
|
{{! isString is falsy also for $ref that defines a string or enum type}}
|
|
localVarHeaderParameter['{{baseName}}'] = typeof {{paramName}} === 'string'
|
|
? {{paramName}}
|
|
: JSON.stringify({{paramName}});
|
|
{{/isString}}
|
|
}
|
|
{{/isArray}}
|
|
|
|
{{/headerParams}}
|
|
{{#vendorExtensions}}
|
|
{{#formParams}}
|
|
{{#isArray}}
|
|
if ({{paramName}}) {
|
|
{{#isCollectionFormatMulti}}
|
|
{{paramName}}.forEach((element) => {
|
|
localVarFormParams.{{#multipartFormData}}append{{/multipartFormData}}{{^multipartFormData}}set{{/multipartFormData}}('{{baseName}}', element as any);
|
|
})
|
|
{{/isCollectionFormatMulti}}
|
|
{{^isCollectionFormatMulti}}
|
|
localVarFormParams.{{#multipartFormData}}append{{/multipartFormData}}{{^multipartFormData}}set{{/multipartFormData}}('{{baseName}}', {{paramName}}.join(COLLECTION_FORMATS.{{collectionFormat}}));
|
|
{{/isCollectionFormatMulti}}
|
|
}{{/isArray}}
|
|
{{^isArray}}
|
|
if ({{paramName}} !== undefined) { {{^multipartFormData}}
|
|
localVarFormParams.set('{{baseName}}', {{paramName}} as any);{{/multipartFormData}}{{#multipartFormData}}{{#isPrimitiveType}}
|
|
localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isEnum}}
|
|
localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isEnum}}{{^isEnum}}
|
|
localVarFormParams.append('{{baseName}}', new Blob([JSON.stringify({{paramName}})], { type: "application/json", }));{{/isEnum}}{{/isPrimitiveType}}{{/multipartFormData}}
|
|
}{{/isArray}}
|
|
{{/formParams}}{{/vendorExtensions}}
|
|
{{#vendorExtensions}}{{#hasFormParams}}{{^multipartFormData}}
|
|
localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';{{/multipartFormData}}{{#multipartFormData}}
|
|
localVarHeaderParameter['Content-Type'] = 'multipart/form-data';{{/multipartFormData}}
|
|
{{/hasFormParams}}{{/vendorExtensions}}
|
|
{{#bodyParam}}
|
|
{{^consumes}}
|
|
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
{{/consumes}}
|
|
{{#consumes.0}}
|
|
localVarHeaderParameter['Content-Type'] = '{{{mediaType}}}';
|
|
{{/consumes.0}}
|
|
|
|
{{/bodyParam}}
|
|
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions,{{#hasFormParams}}{{#multipartFormData}} ...(localVarFormParams as any).getHeaders?.(),{{/multipartFormData}}{{/hasFormParams}} ...options.headers};
|
|
{{#hasFormParams}}
|
|
localVarRequestOptions.data = localVarFormParams{{#vendorExtensions}}{{^multipartFormData}}.toString(){{/multipartFormData}}{{/vendorExtensions}};
|
|
{{/hasFormParams}}
|
|
{{#bodyParam}}
|
|
localVarRequestOptions.data = serializeDataIfNeeded({{paramName}}, localVarRequestOptions, configuration)
|
|
{{/bodyParam}}
|
|
|
|
return {
|
|
url: toPathString(localVarUrlObj),
|
|
options: localVarRequestOptions,
|
|
};
|
|
},
|
|
{{/operation}}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* {{classname}} - functional programming interface{{#description}}
|
|
* {{{.}}}{{/description}}
|
|
* @export
|
|
*/
|
|
export const {{classname}}Fp = function(configuration?: Configuration) {
|
|
const localVarAxiosParamCreator = {{classname}}AxiosParamCreator(configuration)
|
|
return {
|
|
{{#operation}}
|
|
/**
|
|
* {{¬es}}
|
|
{{#summary}}
|
|
* @summary {{&summary}}
|
|
{{/summary}}
|
|
{{#allParams}}
|
|
* @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}}
|
|
{{/allParams}}
|
|
* @param {*} [options] Override http request option.{{#isDeprecated}}
|
|
* @deprecated{{/isDeprecated}}
|
|
* @throws {RequiredError}
|
|
*/
|
|
async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}>> {
|
|
const localVarAxiosArgs = await localVarAxiosParamCreator.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options);
|
|
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
},
|
|
{{/operation}}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* {{classname}} - factory interface{{#description}}
|
|
* {{&description}}{{/description}}
|
|
* @export
|
|
*/
|
|
export const {{classname}}Factory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
|
|
const localVarFp = {{classname}}Fp(configuration)
|
|
return {
|
|
{{#operation}}
|
|
/**
|
|
* {{¬es}}
|
|
{{#summary}}
|
|
* @summary {{&summary}}
|
|
{{/summary}}
|
|
{{#useSingleRequestParameter}}
|
|
{{#allParams.0}}
|
|
* @param {{=<% %>=}}{<%& classname %><%& operationIdCamelCase %>Request}<%={{ }}=%> requestParameters Request parameters.
|
|
{{/allParams.0}}
|
|
{{/useSingleRequestParameter}}
|
|
{{^useSingleRequestParameter}}
|
|
{{#allParams}}
|
|
* @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}}
|
|
{{/allParams}}
|
|
{{/useSingleRequestParameter}}
|
|
* @param {*} [options] Override http request option.{{#isDeprecated}}
|
|
* @deprecated{{/isDeprecated}}
|
|
* @throws {RequiredError}
|
|
*/
|
|
{{#useSingleRequestParameter}}
|
|
{{nickname}}({{#allParams.0}}requestParameters: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}options?: AxiosRequestConfig): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
|
|
return localVarFp.{{nickname}}({{#allParams.0}}{{#allParams}}requestParameters.{{paramName}}, {{/allParams}}{{/allParams.0}}options).then((request) => request(axios, basePath));
|
|
},
|
|
{{/useSingleRequestParameter}}
|
|
{{^useSingleRequestParameter}}
|
|
{{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: any): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
|
|
return localVarFp.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options).then((request) => request(axios, basePath));
|
|
},
|
|
{{/useSingleRequestParameter}}
|
|
{{/operation}}
|
|
};
|
|
};
|
|
|
|
{{#withInterfaces}}
|
|
/**
|
|
* {{classname}} - interface{{#description}}
|
|
* {{&description}}{{/description}}
|
|
* @export
|
|
* @interface {{classname}}
|
|
*/
|
|
export interface {{classname}}Interface {
|
|
{{#operation}}
|
|
/**
|
|
* {{¬es}}
|
|
{{#summary}}
|
|
* @summary {{&summary}}
|
|
{{/summary}}
|
|
{{#allParams}}
|
|
* @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}}
|
|
{{/allParams}}
|
|
* @param {*} [options] Override http request option.{{#isDeprecated}}
|
|
* @deprecated{{/isDeprecated}}
|
|
* @throws {RequiredError}
|
|
* @memberof {{classname}}Interface
|
|
*/
|
|
{{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}>;
|
|
|
|
{{/operation}}
|
|
}
|
|
|
|
{{/withInterfaces}}
|
|
{{#useSingleRequestParameter}}
|
|
{{#operation}}
|
|
{{#allParams.0}}
|
|
/**
|
|
* Request parameters for {{nickname}} operation in {{classname}}.
|
|
* @export
|
|
* @interface {{classname}}{{operationIdCamelCase}}Request
|
|
*/
|
|
export interface {{classname}}{{operationIdCamelCase}}Request {
|
|
{{#allParams}}
|
|
/**
|
|
* {{description}}
|
|
* @type {{=<% %>=}}{<%&dataType%>}<%={{ }}=%>
|
|
* @memberof {{classname}}{{operationIdCamelCase}}
|
|
*/
|
|
readonly {{paramName}}{{^required}}?{{/required}}: {{{dataType}}}
|
|
{{^-last}}
|
|
|
|
{{/-last}}
|
|
{{/allParams}}
|
|
}
|
|
|
|
{{/allParams.0}}
|
|
{{/operation}}
|
|
{{/useSingleRequestParameter}}
|
|
/**
|
|
* {{classname}} - object-oriented interface{{#description}}
|
|
* {{{.}}}{{/description}}
|
|
* @export
|
|
* @class {{classname}}
|
|
* @extends {BaseAPI}
|
|
*/
|
|
{{#withInterfaces}}
|
|
export class {{classname}} extends BaseAPI implements {{classname}}Interface {
|
|
{{/withInterfaces}}
|
|
{{^withInterfaces}}
|
|
export class {{classname}} extends BaseAPI {
|
|
{{/withInterfaces}}
|
|
{{#operation}}
|
|
/**
|
|
* {{¬es}}
|
|
{{#summary}}
|
|
* @summary {{&summary}}
|
|
{{/summary}}
|
|
{{#useSingleRequestParameter}}
|
|
{{#allParams.0}}
|
|
* @param {{=<% %>=}}{<%& classname %><%& operationIdCamelCase %>Request}<%={{ }}=%> requestParameters Request parameters.
|
|
{{/allParams.0}}
|
|
{{/useSingleRequestParameter}}
|
|
{{^useSingleRequestParameter}}
|
|
{{#allParams}}
|
|
* @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}}
|
|
{{/allParams}}
|
|
{{/useSingleRequestParameter}}
|
|
* @param {*} [options] Override http request option.{{#isDeprecated}}
|
|
* @deprecated{{/isDeprecated}}
|
|
* @throws {RequiredError}
|
|
* @memberof {{classname}}
|
|
*/
|
|
{{#useSingleRequestParameter}}
|
|
public {{nickname}}({{#allParams.0}}requestParameters: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}options?: AxiosRequestConfig) {
|
|
return {{classname}}Fp(this.configuration).{{nickname}}({{#allParams.0}}{{#allParams}}requestParameters.{{paramName}}, {{/allParams}}{{/allParams.0}}options).then((request) => request(this.axios, this.basePath));
|
|
}
|
|
{{/useSingleRequestParameter}}
|
|
{{^useSingleRequestParameter}}
|
|
public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig) {
|
|
return {{classname}}Fp(this.configuration).{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options).then((request) => request(this.axios, this.basePath));
|
|
}
|
|
{{/useSingleRequestParameter}}
|
|
{{^-last}}
|
|
|
|
{{/-last}}
|
|
{{/operation}}
|
|
}
|
|
{{/operations}}
|