@xrystal/core 3.24.0 → 3.24.2

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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "Yusuf Yasir KAYGUSUZ",
3
3
  "name": "@xrystal/core",
4
- "version": "3.24.0",
4
+ "version": "3.24.2",
5
5
  "description": "Project core for xrystal",
6
6
  "publishConfig": {
7
7
  "access": "public",
@@ -35,7 +35,7 @@ export class BaseController {
35
35
  body,
36
36
  query,
37
37
  params,
38
- lang: ctx.lang || req.lang || 'en',
38
+ lang: ctx.lang || req.lang,
39
39
  t: ctx.t || req.t || identityT,
40
40
  accounts: ctx.accounts || req.accounts || ctx.user
41
41
  };
@@ -93,25 +93,25 @@ export default class Controller extends BaseController {
93
93
  this.supportedProtocols = Array.isArray(protocols) ? protocols : [protocols || ProtocolEnum.HTTP];
94
94
  }
95
95
  parseMessage(msg, t, isError = false) {
96
- if (!msg)
97
- return '';
98
- let content = String(msg);
99
- let useDirect = isError;
96
+ const content = String(msg || (isError ? 'unsuccessful' : 'success_process'));
97
+ const parts = content.split(' ');
98
+ let method = isError ? 'unsuccessful' : 'successfully';
99
+ let startIdx = 0;
100
100
  if (content.startsWith('@')) {
101
- content = content.substring(1);
102
- useDirect = true;
101
+ method = parts[0].substring(1);
102
+ startIdx = 1;
103
103
  }
104
- const parts = content.split(' ');
105
- const key = parts[0];
106
- const params = parts.slice(1).map(p => t(p));
107
- if (useDirect) {
108
- return t(key, params);
104
+ const p1Raw = parts[startIdx] || '';
105
+ const p1 = (p1Raw === method || p1Raw === 'unsuccessful' || p1Raw === 'success_process') ? '' : t(p1Raw);
106
+ const p2 = parts.slice(startIdx + 1).map(v => t(v)).join(' ');
107
+ if (responseMessageHelper[method]) {
108
+ return responseMessageHelper[method](p1, p2, t);
109
109
  }
110
- return responseMessageHelper.successfully(t(key), params.join(' '), t);
110
+ return isError ? responseMessageHelper.unsuccessful(p1, p2, t) : responseMessageHelper.successfully(p1, p2, t);
111
111
  }
112
112
  async schema({ checks, logic, response }) {
113
+ let currentReq = this.req;
113
114
  try {
114
- const currentReq = this.req;
115
115
  const currentRes = this.res;
116
116
  const p = {
117
117
  req: currentReq,
@@ -126,7 +126,7 @@ export default class Controller extends BaseController {
126
126
  const checkResult = await checks(p);
127
127
  if (checkResult !== true) {
128
128
  const bizCode = checkResult?.code ?? 400;
129
- const msg = checkResult?.message || (typeof checkResult === 'string' ? checkResult : 'error_validation');
129
+ const msg = checkResult?.message || checkResult;
130
130
  let errorPayload = undefined;
131
131
  if (checkResult?.payload) {
132
132
  errorPayload = {
@@ -153,7 +153,7 @@ export default class Controller extends BaseController {
153
153
  const bizCode = logicResult.code ?? 400;
154
154
  return currentRes.status(bizCode).send(new ResponseSchema({
155
155
  status: false,
156
- message: this.parseMessage(logicResult.message || 'error_process', currentReq.t, true),
156
+ message: this.parseMessage(logicResult.message, currentReq.t, true),
157
157
  code: bizCode
158
158
  }).getResponse);
159
159
  }
@@ -209,9 +209,10 @@ export default class Controller extends BaseController {
209
209
  }
210
210
  catch (error) {
211
211
  this.logger?.log(LoggerLayerEnum.ERROR, `Controller Error: ${error.message}`);
212
+ const t = currentReq?.t || ((k) => k);
212
213
  return this.res.status(500).send(new ResponseSchema({
213
214
  status: false,
214
- message: error.message || 'error_internal',
215
+ message: this.parseMessage(error.message, t, true),
215
216
  code: 500
216
217
  }).getResponse);
217
218
  }