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