@stevetickets/common 1.0.1 → 1.0.3

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,10 @@
1
+ import { BaseError } from "./base-error";
2
+ export declare class BadRequestError extends BaseError {
3
+ message: string;
4
+ statusCode: number;
5
+ constructor(message: string);
6
+ serializeErrors(): {
7
+ message: string;
8
+ field?: string;
9
+ }[];
10
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BadRequestError = void 0;
4
+ const base_error_1 = require("./base-error");
5
+ class BadRequestError extends base_error_1.BaseError {
6
+ constructor(message) {
7
+ super(message);
8
+ this.message = message;
9
+ this.statusCode = 400;
10
+ Object.setPrototypeOf(this, BadRequestError.prototype);
11
+ }
12
+ serializeErrors() {
13
+ return [{ message: this.message }];
14
+ }
15
+ }
16
+ exports.BadRequestError = BadRequestError;
@@ -0,0 +1,8 @@
1
+ export declare abstract class BaseError extends Error {
2
+ abstract statusCode: number;
3
+ constructor(message: string);
4
+ abstract serializeErrors(): {
5
+ message: string;
6
+ field?: string;
7
+ }[];
8
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseError = void 0;
4
+ class BaseError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ Object.setPrototypeOf(this, BaseError.prototype);
8
+ }
9
+ }
10
+ exports.BaseError = BaseError;
@@ -0,0 +1,10 @@
1
+ import { BaseError } from "./base-error";
2
+ export declare class DatabaseConnectionError extends BaseError {
3
+ statusCode: number;
4
+ reason: string;
5
+ constructor();
6
+ serializeErrors(): {
7
+ message: string;
8
+ field?: string;
9
+ }[];
10
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabaseConnectionError = void 0;
4
+ const base_error_1 = require("./base-error");
5
+ class DatabaseConnectionError extends base_error_1.BaseError {
6
+ constructor() {
7
+ super("Error connecting to Database");
8
+ this.statusCode = 500;
9
+ this.reason = "Error connecting to Database";
10
+ Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
11
+ }
12
+ serializeErrors() {
13
+ return [{ message: this.reason }];
14
+ }
15
+ }
16
+ exports.DatabaseConnectionError = DatabaseConnectionError;
@@ -0,0 +1,5 @@
1
+ export * from "./bad-request-error";
2
+ export * from "./base-error";
3
+ export * from "./database-connection-error";
4
+ export * from "./not-found-error";
5
+ export * from "./request-validation-error";
@@ -0,0 +1,21 @@
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("./bad-request-error"), exports);
18
+ __exportStar(require("./base-error"), exports);
19
+ __exportStar(require("./database-connection-error"), exports);
20
+ __exportStar(require("./not-found-error"), exports);
21
+ __exportStar(require("./request-validation-error"), exports);
@@ -0,0 +1,9 @@
1
+ import { BaseError } from "./base-error";
2
+ export declare class NotFoundError extends BaseError {
3
+ statusCode: number;
4
+ constructor();
5
+ serializeErrors(): {
6
+ message: string;
7
+ field?: string;
8
+ }[];
9
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotFoundError = void 0;
4
+ const base_error_1 = require("./base-error");
5
+ class NotFoundError extends base_error_1.BaseError {
6
+ constructor() {
7
+ super("Not found route");
8
+ this.statusCode = 404;
9
+ Object.setPrototypeOf(this, NotFoundError.prototype);
10
+ }
11
+ serializeErrors() {
12
+ return [{ message: "Not found route" }];
13
+ }
14
+ }
15
+ exports.NotFoundError = NotFoundError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from "./base-error";
2
+ import { ValidationError } from "express-validator";
3
+ export declare class RequestValidationError extends BaseError {
4
+ errors: ValidationError[];
5
+ statusCode: number;
6
+ constructor(errors: ValidationError[]);
7
+ serializeErrors(): {
8
+ message: string;
9
+ field?: string;
10
+ }[];
11
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestValidationError = void 0;
4
+ const base_error_1 = require("./base-error");
5
+ class RequestValidationError extends base_error_1.BaseError {
6
+ constructor(errors) {
7
+ super("Invalid request parameters");
8
+ this.errors = errors;
9
+ this.statusCode = 400;
10
+ Object.setPrototypeOf(this, RequestValidationError.prototype);
11
+ }
12
+ serializeErrors() {
13
+ return this.errors.map((err) => ({ message: err.msg, field: err.type }));
14
+ }
15
+ }
16
+ exports.RequestValidationError = RequestValidationError;
package/build/index.d.ts CHANGED
@@ -1,5 +1,2 @@
1
- interface Fruit {
2
- banana: string;
3
- }
4
- declare const banana: Fruit;
5
- export default banana;
1
+ export * from "./errors";
2
+ export * from "./middlewares";
package/build/index.js CHANGED
@@ -1,4 +1,18 @@
1
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
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const banana = { banana: "banana" };
4
- exports.default = banana;
17
+ __exportStar(require("./errors"), exports);
18
+ __exportStar(require("./middlewares"), exports);
@@ -0,0 +1,2 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const errorHandler: (err: Error, req: Request, res: Response, next: NextFunction) => Response<any, Record<string, any>> | undefined;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorHandler = void 0;
4
+ const base_error_1 = require("../../../common/src/errors/base-error");
5
+ const errorHandler = (err, req, res, next) => {
6
+ if (err instanceof base_error_1.BaseError) {
7
+ return res.status(err.statusCode).send({ errors: err.serializeErrors() });
8
+ }
9
+ res.status(400).send({ errors: [{ message: "Something went wrong" }] });
10
+ };
11
+ exports.errorHandler = errorHandler;
@@ -0,0 +1,2 @@
1
+ export * from "./error-handler";
2
+ export * from "./require-auth";
@@ -0,0 +1,18 @@
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"), exports);
18
+ __exportStar(require("./require-auth"), exports);
@@ -0,0 +1,4 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const requireAuth: (req: Request & {
3
+ currentUser: any;
4
+ }, res: Response, next: NextFunction) => Response<any, Record<string, any>> | undefined;
@@ -0,0 +1,23 @@
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.requireAuth = void 0;
7
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
+ const requireAuth = (req, res, next) => {
9
+ const authHeader = req.headers.authorization;
10
+ const token = authHeader === null || authHeader === void 0 ? void 0 : authHeader.split(" ")[1];
11
+ if (!token) {
12
+ return res.status(401).send("Missing Token");
13
+ }
14
+ try {
15
+ const payload = jsonwebtoken_1.default.verify(token, "JWT_SECRET");
16
+ req.currentUser = payload;
17
+ next();
18
+ }
19
+ catch (_) {
20
+ return res.status(401).send("Invalid Token");
21
+ }
22
+ };
23
+ exports.requireAuth = requireAuth;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stevetickets/common",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -9,13 +9,21 @@
9
9
  ],
10
10
  "scripts": {
11
11
  "clean": "del ./build/*",
12
- "build": "npm run clean && tsc"
12
+ "build": "npm run clean && tsc",
13
+ "pub": "git add . && git commit -m \"Update\" && npm version patch && npm run build && npm publish"
13
14
  },
14
15
  "keywords": [],
15
16
  "author": "",
16
17
  "license": "ISC",
17
18
  "devDependencies": {
19
+ "@types/express": "^5.0.6",
20
+ "@types/jsonwebtoken": "^9.0.10",
18
21
  "del-cli": "^7.0.0",
19
22
  "typescript": "^6.0.2"
23
+ },
24
+ "dependencies": {
25
+ "express": "^5.2.1",
26
+ "express-validator": "^7.3.2",
27
+ "jsonwebtoken": "^9.0.3"
20
28
  }
21
29
  }