@ticketing156/common 1.0.1 → 1.0.2

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/dist/errors/bad-request.d.ts +9 -0
  2. package/dist/errors/bad-request.d.ts.map +1 -0
  3. package/dist/errors/bad-request.js +12 -0
  4. package/dist/errors/bad-request.js.map +1 -0
  5. package/dist/errors/custom-error.d.ts +9 -0
  6. package/dist/errors/custom-error.d.ts.map +1 -0
  7. package/dist/errors/custom-error.js +7 -0
  8. package/dist/errors/custom-error.js.map +1 -0
  9. package/dist/errors/database-validation.d.ts +10 -0
  10. package/dist/errors/database-validation.d.ts.map +1 -0
  11. package/dist/errors/database-validation.js +15 -0
  12. package/dist/errors/database-validation.js.map +1 -0
  13. package/dist/errors/not-authorized.d.ts +9 -0
  14. package/dist/errors/not-authorized.d.ts.map +1 -0
  15. package/dist/errors/not-authorized.js +12 -0
  16. package/dist/errors/not-authorized.js.map +1 -0
  17. package/dist/errors/not-found.d.ts +9 -0
  18. package/dist/errors/not-found.d.ts.map +1 -0
  19. package/dist/errors/not-found.js +12 -0
  20. package/dist/errors/not-found.js.map +1 -0
  21. package/dist/errors/request-validation.d.ts +15 -0
  22. package/dist/errors/request-validation.d.ts.map +1 -0
  23. package/dist/errors/request-validation.js +21 -0
  24. package/dist/errors/request-validation.js.map +1 -0
  25. package/dist/index.d.ts +10 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +10 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/middlewares/current-user.d.ts +18 -0
  30. package/dist/middlewares/current-user.d.ts.map +1 -0
  31. package/dist/middlewares/current-user.js +16 -0
  32. package/dist/middlewares/current-user.js.map +1 -0
  33. package/dist/middlewares/error-handler.d.ts +3 -0
  34. package/dist/middlewares/error-handler.d.ts.map +1 -0
  35. package/dist/middlewares/error-handler.js +10 -0
  36. package/dist/middlewares/error-handler.js.map +1 -0
  37. package/dist/middlewares/require-auth.d.ts +3 -0
  38. package/dist/middlewares/require-auth.d.ts.map +1 -0
  39. package/dist/middlewares/require-auth.js +9 -0
  40. package/dist/middlewares/require-auth.js.map +1 -0
  41. package/dist/middlewares/validate-request.d.ts +3 -0
  42. package/dist/middlewares/validate-request.d.ts.map +1 -0
  43. package/dist/middlewares/validate-request.js +10 -0
  44. package/dist/middlewares/validate-request.js.map +1 -0
  45. package/package.json +14 -1
@@ -0,0 +1,9 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export declare class BadRequestError extends CustomError {
3
+ statusCode: number;
4
+ constructor(message: string);
5
+ serializeErrors(): {
6
+ message: string;
7
+ }[];
8
+ }
9
+ //# sourceMappingURL=bad-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bad-request.d.ts","sourceRoot":"","sources":["../../src/errors/bad-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,WAAW;IAC5C,UAAU,SAAO;gBAEL,OAAO,EAAE,MAAM;IAK3B,eAAe;;;CAGlB"}
@@ -0,0 +1,12 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class BadRequestError extends CustomError {
3
+ statusCode = 400;
4
+ constructor(message) {
5
+ super(message);
6
+ Object.setPrototypeOf(this, BadRequestError.prototype);
7
+ }
8
+ serializeErrors() {
9
+ return [{ message: this.message }];
10
+ }
11
+ }
12
+ //# sourceMappingURL=bad-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bad-request.js","sourceRoot":"","sources":["../../src/errors/bad-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC5C,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe;QACX,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ"}
@@ -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;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM;IAK3B,QAAQ,CAAC,eAAe,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;CACpE"}
@@ -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;IAG3C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CAGJ"}
@@ -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-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-validation.d.ts","sourceRoot":"","sources":["../../src/errors/database-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,uBAAwB,SAAQ,WAAW;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;;IAQnB,eAAe;;;CAGlB"}
@@ -0,0 +1,15 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class DatabaseConnectionError extends CustomError {
3
+ reason;
4
+ statusCode;
5
+ constructor() {
6
+ super("Error connecting to database");
7
+ this.reason = "Error connecting to database";
8
+ this.statusCode = 500;
9
+ Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
10
+ }
11
+ serializeErrors() {
12
+ return [{ message: this.reason }];
13
+ }
14
+ }
15
+ //# sourceMappingURL=database-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-validation.js","sourceRoot":"","sources":["../../src/errors/database-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACpD,MAAM,CAAS;IACf,UAAU,CAAS;IACnB;QACI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,eAAe;QACX,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export declare class NotAuthorizedError extends CustomError {
3
+ statusCode: number;
4
+ constructor();
5
+ serializeErrors(): {
6
+ message: string;
7
+ }[];
8
+ }
9
+ //# sourceMappingURL=not-authorized.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-authorized.d.ts","sourceRoot":"","sources":["../../src/errors/not-authorized.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,kBAAmB,SAAQ,WAAW;IAC/C,UAAU,SAAO;;IAQjB,eAAe;;;CAGlB"}
@@ -0,0 +1,12 @@
1
+ import { CustomError } from "./custom-error.js";
2
+ export class NotAuthorizedError extends CustomError {
3
+ statusCode = 401;
4
+ constructor() {
5
+ super("Not authorized");
6
+ Object.setPrototypeOf(this, NotAuthorizedError.prototype);
7
+ }
8
+ serializeErrors() {
9
+ return [{ message: "Not authorized" }];
10
+ }
11
+ }
12
+ //# sourceMappingURL=not-authorized.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-authorized.js","sourceRoot":"","sources":["../../src/errors/not-authorized.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAC/C,UAAU,GAAG,GAAG,CAAC;IAEjB;QACI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAExB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,eAAe;QACX,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3C,CAAC;CACJ"}
@@ -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.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found.d.ts","sourceRoot":"","sources":["../../src/errors/not-found.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,aAAc,SAAQ,WAAW;IAC1C,UAAU,SAAO;;IAQjB,eAAe;;;CAGlB"}
@@ -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.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found.js","sourceRoot":"","sources":["../../src/errors/not-found.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC1C,UAAU,GAAG,GAAG,CAAC;IAEjB;QACI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,eAAe;QACX,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACtC,CAAC;CACJ"}
@@ -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
+ message: any;
12
+ field?: never;
13
+ })[];
14
+ }
15
+ //# sourceMappingURL=request-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-validation.d.ts","sourceRoot":"","sources":["../../src/errors/request-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,WAAW;IAEhC,MAAM,EAAE,eAAe,EAAE;IAD5C,UAAU,EAAE,MAAM,CAAC;gBACA,MAAM,EAAE,eAAe,EAAE;IAM5C,eAAe;;;;;;;CAQlB"}
@@ -0,0 +1,21 @@
1
+ import {} from "express-validator";
2
+ import { CustomError } from "./custom-error.js";
3
+ export class RequestValidationError extends CustomError {
4
+ errors;
5
+ statusCode;
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(error => {
14
+ if (error.type === 'field') {
15
+ return { message: error.msg, field: error.path };
16
+ }
17
+ return { message: error.msg };
18
+ });
19
+ }
20
+ }
21
+ //# sourceMappingURL=request-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-validation.js","sourceRoot":"","sources":["../../src/errors/request-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAEhC;IADnB,UAAU,CAAS;IACnB,YAAmB,MAAyB;QACxC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QADrB,WAAM,GAAN,MAAM,CAAmB;QAExC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,11 @@
1
- export declare const hello = "world";
1
+ export * from './errors/bad-request.js';
2
+ export * from './errors/custom-error.js';
3
+ export * from './errors/database-validation.js';
4
+ export * from './errors/not-authorized.js';
5
+ export * from './errors/not-found.js';
6
+ export * from './errors/request-validation.js';
7
+ export * from './middlewares/current-user.js';
8
+ export * from './middlewares/error-handler.js';
9
+ export * from './middlewares/require-auth.js';
10
+ export * from './middlewares/validate-request.js';
2
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,11 @@
1
- export const hello = "world";
1
+ export * from './errors/bad-request.js';
2
+ export * from './errors/custom-error.js';
3
+ export * from './errors/database-validation.js';
4
+ export * from './errors/not-authorized.js';
5
+ export * from './errors/not-found.js';
6
+ export * from './errors/request-validation.js';
7
+ export * from './middlewares/current-user.js';
8
+ export * from './middlewares/error-handler.js';
9
+ export * from './middlewares/require-auth.js';
10
+ export * from './middlewares/validate-request.js';
2
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import express from "express";
2
+ interface UserPayload {
3
+ id: string;
4
+ email: string;
5
+ }
6
+ declare global {
7
+ namespace Express {
8
+ interface Request {
9
+ session?: {
10
+ jwt: string;
11
+ };
12
+ currentUser?: UserPayload;
13
+ }
14
+ }
15
+ }
16
+ export declare const currentUser: (req: express.Request, res: express.Response, next: express.NextFunction) => void;
17
+ export {};
18
+ //# 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,OAAO,MAAM,SAAS,CAAC;AAG9B,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,OAAO,CAAC,EAAE;gBACN,GAAG,EAAE,MAAM,CAAC;aACf,CAAC;YACF,WAAW,CAAC,EAAE,WAAW,CAAC;SAC7B;KACJ;CACJ;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,OAAO,CAAC,OAAO,EACpB,KAAK,OAAO,CAAC,QAAQ,EACrB,MAAM,OAAO,CAAC,YAAY,SAc7B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import express from "express";
2
+ import jwt from "jsonwebtoken";
3
+ export const currentUser = (req, res, next) => {
4
+ if (!req.session?.jwt) {
5
+ return next();
6
+ }
7
+ try {
8
+ const payload = jwt.verify(req.session.jwt, process.env.JWT_KEY);
9
+ req.currentUser = payload;
10
+ }
11
+ catch (error) {
12
+ // Ignore JWT verification errors
13
+ }
14
+ next();
15
+ };
16
+ //# sourceMappingURL=current-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-user.js","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,GAAG,MAAM,cAAc,CAAC;AAkB/B,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,GAAoB,EACpB,GAAqB,EACrB,IAA0B,EAC5B,EAAE;IACA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAQ,CAAgB,CAAC;QACjF,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,iCAAiC;IACrC,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Request, type Response, type 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,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAGzE,eAAO,MAAM,YAAY,GAAI,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,mDAQvF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import {} from "express";
2
+ import { CustomError } from "../errors/custom-error.js";
3
+ export const errorHandler = (err, req, res, next) => {
4
+ console.error(err);
5
+ if (err instanceof CustomError) {
6
+ return res.status(err.statusCode).send({ errors: err.serializeErrors() });
7
+ }
8
+ res.status(500).send({ errors: [{ message: err.message }] });
9
+ };
10
+ //# sourceMappingURL=error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IACxF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnB,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import express from "express";
2
+ export declare const requireAuth: (req: express.Request, res: express.Response, next: express.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,OAAO,MAAM,SAAS,CAAC;AAG9B,eAAO,MAAM,WAAW,GACpB,KAAK,OAAO,CAAC,OAAO,EACpB,KAAK,OAAO,CAAC,QAAQ,EACrB,MAAM,OAAO,CAAC,YAAY,SAO7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import express from "express";
2
+ import { NotAuthorizedError } from "../errors/not-authorized.js";
3
+ export const requireAuth = (req, res, next) => {
4
+ if (!req.session?.jwt) {
5
+ throw new NotAuthorizedError();
6
+ }
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":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,GAAoB,EACpB,GAAqB,EACrB,IAA0B,EAC5B,EAAE;IACA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
@@ -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,CAAC;AAI/D,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,SAOnB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { validationResult } from "express-validator";
2
+ import { RequestValidationError } from "../errors/request-validation.js";
3
+ export const validateRequest = (req, res, next) => {
4
+ const errors = validationResult(req);
5
+ if (!errors.isEmpty()) {
6
+ throw new RequestValidationError(errors.array());
7
+ }
8
+ next();
9
+ };
10
+ //# 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,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;IACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ticketing156/common",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -16,7 +16,20 @@
16
16
  "license": "ISC",
17
17
  "type": "module",
18
18
  "devDependencies": {
19
+ "@types/bcrypt": "^6.0.0",
20
+ "@types/cookie-session": "^2.0.49",
21
+ "@types/express": "^5.0.6",
22
+ "@types/jsonwebtoken": "^9.0.10",
23
+ "@types/mongoose": "^5.11.96",
19
24
  "del-cli": "^7.0.0",
20
25
  "typescript": "^6.0.3"
26
+ },
27
+ "dependencies": {
28
+ "bcrypt": "^6.0.0",
29
+ "cookie-session": "^2.1.1",
30
+ "express": "^5.2.1",
31
+ "express-validator": "^7.3.2",
32
+ "jsonwebtoken": "^9.0.3",
33
+ "mongoose": "^9.7.2"
21
34
  }
22
35
  }