@grandlinex/kernel 0.22.0 → 0.22.1-alpha.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +71 -71
  2. package/LICENSE +29 -29
  3. package/README.md +30 -30
  4. package/dist/Kernel.d.ts +22 -22
  5. package/dist/Kernel.js +68 -68
  6. package/dist/KernelModule.d.ts +8 -8
  7. package/dist/KernelModule.js +89 -89
  8. package/dist/actions/ApiAuthTestAction.d.ts +27 -27
  9. package/dist/actions/ApiAuthTestAction.js +93 -92
  10. package/dist/actions/ApiVersionAction.d.ts +30 -30
  11. package/dist/actions/ApiVersionAction.js +96 -96
  12. package/dist/actions/GetTokenAction.d.ts +43 -43
  13. package/dist/actions/GetTokenAction.js +135 -133
  14. package/dist/actions/index.d.ts +4 -4
  15. package/dist/actions/index.js +12 -12
  16. package/dist/api/KernelEndpoint.d.ts +3 -3
  17. package/dist/api/KernelEndpoint.js +29 -29
  18. package/dist/api/index.d.ts +2 -2
  19. package/dist/api/index.js +8 -8
  20. package/dist/classes/BaseAction.d.ts +13 -13
  21. package/dist/classes/BaseAction.js +103 -103
  22. package/dist/classes/BaseApiAction.d.ts +8 -8
  23. package/dist/classes/BaseApiAction.js +67 -67
  24. package/dist/classes/BaseAuthProvider.d.ts +23 -16
  25. package/dist/classes/BaseAuthProvider.js +8 -8
  26. package/dist/classes/BaseEndpoint.d.ts +12 -12
  27. package/dist/classes/BaseEndpoint.js +61 -61
  28. package/dist/classes/BaseKernelModule.d.ts +5 -5
  29. package/dist/classes/BaseKernelModule.js +26 -26
  30. package/dist/classes/index.d.ts +8 -7
  31. package/dist/classes/index.js +34 -23
  32. package/dist/database/KernelDB.d.ts +14 -0
  33. package/dist/database/KernelDB.js +115 -0
  34. package/dist/database/entity/GKey.d.ts +8 -0
  35. package/dist/database/entity/GKey.js +61 -0
  36. package/dist/index.d.ts +14 -14
  37. package/dist/index.js +31 -35
  38. package/dist/lib/index.d.ts +31 -28
  39. package/dist/lib/index.js +2 -2
  40. package/dist/modules/crypto/CryptoClient.d.ts +19 -17
  41. package/dist/modules/crypto/CryptoClient.js +152 -142
  42. package/dist/modules/crypto/index.d.ts +3 -3
  43. package/dist/modules/crypto/index.js +19 -23
  44. package/dist/modules/crypto/utils/cors.d.ts +3 -3
  45. package/dist/modules/crypto/utils/cors.js +10 -10
  46. package/package.json +69 -69
@@ -0,0 +1,8 @@
1
+ /// <reference types="node" />
2
+ import { CoreEntity, EProperties } from '@grandlinex/core';
3
+ export default class GKey extends CoreEntity {
4
+ secret: string;
5
+ iv: Buffer;
6
+ auth: Buffer;
7
+ constructor(props?: EProperties<GKey>);
8
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ var core_1 = require("@grandlinex/core");
28
+ var GKey = /** @class */ (function (_super) {
29
+ __extends(GKey, _super);
30
+ function GKey(props) {
31
+ var _this = _super.call(this) || this;
32
+ _this.secret = (props === null || props === void 0 ? void 0 : props.secret) || '';
33
+ _this.iv = (props === null || props === void 0 ? void 0 : props.iv) || Buffer.from('');
34
+ _this.auth = (props === null || props === void 0 ? void 0 : props.auth) || Buffer.from('');
35
+ return _this;
36
+ }
37
+ __decorate([
38
+ (0, core_1.Column)({
39
+ dataType: 'text',
40
+ }),
41
+ __metadata("design:type", String)
42
+ ], GKey.prototype, "secret", void 0);
43
+ __decorate([
44
+ (0, core_1.Column)({
45
+ dataType: 'blob',
46
+ }),
47
+ __metadata("design:type", Buffer)
48
+ ], GKey.prototype, "iv", void 0);
49
+ __decorate([
50
+ (0, core_1.Column)({
51
+ dataType: 'blob',
52
+ }),
53
+ __metadata("design:type", Buffer)
54
+ ], GKey.prototype, "auth", void 0);
55
+ GKey = __decorate([
56
+ (0, core_1.Entity)('GKey', 0),
57
+ __metadata("design:paramtypes", [Object])
58
+ ], GKey);
59
+ return GKey;
60
+ }(core_1.CoreEntity));
61
+ exports.default = GKey;
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- /**
2
- * @name Kernel Main Module
3
- * @author David Nagy
4
- */
5
- import Kernel from './Kernel';
6
- import KernelModule from './KernelModule';
7
- export * from './actions';
8
- export * from './api';
9
- export * from './classes';
10
- export * from './modules/crypto';
11
- export * from './lib';
12
- export * from '@grandlinex/core';
13
- export { KernelModule, Kernel };
14
- export default Kernel;
1
+ /**
2
+ * @name Kernel Main Module
3
+ * @author David Nagy
4
+ */
5
+ import Kernel from './Kernel';
6
+ import KernelModule from './KernelModule';
7
+ export * from './actions';
8
+ export * from './api';
9
+ export * from './classes';
10
+ export * from './modules/crypto';
11
+ export * from './lib';
12
+ export * from '@grandlinex/core';
13
+ export { KernelModule, Kernel };
14
+ export default Kernel;
package/dist/index.js CHANGED
@@ -1,35 +1,31 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Kernel = exports.KernelModule = void 0;
21
- /**
22
- * @name Kernel Main Module
23
- * @author David Nagy
24
- */
25
- var Kernel_1 = __importDefault(require("./Kernel"));
26
- exports.Kernel = Kernel_1.default;
27
- var KernelModule_1 = __importDefault(require("./KernelModule"));
28
- exports.KernelModule = KernelModule_1.default;
29
- __exportStar(require("./actions"), exports);
30
- __exportStar(require("./api"), exports);
31
- __exportStar(require("./classes"), exports);
32
- __exportStar(require("./modules/crypto"), exports);
33
- __exportStar(require("./lib"), exports);
34
- __exportStar(require("@grandlinex/core"), exports);
35
- exports.default = Kernel_1.default;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.Kernel = exports.KernelModule = void 0;
17
+ /**
18
+ * @name Kernel Main Module
19
+ * @author David Nagy
20
+ */
21
+ var Kernel_1 = __importDefault(require("./Kernel"));
22
+ exports.Kernel = Kernel_1.default;
23
+ var KernelModule_1 = __importDefault(require("./KernelModule"));
24
+ exports.KernelModule = KernelModule_1.default;
25
+ __exportStar(require("./actions"), exports);
26
+ __exportStar(require("./api"), exports);
27
+ __exportStar(require("./classes"), exports);
28
+ __exportStar(require("./modules/crypto"), exports);
29
+ __exportStar(require("./lib"), exports);
30
+ __exportStar(require("@grandlinex/core"), exports);
31
+ exports.default = Kernel_1.default;
@@ -1,28 +1,31 @@
1
- import express, { Request, Response } from 'express';
2
- import { ICoreAction, ICoreBridge, ICoreCache, ICoreCClient, ICoreElement, ICoreKernel, ICoreKernelModule, ICorePresenter, ICoreService, IDataBase } from '@grandlinex/core';
3
- import { BaseClient } from 'classes';
4
- import { IAuthProvider, JwtToken } from '../classes/BaseAuthProvider';
5
- export declare type ActionTypes = 'POST' | 'GET' | 'USE' | 'PATCH' | 'DELETE';
6
- export interface ICClient extends ICoreCClient {
7
- setAuthProvider(provider: IAuthProvider): boolean;
8
- jwtVerifyAccessToken(token: string): Promise<JwtToken | null>;
9
- jwtGenerateAccessToken(data: {
10
- username: string;
11
- }): string;
12
- apiTokenValidation(username: string, token: string, requestType: string): Promise<boolean>;
13
- permissionValidation(token: JwtToken, requestType: string): Promise<boolean>;
14
- bearerTokenValidation(req: Request): Promise<JwtToken | null>;
15
- }
16
- export interface IKernel extends ICoreKernel<ICClient> {
17
- getAppServerPort(): number;
18
- setAppServerPort(port: number): void;
19
- }
20
- export declare type IBaseKernelModule<T extends IDataBase<any, any> | null, P extends BaseClient | null, C extends IBaseCache | null, E extends IBasePresenter | null> = ICoreKernelModule<IKernel, T, P, C, E>;
21
- export declare type IBasePresenter = ICorePresenter<express.Express>;
22
- export interface IBaseAction extends ICoreAction {
23
- handler(req: Request, res: Response, next: () => void, data: JwtToken | null): Promise<void>;
24
- }
25
- export declare type IBaseService = ICoreService;
26
- export declare type IBaseBrige = ICoreBridge;
27
- export declare type IBaseCache = ICoreCache;
28
- export declare type IBaseElement = ICoreElement;
1
+ import express, { Request, Response } from 'express';
2
+ import { ICoreAction, ICoreBridge, ICoreCache, ICoreCClient, ICoreElement, ICoreKernel, ICoreKernelModule, ICorePresenter, ICoreService, IDataBase } from '@grandlinex/core';
3
+ import { BaseClient } from 'classes';
4
+ import { IAuthProvider, JwtToken } from '../classes/BaseAuthProvider';
5
+ export declare type ActionTypes = 'POST' | 'GET' | 'USE' | 'PATCH' | 'DELETE';
6
+ export interface ICClient extends ICoreCClient {
7
+ setAuthProvider(provider: IAuthProvider): boolean;
8
+ jwtVerifyAccessToken(token: string): Promise<JwtToken | null>;
9
+ jwtGenerateAccessToken(data: {
10
+ username: string;
11
+ }): string;
12
+ apiTokenValidation(username: string, token: string, requestType: string): Promise<{
13
+ valid: boolean;
14
+ userId: string | null;
15
+ }>;
16
+ permissionValidation(token: JwtToken, requestType: string): Promise<boolean>;
17
+ bearerTokenValidation(req: Request): Promise<JwtToken | null>;
18
+ }
19
+ export interface IKernel extends ICoreKernel<ICClient> {
20
+ getAppServerPort(): number;
21
+ setAppServerPort(port: number): void;
22
+ }
23
+ export declare type IBaseKernelModule<T extends IDataBase<any, any> | null, P extends BaseClient | null, C extends IBaseCache | null, E extends IBasePresenter | null> = ICoreKernelModule<IKernel, T, P, C, E>;
24
+ export declare type IBasePresenter = ICorePresenter<express.Express>;
25
+ export interface IBaseAction extends ICoreAction {
26
+ handler(req: Request, res: Response, next: () => void, data: JwtToken | null): Promise<void>;
27
+ }
28
+ export declare type IBaseService = ICoreService;
29
+ export declare type IBaseBrige = ICoreBridge;
30
+ export declare type IBaseCache = ICoreCache;
31
+ export declare type IBaseElement = ICoreElement;
package/dist/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,17 +1,19 @@
1
- import { Request } from 'express';
2
- import { CoreCryptoClient } from '@grandlinex/core';
3
- import { ICClient, IKernel } from '../../lib';
4
- import { IAuthProvider, JwtToken } from '../../classes/BaseAuthProvider';
5
- export default class CryptoClient extends CoreCryptoClient implements ICClient {
6
- protected authProvider: IAuthProvider | null;
7
- protected kernel: IKernel;
8
- constructor(key: string, kernel: IKernel);
9
- setAuthProvider(provider: IAuthProvider): boolean;
10
- jwtVerifyAccessToken(token: string): Promise<JwtToken | null>;
11
- jwtGenerateAccessToken(data: {
12
- username: string;
13
- }): string;
14
- apiTokenValidation(username: string, token: string, requestType: string): Promise<boolean>;
15
- permissionValidation(token: JwtToken, requestType: string): Promise<boolean>;
16
- bearerTokenValidation(req: Request): Promise<JwtToken | null>;
17
- }
1
+ import { Request } from 'express';
2
+ import { CoreCryptoClient } from '@grandlinex/core';
3
+ import { ICClient, IKernel } from '../../lib';
4
+ import { IAuthProvider, JwtToken, JwtTokenData } from '../../classes/BaseAuthProvider';
5
+ export default class CryptoClient extends CoreCryptoClient implements ICClient {
6
+ protected authProvider: IAuthProvider | null;
7
+ protected kernel: IKernel;
8
+ protected expiresIn: string;
9
+ constructor(key: string, kernel: IKernel);
10
+ setAuthProvider(provider: IAuthProvider): boolean;
11
+ jwtVerifyAccessToken(token: string): Promise<JwtToken | null>;
12
+ jwtGenerateAccessToken(data: JwtTokenData): string;
13
+ apiTokenValidation(username: string, token: string, requestType: string): Promise<{
14
+ valid: boolean;
15
+ userId: string | null;
16
+ }>;
17
+ permissionValidation(token: JwtToken, requestType: string): Promise<boolean>;
18
+ bearerTokenValidation(req: Request): Promise<JwtToken | null>;
19
+ }
@@ -1,142 +1,152 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __importDefault = (this && this.__importDefault) || function (mod) {
54
- return (mod && mod.__esModule) ? mod : { "default": mod };
55
- };
56
- Object.defineProperty(exports, "__esModule", { value: true });
57
- var jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
58
- var core_1 = require("@grandlinex/core");
59
- var CryptoClient = /** @class */ (function (_super) {
60
- __extends(CryptoClient, _super);
61
- function CryptoClient(key, kernel) {
62
- var _this = _super.call(this, kernel, key) || this;
63
- _this.kernel = kernel;
64
- _this.authProvider = null;
65
- return _this;
66
- }
67
- CryptoClient.prototype.setAuthProvider = function (provider) {
68
- if (this.authProvider) {
69
- return false;
70
- }
71
- this.authProvider = provider;
72
- return true;
73
- };
74
- CryptoClient.prototype.jwtVerifyAccessToken = function (token) {
75
- var _this = this;
76
- return new Promise(function (resolve) {
77
- jsonwebtoken_1.default.verify(token, _this.AesKey, function (err, user) {
78
- if (err || user === null) {
79
- resolve(null);
80
- }
81
- else {
82
- resolve(user);
83
- }
84
- });
85
- });
86
- };
87
- CryptoClient.prototype.jwtGenerateAccessToken = function (data) {
88
- return jsonwebtoken_1.default.sign(data, this.AesKey, { expiresIn: '1 days' });
89
- };
90
- CryptoClient.prototype.apiTokenValidation = function (username, token, requestType) {
91
- return __awaiter(this, void 0, void 0, function () {
92
- var store;
93
- return __generator(this, function (_a) {
94
- if (this.authProvider) {
95
- return [2 /*return*/, this.authProvider.authorizeToken(username, token, requestType)];
96
- }
97
- store = this.kernel.getConfigStore();
98
- if (!store.has('SERVER_PASSWORD')) {
99
- return [2 /*return*/, false];
100
- }
101
- return [2 /*return*/, token === store.get('SERVER_PASSWORD') && username === 'admin'];
102
- });
103
- });
104
- };
105
- CryptoClient.prototype.permissionValidation = function (token, requestType) {
106
- return __awaiter(this, void 0, void 0, function () {
107
- return __generator(this, function (_a) {
108
- if (this.authProvider) {
109
- return [2 /*return*/, this.authProvider.validateAccess(token, requestType)];
110
- }
111
- return [2 /*return*/, false];
112
- });
113
- });
114
- };
115
- CryptoClient.prototype.bearerTokenValidation = function (req) {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var authHeader, token, tokenData;
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0:
121
- if (this.authProvider) {
122
- return [2 /*return*/, this.authProvider.bearerTokenValidation(req)];
123
- }
124
- authHeader = req.headers.authorization;
125
- token = authHeader && authHeader.split(' ')[1];
126
- if (token == null) {
127
- return [2 /*return*/, null];
128
- }
129
- return [4 /*yield*/, this.jwtVerifyAccessToken(token)];
130
- case 1:
131
- tokenData = _a.sent();
132
- if (tokenData) {
133
- return [2 /*return*/, tokenData];
134
- }
135
- return [2 /*return*/, null];
136
- }
137
- });
138
- });
139
- };
140
- return CryptoClient;
141
- }(core_1.CoreCryptoClient));
142
- exports.default = CryptoClient;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ var jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
58
+ var core_1 = require("@grandlinex/core");
59
+ var CryptoClient = /** @class */ (function (_super) {
60
+ __extends(CryptoClient, _super);
61
+ function CryptoClient(key, kernel) {
62
+ var _this = _super.call(this, kernel, key) || this;
63
+ _this.kernel = kernel;
64
+ _this.authProvider = null;
65
+ _this.expiresIn = kernel.getConfigStore().get('JWT_EXPIRE') || '1 days';
66
+ return _this;
67
+ }
68
+ CryptoClient.prototype.setAuthProvider = function (provider) {
69
+ if (this.authProvider) {
70
+ return false;
71
+ }
72
+ this.authProvider = provider;
73
+ return true;
74
+ };
75
+ CryptoClient.prototype.jwtVerifyAccessToken = function (token) {
76
+ var _this = this;
77
+ return new Promise(function (resolve) {
78
+ jsonwebtoken_1.default.verify(token, _this.AesKey, function (err, user) {
79
+ if (err || user === null) {
80
+ resolve(null);
81
+ }
82
+ else {
83
+ resolve(user);
84
+ }
85
+ });
86
+ });
87
+ };
88
+ CryptoClient.prototype.jwtGenerateAccessToken = function (data) {
89
+ return jsonwebtoken_1.default.sign(data, this.AesKey, { expiresIn: this.expiresIn });
90
+ };
91
+ CryptoClient.prototype.apiTokenValidation = function (username, token, requestType) {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ var store;
94
+ return __generator(this, function (_a) {
95
+ if (this.authProvider) {
96
+ return [2 /*return*/, this.authProvider.authorizeToken(username, token, requestType)];
97
+ }
98
+ store = this.kernel.getConfigStore();
99
+ if (!store.has('SERVER_PASSWORD')) {
100
+ return [2 /*return*/, { valid: false, userId: null }];
101
+ }
102
+ if (token === store.get('SERVER_PASSWORD') && username === 'admin') {
103
+ return [2 /*return*/, {
104
+ valid: true,
105
+ userId: 'admin',
106
+ }];
107
+ }
108
+ return [2 /*return*/, {
109
+ valid: false,
110
+ userId: null,
111
+ }];
112
+ });
113
+ });
114
+ };
115
+ CryptoClient.prototype.permissionValidation = function (token, requestType) {
116
+ return __awaiter(this, void 0, void 0, function () {
117
+ return __generator(this, function (_a) {
118
+ if (this.authProvider) {
119
+ return [2 /*return*/, this.authProvider.validateAccess(token, requestType)];
120
+ }
121
+ return [2 /*return*/, false];
122
+ });
123
+ });
124
+ };
125
+ CryptoClient.prototype.bearerTokenValidation = function (req) {
126
+ return __awaiter(this, void 0, void 0, function () {
127
+ var authHeader, token, tokenData;
128
+ return __generator(this, function (_a) {
129
+ switch (_a.label) {
130
+ case 0:
131
+ if (this.authProvider) {
132
+ return [2 /*return*/, this.authProvider.bearerTokenValidation(req)];
133
+ }
134
+ authHeader = req.headers.authorization;
135
+ token = authHeader && authHeader.split(' ')[1];
136
+ if (token == null) {
137
+ return [2 /*return*/, null];
138
+ }
139
+ return [4 /*yield*/, this.jwtVerifyAccessToken(token)];
140
+ case 1:
141
+ tokenData = _a.sent();
142
+ if (tokenData) {
143
+ return [2 /*return*/, tokenData];
144
+ }
145
+ return [2 /*return*/, null];
146
+ }
147
+ });
148
+ });
149
+ };
150
+ return CryptoClient;
151
+ }(core_1.CoreCryptoClient));
152
+ exports.default = CryptoClient;
@@ -1,3 +1,3 @@
1
- import CryptoClient from './CryptoClient';
2
- export { CryptoClient };
3
- export * from './utils/cors';
1
+ import CryptoClient from './CryptoClient';
2
+ export { CryptoClient };
3
+ export * from './utils/cors';
@@ -1,23 +1,19 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.CryptoClient = void 0;
21
- var CryptoClient_1 = __importDefault(require("./CryptoClient"));
22
- exports.CryptoClient = CryptoClient_1.default;
23
- __exportStar(require("./utils/cors"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CryptoClient = void 0;
17
+ var CryptoClient_1 = __importDefault(require("./CryptoClient"));
18
+ exports.CryptoClient = CryptoClient_1.default;
19
+ __exportStar(require("./utils/cors"), exports);