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