@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.
- package/dist/exports.d.ts +3 -2
- package/dist/exports.js +3 -2
- package/dist/exports.js.map +1 -1
- package/dist/src/DTO.d.ts +1 -0
- package/dist/src/DTO.js +3 -0
- package/dist/src/DTO.js.map +1 -1
- package/dist/src/Entity/Entity.benchmark.test.js +12 -12
- package/dist/src/Entity/Entity.benchmark.test.js.map +1 -1
- package/dist/src/Entity/Entity.d.ts +9 -9
- package/dist/src/Entity/Entity.js +16 -128
- package/dist/src/Entity/Entity.js.map +1 -1
- package/dist/src/Entity/Entity.test.js +21 -17
- package/dist/src/Entity/Entity.test.js.map +1 -1
- package/dist/src/Logger.d.ts +16 -0
- package/dist/src/Logger.js +20 -0
- package/dist/src/Logger.js.map +1 -0
- package/dist/src/ScheduledProcess.d.ts +1 -1
- package/dist/src/UseCase.d.ts +6 -5
- package/dist/src/UseCase.js +5 -2
- package/dist/src/UseCase.js.map +1 -1
- package/dist/src/common-types.d.ts +2 -2
- package/dist/src/errors/AuthenticationError.d.ts +17 -0
- package/dist/src/errors/AuthenticationError.js +16 -0
- package/dist/src/errors/AuthenticationError.js.map +1 -0
- package/dist/src/errors/AuthorizationError.d.ts +17 -0
- package/dist/src/errors/AuthorizationError.js +16 -0
- package/dist/src/errors/AuthorizationError.js.map +1 -0
- package/dist/src/errors/errors.test.js +7 -5
- package/dist/src/errors/errors.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/src/UseCase.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class UseCaseLog extends
|
|
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:
|
|
6
|
+
log: ILogger;
|
|
7
7
|
} & Services;
|
|
8
8
|
constructor(services: {
|
|
9
|
-
log:
|
|
9
|
+
log: ILogger;
|
|
10
10
|
} & Services, ...args: any);
|
|
11
|
-
protected log:
|
|
11
|
+
protected log: ILogger;
|
|
12
12
|
abstract execute(...args: any): Promise<any>;
|
|
13
|
+
get name(): string;
|
|
13
14
|
}
|
package/dist/src/UseCase.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class UseCaseLog extends
|
|
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
|
package/dist/src/UseCase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseCase.js","sourceRoot":"","sources":["../../src/UseCase.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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<
|
|
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 {
|
|
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
|
|
16
|
-
expect(new
|
|
17
|
-
|
|
18
|
-
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/errors/errors.test.ts"],"names":[],"mappings":"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"}
|