@mint1312-ticketing/common 1.0.2 → 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 (45) hide show
  1. package/build/errors/bad-request-error.d.ts +10 -0
  2. package/build/errors/bad-request-error.d.ts.map +1 -0
  3. package/build/errors/bad-request-error.js +14 -0
  4. package/build/errors/bad-request-error.js.map +1 -0
  5. package/build/errors/custom-error.d.ts +9 -0
  6. package/build/errors/custom-error.d.ts.map +1 -0
  7. package/build/errors/custom-error.js +7 -0
  8. package/build/errors/custom-error.js.map +1 -0
  9. package/build/errors/database-connection-error.d.ts +10 -0
  10. package/build/errors/database-connection-error.d.ts.map +1 -0
  11. package/build/errors/database-connection-error.js +13 -0
  12. package/build/errors/database-connection-error.js.map +1 -0
  13. package/build/errors/not-found-error.d.ts +9 -0
  14. package/build/errors/not-found-error.d.ts.map +1 -0
  15. package/build/errors/not-found-error.js +12 -0
  16. package/build/errors/not-found-error.js.map +1 -0
  17. package/build/errors/request_validation-error.d.ts +15 -0
  18. package/build/errors/request_validation-error.d.ts.map +1 -0
  19. package/build/errors/request_validation-error.js +19 -0
  20. package/build/errors/request_validation-error.js.map +1 -0
  21. package/build/errors/unauthorized-error.d.ts +9 -0
  22. package/build/errors/unauthorized-error.d.ts.map +1 -0
  23. package/build/errors/unauthorized-error.js +12 -0
  24. package/build/errors/unauthorized-error.js.map +1 -0
  25. package/build/index.d.ts +9 -7
  26. package/build/index.d.ts.map +1 -1
  27. package/build/index.js +9 -6
  28. package/build/index.js.map +1 -1
  29. package/build/middlewares/current-user.d.ts +16 -0
  30. package/build/middlewares/current-user.d.ts.map +1 -0
  31. package/build/middlewares/current-user.js +14 -0
  32. package/build/middlewares/current-user.js.map +1 -0
  33. package/build/middlewares/error-handler.d.ts +3 -0
  34. package/build/middlewares/error-handler.d.ts.map +1 -0
  35. package/build/middlewares/error-handler.js +9 -0
  36. package/build/middlewares/error-handler.js.map +1 -0
  37. package/build/middlewares/require-auth.d.ts +3 -0
  38. package/build/middlewares/require-auth.d.ts.map +1 -0
  39. package/build/middlewares/require-auth.js +9 -0
  40. package/build/middlewares/require-auth.js.map +1 -0
  41. package/build/middlewares/validate-request.d.ts +3 -0
  42. package/build/middlewares/validate-request.d.ts.map +1 -0
  43. package/build/middlewares/validate-request.js +9 -0
  44. package/build/middlewares/validate-request.js.map +1 -0
  45. package/package.json +10 -1
@@ -0,0 +1,10 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export declare class BadRequestError extends CustomError {
3
+ message: string;
4
+ statusCode: number;
5
+ constructor(message: string);
6
+ serializeErrors(): {
7
+ message: string;
8
+ }[];
9
+ }
10
+ //# sourceMappingURL=bad-request-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bad-request-error.d.ts","sourceRoot":"","sources":["../../src/errors/bad-request-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,WAAW;IAG3B,OAAO,EAAE,MAAM;IAFlC,UAAU,SAAM;IAEhB,YAAmB,OAAO,EAAE,MAAM,EAGjC;IAED,eAAe;;QAEd;CACF"}
@@ -0,0 +1,14 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class BadRequestError extends CustomError {
3
+ message;
4
+ statusCode = 400;
5
+ constructor(message) {
6
+ super(message);
7
+ this.message = message;
8
+ Object.setPrototypeOf(this, BadRequestError.prototype);
9
+ }
10
+ serializeErrors() {
11
+ return [{ message: this.message }];
12
+ }
13
+ }
14
+ //# sourceMappingURL=bad-request-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bad-request-error.js","sourceRoot":"","sources":["../../src/errors/bad-request-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAG3B,OAAO;IAF1B,UAAU,GAAG,GAAG,CAAA;IAEhB,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAA;uBADG,OAAO;QAExB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACpC,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ export declare abstract class CustomError extends Error {
2
+ abstract statusCode: number;
3
+ constructor(message: string);
4
+ abstract serializeErrors(): {
5
+ message: string;
6
+ field?: string;
7
+ }[];
8
+ }
9
+ //# sourceMappingURL=custom-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-error.d.ts","sourceRoot":"","sources":["../../src/errors/custom-error.ts"],"names":[],"mappings":"AAAA,8BAAsB,WAAY,SAAQ,KAAK;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B,YAAY,OAAO,EAAE,MAAM,EAG1B;IAED,QAAQ,CAAC,eAAe,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAClE"}
@@ -0,0 +1,7 @@
1
+ export class CustomError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ Object.setPrototypeOf(this, CustomError.prototype);
5
+ }
6
+ }
7
+ //# sourceMappingURL=custom-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-error.js","sourceRoot":"","sources":["../../src/errors/custom-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,WAAY,SAAQ,KAAK;IAG7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;CAGF"}
@@ -0,0 +1,10 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export declare class DatabaseConnectionError extends CustomError {
3
+ reason: string;
4
+ statusCode: number;
5
+ constructor();
6
+ serializeErrors(): {
7
+ message: string;
8
+ }[];
9
+ }
10
+ //# sourceMappingURL=database-connection-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-connection-error.d.ts","sourceRoot":"","sources":["../../src/errors/database-connection-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,MAAM,SAAiC;IACvC,UAAU,SAAM;IAEhB,cAGC;IAED,eAAe;;QAEd;CACF"}
@@ -0,0 +1,13 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class DatabaseConnectionError extends CustomError {
3
+ reason = "Error connecting to database";
4
+ statusCode = 500;
5
+ constructor() {
6
+ super("Error connecting to database");
7
+ Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
8
+ }
9
+ serializeErrors() {
10
+ return [{ message: this.reason }];
11
+ }
12
+ }
13
+ //# sourceMappingURL=database-connection-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-connection-error.js","sourceRoot":"","sources":["../../src/errors/database-connection-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,MAAM,GAAG,8BAA8B,CAAA;IACvC,UAAU,GAAG,GAAG,CAAA;IAEhB;QACE,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACrC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACnC,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export declare class NotFoundError extends CustomError {
3
+ statusCode: number;
4
+ constructor();
5
+ serializeErrors(): {
6
+ message: string;
7
+ }[];
8
+ }
9
+ //# sourceMappingURL=not-found-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found-error.d.ts","sourceRoot":"","sources":["../../src/errors/not-found-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,UAAU,SAAM;IAEhB,cAGC;IAED,eAAe;;QAEd;CACF"}
@@ -0,0 +1,12 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class NotFoundError extends CustomError {
3
+ statusCode = 404;
4
+ constructor() {
5
+ super("Route not found");
6
+ Object.setPrototypeOf(this, NotFoundError.prototype);
7
+ }
8
+ serializeErrors() {
9
+ return [{ message: "Not Found" }];
10
+ }
11
+ }
12
+ //# sourceMappingURL=not-found-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found-error.js","sourceRoot":"","sources":["../../src/errors/not-found-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,UAAU,GAAG,GAAG,CAAA;IAEhB;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;IACnC,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import type { ValidationError } from "express-validator";
2
+ import { CustomError } from "./custom-error.js";
3
+ export declare class RequestValidationError extends CustomError {
4
+ errors: ValidationError[];
5
+ statusCode: number;
6
+ constructor(errors: ValidationError[]);
7
+ serializeErrors(): ({
8
+ message: any;
9
+ field: string;
10
+ } | {
11
+ field?: never;
12
+ message: any;
13
+ })[];
14
+ }
15
+ //# sourceMappingURL=request_validation-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request_validation-error.d.ts","sourceRoot":"","sources":["../../src/errors/request_validation-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,sBAAuB,SAAQ,WAAW;IAGlC,MAAM,EAAE,eAAe,EAAE;IAF5C,UAAU,SAAM;IAEhB,YAAmB,MAAM,EAAE,eAAe,EAAE,EAG3C;IAED,eAAe;;;;;;SAQd;CACF"}
@@ -0,0 +1,19 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class RequestValidationError extends CustomError {
3
+ errors;
4
+ statusCode = 400;
5
+ constructor(errors) {
6
+ super("Invalid request parameters");
7
+ this.errors = errors;
8
+ Object.setPrototypeOf(this, RequestValidationError.prototype);
9
+ }
10
+ serializeErrors() {
11
+ const formattedErrors = this.errors.map(error => {
12
+ if (error.type === "field")
13
+ return { message: error.msg, field: error.path };
14
+ return { message: error.msg };
15
+ });
16
+ return formattedErrors;
17
+ }
18
+ }
19
+ //# sourceMappingURL=request_validation-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request_validation-error.js","sourceRoot":"","sources":["../../src/errors/request_validation-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAGlC,MAAM;IAFzB,UAAU,GAAG,GAAG,CAAA;IAEhB,YAAmB,MAAyB;QAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAA;sBADlB,MAAM;QAEvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAA;IAC/D,CAAC;IAED,eAAe;QACb,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBACxB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;YAClD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,OAAO,eAAe,CAAA;IACxB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export declare class UnauthorizedError extends CustomError {
3
+ statusCode: number;
4
+ constructor();
5
+ serializeErrors(): {
6
+ message: string;
7
+ }[];
8
+ }
9
+ //# sourceMappingURL=unauthorized-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unauthorized-error.d.ts","sourceRoot":"","sources":["../../src/errors/unauthorized-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,UAAU,SAAM;IAEhB,cAGC;IAED,eAAe;;QAEd;CACF"}
@@ -0,0 +1,12 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class UnauthorizedError extends CustomError {
3
+ statusCode = 401;
4
+ constructor() {
5
+ super("You are not authorized");
6
+ Object.setPrototypeOf(this, UnauthorizedError.prototype);
7
+ }
8
+ serializeErrors() {
9
+ return [{ message: this.message }];
10
+ }
11
+ }
12
+ //# sourceMappingURL=unauthorized-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unauthorized-error.js","sourceRoot":"","sources":["../../src/errors/unauthorized-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,UAAU,GAAG,GAAG,CAAA;IAEhB;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACpC,CAAC;CACF"}
package/build/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
- interface Color {
2
- red: number;
3
- blue: number;
4
- green: number;
5
- }
6
- declare const color: Color;
7
- export default color;
1
+ export * from "./errors/bad-request-error.js";
2
+ export * from "./errors/custom-error.js";
3
+ export * from "./errors/database-connection-error.js";
4
+ export * from "./errors/not-found-error.js";
5
+ export * from "./errors/unauthorized-error.js";
6
+ export * from "./middlewares/current-user.js";
7
+ export * from "./middlewares/error-handler.js";
8
+ export * from "./middlewares/require-auth.js";
9
+ export * from "./middlewares/validate-request.js";
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU,KAAK;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,KAAK,EAAE,KAIZ,CAAA;eAEc,KAAK"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA"}
package/build/index.js CHANGED
@@ -1,7 +1,10 @@
1
- const color = {
2
- red: 10,
3
- blue: 10,
4
- green: 10
5
- };
6
- export default color;
1
+ export * from "./errors/bad-request-error.js";
2
+ export * from "./errors/custom-error.js";
3
+ export * from "./errors/database-connection-error.js";
4
+ export * from "./errors/not-found-error.js";
5
+ export * from "./errors/unauthorized-error.js";
6
+ export * from "./middlewares/current-user.js";
7
+ export * from "./middlewares/error-handler.js";
8
+ export * from "./middlewares/require-auth.js";
9
+ export * from "./middlewares/validate-request.js";
7
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,MAAM,KAAK,GAAU;IACnB,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;CACV,CAAA;AAED,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { Request, Response, NextFunction } from "express";
2
+ import "cookie-session";
3
+ interface UserPayload {
4
+ id: string;
5
+ email: string;
6
+ }
7
+ declare global {
8
+ namespace Express {
9
+ interface Request {
10
+ currentUser?: UserPayload;
11
+ }
12
+ }
13
+ }
14
+ export declare const currentUser: (req: Request, res: Response, next: NextFunction) => void;
15
+ export {};
16
+ //# sourceMappingURL=current-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-user.d.ts","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,gBAAgB,CAAA;AAGvB,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,WAAW,CAAC,EAAE,WAAW,CAAA;SAC1B;KACF;CACF;AAGD,eAAO,MAAM,WAAW,QACjB,OAAO,OACP,QAAQ,QACP,YAAY,SAWnB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import "cookie-session";
2
+ import jwt from "jsonwebtoken";
3
+ // middleware to extract the jwt token from user request and save to req.currentUser
4
+ export const currentUser = (req, res, next) => {
5
+ if (!req.session?.jwt)
6
+ return next();
7
+ try {
8
+ const payload = jwt.verify(req.session.jwt, process.env.JWT_KEY);
9
+ req.currentUser = payload;
10
+ }
11
+ catch (err) { }
12
+ next();
13
+ };
14
+ //# sourceMappingURL=current-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-user.js","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,CAAA;AACvB,OAAO,GAAG,MAAM,cAAc,CAAA;AAe9B,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG;QACnB,OAAO,IAAI,EAAE,CAAA;IAEf,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAQ,CAAgB,CAAA;QAChF,GAAG,CAAC,WAAW,GAAG,OAAO,CAAA;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAEjB,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Request, Response, NextFunction } from "express";
2
+ export declare const errorHandler: (err: Error, req: Request, res: Response, next: NextFunction) => Response<any, Record<string, any>> | undefined;
3
+ //# sourceMappingURL=error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI9D,eAAO,MAAM,YAAY,QAClB,KAAK,OACL,OAAO,OACP,QAAQ,QACP,YAAY,mDAOnB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { CustomError } from "../errors/custom-error.js";
2
+ // central error handling for auth service
3
+ export const errorHandler = (err, req, res, next) => {
4
+ if (err instanceof CustomError) {
5
+ return res.status(err.statusCode).send({ errors: err.serializeErrors() });
6
+ }
7
+ res.status(400).send({ errors: [{ message: "Something went wrong" }] });
8
+ };
9
+ //# sourceMappingURL=error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAU,EACV,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;IACF,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Request, Response, NextFunction } from "express";
2
+ export declare const requireAuth: (req: Request, res: Response, next: NextFunction) => void;
3
+ //# sourceMappingURL=require-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-auth.d.ts","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK9D,eAAO,MAAM,WAAW,QACjB,OAAO,OACP,QAAQ,QACP,YAAY,SAMnB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { UnauthorizedError } from "../errors/unauthorized-error.js";
2
+ // middleware to check if req.currentUser exists
3
+ // use when an action require user authentication
4
+ export const requireAuth = (req, res, next) => {
5
+ if (!req.currentUser)
6
+ throw new UnauthorizedError();
7
+ next();
8
+ };
9
+ //# sourceMappingURL=require-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-auth.js","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,gDAAgD;AAChD,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,WAAW;QAClB,MAAM,IAAI,iBAAiB,EAAE,CAAA;IAE/B,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Request, Response, NextFunction } from "express";
2
+ export declare const validateRequest: (req: Request, res: Response, next: NextFunction) => void;
3
+ //# sourceMappingURL=validate-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI9D,eAAO,MAAM,eAAe,QACrB,OAAO,OACP,QAAQ,QACP,YAAY,SAQnB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { validationResult } from "express-validator";
2
+ import { RequestValidationError } from "../errors/request_validation-error.js";
3
+ export const validateRequest = (req, res, next) => {
4
+ const errors = validationResult(req);
5
+ if (!errors.isEmpty())
6
+ throw new RequestValidationError(errors.array());
7
+ next();
8
+ };
9
+ //# sourceMappingURL=validate-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-request.js","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;IACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IAElD,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mint1312-ticketing/common",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -19,5 +19,14 @@
19
19
  "devDependencies": {
20
20
  "rimraf": "^6.1.3",
21
21
  "typescript": "^7.0.2"
22
+ },
23
+ "dependencies": {
24
+ "@types/cookie-session": "^2.0.49",
25
+ "@types/express": "^5.0.6",
26
+ "@types/jsonwebtoken": "^9.0.10",
27
+ "cookie-session": "^2.1.1",
28
+ "express": "^5.2.1",
29
+ "express-validator": "^7.3.2",
30
+ "jsonwebtoken": "^9.0.3"
22
31
  }
23
32
  }