fork of hey-api/openapi-ts because I need some additional things
at main 436 lines 10 kB view raw
1// This file is auto-generated by @hey-api/openapi-ts 2 3import { type _JSONValue, defineQueryOptions, type UseMutationOptions } from '@pinia/colada' 4 5import { serializeQueryKeyValue } from '../client' 6import { client } from '../client.gen' 7import { 8 addPet, 9 createUser, 10 createUsersWithListInput, 11 deleteOrder, 12 deletePet, 13 deleteUser, 14 findPetsByStatus, 15 findPetsByTags, 16 getInventory, 17 getOrderById, 18 getPetById, 19 getUserByName, 20 loginUser, 21 logoutUser, 22 type Options, 23 placeOrder, 24 updatePet, 25 updatePetWithForm, 26 updateUser, 27 uploadFile 28} from '../sdk.gen' 29import type { 30 AddPetData, 31 AddPetResponse, 32 CreateUserData, 33 CreateUserResponse, 34 CreateUsersWithListInputData, 35 CreateUsersWithListInputResponse, 36 DeleteOrderData, 37 DeletePetData, 38 DeleteUserData, 39 FindPetsByStatusData, 40 FindPetsByTagsData, 41 GetInventoryData, 42 GetOrderByIdData, 43 GetPetByIdData, 44 GetUserByNameData, 45 LoginUserData, 46 LogoutUserData, 47 PlaceOrderData, 48 PlaceOrderResponse, 49 UpdatePetData, 50 UpdatePetResponse, 51 UpdatePetWithFormData, 52 UpdatePetWithFormResponse, 53 UpdateUserData, 54 UploadFileData, 55 UploadFileResponse 56} from '../types.gen' 57 58/** 59 * Add a new pet to the store. 60 * 61 * Add a new pet to the store. 62 */ 63export const addPetMutation = ( 64 options?: Partial<Options<AddPetData>> 65): UseMutationOptions<AddPetResponse, Options<AddPetData>, Error> => ({ 66 mutation: async (vars) => { 67 const { data } = await addPet({ 68 ...options, 69 ...vars, 70 throwOnError: true 71 }) 72 return data 73 } 74}) 75 76/** 77 * Update an existing pet. 78 * 79 * Update an existing pet by Id. 80 */ 81export const updatePetMutation = ( 82 options?: Partial<Options<UpdatePetData>> 83): UseMutationOptions<UpdatePetResponse, Options<UpdatePetData>, Error> => ({ 84 mutation: async (vars) => { 85 const { data } = await updatePet({ 86 ...options, 87 ...vars, 88 throwOnError: true 89 }) 90 return data 91 } 92}) 93 94export type QueryKey<TOptions extends Options> = [ 95 Pick<TOptions, 'path'> & { 96 _id: string 97 baseUrl?: _JSONValue 98 body?: _JSONValue 99 query?: _JSONValue 100 tags?: _JSONValue 101 } 102] 103 104const createQueryKey = <TOptions extends Options>( 105 id: string, 106 options?: TOptions, 107 tags?: ReadonlyArray<string> 108): [QueryKey<TOptions>[0]] => { 109 const params: QueryKey<TOptions>[0] = { 110 _id: id, 111 baseUrl: options?.baseUrl || (options?.client ?? client).getConfig().baseUrl 112 } as QueryKey<TOptions>[0] 113 if (tags) { 114 params.tags = tags as unknown as _JSONValue 115 } 116 if (options?.body !== undefined) { 117 const normalizedBody = serializeQueryKeyValue(options.body) 118 if (normalizedBody !== undefined) { 119 params.body = normalizedBody 120 } 121 } 122 if (options?.path) { 123 params.path = options.path 124 } 125 if (options?.query !== undefined) { 126 const normalizedQuery = serializeQueryKeyValue(options.query) 127 if (normalizedQuery !== undefined) { 128 params.query = normalizedQuery 129 } 130 } 131 return [params] 132} 133 134/** 135 * Finds Pets by status. 136 * 137 * Multiple status values can be provided with comma separated strings. 138 */ 139export const findPetsByStatusQuery = defineQueryOptions( 140 (options: Options<FindPetsByStatusData>) => ({ 141 key: createQueryKey('findPetsByStatus', options), 142 query: async (context) => { 143 const { data } = await findPetsByStatus({ 144 ...options, 145 ...context, 146 throwOnError: true 147 }) 148 return data 149 } 150 }) 151) 152 153/** 154 * Finds Pets by tags. 155 * 156 * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. 157 */ 158export const findPetsByTagsQuery = defineQueryOptions((options: Options<FindPetsByTagsData>) => ({ 159 key: createQueryKey('findPetsByTags', options), 160 query: async (context) => { 161 const { data } = await findPetsByTags({ 162 ...options, 163 ...context, 164 throwOnError: true 165 }) 166 return data 167 } 168})) 169 170/** 171 * Deletes a pet. 172 * 173 * Delete a pet. 174 */ 175export const deletePetMutation = ( 176 options?: Partial<Options<DeletePetData>> 177): UseMutationOptions<unknown, Options<DeletePetData>, Error> => ({ 178 mutation: async (vars) => { 179 const { data } = await deletePet({ 180 ...options, 181 ...vars, 182 throwOnError: true 183 }) 184 return data 185 } 186}) 187 188/** 189 * Find pet by ID. 190 * 191 * Returns a single pet. 192 */ 193export const getPetByIdQuery = defineQueryOptions((options: Options<GetPetByIdData>) => ({ 194 key: createQueryKey('getPetById', options), 195 query: async (context) => { 196 const { data } = await getPetById({ 197 ...options, 198 ...context, 199 throwOnError: true 200 }) 201 return data 202 } 203})) 204 205/** 206 * Updates a pet in the store with form data. 207 * 208 * Updates a pet resource based on the form data. 209 */ 210export const updatePetWithFormMutation = ( 211 options?: Partial<Options<UpdatePetWithFormData>> 212): UseMutationOptions<UpdatePetWithFormResponse, Options<UpdatePetWithFormData>, Error> => ({ 213 mutation: async (vars) => { 214 const { data } = await updatePetWithForm({ 215 ...options, 216 ...vars, 217 throwOnError: true 218 }) 219 return data 220 } 221}) 222 223/** 224 * Uploads an image. 225 * 226 * Upload image of the pet. 227 */ 228export const uploadFileMutation = ( 229 options?: Partial<Options<UploadFileData>> 230): UseMutationOptions<UploadFileResponse, Options<UploadFileData>, Error> => ({ 231 mutation: async (vars) => { 232 const { data } = await uploadFile({ 233 ...options, 234 ...vars, 235 throwOnError: true 236 }) 237 return data 238 } 239}) 240 241/** 242 * Returns pet inventories by status. 243 * 244 * Returns a map of status codes to quantities. 245 */ 246export const getInventoryQuery = defineQueryOptions((options?: Options<GetInventoryData>) => ({ 247 key: createQueryKey('getInventory', options), 248 query: async (context) => { 249 const { data } = await getInventory({ 250 ...options, 251 ...context, 252 throwOnError: true 253 }) 254 return data 255 } 256})) 257 258/** 259 * Place an order for a pet. 260 * 261 * Place a new order in the store. 262 */ 263export const placeOrderMutation = ( 264 options?: Partial<Options<PlaceOrderData>> 265): UseMutationOptions<PlaceOrderResponse, Options<PlaceOrderData>, Error> => ({ 266 mutation: async (vars) => { 267 const { data } = await placeOrder({ 268 ...options, 269 ...vars, 270 throwOnError: true 271 }) 272 return data 273 } 274}) 275 276/** 277 * Delete purchase order by identifier. 278 * 279 * For valid response try integer IDs with value < 1000. Anything above 1000 or non-integers will generate API errors. 280 */ 281export const deleteOrderMutation = ( 282 options?: Partial<Options<DeleteOrderData>> 283): UseMutationOptions<unknown, Options<DeleteOrderData>, Error> => ({ 284 mutation: async (vars) => { 285 const { data } = await deleteOrder({ 286 ...options, 287 ...vars, 288 throwOnError: true 289 }) 290 return data 291 } 292}) 293 294/** 295 * Find purchase order by ID. 296 * 297 * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions. 298 */ 299export const getOrderByIdQuery = defineQueryOptions((options: Options<GetOrderByIdData>) => ({ 300 key: createQueryKey('getOrderById', options), 301 query: async (context) => { 302 const { data } = await getOrderById({ 303 ...options, 304 ...context, 305 throwOnError: true 306 }) 307 return data 308 } 309})) 310 311/** 312 * Create user. 313 * 314 * This can only be done by the logged in user. 315 */ 316export const createUserMutation = ( 317 options?: Partial<Options<CreateUserData>> 318): UseMutationOptions<CreateUserResponse, Options<CreateUserData>, Error> => ({ 319 mutation: async (vars) => { 320 const { data } = await createUser({ 321 ...options, 322 ...vars, 323 throwOnError: true 324 }) 325 return data 326 } 327}) 328 329/** 330 * Creates list of users with given input array. 331 * 332 * Creates list of users with given input array. 333 */ 334export const createUsersWithListInputMutation = ( 335 options?: Partial<Options<CreateUsersWithListInputData>> 336): UseMutationOptions< 337 CreateUsersWithListInputResponse, 338 Options<CreateUsersWithListInputData>, 339 Error 340> => ({ 341 mutation: async (vars) => { 342 const { data } = await createUsersWithListInput({ 343 ...options, 344 ...vars, 345 throwOnError: true 346 }) 347 return data 348 } 349}) 350 351/** 352 * Logs user into the system. 353 * 354 * Log into the system. 355 */ 356export const loginUserQuery = defineQueryOptions((options?: Options<LoginUserData>) => ({ 357 key: createQueryKey('loginUser', options), 358 query: async (context) => { 359 const { data } = await loginUser({ 360 ...options, 361 ...context, 362 throwOnError: true 363 }) 364 return data 365 } 366})) 367 368/** 369 * Logs out current logged in user session. 370 * 371 * Log user out of the system. 372 */ 373export const logoutUserQuery = defineQueryOptions((options?: Options<LogoutUserData>) => ({ 374 key: createQueryKey('logoutUser', options), 375 query: async (context) => { 376 const { data } = await logoutUser({ 377 ...options, 378 ...context, 379 throwOnError: true 380 }) 381 return data 382 } 383})) 384 385/** 386 * Delete user resource. 387 * 388 * This can only be done by the logged in user. 389 */ 390export const deleteUserMutation = ( 391 options?: Partial<Options<DeleteUserData>> 392): UseMutationOptions<unknown, Options<DeleteUserData>, Error> => ({ 393 mutation: async (vars) => { 394 const { data } = await deleteUser({ 395 ...options, 396 ...vars, 397 throwOnError: true 398 }) 399 return data 400 } 401}) 402 403/** 404 * Get user by user name. 405 * 406 * Get user detail based on username. 407 */ 408export const getUserByNameQuery = defineQueryOptions((options: Options<GetUserByNameData>) => ({ 409 key: createQueryKey('getUserByName', options), 410 query: async (context) => { 411 const { data } = await getUserByName({ 412 ...options, 413 ...context, 414 throwOnError: true 415 }) 416 return data 417 } 418})) 419 420/** 421 * Update user resource. 422 * 423 * This can only be done by the logged in user. 424 */ 425export const updateUserMutation = ( 426 options?: Partial<Options<UpdateUserData>> 427): UseMutationOptions<unknown, Options<UpdateUserData>, Error> => ({ 428 mutation: async (vars) => { 429 const { data } = await updateUser({ 430 ...options, 431 ...vars, 432 throwOnError: true 433 }) 434 return data 435 } 436})