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