Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
147 changes: 147 additions & 0 deletions frontend/src/client/@tanstack/react-query.gen.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
// This file is auto-generated by @hey-api/openapi-ts

import { queryOptions, type UseMutationOptions } from '@tanstack/react-query';
import type { AxiosError } from 'axios';

import { client } from '../client.gen';
import { type Options, TransfersService } from '../sdk.gen';
import type { CancelTransferTransfersTransferIdDeleteData, CancelTransferTransfersTransferIdDeleteError, CancelTransferTransfersTransferIdDeleteResponse, GetTransferLogsTransfersTransferIdLogsGetData, GetTransferLogsTransfersTransferIdLogsGetError, GetTransferLogsTransfersTransferIdLogsGetResponse, GetTransferLogTransfersTransferIdLogsStreamGetData, GetTransferLogTransfersTransferIdLogsStreamGetError, GetTransferLogTransfersTransferIdLogsStreamGetResponse, GetTransfersTransfersGetData, GetTransfersTransfersGetError, GetTransfersTransfersGetResponse, GetTransferTransfersTransferIdGetData, GetTransferTransfersTransferIdGetError, GetTransferTransfersTransferIdGetResponse, NewTransferTransfersPostData, NewTransferTransfersPostError, NewTransferTransfersPostResponse } from '../types.gen';

export type QueryKey<TOptions extends Options> = [
Pick<TOptions, 'baseURL' | 'body' | 'headers' | 'path' | 'query'> & {
_id: string;
_infinite?: boolean;
tags?: ReadonlyArray<string>;
}
];

const createQueryKey = <TOptions extends Options>(id: string, options?: TOptions, infinite?: boolean, tags?: ReadonlyArray<string>): [
QueryKey<TOptions>[0]
] => {
const params: QueryKey<TOptions>[0] = { _id: id, baseURL: options?.baseURL || (options?.client ?? client).getConfig().baseURL } as QueryKey<TOptions>[0];
if (infinite) {
params._infinite = infinite;
}
if (tags) {
params.tags = tags;
}
if (options?.body) {
params.body = options.body;
}
if (options?.headers) {
params.headers = options.headers;
}
if (options?.path) {
params.path = options.path;
}
if (options?.query) {
params.query = options.query;
}
return [params];
};

export const getTransfersTransfersGetQueryKey = (options?: Options<GetTransfersTransfersGetData>) => createQueryKey('getTransfersTransfersGet', options);

/**
* Get Transfers
*/
export const getTransfersTransfersGetOptions = (options?: Options<GetTransfersTransfersGetData>) => queryOptions<GetTransfersTransfersGetResponse, AxiosError<GetTransfersTransfersGetError>, GetTransfersTransfersGetResponse, ReturnType<typeof getTransfersTransfersGetQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await TransfersService.getTransfersTransfersGet({
...options,
...queryKey[0],
signal,
throwOnError: true
});
return data;
},
queryKey: getTransfersTransfersGetQueryKey(options)
});

/**
* New Transfer
*/
export const newTransferTransfersPostMutation = (options?: Partial<Options<NewTransferTransfersPostData>>): UseMutationOptions<NewTransferTransfersPostResponse, AxiosError<NewTransferTransfersPostError>, Options<NewTransferTransfersPostData>> => {
const mutationOptions: UseMutationOptions<NewTransferTransfersPostResponse, AxiosError<NewTransferTransfersPostError>, Options<NewTransferTransfersPostData>> = {
mutationFn: async (fnOptions) => {
const { data } = await TransfersService.newTransferTransfersPost({
...options,
...fnOptions,
throwOnError: true
});
return data;
}
};
return mutationOptions;
};

/**
* Cancel Transfer
*/
export const cancelTransferTransfersTransferIdDeleteMutation = (options?: Partial<Options<CancelTransferTransfersTransferIdDeleteData>>): UseMutationOptions<CancelTransferTransfersTransferIdDeleteResponse, AxiosError<CancelTransferTransfersTransferIdDeleteError>, Options<CancelTransferTransfersTransferIdDeleteData>> => {
const mutationOptions: UseMutationOptions<CancelTransferTransfersTransferIdDeleteResponse, AxiosError<CancelTransferTransfersTransferIdDeleteError>, Options<CancelTransferTransfersTransferIdDeleteData>> = {
mutationFn: async (fnOptions) => {
const { data } = await TransfersService.cancelTransferTransfersTransferIdDelete({
...options,
...fnOptions,
throwOnError: true
});
return data;
}
};
return mutationOptions;
};

export const getTransferTransfersTransferIdGetQueryKey = (options: Options<GetTransferTransfersTransferIdGetData>) => createQueryKey('getTransferTransfersTransferIdGet', options);

/**
* Get Transfer
*/
export const getTransferTransfersTransferIdGetOptions = (options: Options<GetTransferTransfersTransferIdGetData>) => queryOptions<GetTransferTransfersTransferIdGetResponse, AxiosError<GetTransferTransfersTransferIdGetError>, GetTransferTransfersTransferIdGetResponse, ReturnType<typeof getTransferTransfersTransferIdGetQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await TransfersService.getTransferTransfersTransferIdGet({
...options,
...queryKey[0],
signal,
throwOnError: true
});
return data;
},
queryKey: getTransferTransfersTransferIdGetQueryKey(options)
});

export const getTransferLogsTransfersTransferIdLogsGetQueryKey = (options: Options<GetTransferLogsTransfersTransferIdLogsGetData>) => createQueryKey('getTransferLogsTransfersTransferIdLogsGet', options);

/**
* Get Transfer Logs
*/
export const getTransferLogsTransfersTransferIdLogsGetOptions = (options: Options<GetTransferLogsTransfersTransferIdLogsGetData>) => queryOptions<GetTransferLogsTransfersTransferIdLogsGetResponse, AxiosError<GetTransferLogsTransfersTransferIdLogsGetError>, GetTransferLogsTransfersTransferIdLogsGetResponse, ReturnType<typeof getTransferLogsTransfersTransferIdLogsGetQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await TransfersService.getTransferLogsTransfersTransferIdLogsGet({
...options,
...queryKey[0],
signal,
throwOnError: true
});
return data;
},
queryKey: getTransferLogsTransfersTransferIdLogsGetQueryKey(options)
});

export const getTransferLogTransfersTransferIdLogsStreamGetQueryKey = (options: Options<GetTransferLogTransfersTransferIdLogsStreamGetData>) => createQueryKey('getTransferLogTransfersTransferIdLogsStreamGet', options);

/**
* Get Transfer Log
*/
export const getTransferLogTransfersTransferIdLogsStreamGetOptions = (options: Options<GetTransferLogTransfersTransferIdLogsStreamGetData>) => queryOptions<GetTransferLogTransfersTransferIdLogsStreamGetResponse, AxiosError<GetTransferLogTransfersTransferIdLogsStreamGetError>, GetTransferLogTransfersTransferIdLogsStreamGetResponse, ReturnType<typeof getTransferLogTransfersTransferIdLogsStreamGetQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await TransfersService.getTransferLogTransfersTransferIdLogsStreamGet({
...options,
...queryKey[0],
signal,
throwOnError: true
});
return data;
},
queryKey: getTransferLogTransfersTransferIdLogsStreamGetQueryKey(options)
});
16 changes: 16 additions & 0 deletions frontend/src/client/client.gen.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// This file is auto-generated by @hey-api/openapi-ts

import { type ClientOptions, type Config, createClient, createConfig } from './client';
import type { ClientOptions as ClientOptions2 } from './types.gen';

/**
* The `createClientConfig()` function will be called on client initialization
* and the returned object will become the client's initial configuration.
*
* You may want to initialize your client this way instead of calling
* `setConfig()`. This is useful for example if you're using Next.js
* to ensure your client always has the correct values.
*/
export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;

export const client = createClient(createConfig<ClientOptions2>());
159 changes: 159 additions & 0 deletions frontend/src/client/client/client.gen.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
// This file is auto-generated by @hey-api/openapi-ts

import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios';
import axios from 'axios';

import { createSseClient } from '../core/serverSentEvents.gen';
import type { HttpMethod } from '../core/types.gen';
import { getValidRequestBody } from '../core/utils.gen';
import type { Client, Config, RequestOptions } from './types.gen';
import { buildUrl, createConfig, mergeConfigs, mergeHeaders, setAuthParams } from './utils.gen';

export const createClient = (config: Config = {}): Client => {
let _config = mergeConfigs(createConfig(), config);

let instance: AxiosInstance;

if (_config.axios && !('Axios' in _config.axios)) {
instance = _config.axios;
} else {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { auth, ...configWithoutAuth } = _config;
instance = axios.create(configWithoutAuth);
}

const getConfig = (): Config => ({ ..._config });

const setConfig = (config: Config): Config => {
_config = mergeConfigs(_config, config);
instance.defaults = {
...instance.defaults,
..._config,
// @ts-expect-error
headers: mergeHeaders(instance.defaults.headers, _config.headers),
};
return getConfig();
};

const beforeRequest = async (options: RequestOptions) => {
const opts = {
..._config,
...options,
axios: options.axios ?? _config.axios ?? instance,
headers: mergeHeaders(_config.headers, options.headers),
};

if (opts.security) {
await setAuthParams({
...opts,
security: opts.security,
});
}

if (opts.requestValidator) {
await opts.requestValidator(opts);
}

if (opts.body !== undefined && opts.bodySerializer) {
opts.body = opts.bodySerializer(opts.body);
}

const url = buildUrl(opts);

return { opts, url };
};

// @ts-expect-error
const request: Client['request'] = async (options) => {
// @ts-expect-error
const { opts, url } = await beforeRequest(options);
try {
// assign Axios here for consistency with fetch
const _axios = opts.axios!;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { auth, ...optsWithoutAuth } = opts;
const response = await _axios({
...optsWithoutAuth,
baseURL: '', // the baseURL is already included in `url`
data: getValidRequestBody(opts),
headers: opts.headers as RawAxiosRequestHeaders,
// let `paramsSerializer()` handle query params if it exists
params: opts.paramsSerializer ? opts.query : undefined,
url,
});

let { data } = response;

if (opts.responseType === 'json') {
if (opts.responseValidator) {
await opts.responseValidator(data);
}

if (opts.responseTransformer) {
data = await opts.responseTransformer(data);
}
}

return {
...response,
data: data ?? {},
};
} catch (error) {
const e = error as AxiosError;
if (opts.throwOnError) {
throw e;
}
// @ts-expect-error
e.error = e.response?.data ?? {};
return e;
}
};

const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>
request({ ...options, method });

const makeSseFn = (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {
const { opts, url } = await beforeRequest(options);
return createSseClient({
...opts,
body: opts.body as BodyInit | null | undefined,
headers: opts.headers as Record<string, string>,
method,
serializedBody: getValidRequestBody(opts) as BodyInit | null | undefined,
// @ts-expect-error
signal: opts.signal,
url,
});
};

const _buildUrl: Client['buildUrl'] = (options) =>
buildUrl({ axios: instance, ..._config, ...options });

return {
buildUrl: _buildUrl,
connect: makeMethodFn('CONNECT'),
delete: makeMethodFn('DELETE'),
get: makeMethodFn('GET'),
getConfig,
head: makeMethodFn('HEAD'),
instance,
options: makeMethodFn('OPTIONS'),
patch: makeMethodFn('PATCH'),
post: makeMethodFn('POST'),
put: makeMethodFn('PUT'),
request,
setConfig,
sse: {
connect: makeSseFn('CONNECT'),
delete: makeSseFn('DELETE'),
get: makeSseFn('GET'),
head: makeSseFn('HEAD'),
options: makeSseFn('OPTIONS'),
patch: makeSseFn('PATCH'),
post: makeSseFn('POST'),
put: makeSseFn('PUT'),
trace: makeSseFn('TRACE'),
},
trace: makeMethodFn('TRACE'),
} as Client;
};
23 changes: 23 additions & 0 deletions frontend/src/client/client/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// This file is auto-generated by @hey-api/openapi-ts

export type { Auth } from '../core/auth.gen';
export type { QuerySerializerOptions } from '../core/bodySerializer.gen';
export {
formDataBodySerializer,
jsonBodySerializer,
urlSearchParamsBodySerializer,
} from '../core/bodySerializer.gen';
export { buildClientParams } from '../core/params.gen';
export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen';
export { createClient } from './client.gen';
export type {
Client,
ClientOptions,
Config,
CreateClientConfig,
Options,
RequestOptions,
RequestResult,
TDataShape,
} from './types.gen';
export { createConfig } from './utils.gen';
Loading