@archtx/core 2.0.7 → 3.0.0

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.
@@ -1,13 +1,14 @@
1
- import { ILog, Log } from './Log.js';
2
- export declare class UseCaseLog extends Log {
1
+ import { ILogger, Logger } from './Logger.js';
2
+ export declare class UseCaseLog extends Logger {
3
3
  }
4
4
  export declare abstract class UseCase<Services extends object = never> {
5
5
  protected services: {
6
- log: ILog;
6
+ log: ILogger;
7
7
  } & Services;
8
8
  constructor(services: {
9
- log: ILog;
9
+ log: ILogger;
10
10
  } & Services, ...args: any);
11
- protected log: ILog;
11
+ protected log: ILogger;
12
12
  abstract execute(...args: any): Promise<any>;
13
+ get name(): string;
13
14
  }
@@ -1,5 +1,5 @@
1
- import { Log } from './Log.js';
2
- export class UseCaseLog extends Log {
1
+ import { Logger } from './Logger.js';
2
+ export class UseCaseLog extends Logger {
3
3
  }
4
4
  export class UseCase {
5
5
  services;
@@ -8,5 +8,8 @@ export class UseCase {
8
8
  this.log = new UseCaseLog(services.log).log;
9
9
  }
10
10
  log;
11
+ get name() {
12
+ return this.constructor.name;
13
+ }
11
14
  }
12
15
  //# sourceMappingURL=UseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UseCase.js","sourceRoot":"","sources":["../../src/UseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,GAAG,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,OAAO,UAAW,SAAQ,GAAG;CAAG;AAEtC,MAAM,OAAgB,OAAO;IAEf;IADZ,YACY,QAAkC,EAC5C,GAAG,IAAS;QADF,aAAQ,GAAR,QAAQ,CAA0B;QAG5C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;IAC7C,CAAC;IAES,GAAG,CAAM;CAGpB"}
1
+ {"version":3,"file":"UseCase.js","sourceRoot":"","sources":["../../src/UseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,OAAO,UAAW,SAAQ,MAAM;CAAG;AAEzC,MAAM,OAAgB,OAAO;IAEf;IADZ,YACY,QAAqC,EAC/C,GAAG,IAAS;QADF,aAAQ,GAAR,QAAQ,CAA6B;QAG/C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;IAC7C,CAAC;IAES,GAAG,CAAS;IAItB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Interfaces
3
3
  */
4
- export type IWithID<DataModel extends object = object> = DataModel & {
4
+ export type IWithID<T extends object = object> = T & {
5
5
  id: string;
6
6
  };
7
7
  /**
@@ -14,4 +14,4 @@ export type TUUID = string;
14
14
  */
15
15
  export type DeepReadonly<T> = T extends Array<infer U> ? ReadonlyArray<DeepReadonly<U>> : T extends object ? {
16
16
  readonly [P in keyof T]: DeepReadonly<T[P]>;
17
- } : T;
17
+ } : Readonly<T>;
@@ -0,0 +1,17 @@
1
+ import { RootError } from './RootError.js';
2
+ type ERROR_DESC = 'AUTH_CHECK_FAILED' | 'INVALID_CREDENTIALS' | 'NOT_AUTHENTICATED' | 'UNABLE_TO_CHECK_AUTH';
3
+ export declare class AuthenticationError extends RootError {
4
+ readonly message: string;
5
+ meta: {
6
+ errorType: ERROR_DESC;
7
+ externalDesc?: string;
8
+ [key: string]: any;
9
+ };
10
+ errorType?: ERROR_DESC;
11
+ constructor(message: string, meta: {
12
+ errorType: ERROR_DESC;
13
+ externalDesc?: string;
14
+ [key: string]: any;
15
+ });
16
+ }
17
+ export {};
@@ -0,0 +1,16 @@
1
+ // Used when user input data validation fails
2
+ import { RootError } from './RootError.js';
3
+ export class AuthenticationError extends RootError {
4
+ message;
5
+ meta;
6
+ errorType;
7
+ constructor(message, meta) {
8
+ super(message, meta);
9
+ this.message = message;
10
+ this.meta = meta;
11
+ this.errorType = meta.errorType;
12
+ // https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
13
+ Object.setPrototypeOf(this, AuthenticationError.prototype);
14
+ }
15
+ }
16
+ //# sourceMappingURL=AuthenticationError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticationError.js","sourceRoot":"","sources":["../../../src/errors/AuthenticationError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ1C,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAIrC;IACF;IAJF,SAAS,CAAa;IAE7B,YACW,OAAe,EACjB,IAIN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAPX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAIV;QAID,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAE/B,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import { RootError } from './RootError.js';
2
+ type ERROR_DESC = 'INVALID_ACCESS' | 'INVALID_IDENTITY' | 'INVALID_PERMISSIONS';
3
+ export declare class AuthorizationError extends RootError {
4
+ readonly message: string;
5
+ meta: {
6
+ errorType: ERROR_DESC;
7
+ externalDesc?: string;
8
+ [key: string]: any;
9
+ };
10
+ errorType?: ERROR_DESC;
11
+ constructor(message: string, meta: {
12
+ errorType: ERROR_DESC;
13
+ externalDesc?: string;
14
+ [key: string]: any;
15
+ });
16
+ }
17
+ export {};
@@ -0,0 +1,16 @@
1
+ // Used when user input data validation fails
2
+ import { RootError } from './RootError.js';
3
+ export class AuthorizationError extends RootError {
4
+ message;
5
+ meta;
6
+ errorType;
7
+ constructor(message, meta) {
8
+ super(message, meta);
9
+ this.message = message;
10
+ this.meta = meta;
11
+ this.errorType = meta.errorType;
12
+ // https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
13
+ Object.setPrototypeOf(this, AuthorizationError.prototype);
14
+ }
15
+ }
16
+ //# sourceMappingURL=AuthorizationError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthorizationError.js","sourceRoot":"","sources":["../../../src/errors/AuthorizationError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAO1C,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAIpC;IACF;IAJF,SAAS,CAAa;IAE7B,YACW,OAAe,EACjB,IAIN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAPX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAIV;QAID,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAE/B,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC3D,CAAC;CACF"}
@@ -1,21 +1,23 @@
1
1
  import { describe, test, expect } from 'vitest';
2
2
  import { RootError } from './RootError.js';
3
- import { AuthError } from './AuthError.js';
3
+ import { AuthorizationError } from './AuthorizationError.js';
4
4
  import { EntityError } from './EntityError.js';
5
5
  import { ExpiredError } from './ExpiredError.js';
6
6
  import { NotFoundError } from './NotFoundError.js';
7
7
  import { ParamError } from './ParamError.js';
8
8
  import { UseCaseError } from './UseCaseError.js';
9
9
  import { ValidationError } from './ValidationError.js';
10
+ import { AuthenticationError } from './AuthenticationError.js';
10
11
  describe('rootErrors', () => {
11
12
  test('instanceof DomainError', () => {
12
13
  expect(new RootError('')).toBeInstanceOf(Error);
13
14
  expect(new RootError('')).toBeInstanceOf(RootError);
14
15
  });
15
- test('instanceof AuthError', () => {
16
- expect(new AuthError('', { errorType: 'NOT_AUTHENTICATED' })).toBeInstanceOf(Error);
17
- expect(new AuthError('', { errorType: 'NOT_AUTHENTICATED' })).toBeInstanceOf(RootError);
18
- expect(new AuthError('', { errorType: 'NOT_AUTHENTICATED' })).toBeInstanceOf(AuthError);
16
+ test('instanceof AuthenticationError', () => {
17
+ expect(new AuthenticationError('', { errorType: 'NOT_AUTHENTICATED' })).toBeInstanceOf(Error);
18
+ });
19
+ test('instanceof AuthorizationError', () => {
20
+ expect(new AuthorizationError('', { errorType: 'INVALID_ACCESS' })).toBeInstanceOf(Error);
19
21
  });
20
22
  test('instanceof EntityError', () => {
21
23
  expect(new EntityError('')).toBeInstanceOf(Error);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/errors/errors.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/errors/errors.test.ts"],"names":[],"mappings":"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"}