@aytix/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.
- package/build/errors/bad-request-error.d.ts +10 -0
- package/build/errors/bad-request-error.d.ts.map +1 -0
- package/build/errors/bad-request-error.js +14 -0
- package/build/errors/bad-request-error.js.map +1 -0
- package/build/errors/custom-error.d.ts +9 -0
- package/build/errors/custom-error.d.ts.map +1 -0
- package/build/errors/custom-error.js +7 -0
- package/build/errors/custom-error.js.map +1 -0
- package/build/errors/database-connection-error.d.ts +10 -0
- package/build/errors/database-connection-error.d.ts.map +1 -0
- package/build/errors/database-connection-error.js +13 -0
- package/build/errors/database-connection-error.js.map +1 -0
- package/build/errors/not-authorized-error.d.ts +9 -0
- package/build/errors/not-authorized-error.d.ts.map +1 -0
- package/build/errors/not-authorized-error.js +12 -0
- package/build/errors/not-authorized-error.js.map +1 -0
- package/build/errors/not-found-error.d.ts +9 -0
- package/build/errors/not-found-error.d.ts.map +1 -0
- package/build/errors/not-found-error.js +12 -0
- package/build/errors/not-found-error.js.map +1 -0
- package/build/errors/request-validation-error.d.ts +15 -0
- package/build/errors/request-validation-error.d.ts.map +1 -0
- package/build/errors/request-validation-error.js +20 -0
- package/build/errors/request-validation-error.js.map +1 -0
- package/build/index.d.ts +10 -7
- package/build/index.d.ts.map +1 -1
- package/build/index.js +10 -7
- package/build/index.js.map +1 -1
- package/build/middlewares/current-user.d.ts +11 -0
- package/build/middlewares/current-user.d.ts.map +1 -0
- package/build/middlewares/current-user.js +16 -0
- package/build/middlewares/current-user.js.map +1 -0
- package/build/middlewares/error-handler.d.ts +3 -0
- package/build/middlewares/error-handler.d.ts.map +1 -0
- package/build/middlewares/error-handler.js +13 -0
- package/build/middlewares/error-handler.js.map +1 -0
- package/build/middlewares/require-auth.d.ts +3 -0
- package/build/middlewares/require-auth.d.ts.map +1 -0
- package/build/middlewares/require-auth.js +9 -0
- package/build/middlewares/require-auth.js.map +1 -0
- package/build/middlewares/validate-request.d.ts +3 -0
- package/build/middlewares/validate-request.d.ts.map +1 -0
- package/build/middlewares/validate-request.js +11 -0
- package/build/middlewares/validate-request.js.map +1 -0
- package/package.json +11 -2
|
@@ -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,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,WAAW;IAG3B,OAAO,EAAE,MAAM;IAFlC,UAAU,SAAO;gBAEE,OAAO,EAAE,MAAM;IAMlC,eAAe;;;CAGhB"}
|
|
@@ -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,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAG3B;IAFnB,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,YAAO,GAAP,OAAO,CAAQ;QAGhC,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 @@
|
|
|
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;gBAEhB,OAAO,CAAC,EAAE,MAAM;IAK5B,QAAQ,CAAC,eAAe,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;CAClE"}
|
|
@@ -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,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,2CAA2C;IAC7C,CAAC;CAGF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CustomError } from './custom-error.js';
|
|
2
|
+
export declare class DatabaseConnectionError extends CustomError {
|
|
3
|
+
statusCode: number;
|
|
4
|
+
reason: string;
|
|
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,CAAC;AAEhD,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,UAAU,SAAO;IACjB,MAAM,SAAkC;;IAMxC,eAAe;;;CAIhB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CustomError } from './custom-error.js';
|
|
2
|
+
export class DatabaseConnectionError extends CustomError {
|
|
3
|
+
statusCode = 500;
|
|
4
|
+
reason = 'Error connecting to database';
|
|
5
|
+
constructor() {
|
|
6
|
+
super();
|
|
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,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,UAAU,GAAG,GAAG,CAAC;IACjB,MAAM,GAAG,8BAA8B,CAAC;IACxC;QACE,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,eAAe;QACb,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;CAEF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"not-authorized-error.d.ts","sourceRoot":"","sources":["../../src/errors/not-authorized-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,qBAAa,kBAAmB,SAAQ,WAAW;IAC/C,UAAU,SAAO;;IAKjB,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-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,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAC/C,UAAU,GAAG,GAAG,CAAC;IACjB;QACI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IACD,eAAe;QACX,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3C,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"not-found-error.d.ts","sourceRoot":"","sources":["../../src/errors/not-found-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,aAAc,SAAQ,WAAW;IAC1C,UAAU,SAAO;;IAMrB,eAAe;;;CAGd"}
|
|
@@ -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,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC1C,UAAU,GAAG,GAAG,CAAC;IACjB;QACI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAEL,eAAe;QACX,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { 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?: undefined;
|
|
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,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,qBAAa,sBAAuB,SAAQ,WAAW;IAGlC,MAAM,EAAE,eAAe,EAAE;IAF5C,UAAU,SAAO;gBAEE,MAAM,EAAE,eAAe,EAAE;IAK5C,eAAe;;;;;;;CAShB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ValidationError } 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.map((error) => {
|
|
13
|
+
if ('path' in error) {
|
|
14
|
+
return { message: error.msg, field: error.path };
|
|
15
|
+
}
|
|
16
|
+
return { message: error.msg };
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# 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,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAGlC;IAFnB,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAmB,MAAyB;QAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAC;QADnB,WAAM,GAAN,MAAM,CAAmB;QAE1C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACnD,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export
|
|
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-authorized-error.js';
|
|
5
|
+
export * from './errors/not-found-error.js';
|
|
6
|
+
export * from './errors/request-validation-error.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';
|
|
8
11
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AAGrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export
|
|
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-authorized-error.js';
|
|
5
|
+
export * from './errors/not-found-error.js';
|
|
6
|
+
export * from './errors/request-validation-error.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';
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AAGrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from 'express';
|
|
2
|
+
import jwt from 'jsonwebtoken';
|
|
3
|
+
declare global {
|
|
4
|
+
namespace Express {
|
|
5
|
+
interface Request {
|
|
6
|
+
currentUser?: string | jwt.JwtPayload;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const currentUser: (req: Request, res: Response, next: NextFunction) => void;
|
|
11
|
+
//# 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,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,GAAG,MAAM,cAAc,CAAC;AAG/B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;SACzC;KACJ;CACJ;AAOD,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAY1E,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from 'express';
|
|
2
|
+
import jwt from 'jsonwebtoken'; // ✅ default import, not named
|
|
3
|
+
export const currentUser = (req, res, next) => {
|
|
4
|
+
if (!req.session || !req.session.jwt) {
|
|
5
|
+
return next();
|
|
6
|
+
}
|
|
7
|
+
try {
|
|
8
|
+
const payload = jwt.verify(req.session.jwt, process.env.JWT_KEY); // ✅ jwt.verify
|
|
9
|
+
req.currentUser = payload;
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
// If JWT is invalid, simply don't set currentUser
|
|
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,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,GAAG,MAAM,cAAc,CAAC,CAAC,8BAA8B;AAgB9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC3E,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnC,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,CAAC,eAAe;QACjG,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,kDAAkD;IACtD,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAExD,eAAO,MAAM,YAAY,GAAI,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,mDAYtF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from 'express';
|
|
2
|
+
import { CustomError } from '../errors/custom-error';
|
|
3
|
+
export const errorHandler = (err, req, res, next) => {
|
|
4
|
+
if (err instanceof CustomError) {
|
|
5
|
+
return res.status(err.statusCode).send({
|
|
6
|
+
errors: err.serializeErrors()
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
res.status(400).send({
|
|
10
|
+
errors: [{ message: 'Something went wrong' }]
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
//# 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,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAE1F,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE;SAC/B,CAAC,CAAC;IACN,CAAC;IAGC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;KAC9C,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-auth.d.ts","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAGxD,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAK1E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from 'express';
|
|
2
|
+
import { NotAuthorizedError } from '../errors/not-authorized-error';
|
|
3
|
+
export const requireAuth = (req, res, next) => {
|
|
4
|
+
if (!req.currentUser) {
|
|
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,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC3E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAIxD,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAM9E,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from 'express';
|
|
2
|
+
import { validationResult } from 'express-validator';
|
|
3
|
+
import { RequestValidationError } from '../errors/request-validation-error';
|
|
4
|
+
export const validateRequest = (req, res, next) => {
|
|
5
|
+
const errors = validationResult(req);
|
|
6
|
+
if (!errors.isEmpty()) {
|
|
7
|
+
throw new RequestValidationError(errors.array());
|
|
8
|
+
}
|
|
9
|
+
next();
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=validate-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-request.js","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aytix/common",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -14,5 +14,14 @@
|
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"del-cli": "^7.0.0",
|
|
16
16
|
"typescript": "^6.0.3"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@types/cookie-session": "^2.0.49",
|
|
20
|
+
"@types/express": "^5.0.6",
|
|
21
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
22
|
+
"cookie-session": "^2.1.1",
|
|
23
|
+
"express": "^5.2.1",
|
|
24
|
+
"express-validator": "^7.3.2",
|
|
25
|
+
"jsonwebtoken": "^9.0.3"
|
|
17
26
|
}
|
|
18
|
-
}
|
|
27
|
+
}
|