sonamu 0.0.10 → 0.0.12
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/dist/api/decorators.d.ts +1 -0
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js.map +1 -1
- package/dist/api/sonamu.d.ts +12 -1
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +13 -9
- package/dist/api/sonamu.js.map +1 -1
- package/dist/exceptions/error-handler.d.ts.map +1 -1
- package/dist/exceptions/error-handler.js +3 -1
- package/dist/exceptions/error-handler.js.map +1 -1
- package/dist/templates/view_form.template.d.ts +2 -2
- package/dist/templates/view_list.template.d.ts +2 -2
- package/dist/testing/fixture-manager.d.ts +4 -4
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +20 -27
- package/dist/testing/fixture-manager.js.map +1 -1
- package/dist/utils/controller.d.ts +1 -0
- package/dist/utils/controller.d.ts.map +1 -1
- package/dist/utils/controller.js +5 -1
- package/dist/utils/controller.js.map +1 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +4 -5
- package/dist/utils/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/api/decorators.ts +1 -0
- package/src/api/sonamu.ts +29 -8
- package/src/exceptions/error-handler.ts +4 -1
- package/src/testing/fixture-manager.ts +14 -24
- package/src/utils/controller.ts +3 -0
- package/src/utils/utils.ts +3 -5
package/dist/api/decorators.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/api/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,oBAAY,aAAa,GACrB,OAAO,GACP,iBAAiB,GACjB,KAAK,GACL,UAAU,GACV,cAAc,CAAC;AACnB,oBAAY,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EACR,YAAY,GACZ,WAAW,GACX,UAAU,GACV,kBAAkB,GAClB,0BAA0B,CAAC;IAC/B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/api/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,oBAAY,aAAa,GACrB,OAAO,GACP,iBAAiB,GACjB,KAAK,GACL,UAAU,GACV,cAAc,CAAC;AACnB,oBAAY,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EACR,YAAY,GACZ,WAAW,GACX,UAAU,GACV,kBAAkB,GAClB,0BAA0B,CAAC;IAC/B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AACF,eAAO,MAAM,cAAc,EAAE;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,mBAAmB,CAAC;CAC9B,EAAO,CAAC;AACT,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,mBAAmB,CAAC;IAC7B,cAAc,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;IACzC,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,wBAAgB,GAAG,CAAC,OAAO,GAAE,mBAAwB,YAQ1B,MAAM,eAAe,MAAM,UAgBrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/api/decorators.ts"],"names":[],"mappings":";;;AACA,2CAAsC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/api/decorators.ts"],"names":[],"mappings":";;;AACA,2CAAsC;AAsBzB,QAAA,cAAc,GAKrB,EAAE,CAAC;AAWT,SAAgB,GAAG,CAAC,UAA+B,EAAE;IACnD,OAAO,mBACL,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,CAAC,OAAO,CAAC,IACf,OAAO,CACX,CAAC;IAEF,OAAO,UAAU,MAAc,EAAE,WAAmB;;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAE,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,WAAW,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,IAAA,qBAAQ,EAC9B,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAC9B,IAAI,CACL,IAAI,IAAA,qBAAQ,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;QAEnC,MAAM,GAAG,GAAG;YACV,SAAS;YACT,UAAU;YACV,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,WAAW;YACjC,OAAO;SACR,CAAC;QACF,sBAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAxBD,kBAwBC"}
|
package/dist/api/sonamu.d.ts
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
import { FastifyInstance, FastifyReply, FastifyRequest } from "fastify";
|
|
3
3
|
import { IncomingMessage, Server, ServerResponse } from "http";
|
|
4
4
|
import { Context } from "./context";
|
|
5
|
+
import { ApiParam, ApiParamType } from "../types/types";
|
|
5
6
|
import { Syncer } from "../syncer/syncer";
|
|
6
7
|
import { SonamuDBConfig } from "../database/db";
|
|
8
|
+
import { ApiDecoratorOptions } from "./decorators";
|
|
7
9
|
export declare type SonamuConfig = {
|
|
8
10
|
api: {
|
|
9
11
|
dir: string;
|
|
@@ -17,6 +19,15 @@ export declare type SonamuConfig = {
|
|
|
17
19
|
};
|
|
18
20
|
declare type SonamuFastifyConfig = {
|
|
19
21
|
contextProvider: (defaultContext: Pick<Context, "headers" | "reply">, request: FastifyRequest, reply: FastifyReply) => Context;
|
|
22
|
+
guardHandler: (guard: string, request: FastifyRequest, api: {
|
|
23
|
+
typeParameters: ApiParamType.TypeParam[];
|
|
24
|
+
parameters: ApiParam[];
|
|
25
|
+
returnType: ApiParamType;
|
|
26
|
+
modelName: string;
|
|
27
|
+
methodName: string;
|
|
28
|
+
path: string;
|
|
29
|
+
options: ApiDecoratorOptions;
|
|
30
|
+
}) => void;
|
|
20
31
|
};
|
|
21
32
|
declare class SonamuClass {
|
|
22
33
|
isInitialized: boolean;
|
|
@@ -33,7 +44,7 @@ declare class SonamuClass {
|
|
|
33
44
|
private _config;
|
|
34
45
|
set config(config: SonamuConfig);
|
|
35
46
|
get config(): SonamuConfig;
|
|
36
|
-
init(): Promise<void>;
|
|
47
|
+
init(doSilent?: boolean): Promise<void>;
|
|
37
48
|
withFastify(server: FastifyInstance<Server, IncomingMessage, ServerResponse>, config: SonamuFastifyConfig): Promise<void>;
|
|
38
49
|
destroy(): Promise<void>;
|
|
39
50
|
}
|
package/dist/api/sonamu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sonamu.d.ts","sourceRoot":"","sources":["../../src/api/sonamu.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sonamu.d.ts","sourceRoot":"","sources":["../../src/api/sonamu.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAM,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,oBAAY,YAAY,GAAG;IACzB,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AACF,aAAK,mBAAmB,GAAG;IACzB,eAAe,EAAE,CACf,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,EAClD,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,KAChB,OAAO,CAAC;IACb,YAAY,EAAE,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE;QACH,cAAc,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;QACzC,UAAU,EAAE,QAAQ,EAAE,CAAC;QACvB,UAAU,EAAE,YAAY,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,mBAAmB,CAAC;KAC9B,KACE,IAAI,CAAC;CACX,CAAC;AACF,cAAM,WAAW;IACR,aAAa,EAAE,OAAO,CAAS;IAEtC,OAAO,CAAC,YAAY,CAAuB;IAC3C,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAElC;IACD,IAAI,WAAW,IAAI,MAAM,CAKxB;IACD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,SAAS,CAA+B;IAChD,IAAI,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAEpC;IACD,IAAI,QAAQ,IAAI,cAAc,CAK7B;IAED,OAAO,CAAC,OAAO,CAAuB;IACtC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAExB;IACD,IAAI,MAAM,IAAI,MAAM,CAKnB;IAED,OAAO,CAAC,OAAO,CAA6B;IAC5C,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,EAE9B;IACD,IAAI,MAAM,IAAI,YAAY,CAKzB;IAEK,IAAI,CAAC,QAAQ,GAAE,OAAe;IAuC9B,WAAW,CACf,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,cAAc,CAAC,EAChE,MAAM,EAAE,mBAAmB;IAuFvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AACD,eAAO,MAAM,MAAM,aAAoB,CAAC"}
|
package/dist/api/sonamu.js
CHANGED
|
@@ -74,12 +74,12 @@ class SonamuClass {
|
|
|
74
74
|
}
|
|
75
75
|
return this._config;
|
|
76
76
|
}
|
|
77
|
-
init() {
|
|
77
|
+
init(doSilent = false) {
|
|
78
78
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
79
|
if (this.isInitialized) {
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
-
console.time(chalk_1.default.cyan("Sonamu.init"));
|
|
82
|
+
!doSilent && console.time(chalk_1.default.cyan("Sonamu.init"));
|
|
83
83
|
this.apiRootPath = yield (0, utils_1.findApiRootPath)();
|
|
84
84
|
const configPath = path_1.default.join(this.apiRootPath, "sonamu.config.json");
|
|
85
85
|
if ((0, fs_1.existsSync)(configPath) === false) {
|
|
@@ -88,20 +88,21 @@ class SonamuClass {
|
|
|
88
88
|
this.config = JSON.parse((0, fs_1.readFileSync)(configPath).toString());
|
|
89
89
|
// DB 로드
|
|
90
90
|
this.dbConfig = yield db_1.DB.readKnexfile();
|
|
91
|
-
console.log(chalk_1.default.green("DB Config Loaded!"));
|
|
91
|
+
!doSilent && console.log(chalk_1.default.green("DB Config Loaded!"));
|
|
92
92
|
// SMD 로드
|
|
93
|
-
yield smd_manager_1.SMDManager.autoload();
|
|
93
|
+
yield smd_manager_1.SMDManager.autoload(doSilent);
|
|
94
94
|
// Syncer
|
|
95
95
|
this.syncer = new syncer_1.Syncer();
|
|
96
96
|
// Autoload: SMD / Models / Types / APIs
|
|
97
97
|
yield this.syncer.autoloadModels();
|
|
98
98
|
yield this.syncer.autoloadTypes();
|
|
99
99
|
yield this.syncer.autoloadApis();
|
|
100
|
-
if ((0, controller_1.isLocal)()) {
|
|
100
|
+
if ((0, controller_1.isLocal)() && !(0, controller_1.isTest)()) {
|
|
101
|
+
console.log(process.env.NODE_ENV);
|
|
101
102
|
yield this.syncer.sync();
|
|
102
103
|
}
|
|
103
104
|
this.isInitialized = true;
|
|
104
|
-
console.timeEnd(chalk_1.default.cyan("Sonamu.init"));
|
|
105
|
+
!doSilent && console.timeEnd(chalk_1.default.cyan("Sonamu.init"));
|
|
105
106
|
});
|
|
106
107
|
}
|
|
107
108
|
withFastify(server, config) {
|
|
@@ -131,11 +132,13 @@ class SonamuClass {
|
|
|
131
132
|
method: api.options.httpMethod,
|
|
132
133
|
url: this.config.route.prefix + api.path,
|
|
133
134
|
handler: (request, reply) => __awaiter(this, void 0, void 0, function* () {
|
|
134
|
-
var _a, _b;
|
|
135
|
+
var _a, _b, _c;
|
|
136
|
+
((_a = api.options.guards) !== null && _a !== void 0 ? _a : []).every((guard) => config.guardHandler(guard, request, api));
|
|
137
|
+
// request 파싱
|
|
135
138
|
const which = api.options.httpMethod === "GET" ? "query" : "body";
|
|
136
139
|
let reqBody;
|
|
137
140
|
try {
|
|
138
|
-
reqBody = (0, caster_1.fastifyCaster)(ReqType).parse((
|
|
141
|
+
reqBody = (0, caster_1.fastifyCaster)(ReqType).parse((_b = request[which]) !== null && _b !== void 0 ? _b : {});
|
|
139
142
|
}
|
|
140
143
|
catch (e) {
|
|
141
144
|
if (e instanceof zod_1.ZodError) {
|
|
@@ -146,6 +149,7 @@ class SonamuClass {
|
|
|
146
149
|
throw e;
|
|
147
150
|
}
|
|
148
151
|
}
|
|
152
|
+
// 결과
|
|
149
153
|
const result = yield model[api.methodName].apply(model, api.parameters.map((param) => {
|
|
150
154
|
// Context 인젝션
|
|
151
155
|
if (types_1.ApiParamType.isContext(param.type)) {
|
|
@@ -158,7 +162,7 @@ class SonamuClass {
|
|
|
158
162
|
return reqBody[param.name];
|
|
159
163
|
}
|
|
160
164
|
}));
|
|
161
|
-
reply.type((
|
|
165
|
+
reply.type((_c = api.options.contentType) !== null && _c !== void 0 ? _c : "application/json");
|
|
162
166
|
return result;
|
|
163
167
|
}),
|
|
164
168
|
}); // END server.route
|
package/dist/api/sonamu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sonamu.js","sourceRoot":"","sources":["../../src/api/sonamu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAG1B,6BAA+B;AAC/B,uDAAwD;AAExD,+DAAkE;AAClE,oDAAgD;AAChD,qCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"sonamu.js","sourceRoot":"","sources":["../../src/api/sonamu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAG1B,6BAA+B;AAC/B,uDAAwD;AAExD,+DAAkE;AAClE,oDAAgD;AAChD,qCAAyC;AACzC,0CAAwD;AACxD,6CAA0C;AAC1C,oDAAsD;AACtD,uCAAoD;AACpD,uDAAmD;AACnD,0CAAiD;AACjD,gDAAwB;AACxB,2BAA8C;AAkC9C,MAAM,WAAW;IAAjB;QACS,kBAAa,GAAY,KAAK,CAAC;QAE9B,iBAAY,GAAkB,IAAI,CAAC;QAcnC,cAAS,GAA0B,IAAI,CAAC;QAWxC,YAAO,GAAkB,IAAI,CAAC;QAW9B,YAAO,GAAwB,IAAI,CAAC;IA8I9C,CAAC;IAjLC,IAAI,WAAW,CAAC,WAAmB;QACjC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IACD,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,YAAa,CAAC;IAC5B,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAGD,IAAI,QAAQ,CAAC,QAAwB;QACnC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IACD,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,SAAU,CAAC;IACzB,CAAC;IAGD,IAAI,MAAM,CAAC,MAAc;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,OAAQ,CAAC;IACvB,CAAC;IAGD,IAAI,MAAM,CAAC,MAAoB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEK,IAAI,CAAC,WAAoB,KAAK;;YAClC,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,OAAO;aACR;YACD,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAErD,IAAI,CAAC,WAAW,GAAG,MAAM,IAAA,uBAAe,GAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACrE,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,KAAK,KAAK,EAAE;gBACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAC;aACpE;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CACtB,IAAA,iBAAY,EAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CACpB,CAAC;YAElB,QAAQ;YACR,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAE,CAAC,YAAY,EAAE,CAAC;YACxC,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAE3D,SAAS;YACT,MAAM,wBAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEpC,SAAS;YACT,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAE3B,wCAAwC;YACxC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAEjC,IAAI,IAAA,oBAAO,GAAE,IAAI,CAAC,IAAA,mBAAM,GAAE,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aAC1B;YAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,WAAW,CACf,MAAgE,EAChE,MAA2B;;YAE3B,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;gBAChC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;aACnB;YAED,aAAa;YACb,MAAM,CAAC,GAAG,CACR,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS,EACpC,CAAO,QAAQ,EAAE,MAAM,EAAgB,EAAE;gBACvC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,CAAA,CACF,CAAC;YAEF,kBAAkB;YAClB,MAAM,CAAC,GAAG,CACR,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,cAAc,EACzC,CAAO,QAAQ,EAAE,MAAM,EAAmB,EAAE;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC,CAAA,CACF,CAAC;YAEF,aAAa;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,QAAQ;gBACR,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;oBACnD,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;iBACpD;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEhD,sBAAsB;gBACtB,MAAM,OAAO,GAAG,IAAA,qCAAmB,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE5D,QAAQ;gBACR,MAAM,CAAC,KAAK,CAAC;oBACX,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,UAAW;oBAC/B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI;oBACxC,OAAO,EAAE,CAAO,OAAO,EAAE,KAAK,EAAoB,EAAE;;wBAClD,CAAC,MAAA,GAAG,CAAC,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CACzC,CAAC;wBAEF,aAAa;wBACb,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;wBAClE,IAAI,OAEH,CAAC;wBACF,IAAI;4BACF,OAAO,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAA,OAAO,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAC;yBAC9D;wBAAC,OAAO,CAAC,EAAE;4BACV,IAAI,CAAC,YAAY,cAAQ,EAAE;gCACzB,mEAAmE;gCACnE,MAAM,IAAI,mCAAmB,CAC3B,GAAI,CAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EACtC,CAAC,CAAC,MAAM,CACT,CAAC;6BACH;iCAAM;gCACL,MAAM,CAAC,CAAC;6BACT;yBACF;wBAED,KAAK;wBACL,MAAM,MAAM,GAAG,MAAO,KAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CACvD,KAAK,EACL,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC3B,cAAc;4BACd,IAAI,oBAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gCACtC,OAAO,MAAM,CAAC,eAAe,CAC3B;oCACE,OAAO,EAAE,OAAO,CAAC,OAAO;oCACxB,KAAK;iCACN,EACD,OAAO,EACP,KAAK,CACN,CAAC;6BACH;iCAAM;gCACL,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;6BAC5B;wBACH,CAAC,CAAC,CACH,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,MAAA,GAAG,CAAC,OAAO,CAAC,WAAW,mCAAI,kBAAkB,CAAC,CAAC;wBAC1D,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAA;iBACF,CAAC,CAAC,CAAC,mBAAmB;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,OAAO;;YACX,MAAM,sBAAS,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;KAAA;CACF;AACY,QAAA,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/exceptions/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/exceptions/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,QA2BxD"}
|
|
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setupErrorHandler = void 0;
|
|
4
4
|
const so_exceptions_1 = require("./so-exceptions");
|
|
5
5
|
function setupErrorHandler(server) {
|
|
6
|
-
server.setErrorHandler((error,
|
|
6
|
+
server.setErrorHandler((error, request, reply) => {
|
|
7
7
|
var _a;
|
|
8
8
|
(_a = error.statusCode) !== null && _a !== void 0 ? _a : (error.statusCode = 400);
|
|
9
9
|
if ((0, so_exceptions_1.isSoException)(error) && error.payload && Array.isArray(error.payload)) {
|
|
10
10
|
const issues = error.payload;
|
|
11
11
|
const [issue] = issues;
|
|
12
12
|
const message = `${issue.message} (${issue.path.join("/")})`;
|
|
13
|
+
request.log.error(`${error.statusCode} ${message}`);
|
|
13
14
|
reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({
|
|
14
15
|
name: error.name,
|
|
15
16
|
code: error.code,
|
|
@@ -19,6 +20,7 @@ function setupErrorHandler(server) {
|
|
|
19
20
|
});
|
|
20
21
|
}
|
|
21
22
|
else {
|
|
23
|
+
request.log.error(`${error.statusCode} ${error.message}`);
|
|
22
24
|
reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({
|
|
23
25
|
name: error.name,
|
|
24
26
|
code: error.code,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/exceptions/error-handler.ts"],"names":[],"mappings":";;;AAEA,mDAAgD;AAEhD,SAAgB,iBAAiB,CAAC,MAAuB;IACvD,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/exceptions/error-handler.ts"],"names":[],"mappings":";;;AAEA,mDAAgD;AAEhD,SAAgB,iBAAiB,CAAC,MAAuB;IACvD,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;;QAC/C,MAAA,KAAK,CAAC,UAAU,oCAAhB,KAAK,CAAC,UAAU,GAAK,GAAG,EAAC;QAEzB,IAAI,IAAA,6BAAa,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACzE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAqB,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAE7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAClE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,OAAO;gBAChB,gBAAgB,EAAE,KAAK,CAAC,UAAU;gBAClC,MAAM;aACP,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAClE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,gBAAgB,EAAE,KAAK,CAAC,UAAU;aACnC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA3BD,8CA2BC"}
|
|
@@ -16,7 +16,7 @@ export declare class Template__view_form extends Template {
|
|
|
16
16
|
body: string;
|
|
17
17
|
importKeys: never[];
|
|
18
18
|
preTemplates: {
|
|
19
|
-
key: "smd" | "
|
|
19
|
+
key: "smd" | "init_enums" | "init_types" | "init_generated" | "generated" | "generated_http" | "model" | "model_test" | "bridge" | "service" | "view_list" | "view_list_columns" | "view_search_input" | "view_form" | "view_id_all_select" | "view_id_async_select" | "view_enums_select" | "view_enums_dropdown" | "view_enums_buttonset";
|
|
20
20
|
options: {
|
|
21
21
|
refCode?: string | undefined;
|
|
22
22
|
smdId: string;
|
|
@@ -46,12 +46,12 @@ export declare class Template__view_form extends Template {
|
|
|
46
46
|
extra?: unknown;
|
|
47
47
|
smdId: string;
|
|
48
48
|
} | {
|
|
49
|
+
smdId: string;
|
|
49
50
|
columns: {
|
|
50
51
|
name: string;
|
|
51
52
|
label: string;
|
|
52
53
|
tc: string;
|
|
53
54
|
}[];
|
|
54
|
-
smdId: string;
|
|
55
55
|
columnImports: string;
|
|
56
56
|
} | {
|
|
57
57
|
smdId: string;
|
|
@@ -21,7 +21,7 @@ export declare class Template__view_list extends Template {
|
|
|
21
21
|
body: string;
|
|
22
22
|
importKeys: never[];
|
|
23
23
|
preTemplates: {
|
|
24
|
-
key: "smd" | "
|
|
24
|
+
key: "smd" | "init_enums" | "init_types" | "init_generated" | "generated" | "generated_http" | "model" | "model_test" | "bridge" | "service" | "view_list" | "view_list_columns" | "view_search_input" | "view_form" | "view_id_all_select" | "view_id_async_select" | "view_enums_select" | "view_enums_dropdown" | "view_enums_buttonset";
|
|
25
25
|
options: {
|
|
26
26
|
refCode?: string | undefined;
|
|
27
27
|
smdId: string;
|
|
@@ -51,12 +51,12 @@ export declare class Template__view_list extends Template {
|
|
|
51
51
|
extra?: unknown;
|
|
52
52
|
smdId: string;
|
|
53
53
|
} | {
|
|
54
|
+
smdId: string;
|
|
54
55
|
columns: {
|
|
55
56
|
name: string;
|
|
56
57
|
label: string;
|
|
57
58
|
tc: string;
|
|
58
59
|
}[];
|
|
59
|
-
smdId: string;
|
|
60
60
|
columnImports: string;
|
|
61
61
|
} | {
|
|
62
62
|
smdId: string;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { Knex } from "knex";
|
|
2
|
-
export declare class
|
|
3
|
-
usingTables?: string[] | undefined;
|
|
2
|
+
export declare class FixtureManagerClass {
|
|
4
3
|
private _tdb;
|
|
5
4
|
set tdb(tdb: Knex);
|
|
6
5
|
get tdb(): Knex;
|
|
7
6
|
private _fdb;
|
|
8
7
|
set fdb(fdb: Knex);
|
|
9
8
|
get fdb(): Knex;
|
|
10
|
-
|
|
11
|
-
cleanAndSeed(): Promise<void>;
|
|
9
|
+
init(): void;
|
|
10
|
+
cleanAndSeed(usingTables?: string[]): Promise<void>;
|
|
12
11
|
initFixtureDB(): Promise<void>;
|
|
13
12
|
getChecksum(db: Knex, tableName: string): Promise<any>;
|
|
14
13
|
sync(): Promise<void>;
|
|
@@ -16,4 +15,5 @@ export declare class FixtureManager {
|
|
|
16
15
|
getImportQueries(smdId: string, field: string, id: number): Promise<string[]>;
|
|
17
16
|
destory(): Promise<void>;
|
|
18
17
|
}
|
|
18
|
+
export declare const FixtureManager: FixtureManagerClass;
|
|
19
19
|
//# sourceMappingURL=fixture-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture-manager.d.ts","sourceRoot":"","sources":["../../src/testing/fixture-manager.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAUlC,qBAAa,
|
|
1
|
+
{"version":3,"file":"fixture-manager.d.ts","sourceRoot":"","sources":["../../src/testing/fixture-manager.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAUlC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAqB;IACjC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAEhB;IACD,IAAI,GAAG,IAAI,IAAI,CAEd;IAED,OAAO,CAAC,IAAI,CAAqB;IACjC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAEhB;IACD,IAAI,GAAG,IAAI,IAAI,CAEd;IAED,IAAI;IAQE,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE;IAgDnC,aAAa;IA2Cb,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;IAKvC,IAAI;IAkDJ,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IAqB1C,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,EAAE,CAAC;IA6Dd,OAAO;CAKd;AACD,eAAO,MAAM,cAAc,qBAA4B,CAAC"}
|
|
@@ -19,7 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
19
19
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.FixtureManager = void 0;
|
|
22
|
+
exports.FixtureManager = exports.FixtureManagerClass = void 0;
|
|
23
23
|
const chalk_1 = __importDefault(require("chalk"));
|
|
24
24
|
const child_process_1 = require("child_process");
|
|
25
25
|
const knex_1 = __importDefault(require("knex"));
|
|
@@ -28,25 +28,10 @@ const api_1 = require("../api");
|
|
|
28
28
|
const base_model_1 = require("../database/base-model");
|
|
29
29
|
const smd_manager_1 = require("../smd/smd-manager");
|
|
30
30
|
const types_1 = require("../types/types");
|
|
31
|
-
class
|
|
32
|
-
constructor(
|
|
33
|
-
this.usingTables = usingTables;
|
|
31
|
+
class FixtureManagerClass {
|
|
32
|
+
constructor() {
|
|
34
33
|
this._tdb = null;
|
|
35
34
|
this._fdb = null;
|
|
36
|
-
this.tdb = (0, knex_1.default)(api_1.Sonamu.dbConfig.test);
|
|
37
|
-
this.fdb = (0, knex_1.default)(api_1.Sonamu.dbConfig.fixture_local);
|
|
38
|
-
if (process.env.NODE_ENV === "test") {
|
|
39
|
-
beforeAll(() => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
yield api_1.Sonamu.init();
|
|
41
|
-
}));
|
|
42
|
-
beforeEach(() => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
yield this.cleanAndSeed();
|
|
44
|
-
}));
|
|
45
|
-
afterAll(() => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
yield this.destory();
|
|
47
|
-
yield base_model_1.BaseModel.destroy();
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
35
|
}
|
|
51
36
|
set tdb(tdb) {
|
|
52
37
|
this._tdb = tdb;
|
|
@@ -60,17 +45,23 @@ class FixtureManager {
|
|
|
60
45
|
get fdb() {
|
|
61
46
|
return this._fdb;
|
|
62
47
|
}
|
|
63
|
-
|
|
48
|
+
init() {
|
|
49
|
+
if (this.tdb !== null) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.tdb = (0, knex_1.default)(api_1.Sonamu.dbConfig.test);
|
|
53
|
+
this.fdb = (0, knex_1.default)(api_1.Sonamu.dbConfig.fixture_local);
|
|
54
|
+
}
|
|
55
|
+
cleanAndSeed(usingTables) {
|
|
64
56
|
var e_1, _a;
|
|
65
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
const tableNames = yield (() => __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
if (usingTables) {
|
|
60
|
+
return usingTables;
|
|
61
|
+
}
|
|
68
62
|
const [tables] = yield this.tdb.raw("SHOW TABLE STATUS WHERE Engine IS NOT NULL");
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
tableNames = this.usingTables;
|
|
73
|
-
}
|
|
63
|
+
return tables.map((tableInfo) => tableInfo["Name"]);
|
|
64
|
+
}))();
|
|
74
65
|
yield this.tdb.raw(`SET FOREIGN_KEY_CHECKS = 0`);
|
|
75
66
|
try {
|
|
76
67
|
for (var tableNames_1 = __asyncValues(tableNames), tableNames_1_1; tableNames_1_1 = yield tableNames_1.next(), !tableNames_1_1.done;) {
|
|
@@ -237,8 +228,10 @@ class FixtureManager {
|
|
|
237
228
|
return __awaiter(this, void 0, void 0, function* () {
|
|
238
229
|
yield this.tdb.destroy();
|
|
239
230
|
yield this.fdb.destroy();
|
|
231
|
+
yield base_model_1.BaseModel.destroy();
|
|
240
232
|
});
|
|
241
233
|
}
|
|
242
234
|
}
|
|
243
|
-
exports.
|
|
235
|
+
exports.FixtureManagerClass = FixtureManagerClass;
|
|
236
|
+
exports.FixtureManager = new FixtureManagerClass();
|
|
244
237
|
//# sourceMappingURL=fixture-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture-manager.js","sourceRoot":"","sources":["../../src/testing/fixture-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAyC;AACzC,gDAAkC;AAClC,mCAA8B;AAC9B,gCAAgC;AAChC,uDAAmD;AACnD,oDAAgD;AAChD,0CAGwB;AAExB,MAAa,
|
|
1
|
+
{"version":3,"file":"fixture-manager.js","sourceRoot":"","sources":["../../src/testing/fixture-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,5 @@ export declare function isDaemonServer(): boolean;
|
|
|
5
5
|
export declare function isDevelopment(): boolean;
|
|
6
6
|
export declare function isStaging(): boolean;
|
|
7
7
|
export declare function isProduction(): boolean;
|
|
8
|
+
export declare function isTest(): boolean;
|
|
8
9
|
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/utils/controller.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AACD,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AACD,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AACD,wBAAgB,cAAc,IAAI,OAAO,CAExC;AACD,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AACD,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AACD,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/utils/controller.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AACD,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AACD,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AACD,wBAAgB,cAAc,IAAI,OAAO,CAExC;AACD,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AACD,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AACD,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AACD,wBAAgB,MAAM,IAAI,OAAO,CAEhC"}
|
package/dist/utils/controller.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isProduction = exports.isStaging = exports.isDevelopment = exports.isDaemonServer = exports.isInDocker = exports.isRemote = exports.isLocal = void 0;
|
|
3
|
+
exports.isTest = exports.isProduction = exports.isStaging = exports.isDevelopment = exports.isDaemonServer = exports.isInDocker = exports.isRemote = exports.isLocal = void 0;
|
|
4
4
|
function isLocal() {
|
|
5
5
|
return process.env.LR === undefined || process.env.LR === "local";
|
|
6
6
|
}
|
|
@@ -29,4 +29,8 @@ function isProduction() {
|
|
|
29
29
|
return isRemote() && process.env.NODE_ENV === "production";
|
|
30
30
|
}
|
|
31
31
|
exports.isProduction = isProduction;
|
|
32
|
+
function isTest() {
|
|
33
|
+
return isLocal() && process.env.NODE_ENV === "test";
|
|
34
|
+
}
|
|
35
|
+
exports.isTest = isTest;
|
|
32
36
|
//# sourceMappingURL=controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/utils/controller.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC;AACpE,CAAC;AAFD,0BAEC;AACD,SAAgB,QAAQ;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC;AACrC,CAAC;AAFD,4BAEC;AACD,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC;AACtC,CAAC;AAFD,gCAEC;AACD,SAAgB,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC5C,CAAC;AAFD,wCAEC;AACD,SAAgB,aAAa;IAC3B,OAAO,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAC9D,CAAC;AAFD,sCAEC;AACD,SAAgB,SAAS;IACvB,OAAO,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC1D,CAAC;AAFD,8BAEC;AACD,SAAgB,YAAY;IAC1B,OAAO,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAC7D,CAAC;AAFD,oCAEC"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/utils/controller.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC;AACpE,CAAC;AAFD,0BAEC;AACD,SAAgB,QAAQ;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC;AACrC,CAAC;AAFD,4BAEC;AACD,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC;AACtC,CAAC;AAFD,gCAEC;AACD,SAAgB,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC5C,CAAC;AAFD,wCAEC;AACD,SAAgB,aAAa;IAC3B,OAAO,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAC9D,CAAC;AAFD,sCAEC;AACD,SAAgB,SAAS;IACvB,OAAO,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC1D,CAAC;AAFD,8BAEC;AACD,SAAgB,YAAY;IAC1B,OAAO,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAC7D,CAAC;AAFD,oCAEC;AACD,SAAgB,MAAM;IACpB,OAAO,OAAO,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AACtD,CAAC;AAFD,wBAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUhE;AACD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,EAAE,CAAC,CAWhD;AACD,wBAAsB,eAAe,oBAGpC;AAED,wBAAsB,eAAe,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUhE;AACD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,EAAE,CAAC,CAWhD;AACD,wBAAsB,eAAe,oBAGpC;AAED,wBAAsB,eAAe,oBAapC"}
|
package/dist/utils/utils.js
CHANGED
|
@@ -73,11 +73,10 @@ function findAppRootPath() {
|
|
|
73
73
|
}
|
|
74
74
|
exports.findAppRootPath = findAppRootPath;
|
|
75
75
|
function findApiRootPath() {
|
|
76
|
+
var _a, _b;
|
|
76
77
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
let dir = path_1.default.dirname(require.main.path);
|
|
78
|
+
const basePath = (_b = (_a = require.main) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : __dirname;
|
|
79
|
+
let dir = path_1.default.dirname(basePath);
|
|
81
80
|
if (dir.includes("/.yarn/")) {
|
|
82
81
|
dir = dir.split("/.yarn/")[0];
|
|
83
82
|
}
|
|
@@ -87,7 +86,7 @@ function findApiRootPath() {
|
|
|
87
86
|
}
|
|
88
87
|
dir = dir.split(path_1.default.sep).slice(0, -1).join(path_1.default.sep);
|
|
89
88
|
} while (dir.split(path_1.default.sep).length > 1);
|
|
90
|
-
throw new Error("Cannot find AppRoot using Sonamu");
|
|
89
|
+
throw new Error("Cannot find AppRoot using Sonamu -2");
|
|
91
90
|
});
|
|
92
91
|
}
|
|
93
92
|
exports.findApiRootPath = findApiRootPath;
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,gDAAwB;AACxB,2BAAgC;AAEhC,SAAgB,SAAS,CAAC,WAAmB;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,cAAI,EAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,8BAUC;AACD,SAAsB,cAAc,CAClC,SAAmB;;QAEnB,OAAO,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,CAAO,QAAQ,EAAE,EAAE;YAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,cAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,wDAAa,UAAU,GAAC,CAAC;YAC1C,OAAO;gBACL,QAAQ;gBACR,QAAQ;aACT,CAAC;QACJ,CAAC,CAAA,CAAC,CACH,CAAC;IACJ,CAAC;CAAA;AAbD,wCAaC;AACD,SAAsB,eAAe;;QACnC,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;QAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;CAAA;AAHD,0CAGC;AAED,SAAsB,eAAe
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,gDAAwB;AACxB,2BAAgC;AAEhC,SAAgB,SAAS,CAAC,WAAmB;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,cAAI,EAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,8BAUC;AACD,SAAsB,cAAc,CAClC,SAAmB;;QAEnB,OAAO,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,CAAO,QAAQ,EAAE,EAAE;YAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,cAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,wDAAa,UAAU,GAAC,CAAC;YAC1C,OAAO;gBACL,QAAQ;gBACR,QAAQ;aACT,CAAC;QACJ,CAAC,CAAA,CAAC,CACH,CAAC;IACJ,CAAC;CAAA;AAbD,wCAaC;AACD,SAAsB,eAAe;;QACnC,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;QAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;CAAA;AAHD,0CAGC;AAED,SAAsB,eAAe;;;QACnC,MAAM,QAAQ,GAAG,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,mCAAI,SAAS,CAAC;QACjD,IAAI,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,GAAG;YACD,IAAI,IAAA,eAAU,EAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE;gBAC/C,OAAO,GAAG,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;aAC3C;YACD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;SACvD,QAAQ,GAAG,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;;CACxD;AAbD,0CAaC"}
|
package/package.json
CHANGED
package/src/api/decorators.ts
CHANGED
package/src/api/sonamu.ts
CHANGED
|
@@ -7,14 +7,15 @@ import { Context } from "./context";
|
|
|
7
7
|
import { BadRequestException } from "../exceptions/so-exceptions";
|
|
8
8
|
import { SMDManager } from "../smd/smd-manager";
|
|
9
9
|
import { fastifyCaster } from "./caster";
|
|
10
|
-
import { ApiParamType } from "../types/types";
|
|
10
|
+
import { ApiParam, ApiParamType } from "../types/types";
|
|
11
11
|
import { Syncer } from "../syncer/syncer";
|
|
12
|
-
import { isLocal } from "../utils/controller";
|
|
12
|
+
import { isLocal, isTest } from "../utils/controller";
|
|
13
13
|
import { DB, SonamuDBConfig } from "../database/db";
|
|
14
14
|
import { BaseModel } from "../database/base-model";
|
|
15
15
|
import { findApiRootPath } from "../utils/utils";
|
|
16
16
|
import path from "path";
|
|
17
17
|
import { existsSync, readFileSync } from "fs";
|
|
18
|
+
import { ApiDecoratorOptions } from "./decorators";
|
|
18
19
|
|
|
19
20
|
export type SonamuConfig = {
|
|
20
21
|
api: {
|
|
@@ -33,6 +34,19 @@ type SonamuFastifyConfig = {
|
|
|
33
34
|
request: FastifyRequest,
|
|
34
35
|
reply: FastifyReply
|
|
35
36
|
) => Context;
|
|
37
|
+
guardHandler: (
|
|
38
|
+
guard: string,
|
|
39
|
+
request: FastifyRequest,
|
|
40
|
+
api: {
|
|
41
|
+
typeParameters: ApiParamType.TypeParam[];
|
|
42
|
+
parameters: ApiParam[];
|
|
43
|
+
returnType: ApiParamType;
|
|
44
|
+
modelName: string;
|
|
45
|
+
methodName: string;
|
|
46
|
+
path: string;
|
|
47
|
+
options: ApiDecoratorOptions;
|
|
48
|
+
}
|
|
49
|
+
) => void;
|
|
36
50
|
};
|
|
37
51
|
class SonamuClass {
|
|
38
52
|
public isInitialized: boolean = false;
|
|
@@ -84,11 +98,11 @@ class SonamuClass {
|
|
|
84
98
|
return this._config;
|
|
85
99
|
}
|
|
86
100
|
|
|
87
|
-
async init() {
|
|
101
|
+
async init(doSilent: boolean = false) {
|
|
88
102
|
if (this.isInitialized) {
|
|
89
103
|
return;
|
|
90
104
|
}
|
|
91
|
-
console.time(chalk.cyan("Sonamu.init"));
|
|
105
|
+
!doSilent && console.time(chalk.cyan("Sonamu.init"));
|
|
92
106
|
|
|
93
107
|
this.apiRootPath = await findApiRootPath();
|
|
94
108
|
const configPath = path.join(this.apiRootPath, "sonamu.config.json");
|
|
@@ -101,10 +115,10 @@ class SonamuClass {
|
|
|
101
115
|
|
|
102
116
|
// DB 로드
|
|
103
117
|
this.dbConfig = await DB.readKnexfile();
|
|
104
|
-
console.log(chalk.green("DB Config Loaded!"));
|
|
118
|
+
!doSilent && console.log(chalk.green("DB Config Loaded!"));
|
|
105
119
|
|
|
106
120
|
// SMD 로드
|
|
107
|
-
await SMDManager.autoload();
|
|
121
|
+
await SMDManager.autoload(doSilent);
|
|
108
122
|
|
|
109
123
|
// Syncer
|
|
110
124
|
this.syncer = new Syncer();
|
|
@@ -114,12 +128,13 @@ class SonamuClass {
|
|
|
114
128
|
await this.syncer.autoloadTypes();
|
|
115
129
|
await this.syncer.autoloadApis();
|
|
116
130
|
|
|
117
|
-
if (isLocal()) {
|
|
131
|
+
if (isLocal() && !isTest()) {
|
|
132
|
+
console.log(process.env.NODE_ENV);
|
|
118
133
|
await this.syncer.sync();
|
|
119
134
|
}
|
|
120
135
|
|
|
121
136
|
this.isInitialized = true;
|
|
122
|
-
console.timeEnd(chalk.cyan("Sonamu.init"));
|
|
137
|
+
!doSilent && console.timeEnd(chalk.cyan("Sonamu.init"));
|
|
123
138
|
}
|
|
124
139
|
|
|
125
140
|
async withFastify(
|
|
@@ -162,6 +177,11 @@ class SonamuClass {
|
|
|
162
177
|
method: api.options.httpMethod!,
|
|
163
178
|
url: this.config.route.prefix + api.path,
|
|
164
179
|
handler: async (request, reply): Promise<unknown> => {
|
|
180
|
+
(api.options.guards ?? []).every((guard) =>
|
|
181
|
+
config.guardHandler(guard, request, api)
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
// request 파싱
|
|
165
185
|
const which = api.options.httpMethod === "GET" ? "query" : "body";
|
|
166
186
|
let reqBody: {
|
|
167
187
|
[key: string]: unknown;
|
|
@@ -180,6 +200,7 @@ class SonamuClass {
|
|
|
180
200
|
}
|
|
181
201
|
}
|
|
182
202
|
|
|
203
|
+
// 결과
|
|
183
204
|
const result = await (model as any)[api.methodName].apply(
|
|
184
205
|
model,
|
|
185
206
|
api.parameters.map((param) => {
|
|
@@ -3,13 +3,15 @@ import { ZodIssue } from "zod";
|
|
|
3
3
|
import { isSoException } from "./so-exceptions";
|
|
4
4
|
|
|
5
5
|
export function setupErrorHandler(server: FastifyInstance) {
|
|
6
|
-
server.setErrorHandler((error,
|
|
6
|
+
server.setErrorHandler((error, request, reply) => {
|
|
7
7
|
error.statusCode ??= 400;
|
|
8
8
|
|
|
9
9
|
if (isSoException(error) && error.payload && Array.isArray(error.payload)) {
|
|
10
10
|
const issues = error.payload as ZodIssue[];
|
|
11
11
|
const [issue] = issues;
|
|
12
12
|
const message = `${issue.message} (${issue.path.join("/")})`;
|
|
13
|
+
|
|
14
|
+
request.log.error(`${error.statusCode} ${message}`);
|
|
13
15
|
reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({
|
|
14
16
|
name: error.name,
|
|
15
17
|
code: error.code,
|
|
@@ -18,6 +20,7 @@ export function setupErrorHandler(server: FastifyInstance) {
|
|
|
18
20
|
issues,
|
|
19
21
|
});
|
|
20
22
|
} else {
|
|
23
|
+
request.log.error(`${error.statusCode} ${error.message}`);
|
|
21
24
|
reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({
|
|
22
25
|
name: error.name,
|
|
23
26
|
code: error.code,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
isOneToOneRelationProp,
|
|
11
11
|
} from "../types/types";
|
|
12
12
|
|
|
13
|
-
export class
|
|
13
|
+
export class FixtureManagerClass {
|
|
14
14
|
private _tdb: Knex | null = null;
|
|
15
15
|
set tdb(tdb: Knex) {
|
|
16
16
|
this._tdb = tdb;
|
|
@@ -27,37 +27,25 @@ export class FixtureManager {
|
|
|
27
27
|
return this._fdb!;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
init() {
|
|
31
|
+
if (this.tdb !== null) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
31
34
|
this.tdb = knex(Sonamu.dbConfig.test);
|
|
32
35
|
this.fdb = knex(Sonamu.dbConfig.fixture_local);
|
|
33
|
-
|
|
34
|
-
if (process.env.NODE_ENV === "test") {
|
|
35
|
-
beforeAll(async () => {
|
|
36
|
-
await Sonamu.init();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
beforeEach(async () => {
|
|
40
|
-
await this.cleanAndSeed();
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
afterAll(async () => {
|
|
44
|
-
await this.destory();
|
|
45
|
-
await BaseModel.destroy();
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
36
|
}
|
|
49
37
|
|
|
50
|
-
async cleanAndSeed() {
|
|
51
|
-
|
|
38
|
+
async cleanAndSeed(usingTables?: string[]) {
|
|
39
|
+
const tableNames = await (async () => {
|
|
40
|
+
if (usingTables) {
|
|
41
|
+
return usingTables;
|
|
42
|
+
}
|
|
52
43
|
|
|
53
|
-
if (this.usingTables === undefined) {
|
|
54
44
|
const [tables] = await this.tdb.raw(
|
|
55
45
|
"SHOW TABLE STATUS WHERE Engine IS NOT NULL"
|
|
56
46
|
);
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
tableNames = this.usingTables;
|
|
60
|
-
}
|
|
47
|
+
return tables.map((tableInfo: any) => tableInfo["Name"]);
|
|
48
|
+
})();
|
|
61
49
|
|
|
62
50
|
await this.tdb.raw(`SET FOREIGN_KEY_CHECKS = 0`);
|
|
63
51
|
for await (let tableName of tableNames) {
|
|
@@ -282,5 +270,7 @@ export class FixtureManager {
|
|
|
282
270
|
async destory() {
|
|
283
271
|
await this.tdb.destroy();
|
|
284
272
|
await this.fdb.destroy();
|
|
273
|
+
await BaseModel.destroy();
|
|
285
274
|
}
|
|
286
275
|
}
|
|
276
|
+
export const FixtureManager = new FixtureManagerClass();
|
package/src/utils/controller.ts
CHANGED
package/src/utils/utils.ts
CHANGED
|
@@ -33,10 +33,8 @@ export async function findAppRootPath() {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export async function findApiRootPath() {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
let dir = path.dirname(require.main.path);
|
|
36
|
+
const basePath = require.main?.path ?? __dirname;
|
|
37
|
+
let dir = path.dirname(basePath);
|
|
40
38
|
if (dir.includes("/.yarn/")) {
|
|
41
39
|
dir = dir.split("/.yarn/")[0];
|
|
42
40
|
}
|
|
@@ -46,5 +44,5 @@ export async function findApiRootPath() {
|
|
|
46
44
|
}
|
|
47
45
|
dir = dir.split(path.sep).slice(0, -1).join(path.sep);
|
|
48
46
|
} while (dir.split(path.sep).length > 1);
|
|
49
|
-
throw new Error("Cannot find AppRoot using Sonamu");
|
|
47
|
+
throw new Error("Cannot find AppRoot using Sonamu -2");
|
|
50
48
|
}
|