@antonymarshal23/common 3.3.0 → 3.5.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.
@@ -0,0 +1,8 @@
1
+ import { Subjects } from './subjects';
2
+ export interface CustomerCreatedEvent {
3
+ subject: Subjects.CustomerCreated;
4
+ data: {
5
+ id: string;
6
+ email: string;
7
+ };
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { Subjects } from './subjects';
2
+ export interface CustomerDeletedEvent {
3
+ subject: Subjects.CustomerDeleted;
4
+ data: {
5
+ id: string;
6
+ };
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { Subjects } from './subjects';
2
+ export interface CustomerUpdatedEvent {
3
+ subject: Subjects.CustomerUpdated;
4
+ data: {
5
+ id: string;
6
+ email: string;
7
+ };
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,5 +7,8 @@ export declare enum Subjects {
7
7
  PaymentCreated = "payment:created",
8
8
  UserCreated = "user:created",
9
9
  UserUpdated = "user:updated",
10
- UserDeleted = "user:deleted"
10
+ UserDeleted = "user:deleted",
11
+ CustomerCreated = "customer:created",
12
+ CustomerUpdated = "customer:updated",
13
+ CustomerDeleted = "customer:deleted"
11
14
  }
@@ -12,4 +12,7 @@ var Subjects;
12
12
  Subjects["UserCreated"] = "user:created";
13
13
  Subjects["UserUpdated"] = "user:updated";
14
14
  Subjects["UserDeleted"] = "user:deleted";
15
+ Subjects["CustomerCreated"] = "customer:created";
16
+ Subjects["CustomerUpdated"] = "customer:updated";
17
+ Subjects["CustomerDeleted"] = "customer:deleted";
15
18
  })(Subjects = exports.Subjects || (exports.Subjects = {}));
package/build/index.d.ts CHANGED
@@ -4,7 +4,6 @@ export * from "./errors/database-connection-error";
4
4
  export * from "./errors/not-authorized-error";
5
5
  export * from "./errors/not-found-error";
6
6
  export * from "./errors/request-validation-error";
7
- export * from "./middlewares/current-user";
8
7
  export * from "./middlewares/error-handler";
9
8
  export * from "./middlewares/require-auth";
10
9
  export * from "./middlewares/validate-request";
@@ -21,3 +20,6 @@ export * from "./events/payment-created-event";
21
20
  export * from "./events/user-created-event";
22
21
  export * from "./events/user-updated-event";
23
22
  export * from "./events/user-deleted-event";
23
+ export * from "./events/customer-created-event";
24
+ export * from "./events/customer-updated-event";
25
+ export * from "./events/customer-deleted-event";
package/build/index.js CHANGED
@@ -21,7 +21,6 @@ __exportStar(require("./errors/database-connection-error"), exports);
21
21
  __exportStar(require("./errors/not-authorized-error"), exports);
22
22
  __exportStar(require("./errors/not-found-error"), exports);
23
23
  __exportStar(require("./errors/request-validation-error"), exports);
24
- __exportStar(require("./middlewares/current-user"), exports);
25
24
  __exportStar(require("./middlewares/error-handler"), exports);
26
25
  __exportStar(require("./middlewares/require-auth"), exports);
27
26
  __exportStar(require("./middlewares/validate-request"), exports);
@@ -38,3 +37,6 @@ __exportStar(require("./events/payment-created-event"), exports);
38
37
  __exportStar(require("./events/user-created-event"), exports);
39
38
  __exportStar(require("./events/user-updated-event"), exports);
40
39
  __exportStar(require("./events/user-deleted-event"), exports);
40
+ __exportStar(require("./events/customer-created-event"), exports);
41
+ __exportStar(require("./events/customer-updated-event"), exports);
42
+ __exportStar(require("./events/customer-deleted-event"), exports);
@@ -1,2 +1,14 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
- export declare const requireAuth: (req: Request, res: Response, next: NextFunction) => void;
2
+ interface UserPayload {
3
+ id: string;
4
+ email: string;
5
+ }
6
+ declare global {
7
+ namespace Express {
8
+ interface Request {
9
+ currentUser?: UserPayload;
10
+ }
11
+ }
12
+ }
13
+ export declare const requireAuth: (type: "company" | "customer", UserModel: any) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
14
+ export {};
@@ -1,11 +1,39 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.requireAuth = void 0;
7
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
4
8
  const not_authorized_error_1 = require("../errors/not-authorized-error");
5
- const requireAuth = (req, res, next) => {
6
- if (!req.currentUser) {
7
- throw new not_authorized_error_1.NotAuthorizedError();
8
- }
9
- next();
9
+ const requireAuth = (type, UserModel) => {
10
+ return async (req, res, next) => {
11
+ var _a;
12
+ if (!((_a = req.session) === null || _a === void 0 ? void 0 : _a.jwt)) {
13
+ throw new not_authorized_error_1.NotAuthorizedError();
14
+ }
15
+ try {
16
+ const payload = jsonwebtoken_1.default.verify(req.session.jwt, process.env.JWT_KEY);
17
+ let user;
18
+ if (type === "company") {
19
+ user = await UserModel.findOne({
20
+ _id: payload.id,
21
+ });
22
+ }
23
+ else if (type === "customer") {
24
+ user = await UserModel.findOne({
25
+ _id: payload.id,
26
+ });
27
+ }
28
+ if (!user) {
29
+ throw new not_authorized_error_1.NotAuthorizedError();
30
+ }
31
+ req.currentUser = payload;
32
+ next();
33
+ }
34
+ catch (err) {
35
+ throw new not_authorized_error_1.NotAuthorizedError();
36
+ }
37
+ };
10
38
  };
11
39
  exports.requireAuth = requireAuth;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antonymarshal23/common",
3
- "version": "3.3.0",
3
+ "version": "3.5.0",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -1,14 +0,0 @@
1
- import { Request, Response, NextFunction } from "express";
2
- interface UserPayload {
3
- id: string;
4
- email: string;
5
- }
6
- declare global {
7
- namespace Express {
8
- interface Request {
9
- currentUser?: UserPayload;
10
- }
11
- }
12
- }
13
- export declare const currentUser: (req: Request, res: Response, next: NextFunction) => void;
14
- export {};
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.currentUser = void 0;
7
- const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
- const currentUser = (req, res, next) => {
9
- var _a;
10
- if (!((_a = req.session) === null || _a === void 0 ? void 0 : _a.jwt)) {
11
- return next();
12
- }
13
- try {
14
- const payload = jsonwebtoken_1.default.verify(req.session.jwt, process.env.JWT_KEY);
15
- req.currentUser = payload;
16
- }
17
- catch (err) { }
18
- next();
19
- };
20
- exports.currentUser = currentUser;