@adarsh-tickets/common 1.0.0 → 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.
Files changed (33) hide show
  1. package/build/errors/bad-request.error.d.ts +7 -0
  2. package/build/errors/bad-request.error.js +19 -0
  3. package/build/errors/custom-error-abstract.d.ts +6 -0
  4. package/build/errors/custom-error-abstract.js +10 -0
  5. package/build/errors/database-connection.error.d.ts +8 -0
  6. package/build/errors/database-connection.error.js +20 -0
  7. package/build/errors/index.d.ts +4 -0
  8. package/build/errors/index.js +20 -0
  9. package/build/errors/no-authenticate.error.d.ts +8 -0
  10. package/build/errors/no-authenticate.error.js +19 -0
  11. package/build/errors/request-validator.error.d.ts +14 -0
  12. package/build/errors/request-validator.error.js +24 -0
  13. package/build/index.d.ts +2 -0
  14. package/build/index.js +19 -0
  15. package/build/interfaces/base.interface.d.ts +8 -0
  16. package/build/interfaces/base.interface.js +2 -0
  17. package/build/interfaces/error-handler.interface.d.ts +4 -0
  18. package/build/interfaces/error-handler.interface.js +2 -0
  19. package/build/interfaces/index.d.ts +3 -0
  20. package/build/interfaces/index.js +19 -0
  21. package/build/interfaces/user.interface.d.ts +4 -0
  22. package/build/interfaces/user.interface.js +2 -0
  23. package/build/middlewares/current-user.middleware.d.ts +13 -0
  24. package/build/middlewares/current-user.middleware.js +20 -0
  25. package/build/middlewares/error-handler.middleware.d.ts +2 -0
  26. package/build/middlewares/error-handler.middleware.js +19 -0
  27. package/build/middlewares/index.d.ts +3 -0
  28. package/build/middlewares/index.js +19 -0
  29. package/build/middlewares/not-authorize.middleware.d.ts +2 -0
  30. package/build/middlewares/not-authorize.middleware.js +11 -0
  31. package/build/middlewares/validate-request.middleware.d.ts +2 -0
  32. package/build/middlewares/validate-request.middleware.js +14 -0
  33. package/package.json +21 -4
@@ -0,0 +1,7 @@
1
+ import { ISerializeError } from "../interfaces";
2
+ import { AbstractCustomError } from "./custom-error-abstract";
3
+ export declare class BadRequestError extends AbstractCustomError {
4
+ statusCode: number;
5
+ constructor(message: string);
6
+ serializeErrors(): ISerializeError[];
7
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BadRequestError = void 0;
4
+ const custom_error_abstract_1 = require("./custom-error-abstract");
5
+ class BadRequestError extends custom_error_abstract_1.AbstractCustomError {
6
+ constructor(message) {
7
+ super(message);
8
+ this.statusCode = 400;
9
+ Object.setPrototypeOf(this, BadRequestError.prototype);
10
+ }
11
+ serializeErrors() {
12
+ return [
13
+ {
14
+ message: this.message,
15
+ },
16
+ ];
17
+ }
18
+ }
19
+ exports.BadRequestError = BadRequestError;
@@ -0,0 +1,6 @@
1
+ import { ISerializeError } from "../interfaces";
2
+ export declare abstract class AbstractCustomError extends Error {
3
+ abstract statusCode: number;
4
+ constructor(message: string);
5
+ abstract serializeErrors(): ISerializeError[];
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractCustomError = void 0;
4
+ class AbstractCustomError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ Object.setPrototypeOf(this, AbstractCustomError.prototype);
8
+ }
9
+ }
10
+ exports.AbstractCustomError = AbstractCustomError;
@@ -0,0 +1,8 @@
1
+ import { AbstractCustomError } from "./custom-error-abstract";
2
+ export declare class DatabaseConnectionError extends AbstractCustomError {
3
+ statusCode: number;
4
+ constructor(errorMmessage: string);
5
+ serializeErrors(): {
6
+ message: string;
7
+ }[];
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabaseConnectionError = void 0;
4
+ const custom_error_abstract_1 = require("./custom-error-abstract");
5
+ class DatabaseConnectionError extends custom_error_abstract_1.AbstractCustomError {
6
+ constructor(errorMmessage) {
7
+ super(errorMmessage);
8
+ this.statusCode = 500;
9
+ this.message = errorMmessage;
10
+ Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
11
+ }
12
+ serializeErrors() {
13
+ return [
14
+ {
15
+ message: this.message,
16
+ },
17
+ ];
18
+ }
19
+ }
20
+ exports.DatabaseConnectionError = DatabaseConnectionError;
@@ -0,0 +1,4 @@
1
+ export * from "./database-connection.error";
2
+ export * from "./request-validator.error";
3
+ export * from "./bad-request.error";
4
+ export * from "./no-authenticate.error";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./database-connection.error"), exports);
18
+ __exportStar(require("./request-validator.error"), exports);
19
+ __exportStar(require("./bad-request.error"), exports);
20
+ __exportStar(require("./no-authenticate.error"), exports);
@@ -0,0 +1,8 @@
1
+ import { AbstractCustomError } from "./custom-error-abstract";
2
+ export declare class NoAuthenicateError extends AbstractCustomError {
3
+ statusCode: number;
4
+ constructor(message: string);
5
+ serializeErrors(): {
6
+ message: string;
7
+ }[];
8
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NoAuthenicateError = void 0;
4
+ const custom_error_abstract_1 = require("./custom-error-abstract");
5
+ class NoAuthenicateError extends custom_error_abstract_1.AbstractCustomError {
6
+ constructor(message) {
7
+ super(message);
8
+ this.statusCode = 401;
9
+ Object.setPrototypeOf(this, NoAuthenicateError.prototype);
10
+ }
11
+ serializeErrors() {
12
+ return [
13
+ {
14
+ message: this.message,
15
+ },
16
+ ];
17
+ }
18
+ }
19
+ exports.NoAuthenicateError = NoAuthenicateError;
@@ -0,0 +1,14 @@
1
+ import { ValidationError } from "express-validator";
2
+ import { AbstractCustomError } from "./custom-error-abstract";
3
+ export declare class RequestValidationError extends AbstractCustomError {
4
+ private readonly errors;
5
+ statusCode: number;
6
+ constructor(errors: ValidationError[]);
7
+ serializeErrors(): ({
8
+ message: any;
9
+ field: string;
10
+ } | {
11
+ message: any;
12
+ field?: undefined;
13
+ })[];
14
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestValidationError = void 0;
4
+ const custom_error_abstract_1 = require("./custom-error-abstract");
5
+ class RequestValidationError extends custom_error_abstract_1.AbstractCustomError {
6
+ constructor(errors) {
7
+ super("Request param invalid");
8
+ this.errors = errors;
9
+ this.statusCode = 400;
10
+ Object.setPrototypeOf(this, RequestValidationError.prototype);
11
+ }
12
+ serializeErrors() {
13
+ return this.errors.map((e) => {
14
+ if (e.type === "field") {
15
+ return {
16
+ message: e.msg,
17
+ field: e.path,
18
+ };
19
+ }
20
+ return { message: e.msg };
21
+ });
22
+ }
23
+ }
24
+ exports.RequestValidationError = RequestValidationError;
@@ -0,0 +1,2 @@
1
+ export * from "./errors";
2
+ export * from "./middlewares";
package/build/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // export the common middlewares and errors
18
+ __exportStar(require("./errors"), exports);
19
+ __exportStar(require("./middlewares"), exports);
@@ -0,0 +1,8 @@
1
+ import { UserInterface } from "./";
2
+ declare global {
3
+ namespace Express {
4
+ interface Request {
5
+ currentUser?: UserInterface;
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export interface ISerializeError {
2
+ message: string;
3
+ field?: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export * from "./error-handler.interface";
2
+ export * from "./user.interface";
3
+ export * from "./base.interface";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./error-handler.interface"), exports);
18
+ __exportStar(require("./user.interface"), exports);
19
+ __exportStar(require("./base.interface"), exports);
@@ -0,0 +1,4 @@
1
+ export interface UserInterface {
2
+ id: string;
3
+ email: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ import { UserInterface } from "../interfaces";
3
+ declare global {
4
+ namespace Express {
5
+ interface Request {
6
+ currentUser?: UserInterface;
7
+ session?: {
8
+ jwt?: string;
9
+ };
10
+ }
11
+ }
12
+ }
13
+ export declare const currentUserMiddleware: (req: Request, res: Response, next: NextFunction) => void;
@@ -0,0 +1,20 @@
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.currentUserMiddleware = void 0;
7
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
+ const currentUserMiddleware = (req, res, next) => {
9
+ var _a, _b;
10
+ if (!((_a = req.session) === null || _a === void 0 ? void 0 : _a.jwt)) {
11
+ next();
12
+ }
13
+ try {
14
+ const payload = jsonwebtoken_1.default.verify((_b = req.session) === null || _b === void 0 ? void 0 : _b.jwt, process.env.JWT_KEY);
15
+ req.currentUser = payload; //due to base.interface.ts
16
+ }
17
+ catch (e) { }
18
+ next();
19
+ };
20
+ exports.currentUserMiddleware = currentUserMiddleware;
@@ -0,0 +1,2 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const errorHandlerMiddleware: (err: Error, req: Request, res: Response, next: NextFunction) => Response<any, Record<string, any>>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorHandlerMiddleware = void 0;
4
+ const custom_error_abstract_1 = require("../errors/custom-error-abstract");
5
+ const errorHandlerMiddleware = (err, req, res, next) => {
6
+ if (err instanceof custom_error_abstract_1.AbstractCustomError) {
7
+ return res.status(err.statusCode).send({
8
+ errors: err.serializeErrors(),
9
+ });
10
+ }
11
+ return res.status(500).send({
12
+ errors: [
13
+ {
14
+ message: "Something went wrong",
15
+ },
16
+ ],
17
+ });
18
+ };
19
+ exports.errorHandlerMiddleware = errorHandlerMiddleware;
@@ -0,0 +1,3 @@
1
+ export * from "./error-handler.middleware";
2
+ export * from "./validate-request.middleware";
3
+ export * from "./current-user.middleware";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./error-handler.middleware"), exports);
18
+ __exportStar(require("./validate-request.middleware"), exports);
19
+ __exportStar(require("./current-user.middleware"), exports);
@@ -0,0 +1,2 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const notAuthorizeMiddleware: (req: Request, res: Response, next: NextFunction) => void;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notAuthorizeMiddleware = void 0;
4
+ const errors_1 = require("../errors");
5
+ const notAuthorizeMiddleware = (req, res, next) => {
6
+ if (!req.currentUser) {
7
+ throw new errors_1.NoAuthenicateError("Expired User");
8
+ }
9
+ next();
10
+ };
11
+ exports.notAuthorizeMiddleware = notAuthorizeMiddleware;
@@ -0,0 +1,2 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const validateRequestMiddleware: (req: Request, res: Response, next: NextFunction) => void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRequestMiddleware = void 0;
4
+ const express_validator_1 = require("express-validator");
5
+ const errors_1 = require("../errors");
6
+ const validateRequestMiddleware = (req, res, next) => {
7
+ const errors = (0, express_validator_1.validationResult)(req);
8
+ if (!errors.isEmpty()) {
9
+ console.log(errors.array);
10
+ throw new errors_1.RequestValidationError(errors.array());
11
+ }
12
+ next();
13
+ };
14
+ exports.validateRequestMiddleware = validateRequestMiddleware;
package/package.json CHANGED
@@ -1,12 +1,29 @@
1
1
  {
2
2
  "name": "@adarsh-tickets/common",
3
- "version": "1.0.0",
4
- "main": "index.js",
3
+ "version": "1.0.4",
4
+ "main": "./build/index.js",
5
+ "types": "./build/index.d.ts",
6
+ "files": [
7
+ "build/**/*"
8
+ ],
5
9
  "scripts": {
6
- "test": "echo \"Error: no test specified\" && exit 1"
10
+ "clean": "del ./build/*",
11
+ "build": "npm run clean && tsc ",
12
+ "pub": "git add . && git commit -m \"Updates\" && npm version patch && npm run build && npm publish"
7
13
  },
8
14
  "keywords": [],
9
15
  "author": "",
10
16
  "license": "ISC",
11
- "description": ""
17
+ "description": "",
18
+ "devDependencies": {
19
+ "del-cli": "^7.0.0",
20
+ "typescript": "^6.0.3"
21
+ },
22
+ "dependencies": {
23
+ "@types/express": "^5.0.6",
24
+ "@types/jsonwebtoken": "^9.0.10",
25
+ "express": "^5.2.1",
26
+ "express-validator": "^7.3.2",
27
+ "jsonwebtoken": "^9.0.3"
28
+ }
12
29
  }