@grandlinex/kernel 0.23.1 → 0.24.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/Kernel.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import CoreKernel, { CoreLogger } from '@grandlinex/core';
2
+ import { Request } from 'express';
2
3
  import { ICClient, IKernel } from './lib';
3
4
  /**
4
5
  * @class Kernel
@@ -19,4 +20,8 @@ export default class Kernel extends CoreKernel<ICClient> implements IKernel {
19
20
  });
20
21
  getAppServerPort(): number;
21
22
  setAppServerPort(port: number): void;
23
+ responseCodeFunction(data: {
24
+ code: number;
25
+ req: Request;
26
+ }): void;
22
27
  }
package/dist/Kernel.js CHANGED
@@ -63,6 +63,12 @@ var Kernel = /** @class */ (function (_super) {
63
63
  Kernel.prototype.setAppServerPort = function (port) {
64
64
  this.expressPort = port;
65
65
  };
66
+ Kernel.prototype.responseCodeFunction = function (data) {
67
+ var code = data.code;
68
+ if (code < 200 || code >= 300) {
69
+ this.debug(data.req.path, data.req.ip, data.code);
70
+ }
71
+ };
66
72
  return Kernel;
67
73
  }(core_1.default));
68
74
  exports.default = Kernel;
@@ -2,7 +2,7 @@ import { InMemCache } from '@grandlinex/core';
2
2
  import BaseKernelModule from './classes/BaseKernelModule';
3
3
  import { IKernel } from './lib';
4
4
  import KernelEndpoint from './api/KernelEndpoint';
5
- export default class KernelModule extends BaseKernelModule<null, null, InMemCache, KernelEndpoint> {
5
+ export default class KernelModule extends BaseKernelModule<IKernel, null, null, InMemCache, KernelEndpoint> {
6
6
  constructor(kernel: IKernel);
7
7
  initModule(): Promise<void>;
8
8
  }
@@ -1,10 +1,10 @@
1
1
  import { Request, Response } from 'express';
2
- import { CoreAction } from '@grandlinex/core';
3
- import { IBaseAction, IBaseKernelModule } from '../lib';
2
+ import { CoreAction, IDataBase } from '@grandlinex/core';
3
+ import { IBaseAction, IBaseCache, IBaseClient, IBaseKernelModule, IBasePresenter, IKernel } from '../lib';
4
4
  import { JwtToken } from './BaseAuthProvider';
5
- export default abstract class BaseAction extends CoreAction implements IBaseAction {
5
+ export default abstract class BaseAction<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> extends CoreAction<K, T, P, C, E> implements IBaseAction<K, T, P, C, E> {
6
6
  dmz: boolean;
7
- constructor(chanel: string, module: IBaseKernelModule<any, any, any, any>);
7
+ constructor(chanel: string, module: IBaseKernelModule<K, T, P, C, E>);
8
8
  abstract handler(req: Request, res: Response, next: () => void, data: JwtToken | null): Promise<void>;
9
9
  secureHandler(req: Request, res: Response, next: () => void): Promise<void>;
10
10
  abstract register(): void;
@@ -63,9 +63,16 @@ var BaseAction = /** @class */ (function (_super) {
63
63
  BaseAction.prototype.secureHandler = function (req, res, next) {
64
64
  return __awaiter(this, void 0, void 0, function () {
65
65
  var cc, dat;
66
+ var _this = this;
66
67
  return __generator(this, function (_a) {
67
68
  switch (_a.label) {
68
69
  case 0:
70
+ res.on('finish', function () {
71
+ _this.getKernel().responseCodeFunction({
72
+ code: res.statusCode,
73
+ req: req,
74
+ });
75
+ });
69
76
  cc = this.getKernel().getCryptoClient();
70
77
  if (!cc) {
71
78
  res.status(504).send('internal server error');
@@ -1,8 +1,9 @@
1
- import { ActionTypes, IBaseAction, IBaseKernelModule } from '../lib';
1
+ import { IDataBase } from '@grandlinex/core';
2
+ import { ActionTypes, IBaseAction, IBaseCache, IBaseClient, IBaseKernelModule, IBasePresenter, IKernel } from '../lib';
2
3
  import BaseAction from './BaseAction';
3
- export default abstract class BaseApiAction extends BaseAction implements IBaseAction {
4
- exmod: undefined | IBaseKernelModule<any, any, any, any>;
4
+ export default abstract class BaseApiAction<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> extends BaseAction<K, T, P, C, E> implements IBaseAction<K, T, P, C, E> {
5
+ exmod: undefined | IBaseKernelModule<K>;
5
6
  type: ActionTypes;
6
- constructor(type: ActionTypes, chanel: string, module: IBaseKernelModule<any, any, any, any>, extMod?: IBaseKernelModule<any, any, any, any>);
7
+ constructor(type: ActionTypes, chanel: string, module: IBaseKernelModule<K, T, P, C, E>, extMod?: IBaseKernelModule<K>);
7
8
  register(): void;
8
9
  }
@@ -1,7 +1,7 @@
1
1
  import express from 'express';
2
- import { CorePresenter } from '@grandlinex/core';
3
- import { IBaseKernelModule, IBasePresenter } from '../lib';
4
- export default abstract class BaseEndpoint extends CorePresenter<express.Express> implements IBasePresenter {
2
+ import { CorePresenter, IDataBase } from '@grandlinex/core';
3
+ import { IBaseCache, IBaseClient, IBaseKernelModule, IBasePresenter, IKernel } from '../lib';
4
+ export default abstract class BaseEndpoint<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> extends CorePresenter<express.Express, K, T, P, C, E> implements IBasePresenter {
5
5
  private appServer;
6
6
  private httpServer;
7
7
  private port;
@@ -1,5 +1,4 @@
1
1
  import { CoreKernelModule, IDataBase } from '@grandlinex/core';
2
- import { BaseClient } from 'classes';
3
- import { IBaseCache, IBaseKernelModule, IBasePresenter, IKernel } from '../lib';
4
- export default abstract class BaseKernelModule<T extends IDataBase<any, any> | null, P extends BaseClient | null, C extends IBaseCache | null, E extends IBasePresenter | null> extends CoreKernelModule<IKernel, T, P, C, E> implements IBaseKernelModule<T | null, P | null, C | null, E | null> {
2
+ import { IBaseCache, IBaseClient, IBaseKernelModule, IBasePresenter, IKernel } from '../lib';
3
+ export default abstract class BaseKernelModule<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> extends CoreKernelModule<K, T, P, C, E> implements IBaseKernelModule<K, T, P, C, E> {
5
4
  }
@@ -1,6 +1,5 @@
1
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';
2
+ import { ICoreAction, ICoreBridge, ICoreCache, ICoreCClient, ICoreClient, ICoreElement, ICoreKernel, ICoreKernelModule, ICorePresenter, ICoreService, IDataBase } from '@grandlinex/core';
4
3
  import { IAuthProvider, JwtToken } from '../classes/BaseAuthProvider';
5
4
  export declare type ActionTypes = 'POST' | 'GET' | 'USE' | 'PATCH' | 'DELETE';
6
5
  export interface ICClient extends ICoreCClient {
@@ -19,13 +18,18 @@ export interface ICClient extends ICoreCClient {
19
18
  export interface IKernel extends ICoreKernel<ICClient> {
20
19
  getAppServerPort(): number;
21
20
  setAppServerPort(port: number): void;
21
+ responseCodeFunction(data: {
22
+ code: number;
23
+ req: Request;
24
+ }): void;
22
25
  }
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>;
26
+ export declare type IBaseKernelModule<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> = ICoreKernelModule<K, T, P, C, E>;
24
27
  export declare type IBasePresenter = ICorePresenter<express.Express>;
25
- export interface IBaseAction extends ICoreAction {
28
+ export declare type IBaseService<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> = ICoreService<K, T, P, C, E>;
29
+ export declare type IBaseClient<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> = ICoreClient;
30
+ export declare type IBaseBrige = ICoreBridge;
31
+ export declare type IBaseCache<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> = ICoreCache<K, T, P, C, E>;
32
+ export declare type IBaseElement<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> = ICoreElement<K, T, P, C, E>;
33
+ export interface IBaseAction<K extends IKernel = IKernel, T extends IDataBase<any, any> | null = any, P extends IBaseClient | null = any, C extends IBaseCache | null = any, E extends IBasePresenter | null = any> extends ICoreAction<K, T, P, C, E> {
26
34
  handler(req: Request, res: Response, next: () => void, data: JwtToken | null): Promise<void>;
27
35
  }
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grandlinex/kernel",
3
- "version": "0.23.1",
3
+ "version": "0.24.0",
4
4
  "description": "GrandLineX is an out-of-the-box server framework on top of ExpressJs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "license": "BSD-3-Clause",
29
29
  "dependencies": {
30
- "@grandlinex/core": "^0.23.2",
30
+ "@grandlinex/core": "^0.24.1",
31
31
  "axios": "^0.24.0",
32
32
  "body-parser": "^1.19.1",
33
33
  "express": "^4.17.2",