@xrystal/core 3.24.6 → 3.24.8
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/package.json
CHANGED
|
@@ -79,26 +79,23 @@ export default class Controller extends BaseController {
|
|
|
79
79
|
this.supportedProtocols = Array.isArray(protocols) ? protocols : [protocols || ProtocolEnum.HTTP];
|
|
80
80
|
}
|
|
81
81
|
parseMessage(msg, t, isError = false) {
|
|
82
|
-
const content = String(msg ||
|
|
82
|
+
const content = String(msg || '');
|
|
83
|
+
if (!content || content === 'success_process' || content === 'unsuccessful') {
|
|
84
|
+
return isError ? responseMessageHelper.unsuccessful('', '', t) : responseMessageHelper.successfully('', '', t);
|
|
85
|
+
}
|
|
83
86
|
let method = isError ? 'unsuccessful' : 'successfully';
|
|
84
87
|
let payloadString = content;
|
|
85
88
|
if (content.startsWith('@')) {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
payloadString = content.substring(firstSpace + 1);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
method = content.substring(1);
|
|
93
|
-
payloadString = '';
|
|
94
|
-
}
|
|
89
|
+
const parts = content.split(' ');
|
|
90
|
+
method = parts[0].substring(1);
|
|
91
|
+
payloadString = parts.slice(1).join(' ');
|
|
95
92
|
}
|
|
96
93
|
const params = payloadString.split('-').map(p => p.trim()).filter(p => p !== '');
|
|
97
|
-
const
|
|
98
|
-
const p1 = (p1Raw === method || p1Raw === 'unsuccessful' || p1Raw === 'success_process') ? '' : t(p1Raw);
|
|
94
|
+
const p1 = params[0] ? t(params[0]) : '';
|
|
99
95
|
const p2 = params.slice(1).map(v => t(v)).join(' ');
|
|
100
|
-
if (responseMessageHelper[method])
|
|
96
|
+
if (responseMessageHelper[method]) {
|
|
101
97
|
return responseMessageHelper[method](p1, p2, t);
|
|
98
|
+
}
|
|
102
99
|
return isError ? responseMessageHelper.unsuccessful(p1, p2, t) : responseMessageHelper.successfully(p1, p2, t);
|
|
103
100
|
}
|
|
104
101
|
async schema({ checks, logic, response }) {
|
|
@@ -119,7 +116,7 @@ export default class Controller extends BaseController {
|
|
|
119
116
|
const checkResult = await checks(p);
|
|
120
117
|
if (checkResult !== true) {
|
|
121
118
|
extractMeta(checkResult);
|
|
122
|
-
const bizCode = store?.metadata
|
|
119
|
+
const bizCode = store?.metadata?._code ?? 400;
|
|
123
120
|
let errorPayload = undefined;
|
|
124
121
|
if (checkResult?.payload) {
|
|
125
122
|
const d = checkResult.payload.data ?? checkResult.payload;
|
|
@@ -127,7 +124,12 @@ export default class Controller extends BaseController {
|
|
|
127
124
|
if (checkResult.payload.extraData !== undefined)
|
|
128
125
|
errorPayload.extraData = checkResult.payload.extraData;
|
|
129
126
|
}
|
|
130
|
-
return currentRes.status(bizCode).send(new ResponseSchema({
|
|
127
|
+
return currentRes.status(bizCode).send(new ResponseSchema({
|
|
128
|
+
status: false,
|
|
129
|
+
message: this.parseMessage(checkResult?.message || checkResult, currentReq.t, true),
|
|
130
|
+
code: bizCode,
|
|
131
|
+
payload: errorPayload
|
|
132
|
+
}).getResponse);
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
135
|
let logicResult = logic ? await logic(p) : {};
|
|
@@ -139,13 +141,18 @@ export default class Controller extends BaseController {
|
|
|
139
141
|
extractMeta(logicResult);
|
|
140
142
|
}
|
|
141
143
|
if (logicResult?.status === false) {
|
|
142
|
-
const bizCode = store?.metadata
|
|
143
|
-
return currentRes.status(bizCode).send(new ResponseSchema({
|
|
144
|
+
const bizCode = store?.metadata?._code ?? 400;
|
|
145
|
+
return currentRes.status(bizCode).send(new ResponseSchema({
|
|
146
|
+
status: false,
|
|
147
|
+
message: this.parseMessage(logicResult.message, currentReq.t, true),
|
|
148
|
+
code: bizCode
|
|
149
|
+
}).getResponse);
|
|
144
150
|
}
|
|
145
151
|
const resResult = response ? await response({ ...p, logicResult }) : logicResult;
|
|
146
152
|
extractMeta(resResult);
|
|
147
|
-
if (resResult instanceof Response || resResult instanceof Blob || resResult instanceof Uint8Array || resResult instanceof ArrayBuffer)
|
|
153
|
+
if (resResult instanceof Response || resResult instanceof Blob || resResult instanceof Uint8Array || resResult instanceof ArrayBuffer) {
|
|
148
154
|
return currentRes.status(200).send(resResult);
|
|
155
|
+
}
|
|
149
156
|
let finalData = undefined;
|
|
150
157
|
let finalExtraData = undefined;
|
|
151
158
|
let messageSource = 'success_process';
|
|
@@ -175,7 +182,7 @@ export default class Controller extends BaseController {
|
|
|
175
182
|
else {
|
|
176
183
|
extractData(resResult !== undefined ? resResult : logicResult);
|
|
177
184
|
}
|
|
178
|
-
const bizSuccessCode = store?.metadata
|
|
185
|
+
const bizSuccessCode = store?.metadata?._code || 200;
|
|
179
186
|
let payload = undefined;
|
|
180
187
|
if (finalData !== undefined || finalExtraData !== undefined) {
|
|
181
188
|
payload = {};
|
|
@@ -184,12 +191,21 @@ export default class Controller extends BaseController {
|
|
|
184
191
|
if (finalExtraData !== undefined)
|
|
185
192
|
payload.extraData = finalExtraData;
|
|
186
193
|
}
|
|
187
|
-
return currentRes.status(bizSuccessCode).send(new ResponseSchema({
|
|
194
|
+
return currentRes.status(bizSuccessCode).send(new ResponseSchema({
|
|
195
|
+
status: true,
|
|
196
|
+
message: this.parseMessage(messageSource, currentReq.t, false),
|
|
197
|
+
payload,
|
|
198
|
+
code: bizSuccessCode
|
|
199
|
+
}).getResponse);
|
|
188
200
|
}
|
|
189
201
|
catch (error) {
|
|
190
202
|
this.logger?.log(LoggerLayerEnum.ERROR, `Controller Error: ${error.message}`);
|
|
191
203
|
const t = currentReq?.t || ((k) => k);
|
|
192
|
-
return this.res.status(500).send(new ResponseSchema({
|
|
204
|
+
return this.res.status(500).send(new ResponseSchema({
|
|
205
|
+
status: false,
|
|
206
|
+
message: this.parseMessage(error.message, t, true),
|
|
207
|
+
code: 500
|
|
208
|
+
}).getResponse);
|
|
193
209
|
}
|
|
194
210
|
}
|
|
195
211
|
}
|
|
@@ -2,15 +2,15 @@ export interface PayloadSchemaInterface {
|
|
|
2
2
|
status: boolean;
|
|
3
3
|
message: string;
|
|
4
4
|
payload?: any;
|
|
5
|
-
[key: string]: any;
|
|
6
5
|
code?: number;
|
|
6
|
+
[key: string]: any;
|
|
7
7
|
}
|
|
8
8
|
export declare class ResponseSchema {
|
|
9
|
-
constructor({ status, message, payload, code }: PayloadSchemaInterface);
|
|
10
9
|
status: boolean;
|
|
11
10
|
message: string;
|
|
12
11
|
payload: any;
|
|
13
12
|
code: number;
|
|
13
|
+
constructor({ status, message, payload, code }: PayloadSchemaInterface);
|
|
14
14
|
validData(): any;
|
|
15
15
|
statusCodeGenerator(): number;
|
|
16
16
|
get getResponse(): any;
|
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
export class ResponseSchema {
|
|
2
|
+
status;
|
|
3
|
+
message;
|
|
4
|
+
payload;
|
|
5
|
+
code;
|
|
2
6
|
constructor({ status = false, message = '', payload = null, code = 0 }) {
|
|
3
7
|
this.status = status;
|
|
4
8
|
this.message = message;
|
|
5
9
|
this.payload = payload;
|
|
6
10
|
this.code = code;
|
|
7
11
|
}
|
|
8
|
-
status;
|
|
9
|
-
message;
|
|
10
|
-
payload;
|
|
11
|
-
code;
|
|
12
12
|
validData() {
|
|
13
13
|
return this.payload;
|
|
14
14
|
}
|
|
15
15
|
statusCodeGenerator() {
|
|
16
|
-
if (this.
|
|
16
|
+
if (this.code !== 0 && this.code !== 1 && this.code !== undefined) {
|
|
17
17
|
return Number(this.code);
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
if (this.status === true) {
|
|
20
20
|
return 0;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
return 1;
|
|
24
|
-
}
|
|
22
|
+
return 1;
|
|
25
23
|
}
|
|
26
24
|
get getResponse() {
|
|
27
|
-
|
|
25
|
+
const response = {
|
|
28
26
|
status: this.status,
|
|
29
27
|
message: this.message
|
|
30
28
|
};
|
|
@@ -32,6 +30,6 @@ export class ResponseSchema {
|
|
|
32
30
|
response.payload = this.validData();
|
|
33
31
|
}
|
|
34
32
|
response.code = this.statusCodeGenerator();
|
|
35
|
-
return
|
|
33
|
+
return response;
|
|
36
34
|
}
|
|
37
35
|
}
|