fork of hey-api/openapi-ts because I need some additional things
1// This file is auto-generated by @hey-api/openapi-ts
2
3import {
4 type DefaultError,
5 type MutationOptions,
6 queryOptions,
7} from '@tanstack/angular-query-experimental';
8
9import { client } from '../client.gen';
10import {
11 addPet,
12 createUser,
13 createUsersWithListInput,
14 deleteOrder,
15 deletePet,
16 deleteUser,
17 findPetsByStatus,
18 findPetsByTags,
19 getInventory,
20 getOrderById,
21 getPetById,
22 getUserByName,
23 loginUser,
24 logoutUser,
25 type Options,
26 placeOrder,
27 updatePet,
28 updatePetWithForm,
29 updateUser,
30 uploadFile,
31} from '../sdk.gen';
32import type {
33 AddPetData,
34 AddPetResponse,
35 CreateUserData,
36 CreateUserResponse,
37 CreateUsersWithListInputData,
38 CreateUsersWithListInputResponse,
39 DeleteOrderData,
40 DeletePetData,
41 DeleteUserData,
42 FindPetsByStatusData,
43 FindPetsByStatusResponse,
44 FindPetsByTagsData,
45 FindPetsByTagsResponse,
46 GetInventoryData,
47 GetInventoryResponse,
48 GetOrderByIdData,
49 GetOrderByIdResponse,
50 GetPetByIdData,
51 GetPetByIdResponse,
52 GetUserByNameData,
53 GetUserByNameResponse,
54 LoginUserData,
55 LoginUserResponse,
56 LogoutUserData,
57 PlaceOrderData,
58 PlaceOrderResponse,
59 UpdatePetData,
60 UpdatePetResponse,
61 UpdatePetWithFormData,
62 UpdatePetWithFormResponse,
63 UpdateUserData,
64 UploadFileData,
65 UploadFileResponse,
66} from '../types.gen';
67
68/**
69 * Add a new pet to the store.
70 *
71 * Add a new pet to the store.
72 */
73export const addPetMutation = (
74 options?: Partial<Options<AddPetData>>,
75): MutationOptions<AddPetResponse, DefaultError, Options<AddPetData>> => {
76 const mutationOptions: MutationOptions<AddPetResponse, DefaultError, Options<AddPetData>> = {
77 mutationFn: async (fnOptions) => {
78 const { data } = await addPet({
79 ...options,
80 ...fnOptions,
81 throwOnError: true,
82 });
83 return data;
84 },
85 };
86 return mutationOptions;
87};
88
89/**
90 * Update an existing pet.
91 *
92 * Update an existing pet by Id.
93 */
94export const updatePetMutation = (
95 options?: Partial<Options<UpdatePetData>>,
96): MutationOptions<UpdatePetResponse, DefaultError, Options<UpdatePetData>> => {
97 const mutationOptions: MutationOptions<
98 UpdatePetResponse,
99 DefaultError,
100 Options<UpdatePetData>
101 > = {
102 mutationFn: async (fnOptions) => {
103 const { data } = await updatePet({
104 ...options,
105 ...fnOptions,
106 throwOnError: true,
107 });
108 return data;
109 },
110 };
111 return mutationOptions;
112};
113
114export type QueryKey<TOptions extends Options> = [
115 Pick<TOptions, 'baseUrl' | 'body' | 'headers' | 'path' | 'query'> & {
116 _id: string;
117 _infinite?: boolean;
118 tags?: ReadonlyArray<string>;
119 },
120];
121
122const createQueryKey = <TOptions extends Options>(
123 id: string,
124 options?: TOptions,
125 infinite?: boolean,
126 tags?: ReadonlyArray<string>,
127): [QueryKey<TOptions>[0]] => {
128 const params: QueryKey<TOptions>[0] = {
129 _id: id,
130 baseUrl: options?.baseUrl || (options?.client ?? client).getConfig().baseUrl,
131 } as QueryKey<TOptions>[0];
132 if (infinite) {
133 params._infinite = infinite;
134 }
135 if (tags) {
136 params.tags = tags;
137 }
138 if (options?.body) {
139 params.body = options.body;
140 }
141 if (options?.headers) {
142 params.headers = options.headers;
143 }
144 if (options?.path) {
145 params.path = options.path;
146 }
147 if (options?.query) {
148 params.query = options.query;
149 }
150 return [params];
151};
152
153export const findPetsByStatusQueryKey = (options: Options<FindPetsByStatusData>) =>
154 createQueryKey('findPetsByStatus', options);
155
156/**
157 * Finds Pets by status.
158 *
159 * Multiple status values can be provided with comma separated strings.
160 */
161export const findPetsByStatusOptions = (options: Options<FindPetsByStatusData>) =>
162 queryOptions<
163 FindPetsByStatusResponse,
164 DefaultError,
165 FindPetsByStatusResponse,
166 ReturnType<typeof findPetsByStatusQueryKey>
167 >({
168 queryFn: async ({ queryKey, signal }) => {
169 const { data } = await findPetsByStatus({
170 ...options,
171 ...queryKey[0],
172 signal,
173 throwOnError: true,
174 });
175 return data;
176 },
177 queryKey: findPetsByStatusQueryKey(options),
178 });
179
180export const findPetsByTagsQueryKey = (options: Options<FindPetsByTagsData>) =>
181 createQueryKey('findPetsByTags', options);
182
183/**
184 * Finds Pets by tags.
185 *
186 * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
187 */
188export const findPetsByTagsOptions = (options: Options<FindPetsByTagsData>) =>
189 queryOptions<
190 FindPetsByTagsResponse,
191 DefaultError,
192 FindPetsByTagsResponse,
193 ReturnType<typeof findPetsByTagsQueryKey>
194 >({
195 queryFn: async ({ queryKey, signal }) => {
196 const { data } = await findPetsByTags({
197 ...options,
198 ...queryKey[0],
199 signal,
200 throwOnError: true,
201 });
202 return data;
203 },
204 queryKey: findPetsByTagsQueryKey(options),
205 });
206
207/**
208 * Deletes a pet.
209 *
210 * Delete a pet.
211 */
212export const deletePetMutation = (
213 options?: Partial<Options<DeletePetData>>,
214): MutationOptions<unknown, DefaultError, Options<DeletePetData>> => {
215 const mutationOptions: MutationOptions<unknown, DefaultError, Options<DeletePetData>> = {
216 mutationFn: async (fnOptions) => {
217 const { data } = await deletePet({
218 ...options,
219 ...fnOptions,
220 throwOnError: true,
221 });
222 return data;
223 },
224 };
225 return mutationOptions;
226};
227
228export const getPetByIdQueryKey = (options: Options<GetPetByIdData>) =>
229 createQueryKey('getPetById', options);
230
231/**
232 * Find pet by ID.
233 *
234 * Returns a single pet.
235 */
236export const getPetByIdOptions = (options: Options<GetPetByIdData>) =>
237 queryOptions<
238 GetPetByIdResponse,
239 DefaultError,
240 GetPetByIdResponse,
241 ReturnType<typeof getPetByIdQueryKey>
242 >({
243 queryFn: async ({ queryKey, signal }) => {
244 const { data } = await getPetById({
245 ...options,
246 ...queryKey[0],
247 signal,
248 throwOnError: true,
249 });
250 return data;
251 },
252 queryKey: getPetByIdQueryKey(options),
253 });
254
255/**
256 * Updates a pet in the store with form data.
257 *
258 * Updates a pet resource based on the form data.
259 */
260export const updatePetWithFormMutation = (
261 options?: Partial<Options<UpdatePetWithFormData>>,
262): MutationOptions<UpdatePetWithFormResponse, DefaultError, Options<UpdatePetWithFormData>> => {
263 const mutationOptions: MutationOptions<
264 UpdatePetWithFormResponse,
265 DefaultError,
266 Options<UpdatePetWithFormData>
267 > = {
268 mutationFn: async (fnOptions) => {
269 const { data } = await updatePetWithForm({
270 ...options,
271 ...fnOptions,
272 throwOnError: true,
273 });
274 return data;
275 },
276 };
277 return mutationOptions;
278};
279
280/**
281 * Uploads an image.
282 *
283 * Upload image of the pet.
284 */
285export const uploadFileMutation = (
286 options?: Partial<Options<UploadFileData>>,
287): MutationOptions<UploadFileResponse, DefaultError, Options<UploadFileData>> => {
288 const mutationOptions: MutationOptions<
289 UploadFileResponse,
290 DefaultError,
291 Options<UploadFileData>
292 > = {
293 mutationFn: async (fnOptions) => {
294 const { data } = await uploadFile({
295 ...options,
296 ...fnOptions,
297 throwOnError: true,
298 });
299 return data;
300 },
301 };
302 return mutationOptions;
303};
304
305export const getInventoryQueryKey = (options?: Options<GetInventoryData>) =>
306 createQueryKey('getInventory', options);
307
308/**
309 * Returns pet inventories by status.
310 *
311 * Returns a map of status codes to quantities.
312 */
313export const getInventoryOptions = (options?: Options<GetInventoryData>) =>
314 queryOptions<
315 GetInventoryResponse,
316 DefaultError,
317 GetInventoryResponse,
318 ReturnType<typeof getInventoryQueryKey>
319 >({
320 queryFn: async ({ queryKey, signal }) => {
321 const { data } = await getInventory({
322 ...options,
323 ...queryKey[0],
324 signal,
325 throwOnError: true,
326 });
327 return data;
328 },
329 queryKey: getInventoryQueryKey(options),
330 });
331
332/**
333 * Place an order for a pet.
334 *
335 * Place a new order in the store.
336 */
337export const placeOrderMutation = (
338 options?: Partial<Options<PlaceOrderData>>,
339): MutationOptions<PlaceOrderResponse, DefaultError, Options<PlaceOrderData>> => {
340 const mutationOptions: MutationOptions<
341 PlaceOrderResponse,
342 DefaultError,
343 Options<PlaceOrderData>
344 > = {
345 mutationFn: async (fnOptions) => {
346 const { data } = await placeOrder({
347 ...options,
348 ...fnOptions,
349 throwOnError: true,
350 });
351 return data;
352 },
353 };
354 return mutationOptions;
355};
356
357/**
358 * Delete purchase order by identifier.
359 *
360 * For valid response try integer IDs with value < 1000. Anything above 1000 or non-integers will generate API errors.
361 */
362export const deleteOrderMutation = (
363 options?: Partial<Options<DeleteOrderData>>,
364): MutationOptions<unknown, DefaultError, Options<DeleteOrderData>> => {
365 const mutationOptions: MutationOptions<unknown, DefaultError, Options<DeleteOrderData>> = {
366 mutationFn: async (fnOptions) => {
367 const { data } = await deleteOrder({
368 ...options,
369 ...fnOptions,
370 throwOnError: true,
371 });
372 return data;
373 },
374 };
375 return mutationOptions;
376};
377
378export const getOrderByIdQueryKey = (options: Options<GetOrderByIdData>) =>
379 createQueryKey('getOrderById', options);
380
381/**
382 * Find purchase order by ID.
383 *
384 * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.
385 */
386export const getOrderByIdOptions = (options: Options<GetOrderByIdData>) =>
387 queryOptions<
388 GetOrderByIdResponse,
389 DefaultError,
390 GetOrderByIdResponse,
391 ReturnType<typeof getOrderByIdQueryKey>
392 >({
393 queryFn: async ({ queryKey, signal }) => {
394 const { data } = await getOrderById({
395 ...options,
396 ...queryKey[0],
397 signal,
398 throwOnError: true,
399 });
400 return data;
401 },
402 queryKey: getOrderByIdQueryKey(options),
403 });
404
405/**
406 * Create user.
407 *
408 * This can only be done by the logged in user.
409 */
410export const createUserMutation = (
411 options?: Partial<Options<CreateUserData>>,
412): MutationOptions<CreateUserResponse, DefaultError, Options<CreateUserData>> => {
413 const mutationOptions: MutationOptions<
414 CreateUserResponse,
415 DefaultError,
416 Options<CreateUserData>
417 > = {
418 mutationFn: async (fnOptions) => {
419 const { data } = await createUser({
420 ...options,
421 ...fnOptions,
422 throwOnError: true,
423 });
424 return data;
425 },
426 };
427 return mutationOptions;
428};
429
430/**
431 * Creates list of users with given input array.
432 *
433 * Creates list of users with given input array.
434 */
435export const createUsersWithListInputMutation = (
436 options?: Partial<Options<CreateUsersWithListInputData>>,
437): MutationOptions<
438 CreateUsersWithListInputResponse,
439 DefaultError,
440 Options<CreateUsersWithListInputData>
441> => {
442 const mutationOptions: MutationOptions<
443 CreateUsersWithListInputResponse,
444 DefaultError,
445 Options<CreateUsersWithListInputData>
446 > = {
447 mutationFn: async (fnOptions) => {
448 const { data } = await createUsersWithListInput({
449 ...options,
450 ...fnOptions,
451 throwOnError: true,
452 });
453 return data;
454 },
455 };
456 return mutationOptions;
457};
458
459export const loginUserQueryKey = (options?: Options<LoginUserData>) =>
460 createQueryKey('loginUser', options);
461
462/**
463 * Logs user into the system.
464 *
465 * Log into the system.
466 */
467export const loginUserOptions = (options?: Options<LoginUserData>) =>
468 queryOptions<
469 LoginUserResponse,
470 DefaultError,
471 LoginUserResponse,
472 ReturnType<typeof loginUserQueryKey>
473 >({
474 queryFn: async ({ queryKey, signal }) => {
475 const { data } = await loginUser({
476 ...options,
477 ...queryKey[0],
478 signal,
479 throwOnError: true,
480 });
481 return data;
482 },
483 queryKey: loginUserQueryKey(options),
484 });
485
486export const logoutUserQueryKey = (options?: Options<LogoutUserData>) =>
487 createQueryKey('logoutUser', options);
488
489/**
490 * Logs out current logged in user session.
491 *
492 * Log user out of the system.
493 */
494export const logoutUserOptions = (options?: Options<LogoutUserData>) =>
495 queryOptions<unknown, DefaultError, unknown, ReturnType<typeof logoutUserQueryKey>>({
496 queryFn: async ({ queryKey, signal }) => {
497 const { data } = await logoutUser({
498 ...options,
499 ...queryKey[0],
500 signal,
501 throwOnError: true,
502 });
503 return data;
504 },
505 queryKey: logoutUserQueryKey(options),
506 });
507
508/**
509 * Delete user resource.
510 *
511 * This can only be done by the logged in user.
512 */
513export const deleteUserMutation = (
514 options?: Partial<Options<DeleteUserData>>,
515): MutationOptions<unknown, DefaultError, Options<DeleteUserData>> => {
516 const mutationOptions: MutationOptions<unknown, DefaultError, Options<DeleteUserData>> = {
517 mutationFn: async (fnOptions) => {
518 const { data } = await deleteUser({
519 ...options,
520 ...fnOptions,
521 throwOnError: true,
522 });
523 return data;
524 },
525 };
526 return mutationOptions;
527};
528
529export const getUserByNameQueryKey = (options: Options<GetUserByNameData>) =>
530 createQueryKey('getUserByName', options);
531
532/**
533 * Get user by user name.
534 *
535 * Get user detail based on username.
536 */
537export const getUserByNameOptions = (options: Options<GetUserByNameData>) =>
538 queryOptions<
539 GetUserByNameResponse,
540 DefaultError,
541 GetUserByNameResponse,
542 ReturnType<typeof getUserByNameQueryKey>
543 >({
544 queryFn: async ({ queryKey, signal }) => {
545 const { data } = await getUserByName({
546 ...options,
547 ...queryKey[0],
548 signal,
549 throwOnError: true,
550 });
551 return data;
552 },
553 queryKey: getUserByNameQueryKey(options),
554 });
555
556/**
557 * Update user resource.
558 *
559 * This can only be done by the logged in user.
560 */
561export const updateUserMutation = (
562 options?: Partial<Options<UpdateUserData>>,
563): MutationOptions<unknown, DefaultError, Options<UpdateUserData>> => {
564 const mutationOptions: MutationOptions<unknown, DefaultError, Options<UpdateUserData>> = {
565 mutationFn: async (fnOptions) => {
566 const { data } = await updateUser({
567 ...options,
568 ...fnOptions,
569 throwOnError: true,
570 });
571 return data;
572 },
573 };
574 return mutationOptions;
575};