fork of hey-api/openapi-ts because I need some additional things
at feat/use-mutation-hooks 575 lines 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<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};