@autofleet/shtinker 0.0.9-beta3 → 0.0.10

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/audit-api.js CHANGED
@@ -13,10 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const errors_1 = require("@autofleet/errors");
16
- const logger_1 = __importDefault(require("./logger"));
17
16
  const audit_ms_1 = __importDefault(require("./audit-ms"));
18
17
  exports.default = ({ router, entiyScopedModelMap, }) => __awaiter(void 0, void 0, void 0, function* () {
19
- logger_1.default.info('*** SEPHI got here', { entiyScopedModelMap });
20
18
  if (entiyScopedModelMap) {
21
19
  Object.entries(entiyScopedModelMap).forEach(([entity, ScopedModel]) => {
22
20
  router.get(`${entity}/:id/audit`, (req, res) => __awaiter(void 0, void 0, void 0, function* () {
@@ -19,7 +19,6 @@ const getAuditContext = () => {
19
19
  var _a;
20
20
  const currentTrace = (0, zehut_1.getCurrentPayload)();
21
21
  const auditContext = (_a = currentTrace === null || currentTrace === void 0 ? void 0 : currentTrace.context) === null || _a === void 0 ? void 0 : _a.get(const_1.AUDIT_LOG_CONTEXT_KEY);
22
- logger_1.default.info('*** SEPHI getAuditContext', { currentTrace, auditContext });
23
22
  return auditContext;
24
23
  };
25
24
  class AuditLogger {
@@ -32,9 +31,7 @@ class AuditLogger {
32
31
  Object.entries(this.sequelize.models).forEach(([modelName, modelType]) => {
33
32
  modelType.addHook('afterSave', (instance) => __awaiter(this, void 0, void 0, function* () {
34
33
  const auditContext = getAuditContext();
35
- logger_1.default.info('*** SEPHI after save', { instance, auditContext });
36
34
  if (auditContext) {
37
- logger_1.default.info('*** SEPHI after save got context', { instance, auditContext });
38
35
  const changedProperties = instance.changed();
39
36
  const payload = {
40
37
  entityType: modelName,
@@ -45,7 +42,6 @@ class AuditLogger {
45
42
  newValue: instance.get(property),
46
43
  })),
47
44
  };
48
- logger_1.default.info('*** SEPHI after save got context payload', { payload, changedProperties });
49
45
  this.sendAuditLogRows(payload);
50
46
  }
51
47
  }));
@@ -53,7 +49,6 @@ class AuditLogger {
53
49
  }
54
50
  sendAuditLogContext(context) {
55
51
  return __awaiter(this, void 0, void 0, function* () {
56
- logger_1.default.info('*** SEPHI sendAuditLogContext', { context });
57
52
  try {
58
53
  yield this.rabbit.sendToQueue(const_1.AUDIT_LOG_CONTEXT_QUEUE, context);
59
54
  }
@@ -64,7 +59,6 @@ class AuditLogger {
64
59
  }
65
60
  sendAuditLogRows(payload) {
66
61
  return __awaiter(this, void 0, void 0, function* () {
67
- logger_1.default.info('*** SEPHI sendAuditLogRows', { payload });
68
62
  try {
69
63
  yield this.rabbit.sendToQueue(const_1.AUDIT_LOG_ROWS_QUEUE, payload);
70
64
  }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import AuditLogger from './audit-logger';
2
2
  import { AuditLoggerOptions } from './types';
3
3
  export declare const enableAuditing: (options: AuditLoggerOptions) => void;
4
- export declare const setAuditContext: (entityType: string, entityId: string, action: string) => (req: any, res: any, next: any) => Promise<any>;
4
+ export declare const setAuditContext: (entityType: string, action: string) => (req: any, res: any, next: any) => Promise<any>;
5
5
  export * from './types';
6
6
  export * from './const';
7
7
  export default AuditLogger;
package/dist/index.js CHANGED
@@ -31,39 +31,26 @@ const zehut_1 = require("@autofleet/zehut");
31
31
  const audit_logger_1 = __importDefault(require("./audit-logger"));
32
32
  const const_1 = require("./const");
33
33
  const audit_api_1 = __importDefault(require("./audit-api"));
34
- const logger_1 = __importDefault(require("./logger"));
35
34
  let auditLogger;
36
- // export let getCurrentTrace: () => any;
37
35
  const enableAuditing = (options) => {
38
36
  auditLogger = new audit_logger_1.default(options);
39
- // getCurrentTrace = options.getCurrentTrace;
40
37
  (0, audit_api_1.default)(options);
41
38
  auditLogger.registerHooks();
42
39
  };
43
40
  exports.enableAuditing = enableAuditing;
44
- const setAuditContext = (entityType, entityId, action) => (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
41
+ const setAuditContext = (entityType, action) => (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
45
42
  const currentTrace = (0, zehut_1.getCurrentPayload)();
46
- logger_1.default.info('*** SEPHI current trace', { currentTrace });
47
43
  if (currentTrace) {
48
- try {
49
- logger_1.default.info('*** SEPHI entered if');
50
- const user = currentTrace.context.get(const_1.USER_CONTEXT_KEY);
51
- logger_1.default.info('*** SEPHI user', { user });
52
- const auditLogContext = {
53
- entityType,
54
- entityId,
55
- action,
56
- endpoint: req.url,
57
- method: req.method,
58
- performedBy: user.id,
59
- };
60
- logger_1.default.info('*** SEPHI auditLogContext', { auditLogContext });
61
- currentTrace.context.set(const_1.AUDIT_LOG_CONTEXT_KEY, auditLogContext);
62
- yield auditLogger.sendAuditLogContext(auditLogContext);
63
- }
64
- catch (err) {
65
- logger_1.default.error('*** SEPHI something wrong with trace', err);
66
- }
44
+ const user = currentTrace.context.get(const_1.USER_CONTEXT_KEY);
45
+ const auditLogContext = {
46
+ entityType,
47
+ action,
48
+ endpoint: req.url,
49
+ method: req.method,
50
+ performedBy: user.id,
51
+ };
52
+ currentTrace.context.set(const_1.AUDIT_LOG_CONTEXT_KEY, auditLogContext);
53
+ yield auditLogger.sendAuditLogContext(auditLogContext);
67
54
  }
68
55
  return next();
69
56
  });
package/dist/types.d.ts CHANGED
@@ -8,7 +8,6 @@ export type AuditLoggerOptions = {
8
8
  };
9
9
  export interface AuditLogContext {
10
10
  entityType: string;
11
- entityId: string;
12
11
  action: string;
13
12
  performedBy: string;
14
13
  endpoint: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/shtinker",
3
- "version": "0.0.9-beta3",
3
+ "version": "0.0.10",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/audit-api.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Router } from 'express';
2
2
  import { handleError, ResourceNotFoundError, UnexpectedError } from '@autofleet/errors';
3
- import logger from './logger';
4
3
 
5
4
  import auditMs from './audit-ms';
6
5
 
@@ -11,7 +10,6 @@ export default async ({
11
10
  router: Router,
12
11
  entiyScopedModelMap: Array<any>,
13
12
  }): Promise<void> => {
14
- logger.info('*** SEPHI got here', { entiyScopedModelMap });
15
13
  if (entiyScopedModelMap) {
16
14
  Object.entries(entiyScopedModelMap).forEach(([entity, ScopedModel]) => {
17
15
  router.get(`${entity}/:id/audit`, async (req, res) => {
@@ -1,5 +1,6 @@
1
1
  import { getCurrentPayload as getCurrentTrace } from '@autofleet/zehut';
2
- // import { getCurrentTrace } from './index';
2
+ import { Sequelize } from 'sequelize';
3
+
3
4
  import { AuditLogPayload, AuditLoggerOptions, AuditLogContext } from './types';
4
5
  import { AUDIT_LOG_CONTEXT_QUEUE, AUDIT_LOG_ROWS_QUEUE, AUDIT_LOG_CONTEXT_KEY } from './const';
5
6
 
@@ -8,14 +9,13 @@ import logger from './logger';
8
9
  const getAuditContext = () => {
9
10
  const currentTrace = getCurrentTrace();
10
11
  const auditContext = currentTrace?.context?.get(AUDIT_LOG_CONTEXT_KEY);
11
- logger.info('*** SEPHI getAuditContext', { currentTrace, auditContext });
12
12
  return auditContext;
13
13
  };
14
14
 
15
15
  class AuditLogger {
16
16
  private rabbit;
17
17
 
18
- private sequelize;
18
+ private sequelize: Sequelize;
19
19
 
20
20
  private logger;
21
21
 
@@ -27,11 +27,9 @@ class AuditLogger {
27
27
 
28
28
  registerHooks(): void {
29
29
  Object.entries(this.sequelize.models).forEach(([modelName, modelType]) => {
30
- (modelType as any).addHook('afterSave', async (instance: any) => {
30
+ modelType.addHook('afterSave', async (instance: any) => {
31
31
  const auditContext = getAuditContext();
32
- logger.info('*** SEPHI after save', { instance, auditContext });
33
32
  if (auditContext) {
34
- logger.info('*** SEPHI after save got context', { instance, auditContext });
35
33
  const changedProperties = instance.changed();
36
34
  const payload: AuditLogPayload = {
37
35
  entityType: modelName,
@@ -42,7 +40,6 @@ class AuditLogger {
42
40
  newValue: instance.get(property),
43
41
  })),
44
42
  };
45
- logger.info('*** SEPHI after save got context payload', { payload, changedProperties });
46
43
  this.sendAuditLogRows(payload);
47
44
  }
48
45
  });
@@ -50,7 +47,6 @@ class AuditLogger {
50
47
  }
51
48
 
52
49
  async sendAuditLogContext(context: AuditLogContext): Promise<void> {
53
- logger.info('*** SEPHI sendAuditLogContext', { context });
54
50
  try {
55
51
  await this.rabbit.sendToQueue(AUDIT_LOG_CONTEXT_QUEUE, context);
56
52
  } catch (err) {
@@ -59,7 +55,6 @@ class AuditLogger {
59
55
  }
60
56
 
61
57
  async sendAuditLogRows(payload: AuditLogPayload): Promise<void> {
62
- logger.info('*** SEPHI sendAuditLogRows', { payload });
63
58
  try {
64
59
  await this.rabbit.sendToQueue(AUDIT_LOG_ROWS_QUEUE, payload);
65
60
  } catch (err) {
package/src/audit-ms.ts CHANGED
@@ -2,7 +2,7 @@ import Network from '@autofleet/network';
2
2
 
3
3
  const auditMs = new Network({ serviceName: 'AUDIT_MS', timeout: 1000 * 60 });
4
4
 
5
- const getByEntityId = (entityId: string) => {
5
+ const getByEntityId = (entityId: string): any => {
6
6
  const { data } = auditMs.get(`api/v1/audit-logs/${entityId}`);
7
7
  return data;
8
8
  };
package/src/index.ts CHANGED
@@ -4,45 +4,30 @@ import { AuditLogContext, AuditLoggerOptions } from './types';
4
4
  import { AUDIT_LOG_CONTEXT_KEY, USER_CONTEXT_KEY } from './const';
5
5
  import addAuditApi from './audit-api';
6
6
 
7
- import logger from './logger';
8
-
9
7
  let auditLogger: AuditLogger;
10
8
 
11
- // export let getCurrentTrace: () => any;
12
-
13
9
  export const enableAuditing = (options: AuditLoggerOptions) => {
14
10
  auditLogger = new AuditLogger(options);
15
- // getCurrentTrace = options.getCurrentTrace;
16
11
  addAuditApi(options as any);
17
12
  auditLogger.registerHooks();
18
13
  };
19
14
 
20
15
  export const setAuditContext = (
21
16
  entityType: string,
22
- entityId: string,
23
17
  action: string,
24
18
  ) => async (req: any, res: any, next: any): Promise<any> => {
25
19
  const currentTrace = getCurrentTrace();
26
- logger.info('*** SEPHI current trace', { currentTrace });
27
20
  if (currentTrace) {
28
- try {
29
- logger.info('*** SEPHI entered if');
30
- const user = currentTrace.context.get(USER_CONTEXT_KEY);
31
- logger.info('*** SEPHI user', { user });
32
- const auditLogContext: AuditLogContext = {
33
- entityType,
34
- entityId,
35
- action,
36
- endpoint: req.url,
37
- method: req.method,
38
- performedBy: user.id,
39
- };
40
- logger.info('*** SEPHI auditLogContext', { auditLogContext });
41
- currentTrace.context.set(AUDIT_LOG_CONTEXT_KEY, auditLogContext);
42
- await auditLogger.sendAuditLogContext(auditLogContext);
43
- } catch (err) {
44
- logger.error('*** SEPHI something wrong with trace', err);
45
- }
21
+ const user = currentTrace.context.get(USER_CONTEXT_KEY);
22
+ const auditLogContext: AuditLogContext = {
23
+ entityType,
24
+ action,
25
+ endpoint: req.url,
26
+ method: req.method,
27
+ performedBy: user.id,
28
+ };
29
+ currentTrace.context.set(AUDIT_LOG_CONTEXT_KEY, auditLogContext);
30
+ await auditLogger.sendAuditLogContext(auditLogContext);
46
31
  }
47
32
  return next();
48
33
  };
package/src/types.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Sequelize } from 'sequelize-typescript';
2
2
  import RabbitMq from '@autofleet/rabbit';
3
- import { getCurrentTrace } from '@autofleet/zehut/lib/tracer';
4
3
 
5
4
  export type AuditLoggerOptions = {
6
5
  rabbit: RabbitMq;
@@ -11,7 +10,6 @@ export type AuditLoggerOptions = {
11
10
 
12
11
  export interface AuditLogContext {
13
12
  entityType: string;
14
- entityId: string;
15
13
  action: string;
16
14
  performedBy: string;
17
15
  endpoint: string;
package/tsconfig.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "outDir": "./dist",
7
7
  "esModuleInterop": true,
8
8
  "experimentalDecorators": true,
9
- "emitDecoratorMetadata": true,
9
+ "emitDecoratorMetadata": true
10
10
  },
11
11
  "exclude": ["node_modules", "**/*.test.ts", "dist"]
12
12
  }