@xrystal/core 3.24.1 → 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.1",
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,28 +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 = false;
100
- if (content.startsWith('@')) {
101
- content = content.substring(1);
102
- useDirect = true;
103
- }
96
+ const content = String(msg || (isError ? 'unsuccessful' : 'success_process'));
104
97
  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);
98
+ let method = isError ? 'unsuccessful' : 'successfully';
99
+ let startIdx = 0;
100
+ if (content.startsWith('@')) {
101
+ method = parts[0].substring(1);
102
+ startIdx = 1;
109
103
  }
110
- if (isError) {
111
- return responseMessageHelper.unsuccessful(t(key), params.join(' '), t);
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);
112
109
  }
113
- return responseMessageHelper.successfully(t(key), params.join(' '), t);
110
+ return isError ? responseMessageHelper.unsuccessful(p1, p2, t) : responseMessageHelper.successfully(p1, p2, t);
114
111
  }
115
112
  async schema({ checks, logic, response }) {
113
+ let currentReq = this.req;
116
114
  try {
117
- const currentReq = this.req;
118
115
  const currentRes = this.res;
119
116
  const p = {
120
117
  req: currentReq,
@@ -129,7 +126,7 @@ export default class Controller extends BaseController {
129
126
  const checkResult = await checks(p);
130
127
  if (checkResult !== true) {
131
128
  const bizCode = checkResult?.code ?? 400;
132
- const msg = checkResult?.message || (typeof checkResult === 'string' ? checkResult : 'unsuccessful');
129
+ const msg = checkResult?.message || checkResult;
133
130
  let errorPayload = undefined;
134
131
  if (checkResult?.payload) {
135
132
  errorPayload = {
@@ -154,10 +151,9 @@ export default class Controller extends BaseController {
154
151
  }
155
152
  if (logicResult?.status === false) {
156
153
  const bizCode = logicResult.code ?? 400;
157
- const msg = logicResult.message || 'unsuccessful';
158
154
  return currentRes.status(bizCode).send(new ResponseSchema({
159
155
  status: false,
160
- message: this.parseMessage(msg, currentReq.t, true),
156
+ message: this.parseMessage(logicResult.message, currentReq.t, true),
161
157
  code: bizCode
162
158
  }).getResponse);
163
159
  }
@@ -213,9 +209,10 @@ export default class Controller extends BaseController {
213
209
  }
214
210
  catch (error) {
215
211
  this.logger?.log(LoggerLayerEnum.ERROR, `Controller Error: ${error.message}`);
212
+ const t = currentReq?.t || ((k) => k);
216
213
  return this.res.status(500).send(new ResponseSchema({
217
214
  status: false,
218
- message: error.message || 'unsuccessful',
215
+ message: this.parseMessage(error.message, t, true),
219
216
  code: 500
220
217
  }).getResponse);
221
218
  }