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