@cwertlinks/common 1.0.2 → 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.
Files changed (49) 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 +9 -0
  10. package/build/errors/database-connection-error.d.ts.map +1 -0
  11. package/build/errors/database-connection-error.js +12 -0
  12. package/build/errors/database-connection-error.js.map +1 -0
  13. package/build/errors/not-authorized-error.d.ts +9 -0
  14. package/build/errors/not-authorized-error.d.ts.map +1 -0
  15. package/build/errors/not-authorized-error.js +12 -0
  16. package/build/errors/not-authorized-error.js.map +1 -0
  17. package/build/errors/not-found-error.d.ts +9 -0
  18. package/build/errors/not-found-error.d.ts.map +1 -0
  19. package/build/errors/not-found-error.js +12 -0
  20. package/build/errors/not-found-error.js.map +1 -0
  21. package/build/errors/request-validation-error.d.ts +12 -0
  22. package/build/errors/request-validation-error.d.ts.map +1 -0
  23. package/build/errors/request-validation-error.js +22 -0
  24. package/build/errors/request-validation-error.js.map +1 -0
  25. package/build/index.d.ts +10 -15
  26. package/build/index.d.ts.map +1 -1
  27. package/build/index.js +10 -6
  28. package/build/index.js.map +1 -1
  29. package/build/middleware/current-user.d.ts +3 -0
  30. package/build/middleware/current-user.d.ts.map +1 -0
  31. package/build/middleware/current-user.js +15 -0
  32. package/build/middleware/current-user.js.map +1 -0
  33. package/build/middleware/error-handler.d.ts +3 -0
  34. package/build/middleware/error-handler.d.ts.map +1 -0
  35. package/build/middleware/error-handler.js +11 -0
  36. package/build/middleware/error-handler.js.map +1 -0
  37. package/build/middleware/require-auth.d.ts +3 -0
  38. package/build/middleware/require-auth.d.ts.map +1 -0
  39. package/build/middleware/require-auth.js +8 -0
  40. package/build/middleware/require-auth.js.map +1 -0
  41. package/build/middleware/validate-request.d.ts +3 -0
  42. package/build/middleware/validate-request.d.ts.map +1 -0
  43. package/build/middleware/validate-request.js +10 -0
  44. package/build/middleware/validate-request.js.map +1 -0
  45. package/build/types/user.d.ts +5 -0
  46. package/build/types/user.d.ts.map +1 -0
  47. package/build/types/user.js +2 -0
  48. package/build/types/user.js.map +1 -0
  49. package/package.json +33 -23
@@ -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,SAAO;IAEjB,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,CAAC;IAEjB,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;uBADE,OAAO;QAExB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,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,CAAC;IAE5B,YAAY,OAAO,EAAE,MAAM,EAG1B;IAED,QAAQ,CAAC,eAAe,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnE"}
@@ -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,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;CAGF"}
@@ -0,0 +1,9 @@
1
+ import { CustomError } from './custom-error.js';
2
+ export declare class DatabaseConnectionError extends CustomError {
3
+ statusCode: number;
4
+ constructor();
5
+ serializeErrors(): {
6
+ message: string;
7
+ }[];
8
+ }
9
+ //# 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,CAAC;AAEhD,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,UAAU,SAAO;IAEjB,cAGC;IAED,eAAe;;QAEd;CACF"}
@@ -0,0 +1,12 @@
1
+ import { CustomError } from './custom-error.js';
2
+ export class DatabaseConnectionError extends CustomError {
3
+ statusCode = 500;
4
+ constructor() {
5
+ super('Error connecting to database');
6
+ Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
7
+ }
8
+ serializeErrors() {
9
+ return [{ message: 'Error connecting to database' }];
10
+ }
11
+ }
12
+ //# 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,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,UAAU,GAAG,GAAG,CAAC;IAEjB;QACE,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -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-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-authorized-error.d.ts","sourceRoot":"","sources":["../../src/errors/not-authorized-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,UAAU,SAAO;IAEjB,cAGC;IAED,eAAe;;QAEd;CACF"}
@@ -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-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-authorized-error.js","sourceRoot":"","sources":["../../src/errors/not-authorized-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,UAAU,GAAG,GAAG,CAAC;IAEjB;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzC,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,SAAO;IAEjB,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: 'Route 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,CAAC;IAEjB;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,12 @@
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
+ }
12
+ //# 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,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,WAAW;IAGlC,MAAM,EAAE,eAAe,EAAE;IAF5C,UAAU,SAAO;IAEjB,YAAmB,MAAM,EAAE,eAAe,EAAE,EAG3C;IAED,eAAe;;;QASd;CACF"}
@@ -0,0 +1,22 @@
1
+ import {} from 'express-validator';
2
+ import { CustomError } from './custom-error.js';
3
+ export class RequestValidationError extends CustomError {
4
+ errors;
5
+ statusCode = 400;
6
+ constructor(errors) {
7
+ super('Invalid request parameters');
8
+ this.errors = errors;
9
+ Object.setPrototypeOf(this, RequestValidationError.prototype);
10
+ }
11
+ serializeErrors() {
12
+ return this.errors
13
+ .filter((err) => err.type === 'field')
14
+ .map((err) => {
15
+ return {
16
+ message: err.msg,
17
+ field: err.path,
18
+ };
19
+ });
20
+ }
21
+ }
22
+ //# 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":"AAAA,OAAO,EAAwB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAGlC,MAAM;IAFzB,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAmB,MAAyB;QAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAC;sBADnB,MAAM;QAEvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,MAAM;aACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;aACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,GAAG;gBAChB,KAAK,EAAE,GAAG,CAAC,IAAI;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}
package/build/index.d.ts CHANGED
@@ -1,16 +1,11 @@
1
- interface Color {
2
- red: number;
3
- green: number;
4
- blue: number;
5
- }
6
- interface Point {
7
- x: number;
8
- y: number;
9
- }
10
- interface Shape {
11
- color: Color;
12
- points: Point[];
13
- }
14
- declare const shape: Shape;
15
- export { shape };
1
+ export * from './middleware/current-user.js';
2
+ export * from './middleware/error-handler.js';
3
+ export * from './middleware/validate-request.js';
4
+ export * from './middleware/require-auth.js';
5
+ export * from './errors/bad-request-error.js';
6
+ export * from './errors/custom-error.js';
7
+ export * from './errors/database-connection-error.js';
8
+ export * from './errors/not-authorized-error.js';
9
+ export * from './errors/not-found-error.js';
10
+ export * from './errors/request-validation-error.js';
16
11
  //# 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,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,QAAA,MAAM,KAAK,EAAE,KAGZ,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC"}
package/build/index.js CHANGED
@@ -1,7 +1,11 @@
1
- const shape = {
2
- color: { red: 200, green: 100, blue: 0 },
3
- points: [{ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }],
4
- };
5
- console.log(shape);
6
- export { shape };
1
+ export * from './middleware/current-user.js';
2
+ export * from './middleware/error-handler.js';
3
+ export * from './middleware/validate-request.js';
4
+ export * from './middleware/require-auth.js';
5
+ export * from './errors/bad-request-error.js';
6
+ export * from './errors/custom-error.js';
7
+ export * from './errors/database-connection-error.js';
8
+ export * from './errors/not-authorized-error.js';
9
+ export * from './errors/not-found-error.js';
10
+ export * from './errors/request-validation-error.js';
7
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,MAAM,KAAK,GAAU;IACnB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;IACxC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CACzD,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Request, Response, NextFunction } from 'express';
2
+ export declare const currentUser: (req: Request, res: Response, next: NextFunction) => void;
3
+ //# sourceMappingURL=current-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-user.d.ts","sourceRoot":"","sources":["../../src/middleware/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI/D,eAAO,MAAM,WAAW,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,SAa1E,CAAC"}
@@ -0,0 +1,15 @@
1
+ import jwt from 'jsonwebtoken';
2
+ export const currentUser = (req, res, next) => {
3
+ if (!req.session?.jwt) {
4
+ return next();
5
+ }
6
+ try {
7
+ const payload = jwt.verify(req.session.jwt, process.env.JWT_KEY);
8
+ req.currentUser = payload;
9
+ }
10
+ catch (err) {
11
+ //
12
+ }
13
+ next();
14
+ };
15
+ //# sourceMappingURL=current-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-user.js","sourceRoot":"","sources":["../../src/middleware/current-user.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,cAAc,CAAC;AAG/B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC7E,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACH,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;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,EAAE;IACJ,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -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/middleware/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/D,eAAO,MAAM,YAAY,QAAS,KAAK,OAAO,OAAO,OAAO,QAAQ,QAAQ,YAAY,mDAUvF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CustomError } from '../errors/custom-error.js';
2
+ export const errorHandler = (err, req, res, next) => {
3
+ // console.error(err);
4
+ if (err instanceof CustomError) {
5
+ return res.status(err.statusCode).send({ errors: err.serializeErrors() });
6
+ }
7
+ res.status(400).send({
8
+ errors: [{ message: 'Something went wrong' }],
9
+ });
10
+ };
11
+ //# sourceMappingURL=error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/middleware/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC1F,sBAAsB;IAEtB,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,CAAC;IAC5E,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -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/middleware/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG/D,eAAO,MAAM,WAAW,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,SAM1E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { NotAuthorizedError } from '../errors/not-authorized-error.js';
2
+ export const requireAuth = (req, res, next) => {
3
+ if (!req.currentUser) {
4
+ throw new NotAuthorizedError();
5
+ }
6
+ next();
7
+ };
8
+ //# sourceMappingURL=require-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-auth.js","sourceRoot":"","sources":["../../src/middleware/require-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC7E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,EAAE,CAAC;AACT,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/middleware/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI/D,eAAO,MAAM,eAAe,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,SAQ9E,CAAC"}
@@ -0,0 +1,10 @@
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
+ }
8
+ next();
9
+ };
10
+ //# sourceMappingURL=validate-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-request.js","sourceRoot":"","sources":["../../src/middleware/validate-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface UserPayload {
2
+ id: string;
3
+ email: string;
4
+ }
5
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/types/user.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/types/user.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,23 +1,33 @@
1
- {
2
- "name": "@cwertlinks/common",
3
- "version": "1.0.2",
4
- "description": "common utilities for the ticketing project",
5
- "main": "./build/index.js",
6
- "types": "./build/index.d.ts",
7
- "files": [
8
- "build"
9
- ],
10
- "scripts": {
11
- "clean": "del-cli build/**/*",
12
- "build": "npm run clean && tsc",
13
- "pub": "git add . && git commit -m \"$npm_config_message\" && npm version patch && npm run build && npm publish"
14
- },
15
- "keywords": [],
16
- "author": "",
17
- "license": "ISC",
18
- "type": "module",
19
- "devDependencies": {
20
- "del-cli": "^7.0.0",
21
- "typescript": "^7.0.2"
22
- }
23
- }
1
+ {
2
+ "name": "@cwertlinks/common",
3
+ "version": "1.0.3",
4
+ "description": "common utilities for the ticketing project",
5
+ "main": "./build/index.js",
6
+ "types": "./build/index.d.ts",
7
+ "files": [
8
+ "build"
9
+ ],
10
+ "scripts": {
11
+ "clean": "del-cli build/**/*",
12
+ "build": "npm run clean && tsc",
13
+ "pub": "git add . && git commit -m \"$npm_config_message\" && npm version patch && npm run build && npm publish"
14
+ },
15
+ "keywords": [],
16
+ "author": "",
17
+ "license": "ISC",
18
+ "type": "module",
19
+ "devDependencies": {
20
+ "@types/node": "^26.1.1",
21
+ "del-cli": "^7.0.0",
22
+ "typescript": "^7.0.2"
23
+ },
24
+ "dependencies": {
25
+ "@types/cookie-session": "^2.0.49",
26
+ "@types/express": "^5.0.6",
27
+ "@types/jsonwebtoken": "^9.0.10",
28
+ "cookie-session": "^2.1.1",
29
+ "express": "^5.2.1",
30
+ "express-validator": "^7.3.2",
31
+ "jsonwebtoken": "^9.0.3"
32
+ }
33
+ }