@payfit/audit-log 1.0.3 → 1.0.4

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/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ ## 1.0.4 (2020/04/02)
2
+
3
+ * Better error handling (#18)
4
+ * Use TS 3.7 (#18)
5
+ * Add individualId to scope (#18)
6
+
7
+ ## 1.0.3 (2020/04/01)
8
+
9
+ First working version in prod
package/README.md CHANGED
@@ -26,8 +26,9 @@ You can finally write an audit log:
26
26
 
27
27
  ```ts
28
28
  logger.log({
29
- event: 'bonusAdded',
30
29
  namespace: 'payroll',
30
+ target: 'employee.bonus',
31
+ event: 'create',
31
32
  payload: {
32
33
  amount: 200,
33
34
  },
package/dist/index.d.ts CHANGED
@@ -68,6 +68,8 @@ export declare type IAuditLogScope = {
68
68
  } | {
69
69
  companyId: string;
70
70
  employeeId?: string;
71
+ } | {
72
+ individualId: string;
71
73
  } | null;
72
74
  export interface IAuditLogger {
73
75
  log: (data: IAuditLogData) => Promise<void>;
package/dist/index.js CHANGED
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
4
  return new (P || (P = Promise))(function (resolve, reject) {
4
5
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
6
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
9
  });
9
10
  };
@@ -32,8 +33,8 @@ class AuditLogger {
32
33
  const uuid = uuid_1.v4();
33
34
  const { environment, service } = this.params;
34
35
  const timestamp = new Date().getTime();
35
- const log = Object.assign({}, data, account, { service, id: uuid, environment,
36
- timestamp }, (scope && { scope }));
36
+ const log = Object.assign(Object.assign(Object.assign(Object.assign({}, data), account), { service, id: uuid, environment,
37
+ timestamp }), (scope && { scope }));
37
38
  yield this.transport.create(log);
38
39
  });
39
40
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmC;AAEnC,+DAAsD;AAqGtD,MAAa,WAAW;IAGtB,YAAsB,MAAkC;QAAlC,WAAM,GAAN,MAAM,CAA4B;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IAEK,GAAG,CAAC,EAA0C;YAA1C,EAAE,KAAK,EAAE,OAAO,OAA0B,EAAxB,uCAAO;;YACjC,MAAM,IAAI,GAAG,SAAM,EAAE,CAAA;YACrB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAC5C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YAEtC,MAAM,GAAG,qBACJ,IAAI,EACJ,OAAO,IACV,OAAO,EACP,EAAE,EAAE,IAAI,EACR,WAAW;gBACX,SAAS,IACN,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,CACxB,CAAA;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;;KACjC;CACF;AAxBD,kCAwBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmC;AAEnC,+DAAsD;AAwGtD,MAAa,WAAW;IAGtB,YAAsB,MAAkC;QAAlC,WAAM,GAAN,MAAM,CAA4B;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IAEK,GAAG,CAAC,EAA0C;YAA1C,EAAE,KAAK,EAAE,OAAO,OAA0B,EAAxB,uCAAO;;YACjC,MAAM,IAAI,GAAG,SAAM,EAAE,CAAA;YACrB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAC5C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YAEtC,MAAM,GAAG,+DACJ,IAAI,GACJ,OAAO,KACV,OAAO,EACP,EAAE,EAAE,IAAI,EACR,WAAW;gBACX,SAAS,KACN,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,CACxB,CAAA;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;;KACjC;CACF;AAxBD,kCAwBC"}
@@ -51,14 +51,14 @@ exports.DefaultApiAxiosParamCreator = function (configuration) {
51
51
  if (configuration) {
52
52
  baseOptions = configuration.baseOptions;
53
53
  }
54
- const localVarRequestOptions = Object.assign({ method: 'POST' }, baseOptions, options);
54
+ const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
55
55
  const localVarHeaderParameter = {};
56
56
  const localVarQueryParameter = {};
57
57
  localVarHeaderParameter['Content-Type'] = 'application/json';
58
- localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
58
+ localVarUrlObj.query = Object.assign(Object.assign(Object.assign({}, localVarUrlObj.query), localVarQueryParameter), options.query);
59
59
  // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
60
60
  delete localVarUrlObj.search;
61
- localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
61
+ localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarHeaderParameter), options.headers);
62
62
  const needsSerialization = (typeof inlineObject !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
63
63
  localVarRequestOptions.data = needsSerialization ? JSON.stringify(inlineObject !== undefined ? inlineObject : {}) : (inlineObject || "");
64
64
  return {
@@ -84,7 +84,7 @@ exports.DefaultApiFp = function (configuration) {
84
84
  v1LogPost(inlineObject, options) {
85
85
  const localVarAxiosArgs = exports.DefaultApiAxiosParamCreator(configuration).v1LogPost(inlineObject, options);
86
86
  return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
87
- const axiosRequestArgs = Object.assign({}, localVarAxiosArgs.options, { url: basePath + localVarAxiosArgs.url });
87
+ const axiosRequestArgs = Object.assign(Object.assign({}, localVarAxiosArgs.options), { url: basePath + localVarAxiosArgs.url });
88
88
  return axios.request(axiosRequestArgs);
89
89
  };
90
90
  },
@@ -1 +1 @@
1
- {"version":3,"file":"default-api.js","sourceRoot":"","sources":["../../../../src/transport/generated/api/default-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-api.js","sourceRoot":"","sources":["../../../../src/transport/generated/api/default-api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
4
  return new (P || (P = Promise))(function (resolve, reject) {
4
5
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
6
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
9
  });
9
10
  };
@@ -17,8 +18,18 @@ class Transport {
17
18
  });
18
19
  }
19
20
  create(auditLogData) {
21
+ var _a;
20
22
  return __awaiter(this, void 0, void 0, function* () {
21
- yield this.api.v1LogPost(auditLogData);
23
+ try {
24
+ yield this.api.v1LogPost(auditLogData);
25
+ }
26
+ catch (err) {
27
+ if (!err.isAxiosError) {
28
+ throw err;
29
+ }
30
+ const message = ((_a = err.response) === null || _a === void 0 ? void 0 : _a.data) || err.message;
31
+ throw new Error(message);
32
+ }
22
33
  });
23
34
  }
24
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/transport/implementation.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAwC;AAKxC,MAAa,SAAS;IAGpB,YAAsB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,sBAAU,CAAC;YACxB,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;IACJ,CAAC;IAEK,MAAM,CAAC,YAA0B;;YACrC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACxC,CAAC;KAAA;CACF;AAZD,8BAYC"}
1
+ {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/transport/implementation.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAwC;AAKxC,MAAa,SAAS;IAGpB,YAAsB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,sBAAU,CAAC;YACxB,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;IACJ,CAAC;IAEK,MAAM,CAAC,YAA0B;;;YACrC,IAAI;gBACF,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;aACvC;YAAC,OAAM,GAAG,EAAE;gBACX,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;oBACrB,MAAM,GAAG,CAAA;iBACV;gBAED,MAAM,OAAO,GAAG,OAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI,KAAI,GAAG,CAAC,OAAO,CAAA;gBACjD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;aACzB;;KACF;CACF;AArBD,8BAqBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payfit/audit-log",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Library to handle audit logs at Payfit",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -26,6 +26,6 @@
26
26
  "ts-node-dev": "1.0.0-pre.40",
27
27
  "tslint": "5.18.0",
28
28
  "tslint-config-prettier": "1.18.0",
29
- "typescript": "3.5.3"
29
+ "typescript": "3.8.3"
30
30
  }
31
31
  }
@@ -23,7 +23,7 @@ async function main() {
23
23
  roleId: 'a role id',
24
24
  userIp: '127.0.0.1',
25
25
  countryCode: 'FR',
26
- email: 'truc@ok.fr'
26
+ email: 'truc@ok.fr',
27
27
  },
28
28
  scope: {
29
29
  employeeId: 'an employee id',
package/src/index.ts CHANGED
@@ -88,6 +88,9 @@ export type IAuditLogScope =
88
88
  companyId: string
89
89
  employeeId?: string
90
90
  }
91
+ | {
92
+ individualId: string
93
+ }
91
94
  | null
92
95
 
93
96
  // warning: modifying this interface means probably make a breaking change to the SDK
@@ -13,6 +13,15 @@ export class Transport implements IAuditLogTransport {
13
13
  }
14
14
 
15
15
  async create(auditLogData: InlineObject) {
16
- await this.api.v1LogPost(auditLogData)
16
+ try {
17
+ await this.api.v1LogPost(auditLogData)
18
+ } catch(err) {
19
+ if (!err.isAxiosError) {
20
+ throw err
21
+ }
22
+
23
+ const message = err.response?.data || err.message
24
+ throw new Error(message)
25
+ }
17
26
  }
18
27
  }