@xrystal/core 3.19.3 → 3.19.5
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
|
@@ -67,7 +67,7 @@ export declare abstract class ControllerService extends Controller {
|
|
|
67
67
|
}): Promise<void>;
|
|
68
68
|
schema({ checks, logic, response }: {
|
|
69
69
|
checks?: (args: any) => Promise<any>;
|
|
70
|
-
logic
|
|
70
|
+
logic?: (args: any) => Promise<any>;
|
|
71
71
|
response?: (args: any) => Promise<any>;
|
|
72
72
|
}): Promise<any>;
|
|
73
73
|
}
|
|
@@ -82,12 +82,7 @@ export class ControllerService extends Controller {
|
|
|
82
82
|
const currentReq = this.req;
|
|
83
83
|
const currentRes = this.res;
|
|
84
84
|
const payload = { req: currentReq, res: currentRes };
|
|
85
|
-
const convertedPayload = {
|
|
86
|
-
...payload,
|
|
87
|
-
query: currentReq.query,
|
|
88
|
-
body: currentReq.body,
|
|
89
|
-
params: currentReq.params
|
|
90
|
-
};
|
|
85
|
+
const convertedPayload = { ...payload, query: currentReq.query, body: currentReq.body, params: currentReq.params };
|
|
91
86
|
if (checks) {
|
|
92
87
|
const checkResult = await checks({ payload, convertedPayload });
|
|
93
88
|
if (checkResult === false || (checkResult && typeof checkResult === 'object' && !Array.isArray(checkResult))) {
|
|
@@ -98,28 +93,42 @@ export class ControllerService extends Controller {
|
|
|
98
93
|
}).getResponse);
|
|
99
94
|
}
|
|
100
95
|
}
|
|
101
|
-
const logicResult = await logic({ payload, convertedPayload });
|
|
96
|
+
const logicResult = logic ? await logic({ payload, convertedPayload }) : null;
|
|
102
97
|
if (logicResult?.status === false) {
|
|
103
98
|
return currentRes.status(logicResult.code || 400).send(new ResponseSchema({
|
|
104
99
|
status: false,
|
|
105
|
-
message: logicResult.message,
|
|
100
|
+
message: logicResult.message || '',
|
|
106
101
|
code: logicResult.code || 400
|
|
107
102
|
}).getResponse);
|
|
108
103
|
}
|
|
109
104
|
if (logicResult instanceof Response)
|
|
110
105
|
return logicResult;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
106
|
+
const resResult = response ? await response({ payload, convertedPayload, logicResult }) : logicResult;
|
|
107
|
+
let finalMessage = '';
|
|
108
|
+
const messageSource = resResult?.message || (typeof resResult === 'string' || Array.isArray(resResult) ? resResult : '');
|
|
109
|
+
if (Array.isArray(messageSource)) {
|
|
110
|
+
finalMessage = responseMessageHelper.successFully(messageSource[0], messageSource[1], currentReq.t);
|
|
111
|
+
}
|
|
112
|
+
else if (typeof messageSource === 'string' && messageSource !== '') {
|
|
113
|
+
if (messageSource.startsWith('@')) {
|
|
114
|
+
finalMessage = responseMessageHelper.successFully(messageSource.substring(1), '', currentReq.t);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
finalMessage = currentReq.t(messageSource);
|
|
118
|
+
}
|
|
121
119
|
}
|
|
122
|
-
|
|
120
|
+
let finalPayload = undefined;
|
|
121
|
+
if (logic) {
|
|
122
|
+
finalPayload = logicResult?.payload !== undefined ? logicResult.payload : logicResult;
|
|
123
|
+
if (finalPayload === messageSource || (typeof finalPayload === 'object' && finalPayload?.message === messageSource)) {
|
|
124
|
+
finalPayload = undefined;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return currentRes.status(200).send(new ResponseSchema({
|
|
128
|
+
status: true,
|
|
129
|
+
message: finalMessage,
|
|
130
|
+
payload: finalPayload
|
|
131
|
+
}).getResponse);
|
|
123
132
|
}
|
|
124
133
|
catch (error) {
|
|
125
134
|
this.logger.winston.log({
|