@nestia/migrate 0.1.5 → 0.1.7
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.
- package/README.md +72 -0
- package/lib/NestiaMigrateApplication.js +33 -33
- package/lib/bundles/TEMPLATE.js +4 -4
- package/lib/bundles/TEMPLATE.js.map +1 -1
- package/lib/programmers/ControllerProgrammer.js +16 -6
- package/lib/programmers/ControllerProgrammer.js.map +1 -1
- package/lib/programmers/RouteProgrammer.js +44 -23
- package/lib/programmers/RouteProgrammer.js.map +1 -1
- package/lib/programmers/SchemaProgrammer.js +15 -11
- package/lib/programmers/SchemaProgrammer.js.map +1 -1
- package/lib/structures/IMigrateRoute.d.ts +6 -2
- package/lib/structures/ISwaggeSchema.d.ts +1 -1
- package/lib/structures/ISwaggerRoute.d.ts +9 -9
- package/lib/utils/StringUtil.d.ts +1 -1
- package/lib/utils/StringUtil.js +1 -1
- package/lib/utils/StringUtil.js.map +1 -1
- package/package.json +14 -5
- package/src/bundles/TEMPLATE.ts +4 -4
- package/src/programmers/ControllerProgrammer.ts +19 -6
- package/src/programmers/RouteProgrammer.ts +52 -23
- package/src/programmers/SchemaProgrammer.ts +2 -2
- package/src/structures/IMigrateRoute.ts +6 -2
- package/src/structures/ISwaggeSchema.ts +1 -1
- package/src/structures/ISwaggerRoute.ts +9 -9
- package/src/utils/StringUtil.ts +1 -1
- package/lib/test/index.d.ts +0 -1
- package/lib/test/index.js +0 -33
- package/lib/test/index.js.map +0 -1
- package/src/test/index.ts +0 -32
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RouteProgrammer.ts"],"names":[],"mappings":";;;AAIA,8DAA2D;AAC3D,oDAAiD;AACjD,yDAAsD;AAEtD,IAAiB,eAAe,
|
1
|
+
{"version":3,"file":"RouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RouteProgrammer.ts"],"names":[],"mappings":"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"}
|
@@ -92,23 +92,27 @@ var SchemaProgrammer;
|
|
92
92
|
: name;
|
93
93
|
};
|
94
94
|
const writeObject = (references) => (schema) => {
|
95
|
-
|
95
|
+
var _a;
|
96
|
+
const entries = Object.entries((_a = schema.properties) !== null && _a !== void 0 ? _a : {});
|
96
97
|
return typeof schema.additionalProperties === "object"
|
97
98
|
? entries.length
|
98
99
|
? `${writeStaticObject(references)(schema)} & ${writeDynamicObject(references)(schema.additionalProperties)}`
|
99
100
|
: writeDynamicObject(references)(schema.additionalProperties)
|
100
101
|
: writeStaticObject(references)(schema);
|
101
102
|
};
|
102
|
-
const writeStaticObject = (references) => (schema) =>
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
103
|
+
const writeStaticObject = (references) => (schema) => {
|
104
|
+
var _a;
|
105
|
+
return [
|
106
|
+
"{",
|
107
|
+
...Object.entries((_a = schema.properties) !== null && _a !== void 0 ? _a : {})
|
108
|
+
.map(([key, value]) => {
|
109
|
+
var _a;
|
110
|
+
return writeProperty(references)(key)(((_a = schema.required) !== null && _a !== void 0 ? _a : []).some((r) => r === key))(value);
|
111
|
+
})
|
112
|
+
.map(tab(4)),
|
113
|
+
"}",
|
114
|
+
].join("\n");
|
115
|
+
};
|
112
116
|
const writeDynamicObject = (references) => (additional) => {
|
113
117
|
return [
|
114
118
|
"{",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/SchemaProgrammer.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"SchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/SchemaProgrammer.ts"],"names":[],"mappings":"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"}
|
@@ -6,8 +6,8 @@ export interface IMigrateRoute {
|
|
6
6
|
parameters: IMigrateRoute.IParameter[];
|
7
7
|
headers: ISwaggerSchema | null;
|
8
8
|
query: ISwaggerSchema | null;
|
9
|
-
body:
|
10
|
-
response:
|
9
|
+
body: IMigrateRoute.IBody | null;
|
10
|
+
response: IMigrateRoute.IBody | null;
|
11
11
|
description?: string;
|
12
12
|
}
|
13
13
|
export declare namespace IMigrateRoute {
|
@@ -16,4 +16,8 @@ export declare namespace IMigrateRoute {
|
|
16
16
|
schema: ISwaggerSchema;
|
17
17
|
description?: string;
|
18
18
|
}
|
19
|
+
interface IBody {
|
20
|
+
type: "text/plain" | "application/json";
|
21
|
+
schema: ISwaggerSchema;
|
22
|
+
}
|
19
23
|
}
|
@@ -49,7 +49,7 @@ export declare namespace ISwaggerSchema {
|
|
49
49
|
items: ISwaggerSchema[];
|
50
50
|
}
|
51
51
|
export interface IObject extends ISignificant<"object"> {
|
52
|
-
properties
|
52
|
+
properties?: Record<string, ISwaggerSchema>;
|
53
53
|
required?: string[];
|
54
54
|
additionalProperties?: ISwaggerSchema | boolean;
|
55
55
|
"x-typia-patternProperties"?: Record<string, ISwaggerSchema>;
|
@@ -1,29 +1,29 @@
|
|
1
1
|
import { ISwaggerSchema } from "./ISwaggeSchema";
|
2
2
|
export interface ISwaggerRoute {
|
3
|
-
parameters
|
3
|
+
parameters?: ISwaggerRoute.IParameter[];
|
4
4
|
requestBody?: ISwaggerRoute.IRequestBody;
|
5
|
-
responses
|
5
|
+
responses?: ISwaggerRoute.IResponseBody;
|
6
6
|
summary?: string;
|
7
7
|
description?: string;
|
8
8
|
deprecated?: boolean;
|
9
|
-
tags
|
9
|
+
tags?: string[];
|
10
10
|
}
|
11
11
|
export declare namespace ISwaggerRoute {
|
12
12
|
interface IParameter {
|
13
13
|
name: string;
|
14
14
|
in: "path" | "query" | "header" | "cookie";
|
15
15
|
schema: ISwaggerSchema;
|
16
|
-
required
|
17
|
-
description
|
16
|
+
required?: boolean;
|
17
|
+
description?: string;
|
18
18
|
}
|
19
19
|
interface IRequestBody {
|
20
|
-
description
|
20
|
+
description?: string;
|
21
21
|
content: IContent;
|
22
|
-
required
|
23
|
-
"x-nestia-encrypted"
|
22
|
+
required?: true;
|
23
|
+
"x-nestia-encrypted"?: boolean;
|
24
24
|
}
|
25
25
|
type IResponseBody = Record<string, {
|
26
|
-
description
|
26
|
+
description?: string;
|
27
27
|
content?: IContent;
|
28
28
|
"x-nestia-encrypted"?: boolean;
|
29
29
|
}>;
|
@@ -3,7 +3,7 @@ export declare namespace StringUtil {
|
|
3
3
|
const pascal: (path: string) => string;
|
4
4
|
const camel: (path: string) => string;
|
5
5
|
const split: (path: string) => string[];
|
6
|
-
const
|
6
|
+
const reJoinWithDecimalParameters: (path: string) => string;
|
7
7
|
const normalize: (str: string) => string;
|
8
8
|
const commonPrefix: (strs: string[]) => string;
|
9
9
|
}
|
package/lib/utils/StringUtil.js
CHANGED
@@ -15,7 +15,7 @@ var StringUtil;
|
|
15
15
|
.split("/")
|
16
16
|
.map((str) => StringUtil.normalize(str.trim()))
|
17
17
|
.filter((str) => !!str.length);
|
18
|
-
StringUtil.
|
18
|
+
StringUtil.reJoinWithDecimalParameters = (path) => StringUtil.split(path)
|
19
19
|
.map((str) => str[0] === "{" && str[str.length - 1] === "}"
|
20
20
|
? `:${str.substring(1, str.length - 1)}`
|
21
21
|
: str)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,UAAU,CAgD1B;AAhDD,WAAiB,UAAU;IACV,qBAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACtC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzC,iBAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CACnC,WAAA,KAAK,CAAC,IAAI,CAAC;SACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;SAC/B,GAAG,CAAC,WAAA,UAAU,CAAC;SACf,IAAI,CAAC,EAAE,CAAC,CAAC;IAEL,gBAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAClC,WAAA,KAAK,CAAC,IAAI,CAAC;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAA,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC,CAAC;IAEL,gBAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAClC,IAAI;SACC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAA,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;SACnC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,
|
1
|
+
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nestia/migrate",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.7",
|
4
4
|
"description": "Migration program from swagger to NestJS",
|
5
5
|
"main": "lib/index.js",
|
6
6
|
"typings": "lib/index.d.ts",
|
@@ -10,7 +10,8 @@
|
|
10
10
|
"scripts": {
|
11
11
|
"build": "rimraf lib && tsc",
|
12
12
|
"dev": "npm run build -- --watch",
|
13
|
-
"prepare": "ts-patch install && ts-node src/executable/bundle.ts"
|
13
|
+
"prepare": "ts-patch install && ts-node src/executable/bundle.ts",
|
14
|
+
"test": "node lib/test"
|
14
15
|
},
|
15
16
|
"repository": {
|
16
17
|
"type": "git",
|
@@ -29,22 +30,30 @@
|
|
29
30
|
},
|
30
31
|
"homepage": "https://github.com/samchon/nestia#readme",
|
31
32
|
"devDependencies": {
|
33
|
+
"@nestia/core": "^1.4.3",
|
34
|
+
"@nestia/fetcher": "^1.4.0",
|
32
35
|
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
33
36
|
"@types/node": "^20.3.3",
|
34
37
|
"prettier": "^2.8.8",
|
35
38
|
"rimraf": "^5.0.1",
|
39
|
+
"serialize-error": "^4.1.0",
|
40
|
+
"source-map-support": "^0.5.21",
|
36
41
|
"ts-node": "^10.9.1",
|
37
42
|
"ts-patch": "^3.0.1",
|
38
|
-
"
|
43
|
+
"tstl": "^2.5.13",
|
44
|
+
"typescript": "^5.1.6",
|
45
|
+
"typescript-transform-paths": "^3.4.6"
|
39
46
|
},
|
40
47
|
"dependencies": {
|
41
|
-
"typia": "^4.1.
|
48
|
+
"typia": "^4.1.4"
|
42
49
|
},
|
43
50
|
"files": [
|
44
51
|
"lib",
|
45
52
|
"src",
|
53
|
+
"!lib/test",
|
54
|
+
"!src/test",
|
46
55
|
"package.json",
|
47
56
|
"README.md",
|
48
57
|
"LICENSE"
|
49
58
|
]
|
50
|
-
}
|
59
|
+
}
|
package/src/bundles/TEMPLATE.ts
CHANGED
@@ -47,7 +47,7 @@ export const TEMPLATE = [
|
|
47
47
|
{
|
48
48
|
"location": "",
|
49
49
|
"file": "package.json",
|
50
|
-
"content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"----------------------------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"-----------------------------------------------\": \"\",\r\n \"start\": \"node lib/executable/server\",\r\n \"test\": \"node bin/test\",\r\n \"------------------------------------------------\": \"\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.3.6\",\r\n \"@nestia/sdk\": \"^1.4.
|
50
|
+
"content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"----------------------------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"-----------------------------------------------\": \"\",\r\n \"start\": \"node lib/executable/server\",\r\n \"test\": \"node bin/test\",\r\n \"------------------------------------------------\": \"\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.3.6\",\r\n \"@nestia/sdk\": \"^1.4.9\",\r\n \"@trivago/prettier-plugin-sort-imports\": \"^3.3.1\",\r\n \"@types/cli\": \"^0.11.21\",\r\n \"@types/node\": \"^18.11.0\",\r\n \"@types/uuid\": \"^8.3.4\",\r\n \"@typescript-eslint/eslint-plugin\": \"^5.40.0\",\r\n \"@typescript-eslint/parser\": \"^5.40.0\",\r\n \"chalk\": \"^4.1.0\",\r\n \"cli\": \"^1.0.1\",\r\n \"eslint-plugin-deprecation\": \"^1.4.1\",\r\n \"nestia\": \"^4.3.2\",\r\n \"prettier\": \"^2.7.1\",\r\n \"rimraf\": \"^3.0.2\",\r\n \"source-map-support\": \"^0.5.21\",\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.0\",\r\n \"typescript\": \"^5.1.3\",\r\n \"typescript-transform-paths\": \"^3.4.6\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/core\": \"^1.4.3\",\r\n \"serialize-error\": \"^4.1.0\",\r\n \"tstl\": \"^2.5.13\",\r\n \"typia\": \"^4.1.4\",\r\n \"uuid\": \"^9.0.0\"\r\n },\r\n \"stackblitz\": {\r\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test\"\r\n }\r\n}"
|
51
51
|
},
|
52
52
|
{
|
53
53
|
"location": "/packages/api",
|
@@ -57,7 +57,7 @@ export const TEMPLATE = [
|
|
57
57
|
{
|
58
58
|
"location": "/packages/api",
|
59
59
|
"file": "package.json",
|
60
|
-
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.0.0\",\r\n \"description\": \"API for PROJECT\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^1.4.0\",\r\n \"typia\": \"^4.1.
|
60
|
+
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.0.0\",\r\n \"description\": \"API for PROJECT\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^1.4.0\",\r\n \"typia\": \"^4.1.4\"\r\n }\r\n}\r\n"
|
61
61
|
},
|
62
62
|
{
|
63
63
|
"location": "/packages/api",
|
@@ -82,12 +82,12 @@ export const TEMPLATE = [
|
|
82
82
|
{
|
83
83
|
"location": "/src",
|
84
84
|
"file": "Backend.ts",
|
85
|
-
"content": "import core from \"@nestia/core\";\r\nimport { NestFactory } from \"@nestjs/core\";\r\nimport {\r\n FastifyAdapter,\r\n NestFastifyApplication,\r\n} from \"@nestjs/platform-fastify\";\r\n\r\nimport { Configuration } from \"./Configuration\";\r\n\r\nexport class Backend {\r\n private application_?: NestFastifyApplication;\r\n\r\n public async open(): Promise<void> {\r\n //----\r\n // OPEN THE BACKEND SERVER\r\n //----\r\n // MOUNT CONTROLLERS\r\n this.application_ = await NestFactory.create(\r\n await core.DynamicModule.mount(__dirname + \"/controllers\"),\r\n new FastifyAdapter(),\r\n { logger: false },\r\n );\r\n\r\n // DO OPEN\r\n this.application_.enableCors();\r\n await this.application_.listen(
|
85
|
+
"content": "import core from \"@nestia/core\";\r\nimport { NestFactory } from \"@nestjs/core\";\r\nimport {\r\n FastifyAdapter,\r\n NestFastifyApplication,\r\n} from \"@nestjs/platform-fastify\";\r\n\r\nimport { Configuration } from \"./Configuration\";\r\n\r\nexport class Backend {\r\n private application_?: NestFastifyApplication;\r\n\r\n public async open(): Promise<void> {\r\n //----\r\n // OPEN THE BACKEND SERVER\r\n //----\r\n // MOUNT CONTROLLERS\r\n this.application_ = await NestFactory.create(\r\n await core.DynamicModule.mount(__dirname + \"/controllers\"),\r\n new FastifyAdapter(),\r\n { logger: false },\r\n );\r\n\r\n // DO OPEN\r\n this.application_.enableCors();\r\n await this.application_.listen(Configuration.API_PORT());\r\n\r\n //----\r\n // POST-PROCESSES\r\n //----\r\n // INFORM TO THE PM2\r\n if (process.send) process.send(\"ready\");\r\n\r\n // WHEN KILL COMMAND COMES\r\n process.on(\"SIGINT\", async () => {\r\n await this.close();\r\n process.exit(0);\r\n });\r\n }\r\n\r\n public async close(): Promise<void> {\r\n if (this.application_ === undefined) return;\r\n\r\n // DO CLOSE\r\n await this.application_.close();\r\n delete this.application_;\r\n }\r\n}\r\n"
|
86
86
|
},
|
87
87
|
{
|
88
88
|
"location": "/src",
|
89
89
|
"file": "Configuration.ts",
|
90
|
-
"content": "import path from \"path\";\r\n\r\nexport namespace Configuration {\r\n export const API_PORT =
|
90
|
+
"content": "import path from \"path\";\r\n\r\nexport namespace Configuration {\r\n export const API_PORT = () => 37001;\r\n\r\n export const ROOT = __filename.includes(\r\n path.join(\"bin\", \"src\", \"ShoppingConfiguration\"),\r\n )\r\n ? path.resolve(__dirname + \"/../..\")\r\n : path.resolve(__dirname + \"/..\");\r\n}\r\n"
|
91
91
|
},
|
92
92
|
{
|
93
93
|
"location": "/src/executable",
|
@@ -57,12 +57,12 @@ export namespace ControllerProgrammer {
|
|
57
57
|
routes.map((r) => r.path),
|
58
58
|
);
|
59
59
|
for (const r of routes)
|
60
|
-
r.path = StringUtil.
|
60
|
+
r.path = StringUtil.reJoinWithDecimalParameters(
|
61
61
|
r.path.replace(prefix, ""),
|
62
62
|
);
|
63
63
|
const controller: IMigrateController = {
|
64
64
|
name: StringUtil.pascal(location) + "Controller",
|
65
|
-
path: StringUtil.
|
65
|
+
path: StringUtil.reJoinWithDecimalParameters(prefix),
|
66
66
|
location: "src/controllers/" + location,
|
67
67
|
routes,
|
68
68
|
};
|
@@ -128,10 +128,23 @@ export namespace ControllerProgrammer {
|
|
128
128
|
`}`,
|
129
129
|
].join("\n");
|
130
130
|
|
131
|
+
const core: boolean = controller.routes.some(
|
132
|
+
(r) =>
|
133
|
+
r.body !== null ||
|
134
|
+
r.response === null ||
|
135
|
+
r.response.type === "application/json",
|
136
|
+
);
|
131
137
|
const typia: boolean = controller.routes.some(
|
132
138
|
(m) => m.response !== null,
|
133
139
|
);
|
134
|
-
const
|
140
|
+
const common: Set<string> = new Set(["Controller"]);
|
141
|
+
for (const r of controller.routes)
|
142
|
+
if (r.response?.type === "text/plain") {
|
143
|
+
common.add("Header");
|
144
|
+
common.add(StringUtil.capitalize(r.method));
|
145
|
+
}
|
146
|
+
|
147
|
+
const dtoImports: string[] = [
|
135
148
|
...new Set(
|
136
149
|
references.map(
|
137
150
|
(r) =>
|
@@ -148,11 +161,11 @@ export namespace ControllerProgrammer {
|
|
148
161
|
);
|
149
162
|
|
150
163
|
return [
|
151
|
-
`import core from "@nestia/core"
|
152
|
-
`import {
|
164
|
+
...(core ? [`import core from "@nestia/core";`] : []),
|
165
|
+
`import { ${[...common].join(", ")} } from "@nestjs/common";`,
|
153
166
|
...(typia ? [`import typia from "typia";`] : []),
|
154
167
|
"",
|
155
|
-
...(
|
168
|
+
...(dtoImports.length ? [...dtoImports, ""] : []),
|
156
169
|
body,
|
157
170
|
].join("\n");
|
158
171
|
};
|
@@ -16,11 +16,18 @@ export namespace RouteProgrammer {
|
|
16
16
|
);
|
17
17
|
const response = emplaceBodySchema(
|
18
18
|
emplaceReference(swagger)("response"),
|
19
|
-
)((route.responses["200"] ?? route.responses["201"])?.content);
|
20
|
-
if (body === false || response === false)
|
19
|
+
)((route.responses?.["200"] ?? route.responses?.["201"])?.content);
|
20
|
+
if (body === false || response === false) {
|
21
|
+
console.log(
|
22
|
+
`Failed to migrate ${props.method.toUpperCase()} ${
|
23
|
+
props.path
|
24
|
+
}: @nestia/migrate supports only application/json or text/plain format yet.`,
|
25
|
+
);
|
26
|
+
return null;
|
27
|
+
}
|
21
28
|
|
22
29
|
const [headers, query] = ["header", "query"].map((type) => {
|
23
|
-
const parameters = route.parameters.filter(
|
30
|
+
const parameters = (route.parameters ?? []).filter(
|
24
31
|
(p) => p.in === type,
|
25
32
|
);
|
26
33
|
if (parameters.length === 0) return null;
|
@@ -46,6 +53,7 @@ export namespace RouteProgrammer {
|
|
46
53
|
(p) =>
|
47
54
|
JsonTypeChecker.isBoolean(p.schema) ||
|
48
55
|
JsonTypeChecker.isNumber(p.schema) ||
|
56
|
+
JsonTypeChecker.isInteger(p.schema) ||
|
49
57
|
JsonTypeChecker.isString(p.schema),
|
50
58
|
);
|
51
59
|
if (objects.length === 1) return objects[0];
|
@@ -54,7 +62,9 @@ export namespace RouteProgrammer {
|
|
54
62
|
parameters.length
|
55
63
|
)
|
56
64
|
throw new Error(
|
57
|
-
`Error on nestia.migrate.RouteProgrammer.analze(): ${type} typed parameters must be only one object type
|
65
|
+
`Error on nestia.migrate.RouteProgrammer.analze(): ${type} typed parameters must be only one object type - ${StringUtil.capitalize(
|
66
|
+
props.method,
|
67
|
+
)} "${props.path}".`,
|
58
68
|
);
|
59
69
|
|
60
70
|
const entire: ISwaggerSchema.IObject[] = [
|
@@ -85,11 +95,7 @@ export namespace RouteProgrammer {
|
|
85
95
|
return parameters.length === 0
|
86
96
|
? null
|
87
97
|
: emplaceReference(swagger)(
|
88
|
-
StringUtil.pascal(
|
89
|
-
`I/Api/${StringUtil.reJoinWithoutParameters(
|
90
|
-
props.path,
|
91
|
-
)}`,
|
92
|
-
) +
|
98
|
+
StringUtil.pascal(`I/Api/${props.path}`) +
|
93
99
|
"." +
|
94
100
|
StringUtil.pascal(`${props.method}/${type}`),
|
95
101
|
)({
|
@@ -98,7 +104,9 @@ export namespace RouteProgrammer {
|
|
98
104
|
...new Map<string, ISwaggerSchema>(
|
99
105
|
entire
|
100
106
|
.map((o) =>
|
101
|
-
Object.entries(
|
107
|
+
Object.entries(
|
108
|
+
o.properties ?? {},
|
109
|
+
).map(
|
102
110
|
([name, schema]) =>
|
103
111
|
[
|
104
112
|
name,
|
@@ -127,7 +135,7 @@ export namespace RouteProgrammer {
|
|
127
135
|
path: props.path,
|
128
136
|
method: props.method,
|
129
137
|
headers,
|
130
|
-
parameters: route.parameters
|
138
|
+
parameters: (route.parameters ?? [])
|
131
139
|
.filter((p) => p.in === "path")
|
132
140
|
.map((p) => ({
|
133
141
|
key: p.name,
|
@@ -179,12 +187,27 @@ export namespace RouteProgrammer {
|
|
179
187
|
|
180
188
|
const emplaceBodySchema =
|
181
189
|
(emplacer: (schema: ISwaggerSchema) => ISwaggerSchema.IReference) =>
|
182
|
-
(
|
190
|
+
(
|
191
|
+
content?: ISwaggerRoute.IContent,
|
192
|
+
): false | null | IMigrateRoute.IBody => {
|
183
193
|
if (!content) return null;
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
194
|
+
|
195
|
+
const entries: [string, { schema: ISwaggerSchema }][] =
|
196
|
+
Object.entries(content);
|
197
|
+
const json = entries.find((e) => e[0].includes("application/json"));
|
198
|
+
|
199
|
+
if (json) {
|
200
|
+
const { schema } = json[1];
|
201
|
+
return {
|
202
|
+
type: "application/json",
|
203
|
+
schema: isNotObjectLiteral(schema)
|
204
|
+
? schema
|
205
|
+
: emplacer(schema),
|
206
|
+
};
|
207
|
+
}
|
208
|
+
|
209
|
+
const text = entries.find((e) => e[0].includes("text/plain"));
|
210
|
+
if (text) return { type: "text/plain", schema: { type: "string" } };
|
188
211
|
return false;
|
189
212
|
};
|
190
213
|
|
@@ -201,8 +224,12 @@ export namespace RouteProgrammer {
|
|
201
224
|
(references: ISwaggerSchema.IReference[]) =>
|
202
225
|
(route: IMigrateRoute): string => {
|
203
226
|
const output: string = route.response
|
204
|
-
? SchemaProgrammer.write(references)(route.response)
|
227
|
+
? SchemaProgrammer.write(references)(route.response.schema)
|
205
228
|
: "void";
|
229
|
+
const decorator: string =
|
230
|
+
route.body?.type === "text/plain"
|
231
|
+
? [`@Header("Content-Type", "text/plain")`, `@`].join("\n")
|
232
|
+
: "@core.TypedRoute.";
|
206
233
|
const content: string[] = [
|
207
234
|
...(route.description
|
208
235
|
? [
|
@@ -213,7 +240,7 @@ export namespace RouteProgrammer {
|
|
213
240
|
" */",
|
214
241
|
]
|
215
242
|
: []),
|
216
|
-
|
243
|
+
`${decorator}${StringUtil.capitalize(route.method)}${
|
217
244
|
route.path.length ? `(${JSON.stringify(route.path)})` : "()"
|
218
245
|
}`,
|
219
246
|
`public async ${route.name}(`,
|
@@ -226,11 +253,13 @@ export namespace RouteProgrammer {
|
|
226
253
|
]
|
227
254
|
: []),
|
228
255
|
...(route.body
|
229
|
-
?
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
256
|
+
? route.body.type === "application/json"
|
257
|
+
? [
|
258
|
+
` @core.TypedBody() body: ${SchemaProgrammer.write(
|
259
|
+
references,
|
260
|
+
)(route.body.schema)},`,
|
261
|
+
]
|
262
|
+
: [` @core.PlainBody() body: string,`]
|
234
263
|
: []),
|
235
264
|
`): Promise<${output}> {`,
|
236
265
|
...route.parameters.map(
|
@@ -118,7 +118,7 @@ export namespace SchemaProgrammer {
|
|
118
118
|
const writeObject =
|
119
119
|
(references: ISwaggerSchema.IReference[]) =>
|
120
120
|
(schema: ISwaggerSchema.IObject): string => {
|
121
|
-
const entries = Object.entries(schema.properties);
|
121
|
+
const entries = Object.entries(schema.properties ?? {});
|
122
122
|
return typeof schema.additionalProperties === "object"
|
123
123
|
? entries.length
|
124
124
|
? `${writeStaticObject(references)(
|
@@ -136,7 +136,7 @@ export namespace SchemaProgrammer {
|
|
136
136
|
(schema: ISwaggerSchema.IObject): string =>
|
137
137
|
[
|
138
138
|
"{",
|
139
|
-
...Object.entries(schema.properties)
|
139
|
+
...Object.entries(schema.properties ?? {})
|
140
140
|
.map(([key, value]) =>
|
141
141
|
writeProperty(references)(key)(
|
142
142
|
(schema.required ?? []).some((r) => r === key),
|
@@ -7,8 +7,8 @@ export interface IMigrateRoute {
|
|
7
7
|
parameters: IMigrateRoute.IParameter[];
|
8
8
|
headers: ISwaggerSchema | null;
|
9
9
|
query: ISwaggerSchema | null;
|
10
|
-
body:
|
11
|
-
response:
|
10
|
+
body: IMigrateRoute.IBody | null;
|
11
|
+
response: IMigrateRoute.IBody | null;
|
12
12
|
description?: string;
|
13
13
|
}
|
14
14
|
export namespace IMigrateRoute {
|
@@ -17,4 +17,8 @@ export namespace IMigrateRoute {
|
|
17
17
|
schema: ISwaggerSchema;
|
18
18
|
description?: string;
|
19
19
|
}
|
20
|
+
export interface IBody {
|
21
|
+
type: "text/plain" | "application/json";
|
22
|
+
schema: ISwaggerSchema;
|
23
|
+
}
|
20
24
|
}
|
@@ -61,7 +61,7 @@ export namespace ISwaggerSchema {
|
|
61
61
|
items: ISwaggerSchema[];
|
62
62
|
}
|
63
63
|
export interface IObject extends ISignificant<"object"> {
|
64
|
-
properties
|
64
|
+
properties?: Record<string, ISwaggerSchema>;
|
65
65
|
required?: string[];
|
66
66
|
additionalProperties?: ISwaggerSchema | boolean;
|
67
67
|
"x-typia-patternProperties"?: Record<string, ISwaggerSchema>;
|
@@ -1,32 +1,32 @@
|
|
1
1
|
import { ISwaggerSchema } from "./ISwaggeSchema";
|
2
2
|
|
3
3
|
export interface ISwaggerRoute {
|
4
|
-
parameters
|
4
|
+
parameters?: ISwaggerRoute.IParameter[];
|
5
5
|
requestBody?: ISwaggerRoute.IRequestBody;
|
6
|
-
responses
|
6
|
+
responses?: ISwaggerRoute.IResponseBody;
|
7
7
|
summary?: string;
|
8
8
|
description?: string;
|
9
9
|
deprecated?: boolean;
|
10
|
-
tags
|
10
|
+
tags?: string[];
|
11
11
|
}
|
12
12
|
export namespace ISwaggerRoute {
|
13
13
|
export interface IParameter {
|
14
14
|
name: string;
|
15
15
|
in: "path" | "query" | "header" | "cookie";
|
16
16
|
schema: ISwaggerSchema;
|
17
|
-
required
|
18
|
-
description
|
17
|
+
required?: boolean;
|
18
|
+
description?: string;
|
19
19
|
}
|
20
20
|
export interface IRequestBody {
|
21
|
-
description
|
21
|
+
description?: string;
|
22
22
|
content: IContent;
|
23
|
-
required
|
24
|
-
"x-nestia-encrypted"
|
23
|
+
required?: true;
|
24
|
+
"x-nestia-encrypted"?: boolean;
|
25
25
|
}
|
26
26
|
export type IResponseBody = Record<
|
27
27
|
string,
|
28
28
|
{
|
29
|
-
description
|
29
|
+
description?: string;
|
30
30
|
content?: IContent;
|
31
31
|
"x-nestia-encrypted"?: boolean;
|
32
32
|
}
|