tspace-spear 1.2.9-beta.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +103 -0
  2. package/dist/cli/generators/controller/template.d.ts +1 -1
  3. package/dist/cli/generators/controller/template.js +1 -1
  4. package/dist/lib/core/client/index.js +19 -23
  5. package/dist/lib/core/client/index.js.map +1 -1
  6. package/dist/lib/core/client/types.d.ts +4 -3
  7. package/dist/lib/core/compiler/generator.js +2 -2
  8. package/dist/lib/core/compiler/generator.js.map +1 -1
  9. package/dist/lib/core/compiler/pre-routes.d.ts +260 -6
  10. package/dist/lib/core/compiler/pre-routes.js +54 -4
  11. package/dist/lib/core/compiler/pre-routes.js.map +1 -1
  12. package/dist/lib/core/const/index.d.ts +12 -0
  13. package/dist/lib/core/const/index.js +6 -1
  14. package/dist/lib/core/const/index.js.map +1 -1
  15. package/dist/lib/core/decorators/headers.js +1 -0
  16. package/dist/lib/core/decorators/headers.js.map +1 -1
  17. package/dist/lib/core/decorators/middleware.d.ts +9 -3
  18. package/dist/lib/core/decorators/middleware.js +55 -15
  19. package/dist/lib/core/decorators/middleware.js.map +1 -1
  20. package/dist/lib/core/decorators/statusCode.js.map +1 -1
  21. package/dist/lib/core/server/fast-router.d.ts +5 -5
  22. package/dist/lib/core/server/fast-router.js +2 -2
  23. package/dist/lib/core/server/fast-router.js.map +1 -1
  24. package/dist/lib/core/server/http/index.d.ts +22 -0
  25. package/dist/lib/core/server/http/index.js +220 -0
  26. package/dist/lib/core/server/http/index.js.map +1 -0
  27. package/dist/lib/core/server/index.d.ts +3 -2
  28. package/dist/lib/core/server/index.js +94 -60
  29. package/dist/lib/core/server/index.js.map +1 -1
  30. package/dist/lib/core/server/net/index.d.ts +13 -8
  31. package/dist/lib/core/server/net/index.js +2 -2
  32. package/dist/lib/core/server/net/index.js.map +1 -1
  33. package/dist/lib/core/server/parser-factory.d.ts +3 -4
  34. package/dist/lib/core/server/parser-factory.js +17 -157
  35. package/dist/lib/core/server/parser-factory.js.map +1 -1
  36. package/dist/lib/core/server/response.d.ts +1 -2
  37. package/dist/lib/core/server/response.js +173 -171
  38. package/dist/lib/core/server/response.js.map +1 -1
  39. package/dist/lib/core/server/uWS/index.d.ts +2 -3
  40. package/dist/lib/core/server/uWS/index.js +15 -10
  41. package/dist/lib/core/server/uWS/index.js.map +1 -1
  42. package/dist/lib/core/types/index.d.ts +15 -6
  43. package/dist/lib/core/utils/index.d.ts +3 -3
  44. package/dist/lib/core/utils/index.js +19 -16
  45. package/dist/lib/core/utils/index.js.map +1 -1
  46. package/package.json +27 -10
  47. package/dist/cli/app.d.ts +0 -1
  48. package/dist/cli/app.js +0 -28
  49. package/dist/cli/app.js.map +0 -1
  50. package/dist/cli/controller.d.ts +0 -1
  51. package/dist/cli/controller.js +0 -158
  52. package/dist/cli/controller.js.map +0 -1
  53. package/dist/lib/core/compiler/types.d.ts +0 -39
  54. package/dist/lib/core/compiler/types.js +0 -3
  55. package/dist/lib/core/compiler/types.js.map +0 -1
package/README.md CHANGED
@@ -60,8 +60,10 @@ See the [`docs`](https://thanathip41.github.io/tspace-spear) directory for full
60
60
  - [Middleware](#middleware)
61
61
  - [Controller](#controller)
62
62
  - [Service](#service)
63
+ - [Exception](#exception)
63
64
  - [Dto](#dto)
64
65
  - [Router](#router)
66
+ - [Serve Static Files](#serve-static-files)
65
67
  - [Swagger](#swagger)
66
68
  - [WebSocket](#websocket)
67
69
  - [Graphql](#graphql)
@@ -680,6 +682,80 @@ import { Spear } from "tspace-spear";
680
682
 
681
683
  app.listen(8000 , () => console.log(`Server is now listening http://localhost:8000`));
682
684
  })()
685
+ ```
686
+ ## Exception
687
+ Exceptions are used to return HTTP errors from your application.
688
+ ```js
689
+ import {
690
+ BadRequestException,
691
+ UnauthorizedException,
692
+ ForbiddenException,
693
+ NotFoundException,
694
+ MethodNotAllowedException,
695
+ ConflictException,
696
+ GoneException,
697
+ UnsupportedMediaTypeException,
698
+ UnprocessableEntityException,
699
+ TooManyRequestsException,
700
+ InternalServerErrorException,
701
+ NotImplementedException,
702
+ BadGatewayException,
703
+ ServiceUnavailableException,
704
+ GatewayTimeoutException,
705
+ } from 'tspace-spear/exception';
706
+
707
+ @Controller('/users')
708
+ class UserController {
709
+ @Get('/:id')
710
+ public async show({ params }) {
711
+
712
+ if (!params.id) {
713
+ throw new BadRequestException('User id is required');
714
+ }
715
+
716
+ return {
717
+ id: params.id,
718
+ };
719
+ }
720
+ }
721
+ ```
722
+
723
+ ### Exception
724
+ Exceptions are used to return HTTP errors from your application.
725
+ ```js
726
+ import {
727
+ BadRequestException,
728
+ UnauthorizedException,
729
+ ForbiddenException,
730
+ NotFoundException,
731
+ MethodNotAllowedException,
732
+ ConflictException,
733
+ GoneException,
734
+ UnsupportedMediaTypeException,
735
+ UnprocessableEntityException,
736
+ TooManyRequestsException,
737
+ InternalServerErrorException,
738
+ NotImplementedException,
739
+ BadGatewayException,
740
+ ServiceUnavailableException,
741
+ GatewayTimeoutException,
742
+ } from 'tspace-spear/exception';
743
+
744
+ @Controller('/users')
745
+ class UserController {
746
+ @Get('/:id')
747
+ public async show({ params }) {
748
+
749
+ if (!params.id) {
750
+ throw new BadRequestException('User id is required');
751
+ }
752
+
753
+ return {
754
+ id: params.id,
755
+ };
756
+ }
757
+ }
758
+
683
759
  ```
684
760
 
685
761
  ## Dto
@@ -875,6 +951,33 @@ app.listen(port , () => console.log(`Server is now listening http://localhost:80
875
951
 
876
952
  ```
877
953
 
954
+ ## Serve Static Files
955
+ Serve files directly from a local directory.
956
+ ```js
957
+
958
+ const path = require('path');
959
+
960
+ new Spear({
961
+ logger: true
962
+ })
963
+ .get('/file/*', (ctx) => {
964
+ // Maps:
965
+ // /file/example.pdf
966
+ // -> ./example/example.pdf
967
+ const filePath = path.join(
968
+ path.resolve(),
969
+ 'example',
970
+ String(ctx.params['*'])
971
+ );
972
+
973
+ return ctx.res.serveMedia(filePath);
974
+ })
975
+ .listen(3000 , ({ port }) => {
976
+ console.log(`server listening on : http://localhost:${port}`)
977
+ })
978
+
979
+ ```
980
+
878
981
  ## Swagger
879
982
  Provides built-in Swagger support to document your API endpoints.
880
983
 
@@ -1 +1 @@
1
- export declare const ControllerTemplate = "\nimport {\n type T,\n Controller,\n Service,\n Middleware,\n Get,\n Post,\n Put,\n Delete,\n ValidateDto\n} from \"tspace-spear\";\nimport { CatService } from \"./cat.service\";\nimport { CreateCatDto , UpdateCatDto } from \"./cat.dto\";\nimport { LogMiddleware } from \"../../common/middlewares/log.middleware\";\n\n@Service([CatService])\n@Controller(\"/cats\")\nclass CatController {\n\n constructor(\n private catService: CatService\n ) {}\n\n @Get(\"/\")\n @Middleware(LogMiddleware)\n async index() {\n const cats = await this.catService.index();\n return { cats };\n }\n\n @Get(\"/:id\")\n @Middleware(LogMiddleware)\n async show({\n params\n }: T.Context<{\n params: {\n id: number;\n };\n }>) {\n const cat = await this.catService.show(params.id);\n return { cat }\n }\n\n @Post(\"/\")\n @ValidateDto(CreateCatDto)\n @Middleware(LogMiddleware)\n async create({\n body\n }: T.Context<{\n body: CreateCatDto;\n }>) {\n\n const cat = await this.catService\n .create({ \n name: body.name, \n age: body.age \n });\n\n return { cat };\n }\n\n @Put(\"/:id\")\n @ValidateDto(UpdateCatDto)\n @Middleware(LogMiddleware)\n async update({\n params,\n body\n }: T.Context<{\n params: {\n id: number;\n };\n body: UpdateCatDto;\n }>) {\n\n const cat = await this.catService\n .update(params.id, { \n name: body.name, \n age: body.age \n });\n\n return { cat }\n }\n\n @Delete(\"/:id\")\n @Middleware(LogMiddleware)\n async remove({\n params\n }: T.Context<{\n params: {\n id: number;\n };\n }>) {\n\n const deleted = await this.catService\n .remove(params.id);\n\n return deleted;\n }\n}\n\nexport { CatController };\nexport default CatController;\n";
1
+ export declare const ControllerTemplate = "\nimport {\n type T,\n Controller,\n Service,\n Middleware,\n Get,\n Post,\n Put,\n Delete,\n ValidateDto\n} from \"tspace-spear\";\nimport { CatService } from \"./cat.service\";\nimport { CreateCatDto , UpdateCatDto } from \"./cat.dto\";\nimport { LogMiddleware } from \"../../common/middlewares/log.middleware\";\n\n@Service([CatService])\n@Controller(\"/cats\")\nclass CatController {\n\n constructor(\n private catService: CatService\n ) {}\n\n @Get(\"/\")\n @Middleware(LogMiddleware)\n async index() {\n const cats = await this.catService.index();\n return { cats };\n }\n\n @Get(\"/:id\")\n @Middleware(LogMiddleware)\n async show({\n params\n }: T.Context<{\n params: {\n id: number;\n };\n }>) {\n const cat = await this.catService.show(params.id);\n return { cat }\n }\n\n @Post(\"/\")\n @ValidateDto(CreateCatDto)\n @Middleware(LogMiddleware)\n async create({\n body\n }: T.Context<{\n body: CreateCatDto;\n }>) {\n\n const cat = await this.catService\n .create({ \n name: body.name, \n age: body.age \n });\n\n return { cat };\n }\n\n @Put(\"/:id\")\n @ValidateDto(UpdateCatDto)\n @Middleware(LogMiddleware)\n async update({\n params,\n body\n }: T.Context<{\n params: {\n id: number;\n };\n body: UpdateCatDto;\n }>) {\n\n const cat = await this.catService\n .update(params.id, { \n name: body.name, \n age: body.age \n });\n\n return { cat }\n }\n\n @Delete(\"/:id\")\n @Middleware(LogMiddleware)\n async remove({\n params\n }: T.Context<{\n params: {\n id: number;\n };\n }>) {\n\n const deleted = await this.catService\n .remove(params.id);\n\n return { deleted };\n }\n}\n\nexport { CatController };\nexport default CatController;\n";
@@ -98,7 +98,7 @@ class CatController {
98
98
  const deleted = await this.catService
99
99
  .remove(params.id);
100
100
 
101
- return deleted;
101
+ return { deleted };
102
102
  }
103
103
  }
104
104
 
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  Object.defineProperty(exports, "__esModule", { value: true });
36
26
  exports.ApiClient = void 0;
37
27
  let fetchFn = null;
@@ -101,7 +91,14 @@ class ApiClient {
101
91
  this.baseURL = baseURL;
102
92
  }
103
93
  async request(method, path, input) {
94
+ fetchFn = await getFetch();
95
+ if (!fetchFn) {
96
+ throw new Error("Fetch is not available. Use Node 18+ or polyfill.");
97
+ }
104
98
  let url = this.baseURL + path;
99
+ let headers = {
100
+ "Content-Type": "application/json",
101
+ };
105
102
  if (input?.params) {
106
103
  for (const key in input.params) {
107
104
  url = url.replace(`:${key}`, encodeURIComponent(input.params[key]));
@@ -113,16 +110,15 @@ class ApiClient {
113
110
  url += `?${queryString}`;
114
111
  }
115
112
  }
116
- fetchFn = await getFetch();
117
- if (!fetchFn) {
118
- throw new Error("Fetch is not available. Use Node 18+ or polyfill.");
113
+ if (input?.headers) {
114
+ headers = {
115
+ ...headers,
116
+ ...input.headers
117
+ };
119
118
  }
120
119
  let body = input?.body
121
120
  ? JSON.stringify(input.body)
122
121
  : undefined;
123
- let headers = {
124
- "Content-Type": "application/json",
125
- };
126
122
  const isFileUpload = isFormData(input?.body);
127
123
  if (isFileUpload) {
128
124
  body = input?.body;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/client/index.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,12 @@ export type RoutesWithMethod<TRoutes extends AnyRoutes, TMethod extends string>
7
7
  export type ExtractFrom<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath], Key extends string> = TRoutes[TPath][TMethod] extends Record<Key, infer R> ? R : never;
8
8
  export type RequestBody<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = ExtractFrom<TRoutes, TPath, TMethod, "body">;
9
9
  export type RequestQuery<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = ExtractFrom<TRoutes, TPath, TMethod, "query">;
10
+ export type RequestHeaders<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = ExtractFrom<TRoutes, TPath, TMethod, "headers">;
10
11
  export type RequestParams<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = ExtractFrom<TRoutes, TPath, TMethod, "params">;
11
12
  export type RequestFiles<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = ExtractFrom<TRoutes, TPath, TMethod, "files">;
12
13
  export type ResponseType<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = TRoutes[TPath][TMethod] extends {
13
14
  response: infer R;
14
- } ? Awaited<R> : never;
15
+ } ? Awaited<R> : any;
15
16
  export type Prettify<T> = {
16
17
  [K in keyof T]: T[K];
17
18
  } & {};
@@ -27,10 +28,10 @@ export type ExactProperty<Key extends string, T> = [
27
28
  [K in Key]: T;
28
29
  };
29
30
  export type OptionalIfEmpty<T> = {} extends T ? [input?: T] : [input: T];
30
- export type RequestInput<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = Prettify<ExactProperty<"params", RequestParams<TRoutes, TPath, TMethod>> & ExactProperty<"query", RequestQuery<TRoutes, TPath, TMethod>> & ExactProperty<"body", RequestBody<TRoutes, TPath, TMethod>> & ExactProperty<"files", RequestFiles<TRoutes, TPath, TMethod>>>;
31
+ export type RequestInput<TRoutes extends AnyRoutes, TPath extends keyof TRoutes, TMethod extends keyof TRoutes[TPath]> = Prettify<ExactProperty<"params", RequestParams<TRoutes, TPath, TMethod>> & ExactProperty<"headers", RequestHeaders<TRoutes, TPath, TMethod>> & ExactProperty<"query", RequestQuery<TRoutes, TPath, TMethod>> & ExactProperty<"body", RequestBody<TRoutes, TPath, TMethod>> & ExactProperty<"files", RequestFiles<TRoutes, TPath, TMethod>>>;
31
32
  export type SuccessStatus = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
32
33
  export type ErrorStatus = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;
33
- export type ApiResponse<T, E = any> = {
34
+ export type ApiResponse<T = unknown, E = any> = {
34
35
  ok: true;
35
36
  status: SuccessStatus;
36
37
  headers: Headers;
@@ -187,13 +187,13 @@ const resolveType = (type) => {
187
187
  return "Date";
188
188
  }
189
189
  if (type.getText().includes("ServerResponse") &&
190
- type.getText().includes("THttpResponder")) {
190
+ type.getText().includes("TResponse")) {
191
191
  const filtered = type
192
192
  .getIntersectionTypes()
193
193
  .filter((t) => {
194
194
  const text = t.getText();
195
195
  return (!text.includes("ServerResponse") &&
196
- !text.includes("THttpResponder"));
196
+ !text.includes("TResponse"));
197
197
  });
198
198
  const t = filtered[0];
199
199
  if (t == null)
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/generator.ts"],"names":[],"mappings":"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"}
@@ -9,16 +9,143 @@ export declare const appRoutes: {
9
9
  body: undefined;
10
10
  files: undefined;
11
11
  response: {
12
- req: {
13
- cat1: string;
14
- cat2: string;
12
+ message: string;
13
+ query: {
14
+ id: number;
15
+ name: string;
15
16
  };
16
17
  cats: {
17
18
  id: number;
18
19
  name: string;
20
+ age: number;
19
21
  }[];
20
22
  };
21
23
  };
24
+ POST: {
25
+ params: undefined;
26
+ query: undefined;
27
+ body: {
28
+ name: string;
29
+ age: number;
30
+ };
31
+ files: undefined;
32
+ response: {
33
+ message: string;
34
+ cat: {
35
+ name: string;
36
+ age: number;
37
+ id: number;
38
+ };
39
+ };
40
+ };
41
+ };
42
+ "/cats/:id": {
43
+ GET: {
44
+ params: {
45
+ id: number;
46
+ };
47
+ query: undefined;
48
+ body: undefined;
49
+ files: undefined;
50
+ response: {
51
+ message: string;
52
+ cat: {
53
+ id: number;
54
+ name: string;
55
+ age: number;
56
+ };
57
+ };
58
+ };
59
+ PUT: {
60
+ params: {
61
+ id: number;
62
+ };
63
+ query: undefined;
64
+ body: {
65
+ name: string;
66
+ age: number;
67
+ };
68
+ files: undefined;
69
+ response: {
70
+ message: string;
71
+ cat: {
72
+ id: number;
73
+ name: string;
74
+ age: number;
75
+ };
76
+ };
77
+ };
78
+ PATCH: {
79
+ params: {
80
+ id: number;
81
+ };
82
+ query: undefined;
83
+ body: {
84
+ name: string;
85
+ age: number;
86
+ };
87
+ files: undefined;
88
+ response: {
89
+ message: string;
90
+ cat: {
91
+ id: number;
92
+ name: string;
93
+ age: number;
94
+ };
95
+ };
96
+ };
97
+ DELETE: {
98
+ params: {
99
+ id: number;
100
+ };
101
+ query: undefined;
102
+ body: undefined;
103
+ files: undefined;
104
+ response: {
105
+ message: string;
106
+ deleted: boolean;
107
+ };
108
+ };
109
+ };
110
+ "/cats/upload": {
111
+ POST: {
112
+ params: undefined;
113
+ query: undefined;
114
+ body: undefined;
115
+ files: {
116
+ image: {
117
+ size: number;
118
+ sizes: {
119
+ bytes: number;
120
+ kb: number;
121
+ mb: number;
122
+ gb: number;
123
+ };
124
+ tempFilePath: string;
125
+ tempFileName: string;
126
+ mimetype: string;
127
+ extension: string;
128
+ name: string;
129
+ }[];
130
+ };
131
+ response: {
132
+ message: string;
133
+ image: {
134
+ size: number;
135
+ sizes: {
136
+ bytes: number;
137
+ kb: number;
138
+ mb: number;
139
+ gb: number;
140
+ };
141
+ tempFilePath: string;
142
+ tempFileName: string;
143
+ mimetype: string;
144
+ extension: string;
145
+ name: string;
146
+ };
147
+ };
148
+ };
22
149
  };
23
150
  };
24
151
  export interface AppRoutes {
@@ -32,16 +159,143 @@ export interface AppRoutes {
32
159
  body: never;
33
160
  files: never;
34
161
  response: {
35
- req: {
36
- cat1: any;
37
- cat2: any;
162
+ message: string;
163
+ query: {
164
+ id?: string;
165
+ name?: string;
38
166
  };
39
167
  cats: {
40
168
  id: number;
41
169
  name: string;
170
+ age: number;
42
171
  }[];
43
172
  };
44
173
  };
174
+ POST: {
175
+ params: never;
176
+ query: never;
177
+ body: {
178
+ name: string;
179
+ age: number;
180
+ };
181
+ files: never;
182
+ response: {
183
+ message: string;
184
+ cat: {
185
+ name: string;
186
+ age: number;
187
+ id: number;
188
+ };
189
+ };
190
+ };
191
+ };
192
+ "/cats/:id": {
193
+ GET: {
194
+ params: {
195
+ id: number;
196
+ };
197
+ query: never;
198
+ body: never;
199
+ files: never;
200
+ response: {
201
+ message: string;
202
+ cat: {
203
+ id: number;
204
+ name: string;
205
+ age: number;
206
+ };
207
+ };
208
+ };
209
+ PUT: {
210
+ params: {
211
+ id: number;
212
+ };
213
+ query: never;
214
+ body: {
215
+ name?: string;
216
+ age?: number;
217
+ };
218
+ files: never;
219
+ response: {
220
+ message: string;
221
+ cat: {
222
+ id: number;
223
+ name: string;
224
+ age: number;
225
+ };
226
+ };
227
+ };
228
+ PATCH: {
229
+ params: {
230
+ id: number;
231
+ };
232
+ query: never;
233
+ body: {
234
+ name?: string;
235
+ age?: number;
236
+ };
237
+ files: never;
238
+ response: {
239
+ message: string;
240
+ cat: {
241
+ id: number;
242
+ name: string;
243
+ age: number;
244
+ };
245
+ };
246
+ };
247
+ DELETE: {
248
+ params: {
249
+ id: number;
250
+ };
251
+ query: never;
252
+ body: never;
253
+ files: never;
254
+ response: {
255
+ message: string;
256
+ deleted: boolean;
257
+ };
258
+ };
259
+ };
260
+ "/cats/upload": {
261
+ POST: {
262
+ params: never;
263
+ query: never;
264
+ body: never;
265
+ files: {
266
+ image: {
267
+ size: number;
268
+ sizes: {
269
+ bytes: number;
270
+ kb: number;
271
+ mb: number;
272
+ gb: number;
273
+ };
274
+ tempFilePath: string;
275
+ tempFileName: string;
276
+ mimetype: string;
277
+ extension: string;
278
+ name: string;
279
+ }[];
280
+ };
281
+ response: {
282
+ message: string;
283
+ image: {
284
+ size: number;
285
+ sizes: {
286
+ bytes: number;
287
+ kb: number;
288
+ mb: number;
289
+ gb: number;
290
+ };
291
+ tempFilePath: string;
292
+ tempFileName: string;
293
+ mimetype: string;
294
+ extension: string;
295
+ name: string;
296
+ };
297
+ };
298
+ };
45
299
  };
46
300
  }
47
301
  export type AppRoute = keyof AppRoutes;