eservices-back-core 2.1.67 → 2.1.68

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.
Files changed (68) hide show
  1. package/dist/classes/client-error-generator.d.ts +20 -0
  2. package/dist/classes/client-error-generator.d.ts.map +1 -0
  3. package/dist/classes/client-error-generator.js +40 -0
  4. package/dist/classes/client-error-generator.js.map +1 -0
  5. package/dist/controller/close-api/view-controller.d.ts.map +1 -1
  6. package/dist/controller/close-api/view-controller.js +2 -2
  7. package/dist/controller/close-api/view-controller.js.map +1 -1
  8. package/dist/errors/api-error.d.ts +32 -18
  9. package/dist/errors/api-error.d.ts.map +1 -1
  10. package/dist/errors/api-error.js +42 -41
  11. package/dist/errors/api-error.js.map +1 -1
  12. package/dist/errors/app-server-error.d.ts +29 -0
  13. package/dist/errors/app-server-error.d.ts.map +1 -0
  14. package/dist/errors/app-server-error.js +43 -0
  15. package/dist/errors/app-server-error.js.map +1 -0
  16. package/dist/errors/auth-error.d.ts +8 -1
  17. package/dist/errors/auth-error.d.ts.map +1 -1
  18. package/dist/errors/auth-error.js +15 -1
  19. package/dist/errors/auth-error.js.map +1 -1
  20. package/dist/errors/core-error.d.ts +7 -41
  21. package/dist/errors/core-error.d.ts.map +1 -1
  22. package/dist/errors/core-error.js +10 -89
  23. package/dist/errors/core-error.js.map +1 -1
  24. package/dist/errors/metadata-error.d.ts +23 -3
  25. package/dist/errors/metadata-error.d.ts.map +1 -1
  26. package/dist/errors/metadata-error.js +30 -5
  27. package/dist/errors/metadata-error.js.map +1 -1
  28. package/dist/logger/use-logger.js +2 -2
  29. package/dist/logger/use-logger.js.map +1 -1
  30. package/dist/middleware/error-middleware.d.ts.map +1 -1
  31. package/dist/middleware/error-middleware.js +10 -6
  32. package/dist/middleware/error-middleware.js.map +1 -1
  33. package/dist/middleware/user-middleware.js +2 -2
  34. package/dist/middleware/user-middleware.js.map +1 -1
  35. package/dist/services/data-service.js +2 -2
  36. package/dist/services/data-service.js.map +1 -1
  37. package/dist/services/list-setting-service.js +3 -3
  38. package/dist/services/list-setting-service.js.map +1 -1
  39. package/dist/services/metadata-service.js +1 -1
  40. package/dist/services/metadata-service.js.map +1 -1
  41. package/dist/socket/connect-socket.d.ts.map +1 -1
  42. package/dist/socket/connect-socket.js +8 -11
  43. package/dist/socket/connect-socket.js.map +1 -1
  44. package/dist/socket/events/entity_create.d.ts.map +1 -1
  45. package/dist/socket/events/entity_create.js +1 -1
  46. package/dist/socket/events/entity_create.js.map +1 -1
  47. package/dist/socket/events/entity_delete.d.ts.map +1 -1
  48. package/dist/socket/events/entity_delete.js +1 -1
  49. package/dist/socket/events/entity_delete.js.map +1 -1
  50. package/dist/socket/events/entity_read.js +1 -1
  51. package/dist/socket/events/entity_read.js.map +1 -1
  52. package/dist/socket/events/entity_update.d.ts.map +1 -1
  53. package/dist/socket/events/entity_update.js +1 -1
  54. package/dist/socket/events/entity_update.js.map +1 -1
  55. package/dist/socket/events/usage-context_read.d.ts.map +1 -1
  56. package/dist/socket/events/usage-context_read.js +1 -1
  57. package/dist/socket/events/usage-context_read.js.map +1 -1
  58. package/dist/socket/events/wizard.js +5 -5
  59. package/dist/socket/events/wizard.js.map +1 -1
  60. package/dist/store/metadata-store.d.ts.map +1 -1
  61. package/dist/store/metadata-store.js +1 -2
  62. package/dist/store/metadata-store.js.map +1 -1
  63. package/dist/templates/error.html +3 -0
  64. package/dist/utils/get-usage-context.js +1 -1
  65. package/dist/utils/get-usage-context.js.map +1 -1
  66. package/dist/utils/nodeFetch.js +10 -9
  67. package/dist/utils/nodeFetch.js.map +1 -1
  68. package/package.json +2 -2
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @description Клиентская ошибка. Используется для скрытия полезных данных от пользователя.
3
+ */
4
+ export default class ClientErrorGenerator {
5
+ message: string;
6
+ traceId: string;
7
+ statusCode?: number;
8
+ details: unknown;
9
+ constructor(params: IClientErrorParams);
10
+ static apply(error: unknown): ClientErrorGenerator;
11
+ private static parseCoreError;
12
+ }
13
+ interface IClientErrorParams {
14
+ message: string;
15
+ details?: unknown;
16
+ statusCode?: number;
17
+ traceId?: string;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=client-error-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-error-generator.d.ts","sourceRoot":"","sources":["../../src/classes/client-error-generator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAEjC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;gBAEX,MAAM,EAAE,kBAAkB;IAOtC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO;IAc3B,OAAO,CAAC,MAAM,CAAC,cAAc;CAO7B;AAED,UAAU,kBAAkB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_error_1 = __importDefault(require("../errors/api-error"));
7
+ const core_error_1 = __importDefault(require("../errors/core-error"));
8
+ const constants_1 = require("../constants");
9
+ /**
10
+ * @description Клиентская ошибка. Используется для скрытия полезных данных от пользователя.
11
+ */
12
+ class ClientErrorGenerator {
13
+ constructor(params) {
14
+ this.message = params.message;
15
+ this.traceId = params.traceId;
16
+ this.statusCode = params.statusCode;
17
+ this.details = params.details;
18
+ }
19
+ static apply(error) {
20
+ if (error instanceof api_error_1.default) {
21
+ const clientError = ClientErrorGenerator.parseCoreError(error);
22
+ clientError.statusCode = error.statusCode;
23
+ return clientError;
24
+ }
25
+ if (error instanceof core_error_1.default)
26
+ return ClientErrorGenerator.parseCoreError(error);
27
+ return new ClientErrorGenerator({
28
+ message: constants_1.DEFAULT_ERROR_MESSAGE
29
+ });
30
+ }
31
+ static parseCoreError(error) {
32
+ return new ClientErrorGenerator({
33
+ message: constants_1.DEFAULT_ERROR_MESSAGE,
34
+ traceId: error.traceId,
35
+ details: error.details
36
+ });
37
+ }
38
+ }
39
+ exports.default = ClientErrorGenerator;
40
+ //# sourceMappingURL=client-error-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-error-generator.js","sourceRoot":"","sources":["../../src/classes/client-error-generator.ts"],"names":[],"mappings":";;;;;AAAA,oEAA2C;AAC3C,sEAA6C;AAC7C,4CAAmD;AAEnD;;GAEG;AACH,MAAqB,oBAAoB;IAOxC,YAAY,MAA0B;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAc;QAC1B,IAAI,KAAK,YAAY,mBAAQ,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC/D,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC1C,OAAO,WAAW,CAAC;QACpB,CAAC;QAED,IAAI,KAAK,YAAY,oBAAS;YAAE,OAAO,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAEjF,OAAO,IAAI,oBAAoB,CAAC;YAC/B,OAAO,EAAE,iCAAqB;SAC9B,CAAC,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,KAAgB;QAC7C,OAAO,IAAI,oBAAoB,CAAC;YAC/B,OAAO,EAAE,iCAAqB;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACtB,CAAC,CAAA;IACH,CAAC;CACD;AAnCD,uCAmCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"view-controller.d.ts","sourceRoot":"","sources":["../../../src/controller/close-api/view-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAO1C,MAAM,CAAC,OAAO,OAAO,cAAc;WAErB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,KAAA;WAStD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,KAAA;CAiB9D"}
1
+ {"version":3,"file":"view-controller.d.ts","sourceRoot":"","sources":["../../../src/controller/close-api/view-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAM1C,MAAM,CAAC,OAAO,OAAO,cAAc;WAErB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,KAAA;WAStD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,KAAA;CAiB9D"}
@@ -34,10 +34,10 @@ class ViewController {
34
34
  try {
35
35
  const { entity, mark } = req.query;
36
36
  if (!entity && !mark)
37
- throw api_error_1.default.UndefinedEntityOrMarkForListSettings();
37
+ throw api_error_1.default.IncorrectEventParams("get-list-settings", req.query);
38
38
  const settings = list_store_1.default.get(String(entity), typeof mark === 'string' ? mark : null);
39
39
  if (!settings)
40
- throw api_error_1.default.ListSettingsNotFound(entity, mark);
40
+ throw api_error_1.default.ListConfigurationNotFound(entity, mark);
41
41
  res.json(settings);
42
42
  }
43
43
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"view-controller.js","sourceRoot":"","sources":["../../../src/controller/close-api/view-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,uEAA8C;AAC9C,sFAA4D;AAC5D,0DAAkC;AAClC,wEAA+C;AAE/C,MAAqB,cAAc;IAElC,MAAM,CAAO,oBAAoB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAI;;;YAClE,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,CAAA,MAAA,MAAA,gBAAM,CAAC,QAAQ,CAAC,aAAa,0CAAE,kBAAkB,0CAAG,OAAO,CAAC,KAAI,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;;KACD;IAED,MAAM,CAAO,eAAe,CAAC,GAAY,EAAE,GAAa,EAAE,IAAI;;YAC7D,IAAI,CAAC;gBACJ,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,GAAG,GAAG,CAAC,KAAK,CAAA;gBAEhC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;oBAAE,MAAM,mBAAQ,CAAC,oCAAoC,EAAE,CAAC;gBAE5E,MAAM,QAAQ,GAAG,oBAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEvF,IAAI,CAAC,QAAQ;oBAAE,MAAM,mBAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAEjE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;QACF,CAAC;KAAA;CAED;AA5BD,iCA4BC"}
1
+ {"version":3,"file":"view-controller.js","sourceRoot":"","sources":["../../../src/controller/close-api/view-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,uEAA8C;AAC9C,sFAA4D;AAC5D,0DAAkC;AAClC,wEAA+C;AAE/C,MAAqB,cAAc;IAElC,MAAM,CAAO,oBAAoB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAI;;;YAClE,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,CAAA,MAAA,MAAA,gBAAM,CAAC,QAAQ,CAAC,aAAa,0CAAE,kBAAkB,0CAAG,OAAO,CAAC,KAAI,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;;KACD;IAED,MAAM,CAAO,eAAe,CAAC,GAAY,EAAE,GAAa,EAAE,IAAI;;YAC7D,IAAI,CAAC;gBACJ,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,GAAG,GAAG,CAAC,KAAK,CAAA;gBAEhC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;oBAAE,MAAM,mBAAQ,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE1F,MAAM,QAAQ,GAAG,oBAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEvF,IAAI,CAAC,QAAQ;oBAAE,MAAM,mBAAQ,CAAC,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAEtE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;QACF,CAAC;KAAA;CAED;AA5BD,iCA4BC"}
@@ -1,23 +1,12 @@
1
- export default class ApiError extends Error {
2
- status: number;
3
- details: any;
4
- constructor(msg: string, status?: number, details?: string[]);
5
- static AccessDenied(): ApiError;
6
- static UnauthorizedAccess(accessTo?: string): ApiError;
7
- static RouteNotFounded(): ApiError;
8
- static DefaultUsageContextNotFound(): ApiError;
1
+ import CoreError from "./core-error";
2
+ export default class ApiError extends CoreError {
9
3
  /**
10
- * @new
11
- * @description Ошибка используется в случе, если объект не найден в системе, или при запросе объекта мы получаем ош
12
- * ибку доступа. Например, в случае, получения объекта по идентификатору - мы можем его не найти.
4
+ * @description Поскольку ошибка относится к API, то здесь возможно задать код ошибки. Для того, чтобы на
5
+ * frontend лучше понимать, в чем ошибка.
13
6
  */
14
- static ItemNotFoundOrNotAccessible(): ApiError;
15
- static NotFound(data: any): ApiError;
16
- static InvalidAccess(message?: string): ApiError;
17
- static UsageContextNotFounded(url: string): ApiError;
18
- static UndefinedPrimaryKey(): ApiError;
19
- static UndefinedEntityOrMarkForListSettings(): ApiError;
20
- static ListSettingsNotFound(entity: any, mark: any): ApiError;
7
+ statusCode: number;
8
+ constructor(msg: string, statusCode?: number, details?: string[]);
9
+ static UnauthorizedAccess(accessTo?: string): ApiError;
21
10
  static RabbitMessageIncorrect(message: any): ApiError;
22
11
  static RabbitMessagePayloadIncorrect(payload: any): ApiError;
23
12
  /**
@@ -34,5 +23,30 @@ export default class ApiError extends Error {
34
23
  * @param eventName Название события, которое не было найдено.
35
24
  */
36
25
  static UnknownEvent(eventName: string): ApiError;
26
+ /**
27
+ * @description Ошибка связана со случаем, когда мы используем usage-context(при чтении его, изменении данных и т.д.),
28
+ * но usage-context связка не была определена в конфигурации.
29
+ * @param url {String} путь, который передаётся в качестве текущего.
30
+ */
31
+ static UsageContextBindingIsNotRegistered(url?: string): ApiError;
32
+ /**
33
+ * @new
34
+ * @description Ошибка используется в случе, если объект не найден в системе, или при запросе объекта мы получаем
35
+ * ошибку доступа. Например, в случае, получения объекта по идентификатору - мы можем его не найти.
36
+ */
37
+ static ItemNotFoundOrNotAccessible(entityName: string, primaryKey: string | number): ApiError;
38
+ /**
39
+ * @description Ошибка для случая, когда первичный ключ не является валидным.
40
+ * @param primaryKey Полученный первичный ключ
41
+ * @constructor
42
+ */
43
+ static InvalidPrimaryKey(primaryKey: unknown): ApiError;
44
+ /**
45
+ * @description Ошибка для случая, когда не удалось найти конфигурацию списка для переданной сущности и метки
46
+ * @param entity
47
+ * @param mark
48
+ * @constructor
49
+ */
50
+ static ListConfigurationNotFound(entity: any, mark: any): ApiError;
37
51
  }
38
52
  //# sourceMappingURL=api-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../src/errors/api-error.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK;IAGV,MAAM,EAAE,MAAM;IAD9C,OAAO,EAAE,GAAG,CAAA;gBACA,GAAG,EAAE,MAAM,EAAS,MAAM,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;IAKxE,MAAM,CAAC,YAAY;IAInB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAG3C,MAAM,CAAC,eAAe;IAGtB,MAAM,CAAC,2BAA2B;IAGlC;;;;OAIG;IACH,MAAM,CAAC,2BAA2B;IAIlC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG;IAIzB,MAAM,CAAC,aAAa,CAAC,OAAO,GAAE,MAA0G;IAGxI,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM;IAGzC,MAAM,CAAC,mBAAmB;IAK1B,MAAM,CAAC,oCAAoC;IAI3C,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAKlD,MAAM,CAAC,sBAAsB,CAAC,OAAO,KAAA;IAGrC,MAAM,CAAC,6BAA6B,CAAC,OAAO,KAAA;IAI5C;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAIhE;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;CAGrC"}
1
+ {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../src/errors/api-error.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS;IAE9C;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAA;gBAEN,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;IAQrE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAO3C,MAAM,CAAC,sBAAsB,CAAC,OAAO,KAAA;IAGrC,MAAM,CAAC,6BAA6B,CAAC,OAAO,KAAA;IAI5C;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAIhE;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;IAIrC;;;;OAIG;IACH,MAAM,CAAC,kCAAkC,CAAC,GAAG,CAAC,EAAE,MAAM;IAItD;;;;OAIG;IACH,MAAM,CAAC,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIlF;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO;IAI5C;;;;;OAKG;IACH,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;CAIvD"}
@@ -1,54 +1,22 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- class ApiError extends Error {
4
- constructor(msg, status = 500, details) {
5
- super(msg);
6
- this.status = status;
7
- this.details = details || [];
8
- }
9
- static AccessDenied() {
10
- return new ApiError(`The server understood the request, but refuses to authorize it. This page may require you to log in or provide additional credentials. Additionally, access to the requested resource may be prohibited for other reasons. Please contact the website administrator to resolve this issue.`, 403);
6
+ const core_error_1 = __importDefault(require("./core-error"));
7
+ class ApiError extends core_error_1.default {
8
+ constructor(msg, statusCode = 500, details) {
9
+ super(msg, details);
10
+ this.statusCode = statusCode;
11
11
  }
12
12
  static UnauthorizedAccess(accessTo) {
13
13
  return new ApiError(`Unauthorized access(${accessTo})`, 500);
14
14
  }
15
- static RouteNotFounded() {
16
- return new ApiError("Route or File is not found", 404);
17
- }
18
- static DefaultUsageContextNotFound() {
19
- return new ApiError(`Default usage context is not provided`, 500);
20
- }
21
- /**
22
- * @new
23
- * @description Ошибка используется в случе, если объект не найден в системе, или при запросе объекта мы получаем ош
24
- * ибку доступа. Например, в случае, получения объекта по идентификатору - мы можем его не найти.
25
- */
26
- static ItemNotFoundOrNotAccessible() {
27
- return new ApiError(`Item either is not found or not accessible`, 404);
28
- }
29
- static NotFound(data) {
30
- return new ApiError('Object not found', 404);
31
- }
32
- static InvalidAccess(message = 'It looks like we have some problems with authentication, you may try to refresh page or relogin') {
33
- return new ApiError(message, 401);
34
- }
35
- static UsageContextNotFounded(url) {
36
- return new ApiError(`Metadata can't be found for url(${url}).`, 500);
37
- }
38
- static UndefinedPrimaryKey() {
39
- return new ApiError('Required field not specified: PrimaryKey');
40
- }
41
- static UndefinedEntityOrMarkForListSettings() {
42
- return new ApiError('Please provide entity name or mark.');
43
- }
44
- static ListSettingsNotFound(entity, mark) {
45
- return new ApiError(`Can't find list settings for entity ${entity} and mark ${mark}`);
46
- }
47
15
  static RabbitMessageIncorrect(message) {
48
16
  return new ApiError(`Is not correct Rabbit Message: ${message}`);
49
17
  }
50
18
  static RabbitMessagePayloadIncorrect(payload) {
51
- return new ApiError(`Is not correct Rabbit Message Payload`, payload);
19
+ return new ApiError(`Is not correct Rabbit Message Payload`, 500, payload);
52
20
  }
53
21
  /**
54
22
  * @description Ошибка предназначенная для невалидных параметров переданных в событие(socket-event). Является
@@ -68,6 +36,39 @@ class ApiError extends Error {
68
36
  static UnknownEvent(eventName) {
69
37
  return new ApiError(`Event with name "${eventName}" not registered in socket-event-store.`, 404);
70
38
  }
39
+ /**
40
+ * @description Ошибка связана со случаем, когда мы используем usage-context(при чтении его, изменении данных и т.д.),
41
+ * но usage-context связка не была определена в конфигурации.
42
+ * @param url {String} путь, который передаётся в качестве текущего.
43
+ */
44
+ static UsageContextBindingIsNotRegistered(url) {
45
+ return new ApiError(`Usage-Context not binding with URL/Path ${url} inside website configurations.`);
46
+ }
47
+ /**
48
+ * @new
49
+ * @description Ошибка используется в случе, если объект не найден в системе, или при запросе объекта мы получаем
50
+ * ошибку доступа. Например, в случае, получения объекта по идентификатору - мы можем его не найти.
51
+ */
52
+ static ItemNotFoundOrNotAccessible(entityName, primaryKey) {
53
+ return new ApiError(`The entity "${entityName}" with pk "${primaryKey}" could not be found or cannot be accessed.`, 404);
54
+ }
55
+ /**
56
+ * @description Ошибка для случая, когда первичный ключ не является валидным.
57
+ * @param primaryKey Полученный первичный ключ
58
+ * @constructor
59
+ */
60
+ static InvalidPrimaryKey(primaryKey) {
61
+ return new ApiError('Required field not specified: PrimaryKey', 400, [typeof primaryKey]);
62
+ }
63
+ /**
64
+ * @description Ошибка для случая, когда не удалось найти конфигурацию списка для переданной сущности и метки
65
+ * @param entity
66
+ * @param mark
67
+ * @constructor
68
+ */
69
+ static ListConfigurationNotFound(entity, mark) {
70
+ return new ApiError(`Can't find list settings for entity ${entity} and mark ${mark}.`);
71
+ }
71
72
  }
72
73
  exports.default = ApiError;
73
74
  //# sourceMappingURL=api-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-error.js","sourceRoot":"","sources":["../../src/errors/api-error.ts"],"names":[],"mappings":";;AACA,MAAqB,QAAS,SAAQ,KAAK;IAG1C,YAAY,GAAW,EAAS,SAAiB,GAAG,EAAE,OAAkB;QACvE,KAAK,CAAC,GAAG,CAAC,CAAC;QADoB,WAAM,GAAN,MAAM,CAAc;QAEnD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,YAAY;QAClB,OAAO,IAAI,QAAQ,CAAC,4RAA4R,EAAE,GAAG,CAAC,CAAA;IACvT,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAiB;QAC1C,OAAO,IAAI,QAAQ,CAAC,uBAAuB,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,CAAC,eAAe;QACrB,OAAO,IAAI,QAAQ,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,CAAC,2BAA2B;QACjC,OAAO,IAAI,QAAQ,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,2BAA2B;QACjC,OAAO,IAAI,QAAQ,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAS;QACxB,OAAO,IAAI,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAkB,iGAAiG;QACvI,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,CAAC,sBAAsB,CAAC,GAAW;QACxC,OAAO,IAAI,QAAQ,CAAC,mCAAmC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,CAAC,mBAAmB;QACzB,OAAO,IAAI,QAAQ,CAAC,0CAA0C,CAAC,CAAA;IAChE,CAAC;IAGD,MAAM,CAAC,oCAAoC;QAC1C,OAAO,IAAI,QAAQ,CAAC,qCAAqC,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,MAAW,EAAE,IAAS;QACjD,OAAO,IAAI,QAAQ,CAAC,uCAAuC,MAAM,aAAa,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IAGD,MAAM,CAAC,sBAAsB,CAAC,OAAO;QACpC,OAAO,IAAI,QAAQ,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,CAAC,6BAA6B,CAAC,OAAO;QAC3C,OAAO,IAAI,QAAQ,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAkB,EAAE,MAAgB;QAC/D,OAAO,IAAI,QAAQ,CAAC,wDAAwD,SAAS,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnI,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,SAAiB;QACpC,OAAO,IAAI,QAAQ,CAAC,oBAAoB,SAAS,yCAAyC,EAAE,GAAG,CAAC,CAAA;IACjG,CAAC;CACD;AAhFD,2BAgFC"}
1
+ {"version":3,"file":"api-error.js","sourceRoot":"","sources":["../../src/errors/api-error.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAqB,QAAS,SAAQ,oBAAS;IAQ9C,YAAY,GAAW,EAAE,aAAqB,GAAG,EAAE,OAAkB;QACpE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;IAID,MAAM,CAAC,kBAAkB,CAAC,QAAiB;QAC1C,OAAO,IAAI,QAAQ,CAAC,uBAAuB,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAKD,MAAM,CAAC,sBAAsB,CAAC,OAAO;QACpC,OAAO,IAAI,QAAQ,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,CAAC,6BAA6B,CAAC,OAAO;QAC3C,OAAO,IAAI,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAkB,EAAE,MAAgB;QAC/D,OAAO,IAAI,QAAQ,CAAC,wDAAwD,SAAS,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnI,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,SAAiB;QACpC,OAAO,IAAI,QAAQ,CAAC,oBAAoB,SAAS,yCAAyC,EAAE,GAAG,CAAC,CAAA;IACjG,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kCAAkC,CAAC,GAAY;QACrD,OAAO,IAAI,QAAQ,CAAC,2CAA2C,GAAG,iCAAiC,CAAC,CAAA;IACrG,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,2BAA2B,CAAC,UAAkB,EAAE,UAA2B;QACjF,OAAO,IAAI,QAAQ,CAAC,eAAe,UAAU,cAAc,UAAU,6CAA6C,EAAE,GAAG,CAAC,CAAC;IAC1H,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAmB;QAC3C,OAAO,IAAI,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,yBAAyB,CAAC,MAAW,EAAE,IAAS;QACtD,OAAO,IAAI,QAAQ,CAAC,uCAAuC,MAAM,aAAa,IAAI,GAAG,CAAC,CAAC;IACxF,CAAC;CAED;AAvFD,2BAuFC"}
@@ -0,0 +1,29 @@
1
+ import CoreError from "./core-error";
2
+ /**
3
+ * @description Используется только для обработки ошибок при запросе на AppServer.
4
+ */
5
+ export default class AppServerError extends CoreError {
6
+ /**
7
+ * @description Ошибка для случая, когда response не является валидным при обработке ответа с AppServer.
8
+ * @constructor
9
+ */
10
+ static InvalidResponse(): AppServerError;
11
+ /**
12
+ * @description Ошибка для случая, когда не удалось получить значение content-type. Вероятно всего, метод на AppServer
13
+ * не правильно сконфигурирован.
14
+ * @constructor
15
+ */
16
+ static InvalidContentType(): AppServerError;
17
+ /**
18
+ * @description Ошибка для случая, когда для полученного Content-Type не удалосьн айти обработчика.
19
+ * @param contentType
20
+ * @constructor
21
+ */
22
+ static UnknownContentType(contentType: string): AppServerError;
23
+ /**
24
+ * @description Ошибка используется, когда запрос завершился с ошибкой.
25
+ * @constructor
26
+ */
27
+ static FailedRequest(appServerError: unknown, details?: unknown): AppServerError;
28
+ }
29
+ //# sourceMappingURL=app-server-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-server-error.d.ts","sourceRoot":"","sources":["../../src/errors/app-server-error.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IAEpD;;;OAGG;IACH,MAAM,CAAC,eAAe;IAItB;;;;OAIG;IACH,MAAM,CAAC,kBAAkB;IAIzB;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM;IAI7C;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/D"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_error_1 = __importDefault(require("./core-error"));
7
+ /**
8
+ * @description Используется только для обработки ошибок при запросе на AppServer.
9
+ */
10
+ class AppServerError extends core_error_1.default {
11
+ /**
12
+ * @description Ошибка для случая, когда response не является валидным при обработке ответа с AppServer.
13
+ * @constructor
14
+ */
15
+ static InvalidResponse() {
16
+ return new AppServerError("The response was not received in a valid format, or the web server did not learn to process it.", []);
17
+ }
18
+ /**
19
+ * @description Ошибка для случая, когда не удалось получить значение content-type. Вероятно всего, метод на AppServer
20
+ * не правильно сконфигурирован.
21
+ * @constructor
22
+ */
23
+ static InvalidContentType() {
24
+ return new AppServerError("Failed to retrieve Content-Type information", []);
25
+ }
26
+ /**
27
+ * @description Ошибка для случая, когда для полученного Content-Type не удалосьн айти обработчика.
28
+ * @param contentType
29
+ * @constructor
30
+ */
31
+ static UnknownContentType(contentType) {
32
+ return new AppServerError(`Failed to process the received content-type "${contentType}"`, []);
33
+ }
34
+ /**
35
+ * @description Ошибка используется, когда запрос завершился с ошибкой.
36
+ * @constructor
37
+ */
38
+ static FailedRequest(appServerError, details) {
39
+ return new AppServerError("AppServer successfully processed the request, but returned an error.", [appServerError, details]);
40
+ }
41
+ }
42
+ exports.default = AppServerError;
43
+ //# sourceMappingURL=app-server-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-server-error.js","sourceRoot":"","sources":["../../src/errors/app-server-error.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC;;GAEG;AACH,MAAqB,cAAe,SAAQ,oBAAS;IAEpD;;;OAGG;IACH,MAAM,CAAC,eAAe;QACrB,OAAO,IAAI,cAAc,CAAC,iGAAiG,EAAE,EAAE,CAAC,CAAC;IAClI,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB;QACxB,OAAO,IAAI,cAAc,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAmB;QAC5C,OAAO,IAAI,cAAc,CAAC,gDAAgD,WAAW,GAAG,EAAE,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,cAAuB,EAAE,OAAiB;QAC9D,OAAO,IAAI,cAAc,CAAC,sEAAsE,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7H,CAAC;CAED;AApCD,iCAoCC"}
@@ -1,4 +1,6 @@
1
- export default class AuthError extends Error {
1
+ import CoreError from "./core-error";
2
+ export default class AuthError extends CoreError {
3
+ constructor(message: string);
2
4
  /**
3
5
  * @description WebServer Client Auth is not initialize.
4
6
  */
@@ -9,5 +11,10 @@ export default class AuthError extends Error {
9
11
  */
10
12
  static UserIsNotAuthorize(): AuthError;
11
13
  static RefreshNotAvailableOrSessionOutOfDate(): AuthError;
14
+ /**
15
+ * @description Ошибка связана с получением информации о пользователе по его externalId. Одна из причин является
16
+ * отсутствие пользователя: он не был добавлен в таблицу User.
17
+ */
18
+ static UserNotFound(externalId: string): AuthError;
12
19
  }
13
20
  //# sourceMappingURL=auth-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../src/errors/auth-error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK;IAE3C;;OAEG;IACH,MAAM,CAAC,4BAA4B;IAInC;;;OAGG;IACH,MAAM,CAAC,kBAAkB;IAIzB,MAAM,CAAC,qCAAqC;CAG5C"}
1
+ {"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../src/errors/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS;gBAEnC,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,MAAM,CAAC,4BAA4B;IAInC;;;OAGG;IACH,MAAM,CAAC,kBAAkB;IAIzB,MAAM,CAAC,qCAAqC;IAI5C;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM;CAGtC"}
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- class AuthError extends Error {
6
+ const core_error_1 = __importDefault(require("./core-error"));
7
+ class AuthError extends core_error_1.default {
8
+ constructor(message) {
9
+ super(message, ["auth type of error."]);
10
+ }
4
11
  /**
5
12
  * @description WebServer Client Auth is not initialize.
6
13
  */
@@ -17,6 +24,13 @@ class AuthError extends Error {
17
24
  static RefreshNotAvailableOrSessionOutOfDate() {
18
25
  return new AuthError('The refresh token is out of date or it not provided.');
19
26
  }
27
+ /**
28
+ * @description Ошибка связана с получением информации о пользователе по его externalId. Одна из причин является
29
+ * отсутствие пользователя: он не был добавлен в таблицу User.
30
+ */
31
+ static UserNotFound(externalId) {
32
+ return new AuthError(`Can't read user information. External id ${externalId}`);
33
+ }
20
34
  }
21
35
  exports.default = AuthError;
22
36
  //# sourceMappingURL=auth-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-error.js","sourceRoot":"","sources":["../../src/errors/auth-error.ts"],"names":[],"mappings":";;AAAA,MAAqB,SAAU,SAAQ,KAAK;IAE3C;;OAEG;IACH,MAAM,CAAC,4BAA4B;QAClC,OAAO,IAAI,SAAS,CAAC,wEAAwE,CAAC,CAAA;IAC/F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,kBAAkB;QACxB,OAAO,IAAI,SAAS,CAAC,6GAA6G,CAAC,CAAC;IACrI,CAAC;IAED,MAAM,CAAC,qCAAqC;QAC3C,OAAO,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC9E,CAAC;CACD;AApBD,4BAoBC"}
1
+ {"version":3,"file":"auth-error.js","sourceRoot":"","sources":["../../src/errors/auth-error.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAqB,SAAU,SAAQ,oBAAS;IAE/C,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,4BAA4B;QAClC,OAAO,IAAI,SAAS,CAAC,wEAAwE,CAAC,CAAA;IAC/F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,kBAAkB;QACxB,OAAO,IAAI,SAAS,CAAC,6GAA6G,CAAC,CAAC;IACrI,CAAC;IAED,MAAM,CAAC,qCAAqC;QAC3C,OAAO,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,UAAkB;QACrC,OAAO,IAAI,SAAS,CAAC,4CAA4C,UAAU,EAAE,CAAC,CAAC;IAChF,CAAC;CACD;AAhCD,4BAgCC"}
@@ -1,51 +1,17 @@
1
+ /**
2
+ * @description Базовая ошибка для всего ядра приложения. Используется для скрытия генерации уникального идентификатора
3
+ * ошибки и скрытия лишней информации о пользователе.
4
+ */
1
5
  export default class CoreError extends Error {
6
+ traceId: string;
2
7
  details: any;
3
- /**
4
- * @description Используется, если ошибка связана с http запросами.
5
- */
6
- httpStatus?: number;
7
8
  /**
8
9
  * @description Класс используется для более удобной работы с ошибками. Добавляет полей displayMessage, которое в
9
10
  * конечном итоге (в middleware) будет использоваться в качестве message;
10
- * @param displayMessage {String} Текстовое сообщение для пользователя
11
- * @param insideError {any} Внутренняя ошибка
11
+ * @param message {String} Текстовое сообщение ошибки
12
12
  * @param details {any} Любая дополнительная информация
13
13
  */
14
- constructor(displayMessage: string, insideError?: unknown, details?: unknown);
14
+ constructor(message: string, details: any);
15
15
  toString(): string;
16
- displayMessage: string;
17
- /**
18
- * @description Ошибка связана с получением информации о пользователе по его externalId. Одна из причин является
19
- * отсутствие пользователя: он не был добавлен в таблицу User.
20
- */
21
- static UserNotFound(externalId: string): CoreError;
22
- /**
23
- * @description Ошибка связана со случаем, когда мы используем usage-context(при чтении его, изменении данных и т.д.),
24
- * но usage-context связка не была определена в конфигурации.
25
- * @param url {String} путь, который передаётся в качестве текущего.
26
- */
27
- static UsageContextBindingIsNotRegistered(url?: string): CoreError;
28
- /**
29
- * @description Ошибка используется в случае, когда с AppServer пришла не обработанное исключение. В таком случае
30
- * сообщения имеет значение по умолчанию. Однако в деталях хранится информация переданная с AppServer.
31
- * @param {string[]} details Любая возможная информация, которая будет добавлена в ошибку.
32
- * @param {number} statusCode Код ответа от AppServer
33
- * @constructor
34
- */
35
- static AppServerError(details?: string[] | string, statusCode?: number): CoreError;
36
- /**
37
- * @description Обработка обычных http ошибок
38
- * @param status {number} httpStatus code
39
- * @param message
40
- * @param details
41
- * @constructor
42
- */
43
- static HTTPError(status: number, message: string, details?: any): CoreError;
44
- /**
45
- * @description Самая ленивая ошибка. Т.к. функция сама определяет, что ей делать с данными.
46
- * @param data
47
- * @constructor
48
- */
49
- static Any(data: unknown): CoreError;
50
16
  }
51
17
  //# sourceMappingURL=core-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core-error.d.ts","sourceRoot":"","sources":["../../src/errors/core-error.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK;IAC3C,OAAO,EAAE,GAAG,CAAA;IAEZ;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;OAMG;gBACS,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,OAAY;IAiBhF,QAAQ;IAUR,cAAc,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM;IAItC;;;;OAIG;IACH,MAAM,CAAC,kCAAkC,CAAC,GAAG,CAAC,EAAE,MAAM;IAKtD;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,GAAE,MAAM,EAAE,GAAG,MAAW,EAAE,UAAU,SAAM;IAOvE;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAM/D;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;CAqBxB"}
1
+ {"version":3,"file":"core-error.d.ts","sourceRoot":"","sources":["../../src/errors/core-error.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK;IAE3C,OAAO,SAAW;IAClB,OAAO,EAAE,GAAG,CAAA;IAEZ;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAMzC,QAAQ;CAIR"}
@@ -1,103 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const constants_1 = require("../constants");
4
- const use_logger_1 = require("../logger/use-logger");
3
+ const uuid_1 = require("uuid");
4
+ /**
5
+ * @description Базовая ошибка для всего ядра приложения. Используется для скрытия генерации уникального идентификатора
6
+ * ошибки и скрытия лишней информации о пользователе.
7
+ */
5
8
  class CoreError extends Error {
6
9
  /**
7
10
  * @description Класс используется для более удобной работы с ошибками. Добавляет полей displayMessage, которое в
8
11
  * конечном итоге (в middleware) будет использоваться в качестве message;
9
- * @param displayMessage {String} Текстовое сообщение для пользователя
10
- * @param insideError {any} Внутренняя ошибка
12
+ * @param message {String} Текстовое сообщение ошибки
11
13
  * @param details {any} Любая дополнительная информация
12
14
  */
13
- constructor(displayMessage, insideError, details = []) {
14
- super();
15
- this.displayMessage = displayMessage;
16
- if (insideError instanceof Error) {
17
- this.stack = insideError.stack;
18
- this.message = insideError.message;
19
- }
20
- if (typeof insideError === 'string') {
21
- this.message = insideError;
22
- }
23
- if (!this.message)
24
- this.message = this.displayMessage;
15
+ constructor(message, details) {
16
+ super(message);
17
+ this.traceId = (0, uuid_1.v4)();
25
18
  this.details = details || [];
26
19
  }
27
20
  toString() {
28
- const answerArray = [this.displayMessage];
29
- if (this.message !== this.displayMessage)
30
- answerArray.push(this.message);
31
- if (this.httpStatus)
32
- answerArray.push(this.httpStatus.toString());
33
- answerArray.push(this.details.toString());
34
- return answerArray.join(' ');
35
- }
36
- /**
37
- * @description Ошибка связана с получением информации о пользователе по его externalId. Одна из причин является
38
- * отсутствие пользователя: он не был добавлен в таблицу User.
39
- */
40
- static UserNotFound(externalId) {
41
- return new CoreError(`Can't read user information. External id ${externalId}`);
42
- }
43
- /**
44
- * @description Ошибка связана со случаем, когда мы используем usage-context(при чтении его, изменении данных и т.д.),
45
- * но usage-context связка не была определена в конфигурации.
46
- * @param url {String} путь, который передаётся в качестве текущего.
47
- */
48
- static UsageContextBindingIsNotRegistered(url) {
49
- return new CoreError(`Usage-Context not binding with URL/Path ${url} inside website configurations.`);
50
- }
51
- /**
52
- * @description Ошибка используется в случае, когда с AppServer пришла не обработанное исключение. В таком случае
53
- * сообщения имеет значение по умолчанию. Однако в деталях хранится информация переданная с AppServer.
54
- * @param {string[]} details Любая возможная информация, которая будет добавлена в ошибку.
55
- * @param {number} statusCode Код ответа от AppServer
56
- * @constructor
57
- */
58
- static AppServerError(details = [], statusCode = 500) {
59
- if (typeof details === 'string')
60
- details = [details];
61
- const error = new CoreError(constants_1.DEFAULT_ERROR_MESSAGE, 'AppServer Error', details);
62
- error.httpStatus = statusCode;
63
- return error;
64
- }
65
- /**
66
- * @description Обработка обычных http ошибок
67
- * @param status {number} httpStatus code
68
- * @param message
69
- * @param details
70
- * @constructor
71
- */
72
- static HTTPError(status, message, details) {
73
- const error = new CoreError(message, message, details);
74
- error.httpStatus = status;
75
- return error;
76
- }
77
- /**
78
- * @description Самая ленивая ошибка. Т.к. функция сама определяет, что ей делать с данными.
79
- * @param data
80
- * @constructor
81
- */
82
- static Any(data) {
83
- if (data instanceof CoreError)
84
- return data;
85
- if (typeof data === 'string')
86
- return new CoreError(constants_1.DEFAULT_ERROR_MESSAGE, data);
87
- try {
88
- // @ts-ignore
89
- const error = new CoreError(constants_1.DEFAULT_ERROR_MESSAGE, data === null || data === void 0 ? void 0 : data.message);
90
- // @ts-ignore
91
- if (data === null || data === void 0 ? void 0 : data.status)
92
- error.httpStatus = data.status;
93
- error.details = [JSON.stringify(data)];
94
- return error;
95
- }
96
- catch (e) {
97
- use_logger_1.Logger.error('Error occurred while trying to parse error by CoreError.Any.');
98
- use_logger_1.Logger.error(e);
99
- }
100
- return new CoreError(constants_1.DEFAULT_ERROR_MESSAGE, "Unknown error occurred. Check logs.");
21
+ return [this.traceId, this.message, this.details].join(" ");
101
22
  }
102
23
  }
103
24
  exports.default = CoreError;
@@ -1 +1 @@
1
- {"version":3,"file":"core-error.js","sourceRoot":"","sources":["../../src/errors/core-error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-error.js","sourceRoot":"","sources":["../../src/errors/core-error.ts"],"names":[],"mappings":";;AAAA,+BAAkC;AAGlC;;;GAGG;AACH,MAAqB,SAAU,SAAQ,KAAK;IAK3C;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAAY;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QAVhB,YAAO,GAAG,IAAA,SAAM,GAAE,CAAA;QAWjB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;IAGD,QAAQ;QACP,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5D,CAAC;CAED;AArBD,4BAqBC"}