itrm-tools 1.3.11 → 1.3.12
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/api/request/crud/common/ComponentManager.d.ts +1 -8
- package/dist/api/request/crud/common/ComponentManager.js.map +1 -1
- package/dist/api/request/crud/common/KeyManager.d.ts +1 -1
- package/dist/api/request/crud/common/KeyManager.js.map +1 -1
- package/dist/api/request/crud/common/RoleManager.d.ts +2 -12
- package/dist/cryptography/jwt/JwtUtils.d.ts +18 -0
- package/dist/cryptography/jwt/JwtUtils.js +35 -0
- package/dist/cryptography/jwt/JwtUtils.js.map +1 -0
- package/dist/cryptography/password/PasswordUtils.d.ts +6 -0
- package/dist/cryptography/password/PasswordUtils.js +35 -0
- package/dist/cryptography/password/PasswordUtils.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
|
@@ -16,17 +16,10 @@ export interface IComponent {
|
|
|
16
16
|
}
|
|
17
17
|
export interface IComponentDetails {
|
|
18
18
|
lang: Record<string, string>;
|
|
19
|
-
services:
|
|
19
|
+
services: Record<string, Record<string, Record<string, boolean>>>;
|
|
20
20
|
viewTypes: string[] | string;
|
|
21
21
|
config?: AxiosRequestConfig;
|
|
22
22
|
}
|
|
23
|
-
export interface IComponentServiceDetails {
|
|
24
|
-
[key: string]: {
|
|
25
|
-
[key: string]: {
|
|
26
|
-
[key: string]: boolean;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
23
|
export interface IComponentSearchDetails {
|
|
31
24
|
id?: string | number;
|
|
32
25
|
platformId?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentManager.js","sourceRoot":"","sources":["../../../../../src/api/request/crud/common/ComponentManager.ts"],"names":[],"mappings":";;;AACA,8DAAwF;
|
|
1
|
+
{"version":3,"file":"ComponentManager.js","sourceRoot":"","sources":["../../../../../src/api/request/crud/common/ComponentManager.ts"],"names":[],"mappings":";;;AACA,8DAAwF;AAoCxF,MAAa,gBAAiB,SAAQ,uCAAiD;IACpE,GAAG,CAAS;IAE7B,YAAY,GAAW;QACrB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,IAAI,CAAC,OAAgC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,oBAAoB,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC;IAEM,QAAQ,CAAC,OAAoC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,kBAAkB,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC;IAEM,gBAAgB,CAAC,OAAgC;QACtD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,0BAA0B,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxG,CAAC;IAEM,mBAAmB,CAAC,OAAgC;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,6BAA6B,OAAO,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9G,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAgC;QACjD,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,OAAgC;QACnD,IAAI,UAAU,GAAiB,EAAE,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChK,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;YAC9C,GAAG,CAAC;gBACF,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,WAAW,MAAM,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtI,IAAI,MAAM;oBACR,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,GAAG,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC;YAClB,CAAC,QAAQ,CAAC,OAAO,EAAE;QACrB,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,eAAe,CAAC,GAAW,EAAE,OAAgC;QACnE,IAAI,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/O,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,OAAgC;QAC5C,OAAO,IAAI,CAAC,YAAY,CACtB,GAAG,IAAI,CAAC,GAAG,aAAa,EACxB,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EACtH,OAAO,CAAC,MAAM,CACf,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,OAAgC;QAChD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/F,CAAC;IAEM,MAAM,CAAC,SAAqB;QACjC,OAAO,IAAI,CAAC,gBAAgB,CAC1B,GAAG,IAAI,CAAC,GAAG,eAAe,SAAS,CAAC,WAAW,EAAE,EACjD,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,EAC9H,SAAS,CAAC,MAAM,CACjB,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,SAAqB;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,eAAe,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACnG,CAAC;CAEF;AA5ED,4CA4EC"}
|
|
@@ -26,7 +26,7 @@ export interface IKeySearchDetails {
|
|
|
26
26
|
config?: AxiosRequestConfig;
|
|
27
27
|
}
|
|
28
28
|
export declare class KeyManager extends CrudServiceManager<IKeySearchDetails, IKey> {
|
|
29
|
-
private url;
|
|
29
|
+
private readonly url;
|
|
30
30
|
constructor(url: string);
|
|
31
31
|
find(details: IKeySearchDetails): Promise<IKey | undefined>;
|
|
32
32
|
findById(details: StandardIdRequestDefinition): Promise<IKey | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyManager.js","sourceRoot":"","sources":["../../../../../src/api/request/crud/common/KeyManager.ts"],"names":[],"mappings":";;;AAAA,8DAAwF;AA8BxF,MAAa,UAAW,SAAQ,uCAA2C;
|
|
1
|
+
{"version":3,"file":"KeyManager.js","sourceRoot":"","sources":["../../../../../src/api/request/crud/common/KeyManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,18 +12,8 @@ export interface IRole {
|
|
|
12
12
|
export interface IRolePermissions {
|
|
13
13
|
type?: string;
|
|
14
14
|
url?: string;
|
|
15
|
-
components?:
|
|
16
|
-
|
|
17
|
-
[key: string]: string;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
services?: {
|
|
21
|
-
[key: string]: {
|
|
22
|
-
[key: string]: {
|
|
23
|
-
[key: string]: boolean;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
};
|
|
15
|
+
components?: Record<string, Record<string, string>>;
|
|
16
|
+
services?: Record<string, Record<string, Record<string, boolean>>>;
|
|
27
17
|
schema?: IComponent[];
|
|
28
18
|
}
|
|
29
19
|
export interface IRoleSearchDetails {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { JWTPayload } from 'jose';
|
|
2
|
+
export interface CustomJWTPayload extends JWTPayload {
|
|
3
|
+
userId: string;
|
|
4
|
+
rolesByPlatform: Record<string, string>;
|
|
5
|
+
status: string;
|
|
6
|
+
application: string;
|
|
7
|
+
metadata?: Record<string, boolean>;
|
|
8
|
+
}
|
|
9
|
+
export interface JwtConfig {
|
|
10
|
+
algorithm?: string;
|
|
11
|
+
expirationTime?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare class JwtUtils {
|
|
14
|
+
private readonly config;
|
|
15
|
+
constructor(config: JwtConfig);
|
|
16
|
+
sign(payload: CustomJWTPayload, secretKey: string): Promise<string>;
|
|
17
|
+
verify(token: string, secretKey: string): Promise<CustomJWTPayload>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JwtUtils = void 0;
|
|
4
|
+
const jose_1 = require("jose");
|
|
5
|
+
class JwtUtils {
|
|
6
|
+
config;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async sign(payload, secretKey) {
|
|
11
|
+
try {
|
|
12
|
+
const keyToUse = new TextEncoder().encode(secretKey);
|
|
13
|
+
const jwt = new jose_1.SignJWT(payload)
|
|
14
|
+
.setProtectedHeader({ alg: this.config.algorithm ?? 'HS512' })
|
|
15
|
+
.setIssuedAt()
|
|
16
|
+
.setExpirationTime(Date.now() + (this.config.expirationTime ?? 3600) * 1000);
|
|
17
|
+
return await jwt.sign(keyToUse);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
throw new Error(`Failed to sign JWT: ${error}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async verify(token, secretKey) {
|
|
24
|
+
try {
|
|
25
|
+
const keyToUse = new TextEncoder().encode(secretKey);
|
|
26
|
+
const { payload } = await (0, jose_1.jwtVerify)(token, keyToUse);
|
|
27
|
+
return payload;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw new Error(`Failed to verify JWT: ${error}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.JwtUtils = JwtUtils;
|
|
35
|
+
//# sourceMappingURL=JwtUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JwtUtils.js","sourceRoot":"","sources":["../../../src/cryptography/jwt/JwtUtils.ts"],"names":[],"mappings":";;;AAAA,+BAAsD;AAetD,MAAa,QAAQ;IACF,MAAM,CAAY;IAEnC,YAAY,MAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAyB,EAAE,SAAiB;QAC5D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,cAAO,CAAC,OAAO,CAAC;iBAC7B,kBAAkB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE,CAAC;iBAC7D,WAAW,EAAE;iBACb,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAE/E,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,SAAiB;QAClD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrD,OAAO,OAA2B,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF;AA9BD,4BA8BC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PasswordUtils = void 0;
|
|
4
|
+
const crypto_js_1 = require("crypto-js");
|
|
5
|
+
class PasswordUtils {
|
|
6
|
+
iterations;
|
|
7
|
+
constructor(iterations = 600000) {
|
|
8
|
+
this.iterations = iterations;
|
|
9
|
+
}
|
|
10
|
+
async hashPassword(password) {
|
|
11
|
+
const salt = crypto_js_1.lib.WordArray.random(128 / 8); // 128-bit salt is standard
|
|
12
|
+
const hash = (0, crypto_js_1.PBKDF2)(password, salt, {
|
|
13
|
+
keySize: 512 / 32, // 512-bit key
|
|
14
|
+
iterations: this.iterations,
|
|
15
|
+
hasher: crypto_js_1.algo.SHA256,
|
|
16
|
+
});
|
|
17
|
+
return `${crypto_js_1.enc.Hex.stringify(salt)}:${crypto_js_1.enc.Hex.stringify(hash)}`;
|
|
18
|
+
}
|
|
19
|
+
async comparePasswords(password, storedHash) {
|
|
20
|
+
const [saltHex, originalHashHex] = storedHash.split(':');
|
|
21
|
+
if (!saltHex || !originalHashHex) {
|
|
22
|
+
throw new Error("Invalid stored hash format. Expected 'salt:hash'.");
|
|
23
|
+
}
|
|
24
|
+
const salt = crypto_js_1.enc.Hex.parse(saltHex);
|
|
25
|
+
const hash = (0, crypto_js_1.PBKDF2)(password, salt, {
|
|
26
|
+
keySize: 512 / 32,
|
|
27
|
+
iterations: this.iterations,
|
|
28
|
+
hasher: crypto_js_1.algo.SHA256,
|
|
29
|
+
});
|
|
30
|
+
const inputPasswordHashHex = crypto_js_1.enc.Hex.stringify(hash);
|
|
31
|
+
return inputPasswordHashHex === originalHashHex;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.PasswordUtils = PasswordUtils;
|
|
35
|
+
//# sourceMappingURL=PasswordUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordUtils.js","sourceRoot":"","sources":["../../../src/cryptography/password/PasswordUtils.ts"],"names":[],"mappings":";;;AAAA,yCAAmD;AAEnD,MAAa,aAAa;IACP,UAAU,CAAS;IAEpC,YAAY,aAAqB,MAAM;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,MAAM,IAAI,GAAG,eAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B;QACvE,MAAM,IAAI,GAAG,IAAA,kBAAM,EAAC,QAAQ,EAAE,IAAI,EAAE;YAClC,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,cAAc;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,gBAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO,GAAG,eAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,eAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,UAAkB;QAChE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,GAAG,eAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,kBAAM,EAAC,QAAQ,EAAE,IAAI,EAAE;YAClC,OAAO,EAAE,GAAG,GAAG,EAAE;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,gBAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,eAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,oBAAoB,KAAK,eAAe,CAAC;IAClD,CAAC;CACF;AA/BD,sCA+BC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export { SimpleCheckableAPIRouter as SimpleCheckableAPIRouter } from './api/chec
|
|
|
34
34
|
export { ActivityHistoryManager as ActivityHistoryManager, IActivityHistory as IActivityHistory, IActivityHistorySearchDetails as IActivityHistorySearchDetails } from "./api/request/crud/common/ActivityHistoryManager";
|
|
35
35
|
export { ApplicationManager as ApplicationManager, IApplication as IApplication, IApplicationSearchDetails as IApplicationSearchDetails, IApplicationDetails as IApplicationDetails } from './api/request/crud/common/ApplicationManager';
|
|
36
36
|
export { AvailablePlatformManager as AvailablePlatformManager, IAvailablePlatform as IAvailablePlatform, IAvailablePlatformSearchDetails as IAvailablePlatformSearchDetails } from './api/request/crud/common/AvailablePlatformManager';
|
|
37
|
-
export { ComponentManager as ComponentManager, IComponent as IComponent, IComponentSearchDetails as IComponentSearchDetails, IComponentDetails as IComponentDetails
|
|
37
|
+
export { ComponentManager as ComponentManager, IComponent as IComponent, IComponentSearchDetails as IComponentSearchDetails, IComponentDetails as IComponentDetails } from './api/request/crud/common/ComponentManager';
|
|
38
38
|
export { KeyManager as KeyManager, IKey as IKey, IKeySearchDetails as IKeySearchDetails } from "./api/request/crud/common/KeyManager";
|
|
39
39
|
export { PlatformManager as PlatformManager, IPlatform as IPlatform, IPlatformSearchDetails as IPlatformSearchDetails, IPlatformDetails as IPlatformDetails } from "./api/request/crud/common/PlatformManager";
|
|
40
40
|
export { RoleManager as RoleManager, IRole as IRole, IRoleSearchDetails as IRoleSearchDetails } from "./api/request/crud/common/RoleManager";
|
|
@@ -48,6 +48,8 @@ export { CipheringAlgorithm as CipheringAlgorithm } from './cryptography/Cipheri
|
|
|
48
48
|
export { AesCipheringAlgorithm as AesCipheringAlgorithm } from './cryptography/algorithm/AesCipheringAlgorithm';
|
|
49
49
|
export { StandardKeyGroup as StandardKeyGroup, StandardApiKeyGenerator as StandardApiKeyGenerator } from './cryptography/generate/StandardApiKeyGenerator';
|
|
50
50
|
export { ApiKeySigner as ApiKeySigner } from './cryptography/sign/ApiKeySigner';
|
|
51
|
+
export { PasswordUtils as PasswordUtils } from './cryptography/password/PasswordUtils';
|
|
52
|
+
export { JwtUtils as JwtUtils, CustomJWTPayload as CustomJWTPayload, JwtConfig as JwtConfig } from './cryptography/jwt/JwtUtils';
|
|
51
53
|
export { MongooseModelManager as MongooseModelManager } from './database/mongoose/MongooseModelManager';
|
|
52
54
|
export { SequelizeConnection as SequelizeConnection } from './database/sequelize/SequelizeConnection';
|
|
53
55
|
export { SequelizeModelManager as SequelizeModelManager } from './database/sequelize/SequelizeModelManager';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AesCipheringAlgorithm = exports.CrudServiceManager = exports.UserManager = exports.UserCredentialsManager = exports.TypeManager = exports.StatusManager = exports.RoleManager = exports.PlatformManager = exports.KeyManager = exports.ComponentManager = exports.AvailablePlatformManager = exports.ApplicationManager = exports.ActivityHistoryManager = exports.SimpleCheckableAPIRouter = exports.CorsCheckApiRouter = exports.CheckableAPIRouter = exports.CheckableFileUploadingPostRequest = exports.CheckablePutRequest = exports.CheckablePostRequest = exports.CheckableGetRequest = exports.CheckableDeleteRequest = exports.APIChecker = exports.CheckableAPIRequest = exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.RequestAxiosCall = exports.SimpleAPIRouter = exports.APIRouter = exports.APIRequestBuilder = exports.RequestParameterType = exports.RequestContext = exports.RequestMethod = exports.APIRequest = exports.CetusPair = exports.CetusStrategyApiManager = exports.ExternalApiConnection = exports.ExpressFileUploadingConfiguration = exports.ExpressStandardConfiguration = exports.ExpressLogableConfig = exports.StandardGetRequestBuilder = exports.HttpsAPIService = exports.ITRMAPIServiceGlobal = exports.APIService = exports.HttpCode = exports.mapErrorCodeToHttpStatus = exports.ResponseUtils = exports.ApiServiceError = exports.AlegraConnectionManager = void 0;
|
|
4
|
-
exports.PAYMENT_TYPES = exports.DOCUMENT_TYPES = exports.BANKS = exports.round = exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = exports.SequelizeConnection = exports.MongooseModelManager = exports.ApiKeySigner = exports.StandardApiKeyGenerator = void 0;
|
|
4
|
+
exports.PAYMENT_TYPES = exports.DOCUMENT_TYPES = exports.BANKS = exports.round = exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = exports.SequelizeConnection = exports.MongooseModelManager = exports.JwtUtils = exports.PasswordUtils = exports.ApiKeySigner = exports.StandardApiKeyGenerator = void 0;
|
|
5
5
|
var AlegraConnectionManager_1 = require("./api/alegra/AlegraConnectionManager");
|
|
6
6
|
Object.defineProperty(exports, "AlegraConnectionManager", { enumerable: true, get: function () { return AlegraConnectionManager_1.AlegraConnectionManager; } });
|
|
7
7
|
var Response_1 = require("./api/utils/Response");
|
|
@@ -98,6 +98,10 @@ var StandardApiKeyGenerator_1 = require("./cryptography/generate/StandardApiKeyG
|
|
|
98
98
|
Object.defineProperty(exports, "StandardApiKeyGenerator", { enumerable: true, get: function () { return StandardApiKeyGenerator_1.StandardApiKeyGenerator; } });
|
|
99
99
|
var ApiKeySigner_1 = require("./cryptography/sign/ApiKeySigner");
|
|
100
100
|
Object.defineProperty(exports, "ApiKeySigner", { enumerable: true, get: function () { return ApiKeySigner_1.ApiKeySigner; } });
|
|
101
|
+
var PasswordUtils_1 = require("./cryptography/password/PasswordUtils");
|
|
102
|
+
Object.defineProperty(exports, "PasswordUtils", { enumerable: true, get: function () { return PasswordUtils_1.PasswordUtils; } });
|
|
103
|
+
var JwtUtils_1 = require("./cryptography/jwt/JwtUtils");
|
|
104
|
+
Object.defineProperty(exports, "JwtUtils", { enumerable: true, get: function () { return JwtUtils_1.JwtUtils; } });
|
|
101
105
|
var MongooseModelManager_1 = require("./database/mongoose/MongooseModelManager");
|
|
102
106
|
Object.defineProperty(exports, "MongooseModelManager", { enumerable: true, get: function () { return MongooseModelManager_1.MongooseModelManager; } });
|
|
103
107
|
var SequelizeConnection_1 = require("./database/sequelize/SequelizeConnection");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,gFAA0G;AAAjG,kIAAA,uBAAuB,OAA2B;AAG3D,iDAAsL;AAA7K,2GAAA,eAAe,OAAmB;AAAE,yGAAA,aAAa,OAAiB;AAAE,oHAAA,wBAAwB,OAA4B;AAAE,oGAAA,QAAQ,OAAY;AAGvJ,+CAA0L;AAA3I,wGAAA,UAAU,OAAc;AAA4C,kHAAA,oBAAoB,OAAwB;AAC/J,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAE3C,qFAAiH;AAAxG,sIAAA,yBAAyB,OAA6B;AAC/D,2EAAkG;AAAzF,4HAAA,oBAAoB,OAAwB;AACrD,2FAA0H;AAAjH,4IAAA,4BAA4B,OAAgC;AACrE,qGAAyI;AAAhI,sJAAA,iCAAiC,OAAqC;AAC/E,8EAAsG;AAA7F,8HAAA,qBAAqB,OAAyB;AACvD,wFAAkM;AAAzL,kIAAA,uBAAuB,OAA2B;AAAE,oHAAA,SAAS,OAAa;AACnF,+CAA0P;AAAjP,wGAAA,UAAU,OAAc;AAAE,2GAAA,aAAa,OAAiB;AAAE,4GAAA,cAAc,OAAkB;AAAgF,kHAAA,oBAAoB,OAAwB;AAC/N,6DAAiI;AAAxH,sHAAA,iBAAiB,OAAqB;AAC/C,6CAAyD;AAAhD,sGAAA,SAAS,OAAa;AAC/B,+DAAiF;AAAxE,kHAAA,eAAe,OAAmB;AAC3C,mEAAsF;AAA7E,oHAAA,gBAAgB,OAAoB;AAC7C,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,yDAAuE;AAA9D,0GAAA,WAAW,OAAe;AACnC,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,6DAA6E;AAApE,8GAAA,aAAa,OAAiB;AACvC,uEAA6F;AAApF,0HAAA,mBAAmB,OAAuB;AACnD,qDAAoL;AAA3F,wGAAA,UAAU,OAAc;AACjH,qFAA8G;AAArG,gIAAA,sBAAsB,OAA0B;AACzD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,2GAA+I;AAAtI,sJAAA,iCAAiC,OAAqC;AAC/E,qEAA0F;AAAjF,wHAAA,kBAAkB,OAAsB;AACjD,2EAAgG;AAAvF,wHAAA,kBAAkB,OAAsB;AACjD,uFAAkH;AAAzG,oIAAA,wBAAwB,OAA4B;AAE7D,2FAA0N;AAAjN,gIAAA,sBAAsB,OAA0B;AACzD,mFAA0O;AAAjO,wHAAA,kBAAkB,OAAsB;AACjD,+FAAwO;AAA/N,oIAAA,wBAAwB,OAA4B;AAC7D,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,gFAA0G;AAAjG,kIAAA,uBAAuB,OAA2B;AAG3D,iDAAsL;AAA7K,2GAAA,eAAe,OAAmB;AAAE,yGAAA,aAAa,OAAiB;AAAE,oHAAA,wBAAwB,OAA4B;AAAE,oGAAA,QAAQ,OAAY;AAGvJ,+CAA0L;AAA3I,wGAAA,UAAU,OAAc;AAA4C,kHAAA,oBAAoB,OAAwB;AAC/J,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAE3C,qFAAiH;AAAxG,sIAAA,yBAAyB,OAA6B;AAC/D,2EAAkG;AAAzF,4HAAA,oBAAoB,OAAwB;AACrD,2FAA0H;AAAjH,4IAAA,4BAA4B,OAAgC;AACrE,qGAAyI;AAAhI,sJAAA,iCAAiC,OAAqC;AAC/E,8EAAsG;AAA7F,8HAAA,qBAAqB,OAAyB;AACvD,wFAAkM;AAAzL,kIAAA,uBAAuB,OAA2B;AAAE,oHAAA,SAAS,OAAa;AACnF,+CAA0P;AAAjP,wGAAA,UAAU,OAAc;AAAE,2GAAA,aAAa,OAAiB;AAAE,4GAAA,cAAc,OAAkB;AAAgF,kHAAA,oBAAoB,OAAwB;AAC/N,6DAAiI;AAAxH,sHAAA,iBAAiB,OAAqB;AAC/C,6CAAyD;AAAhD,sGAAA,SAAS,OAAa;AAC/B,+DAAiF;AAAxE,kHAAA,eAAe,OAAmB;AAC3C,mEAAsF;AAA7E,oHAAA,gBAAgB,OAAoB;AAC7C,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,yDAAuE;AAA9D,0GAAA,WAAW,OAAe;AACnC,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,6DAA6E;AAApE,8GAAA,aAAa,OAAiB;AACvC,uEAA6F;AAApF,0HAAA,mBAAmB,OAAuB;AACnD,qDAAoL;AAA3F,wGAAA,UAAU,OAAc;AACjH,qFAA8G;AAArG,gIAAA,sBAAsB,OAA0B;AACzD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,2GAA+I;AAAtI,sJAAA,iCAAiC,OAAqC;AAC/E,qEAA0F;AAAjF,wHAAA,kBAAkB,OAAsB;AACjD,2EAAgG;AAAvF,wHAAA,kBAAkB,OAAsB;AACjD,uFAAkH;AAAzG,oIAAA,wBAAwB,OAA4B;AAE7D,2FAA0N;AAAjN,gIAAA,sBAAsB,OAA0B;AACzD,mFAA0O;AAAjO,wHAAA,kBAAkB,OAAsB;AACjD,+FAAwO;AAA/N,oIAAA,wBAAwB,OAA4B;AAC7D,+EAAwN;AAA/M,oHAAA,gBAAgB,OAAoB;AAC7C,mEAAsI;AAA7H,wGAAA,UAAU,OAAc;AACjC,6EAA+M;AAAtM,kHAAA,eAAe,OAAmB;AAC3C,qEAA6I;AAApI,0GAAA,WAAW,OAAe;AACnC,yEAA2J;AAAlJ,8GAAA,aAAa,OAAiB;AACvC,qEAA6I;AAApI,0GAAA,WAAW,OAAe;AACnC,2FAA0N;AAAjN,gIAAA,sBAAsB,OAA0B;AACzD,qEAA6I;AAApI,0GAAA,WAAW,OAAe;AAGnC,4EAA6J;AAApJ,wHAAA,kBAAkB,OAAsB;AAGjD,wFAAgH;AAAvG,8HAAA,qBAAqB,OAAyB;AACvD,2FAA2J;AAA5G,kIAAA,uBAAuB,OAA2B;AACjG,iEAAgF;AAAvE,4GAAA,YAAY,OAAgB;AACrC,uEAAuF;AAA9E,8GAAA,aAAa,OAAiB;AACvC,wDAAiI;AAAxH,oGAAA,QAAQ,OAAY;AAE7B,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,gFAAsG;AAA7F,0HAAA,mBAAmB,OAAuB;AACnD,oFAA4G;AAAnG,8HAAA,qBAAqB,OAAyB;AAEvD,uCAAgD;AAAvC,gGAAA,MAAM,OAAU;AACzB,qDAAqE;AAA5D,8GAAA,aAAa,OAAiB;AACvC,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAE3C,oCAA2C;AAAlC,4FAAA,IAAI,OAAQ;AACrB,8EAAqG;AAA5F,4HAAA,oBAAoB,OAAwB;AAErD,sCAA8C;AAArC,8FAAA,KAAK,OAAS;AAEvB,6CAAoH;AAA3G,iGAAA,KAAK,OAAS;AAAE,0GAAA,cAAc,OAAkB;AAAE,yGAAA,aAAa,OAAiB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itrm-tools",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.12",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@types/jest": "^30.0.0",
|
|
39
39
|
"@types/morgan": "^1.9.10",
|
|
40
40
|
"@types/multer": "^2.0.0",
|
|
41
|
-
"@types/node": "^24.6.
|
|
41
|
+
"@types/node": "^24.6.2",
|
|
42
42
|
"@types/swagger-ui-express": "^4.1.8",
|
|
43
43
|
"@types/uuid": "^10.0.0",
|
|
44
44
|
"@types/ws": "^8.18.1",
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"jest": "^30.2.0",
|
|
47
47
|
"jest-puppeteer": "^11.0.0",
|
|
48
48
|
"mongodb-memory-server": "^10.2.1",
|
|
49
|
-
"puppeteer": "^24.
|
|
50
|
-
"redis": "^5.8.
|
|
49
|
+
"puppeteer": "^24.23.0",
|
|
50
|
+
"redis": "^5.8.3",
|
|
51
51
|
"rimraf": "^6.0.1",
|
|
52
52
|
"sqlite3": "^5.1.7",
|
|
53
53
|
"ts-jest": "^29.4.4",
|
|
54
|
-
"typescript": "^5.9.
|
|
54
|
+
"typescript": "^5.9.3",
|
|
55
55
|
"uuid": "^11.1.0"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
"crypto-js": "^4.2.0",
|
|
64
64
|
"express": "^5.1.0",
|
|
65
65
|
"https": "^1.0.0",
|
|
66
|
-
"
|
|
66
|
+
"jose": "^6.1.0",
|
|
67
|
+
"mongoose": "^8.19.0",
|
|
67
68
|
"morgan": "^1.10.0",
|
|
68
69
|
"multer": "^2.0.1",
|
|
69
70
|
"pg": "^8.16.3",
|