@archtx/core 2.0.6 → 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/Log.d.ts +1 -1
- package/dist/src/Log.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 +11 -2
- package/dist/src/UseCase.js +8 -0
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,OAAgB,MAAM;IACV,GAAG,CAAS;IAE5B,YAAY,GAAY;QACtB,IAAI,CAAC,GAAG,GAAG;YACT,KAAK,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;YACrD,IAAI,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;YACpD,IAAI,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;YACpD,KAAK,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;SACtD,CAAA;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;CACF"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export declare abstract class ScheduledProcess<Services extends object = object> {
|
|
6
6
|
protected services: Services;
|
|
7
7
|
constructor(services: Services, ...args: any[]);
|
|
8
|
-
abstract
|
|
8
|
+
abstract CronSchedule: string;
|
|
9
9
|
abstract execute(): Promise<any>;
|
|
10
10
|
get name(): string;
|
|
11
11
|
}
|
package/dist/src/UseCase.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
import { ILogger, Logger } from './Logger.js';
|
|
2
|
+
export declare class UseCaseLog extends Logger {
|
|
3
|
+
}
|
|
1
4
|
export declare abstract class UseCase<Services extends object = never> {
|
|
2
|
-
protected services:
|
|
3
|
-
|
|
5
|
+
protected services: {
|
|
6
|
+
log: ILogger;
|
|
7
|
+
} & Services;
|
|
8
|
+
constructor(services: {
|
|
9
|
+
log: ILogger;
|
|
10
|
+
} & Services, ...args: any);
|
|
11
|
+
protected log: ILogger;
|
|
4
12
|
abstract execute(...args: any): Promise<any>;
|
|
13
|
+
get name(): string;
|
|
5
14
|
}
|
package/dist/src/UseCase.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
import { Logger } from './Logger.js';
|
|
2
|
+
export class UseCaseLog extends Logger {
|
|
3
|
+
}
|
|
1
4
|
export class UseCase {
|
|
2
5
|
services;
|
|
3
6
|
constructor(services, ...args) {
|
|
4
7
|
this.services = services;
|
|
8
|
+
this.log = new UseCaseLog(services.log).log;
|
|
9
|
+
}
|
|
10
|
+
log;
|
|
11
|
+
get name() {
|
|
12
|
+
return this.constructor.name;
|
|
5
13
|
}
|
|
6
14
|
}
|
|
7
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,MAAM,OAAgB,OAAO;IAEf;IADZ,YACY,
|
|
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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"}
|