@konplit-services/common 1.0.65 → 1.0.68

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.
@@ -0,0 +1,8 @@
1
+ import { Publisher } from "../base-events";
2
+ import { AdminLogsCreatedEvent } from "../logs-events/interfaces";
3
+ import { StreamEvent, StreamName, Subjects } from "../subjects";
4
+ export declare class AdminLogActivityPublisher extends Publisher<AdminLogsCreatedEvent> {
5
+ streamEvents: StreamEvent.Event;
6
+ stream: StreamName.name;
7
+ readonly subject = Subjects.AdminLogCreated;
8
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdminLogActivityPublisher = void 0;
4
+ const base_events_1 = require("../base-events");
5
+ const subjects_1 = require("../subjects");
6
+ class AdminLogActivityPublisher extends base_events_1.Publisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.streamEvents = subjects_1.StreamEvent.Event;
10
+ this.stream = subjects_1.StreamName.name;
11
+ this.subject = subjects_1.Subjects.AdminLogCreated;
12
+ }
13
+ }
14
+ exports.AdminLogActivityPublisher = AdminLogActivityPublisher;
@@ -0,0 +1,8 @@
1
+ import { Publisher } from "../base-events";
2
+ import { MerchantLogsCreatedEvent } from "../logs-events/interfaces";
3
+ import { StreamEvent, StreamName, Subjects } from "../subjects";
4
+ export declare class MerchantLogActivityPublisher extends Publisher<MerchantLogsCreatedEvent> {
5
+ streamEvents: StreamEvent.Event;
6
+ stream: StreamName.name;
7
+ readonly subject = Subjects.MerchantLogCreated;
8
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MerchantLogActivityPublisher = void 0;
4
+ const base_events_1 = require("../base-events");
5
+ const subjects_1 = require("../subjects");
6
+ class MerchantLogActivityPublisher extends base_events_1.Publisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.streamEvents = subjects_1.StreamEvent.Event;
10
+ this.stream = subjects_1.StreamName.name;
11
+ this.subject = subjects_1.Subjects.MerchantLogCreated;
12
+ }
13
+ }
14
+ exports.MerchantLogActivityPublisher = MerchantLogActivityPublisher;
@@ -51,6 +51,14 @@ export declare const error_codes: {
51
51
  error_code: string;
52
52
  code: number;
53
53
  };
54
+ EMAIL_ALREADY_VERIFIED: {
55
+ error_code: string;
56
+ code: number;
57
+ };
58
+ PHONE_ALREADY_VERIFIED: {
59
+ error_code: string;
60
+ code: number;
61
+ };
54
62
  PHONE_NOT_VERIFIED: {
55
63
  error_code: string;
56
64
  code: number;
@@ -55,13 +55,21 @@ exports.error_codes = {
55
55
  error_code: "EMAIL_ALREADY_EXIST",
56
56
  code: 310005,
57
57
  },
58
+ EMAIL_ALREADY_VERIFIED: {
59
+ error_code: "EMAIL_ALREADY_VERIFIED",
60
+ code: 310006,
61
+ },
62
+ PHONE_ALREADY_VERIFIED: {
63
+ error_code: "PHONE_ALREADY_VERIFIED",
64
+ code: 310007,
65
+ },
58
66
  PHONE_NOT_VERIFIED: {
59
67
  error_code: "PHONE_NOT_VERIFIED",
60
- code: 310006,
68
+ code: 310008,
61
69
  },
62
70
  PHONE_ALREADY_EXIST: {
63
71
  error_code: "PHONE_ALREADY_EXIST",
64
- code: 310007,
72
+ code: 310009,
65
73
  },
66
74
  // ACCOUNT BLOCKED
67
75
  ACCOUNT_NOT_FOUND: {
@@ -4,6 +4,8 @@ export declare const lang: {
4
4
  invalid_user: string;
5
5
  user_exist: string;
6
6
  user_email_exist: string;
7
+ email_alread_verified: string;
8
+ phone_alread_verified: string;
7
9
  user_phone_exist: string;
8
10
  user_email_not_verfied: string;
9
11
  user_phone_not_verfied: string;
@@ -9,6 +9,8 @@ exports.lang = {
9
9
  invalid_user: "invalid email or password",
10
10
  user_exist: "user already exists",
11
11
  user_email_exist: "user emal already exists",
12
+ email_alread_verified: "user emal has been verified already",
13
+ phone_alread_verified: "phone number has been verified already",
12
14
  user_phone_exist: "user phone number already exists",
13
15
  user_email_not_verfied: "user email not verified",
14
16
  user_phone_not_verfied: "user phone not verified",
@@ -4,6 +4,15 @@ import { BadRequestError } from "../errors/bad-request-error";
4
4
  import { ForbiddenError } from "../errors/forbidden-error";
5
5
  import { NotAuthorizedError } from "../errors/notAuthorized";
6
6
  import { AxiosRequestError } from "../errors/axios-request-error";
7
+ import { JetStreamClient } from "nats";
8
+ import { LOGACTIONS } from "../log-activities/actions";
9
+ interface User {
10
+ id?: string;
11
+ email?: string;
12
+ role?: string;
13
+ accountId: string;
14
+ [key: string]: any;
15
+ }
7
16
  export declare class Service {
8
17
  protected NotFoundError: typeof NotFoundError;
9
18
  protected BadRequestError: typeof BadRequestError;
@@ -11,4 +20,7 @@ export declare class Service {
11
20
  protected NotAuthorizedError: typeof NotAuthorizedError;
12
21
  protected ServiceNotAvailableError: typeof ServiceNotAvailableError;
13
22
  protected AxiosRequestError: typeof AxiosRequestError;
23
+ activityLog(client: JetStreamClient, user: User, action: LOGACTIONS, data: any): void;
24
+ merchantOnlyLogs(client: JetStreamClient, user: User, action: LOGACTIONS, data: any): void;
14
25
  }
26
+ export {};
@@ -7,6 +7,9 @@ const bad_request_error_1 = require("../errors/bad-request-error");
7
7
  const forbidden_error_1 = require("../errors/forbidden-error");
8
8
  const notAuthorized_1 = require("../errors/notAuthorized");
9
9
  const axios_request_error_1 = require("../errors/axios-request-error");
10
+ const merchant_log_publisher_1 = require("../events/publisher/merchant-log.publisher");
11
+ const admin_log_publisher_1 = require("../events/publisher/admin-log.publisher");
12
+ const helper_1 = require("../helper");
10
13
  class Service {
11
14
  constructor() {
12
15
  this.NotFoundError = not_found_1.NotFoundError;
@@ -16,5 +19,34 @@ class Service {
16
19
  this.ServiceNotAvailableError = service_not_available_1.ServiceNotAvailableError;
17
20
  this.AxiosRequestError = axios_request_error_1.AxiosRequestError;
18
21
  }
22
+ activityLog(client, user, action, data) {
23
+ if (Object.values(helper_1.AdminRoles).includes(user.role)) {
24
+ new admin_log_publisher_1.AdminLogActivityPublisher(client).publish({
25
+ id: user.id,
26
+ role: user.role,
27
+ email: user.email,
28
+ action,
29
+ data,
30
+ });
31
+ }
32
+ new merchant_log_publisher_1.MerchantLogActivityPublisher(client).publish({
33
+ id: user.id,
34
+ email: user.email,
35
+ role: user.role,
36
+ accountId: user.accountId,
37
+ action,
38
+ data,
39
+ });
40
+ }
41
+ merchantOnlyLogs(client, user, action, data) {
42
+ new merchant_log_publisher_1.MerchantLogActivityPublisher(client).publish({
43
+ id: user.id,
44
+ email: user.email,
45
+ role: user.role,
46
+ accountId: user.accountId,
47
+ action,
48
+ data,
49
+ });
50
+ }
19
51
  }
20
52
  exports.Service = Service;
package/package.json CHANGED
@@ -1,46 +1,46 @@
1
- {
2
- "name": "@konplit-services/common",
3
- "version": "1.0.65",
4
- "description": "",
5
- "main": "./build/index.js",
6
- "types": "./build/index.d.ts",
7
- "private": false,
8
- "files": [
9
- "build/**/*"
10
- ],
11
- "scripts": {
12
- "build": "tsc",
13
- "pub": "git add . && git commit -m \"updates\" && npm version patch && npm run build && npm publish --access public"
14
- },
15
- "keywords": [],
16
- "author": "",
17
- "license": "ISC",
18
- "devDependencies": {
19
- "typescript": "^4.7.4"
20
- },
21
- "dependencies": {
22
- "@types/express": "^4.17.13",
23
- "@types/jsonwebtoken": "^8.5.8",
24
- "@types/node": "^18.6.1",
25
- "@types/swagger-jsdoc": "^6.0.4",
26
- "@types/swagger-ui-express": "^4.1.6",
27
- "axios": "^1.7.2",
28
- "express": "^4.18.1",
29
- "express-validator": "^6.14.2",
30
- "ioredis": "^5.4.1",
31
- "jsonwebtoken": "^8.5.1",
32
- "mailersend": "^2.0.5",
33
- "mongoose": "^6.9.2",
34
- "nanoid": "^3.3.7",
35
- "nats": "^2.25.0",
36
- "node-ipinfo": "^3.5.0",
37
- "swagger-jsdoc": "^6.2.8",
38
- "swagger-ui-express": "^5.0.0",
39
- "ts-node-dev": "^2.0.0",
40
- "typescript": "^4.8.4"
41
- },
42
- "engines": {
43
- "node": "v18.20.1",
44
- "npm": "8.1.0"
45
- }
46
- }
1
+ {
2
+ "name": "@konplit-services/common",
3
+ "version": "1.0.68",
4
+ "description": "",
5
+ "main": "./build/index.js",
6
+ "types": "./build/index.d.ts",
7
+ "private": false,
8
+ "files": [
9
+ "build/**/*"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "pub": "git add . && git commit -m \"updates\" && npm version patch && npm run build && npm publish --access public"
14
+ },
15
+ "keywords": [],
16
+ "author": "",
17
+ "license": "ISC",
18
+ "devDependencies": {
19
+ "typescript": "^4.7.4"
20
+ },
21
+ "dependencies": {
22
+ "@types/express": "^4.17.13",
23
+ "@types/jsonwebtoken": "^8.5.8",
24
+ "@types/node": "^18.6.1",
25
+ "@types/swagger-jsdoc": "^6.0.4",
26
+ "@types/swagger-ui-express": "^4.1.6",
27
+ "axios": "^1.7.2",
28
+ "express": "^4.18.1",
29
+ "express-validator": "^6.14.2",
30
+ "ioredis": "^5.4.1",
31
+ "jsonwebtoken": "^8.5.1",
32
+ "mailersend": "^2.0.5",
33
+ "mongoose": "^6.9.2",
34
+ "nanoid": "^3.3.7",
35
+ "nats": "^2.25.0",
36
+ "node-ipinfo": "^3.5.0",
37
+ "swagger-jsdoc": "^6.2.8",
38
+ "swagger-ui-express": "^5.0.0",
39
+ "ts-node-dev": "^2.0.0",
40
+ "typescript": "^4.8.4"
41
+ },
42
+ "engines": {
43
+ "node": "v20.14.0",
44
+ "npm": "10.7.0"
45
+ }
46
+ }