@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.
- package/build/errors/bad-request.error.d.ts +7 -0
- package/build/errors/bad-request.error.js +19 -0
- package/build/errors/custom-error-abstract.d.ts +6 -0
- package/build/errors/custom-error-abstract.js +10 -0
- package/build/errors/database-connection.error.d.ts +8 -0
- package/build/errors/database-connection.error.js +20 -0
- package/build/errors/index.d.ts +4 -0
- package/build/errors/index.js +20 -0
- package/build/errors/no-authenticate.error.d.ts +8 -0
- package/build/errors/no-authenticate.error.js +19 -0
- package/build/errors/request-validator.error.d.ts +14 -0
- package/build/errors/request-validator.error.js +24 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +19 -0
- package/build/interfaces/base.interface.d.ts +8 -0
- package/build/interfaces/base.interface.js +2 -0
- package/build/interfaces/error-handler.interface.d.ts +4 -0
- package/build/interfaces/error-handler.interface.js +2 -0
- package/build/interfaces/index.d.ts +3 -0
- package/build/interfaces/index.js +19 -0
- package/build/interfaces/user.interface.d.ts +4 -0
- package/build/interfaces/user.interface.js +2 -0
- package/build/middlewares/current-user.middleware.d.ts +13 -0
- package/build/middlewares/current-user.middleware.js +20 -0
- package/build/middlewares/error-handler.middleware.d.ts +2 -0
- package/build/middlewares/error-handler.middleware.js +19 -0
- package/build/middlewares/index.d.ts +3 -0
- package/build/middlewares/index.js +19 -0
- package/build/middlewares/not-authorize.middleware.d.ts +2 -0
- package/build/middlewares/not-authorize.middleware.js +11 -0
- package/build/middlewares/validate-request.middleware.d.ts +2 -0
- package/build/middlewares/validate-request.middleware.js +14 -0
- 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,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,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,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,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;
|
package/build/index.d.ts
ADDED
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,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,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,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,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,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,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.
|
|
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
|
-
"
|
|
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
|
}
|