@meaptickets/common 1.0.3 → 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.
- 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 +18 -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 +11 -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 +17 -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 +16 -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 +16 -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 +23 -0
- package/build/errors/request-validation-error.js.map +1 -0
- package/{src/index.ts → build/index.d.ts} +11 -11
- package/build/index.d.ts.map +1 -0
- package/build/index.js +27 -0
- package/build/index.js.map +1 -0
- package/build/middlewares/current-user.d.ts +16 -0
- package/build/middlewares/current-user.d.ts.map +1 -0
- package/build/middlewares/current-user.js +22 -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 +14 -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 +12 -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 +14 -0
- package/build/middlewares/validate-request.js.map +1 -0
- package/package.json +2 -2
- package/src/errors/bad-request-error.ts +0 -15
- package/src/errors/custom-error.ts +0 -11
- package/src/errors/database-connection-error.ts +0 -16
- package/src/errors/not-authorized-error.ts +0 -15
- package/src/errors/not-found-error.ts +0 -15
- package/src/errors/request-validation-error.ts +0 -21
- package/src/middlewares/current-user.ts +0 -35
- package/src/middlewares/error-handler.ts +0 -17
- package/src/middlewares/require-auth.ts +0 -14
- package/src/middlewares/validate-request.ts +0 -17
- package/tsconfig.json +0 -44
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CustomError } from "./custom-error";
|
|
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,gBAAgB,CAAC;AAE7C,qBAAa,eAAgB,SAAQ,WAAW;IAGzB,OAAO,EAAE,MAAM;IAFlC,UAAU,SAAO;gBAEE,OAAO,EAAE,MAAM;IAMlC,eAAe;;;CAGlB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BadRequestError = void 0;
|
|
4
|
+
const custom_error_1 = require("./custom-error");
|
|
5
|
+
class BadRequestError extends custom_error_1.CustomError {
|
|
6
|
+
message;
|
|
7
|
+
statusCode = 400;
|
|
8
|
+
constructor(message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.message = message;
|
|
11
|
+
Object.setPrototypeOf(this, BadRequestError.prototype);
|
|
12
|
+
}
|
|
13
|
+
serializeErrors() {
|
|
14
|
+
return [{ message: this.message }];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.BadRequestError = BadRequestError;
|
|
18
|
+
//# 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,iDAA6C;AAE7C,MAAa,eAAgB,SAAQ,0BAAW;IAGzB;IAFnB,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAmB,OAAe;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC;QADA,YAAO,GAAP,OAAO,CAAQ;QAG9B,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;AAZD,0CAYC"}
|
|
@@ -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;IAM3B,QAAQ,CAAC,eAAe,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;CACpE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomError = void 0;
|
|
4
|
+
class CustomError extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
Object.setPrototypeOf(this, CustomError.prototype);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.CustomError = CustomError;
|
|
11
|
+
//# 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,MAAsB,WAAY,SAAQ,KAAK;IAG3C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CAGJ;AAVD,kCAUC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CustomError } from "./custom-error";
|
|
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,gBAAgB,CAAC;AAE7C,qBAAa,uBAAwB,SAAQ,WAAW;IACpD,UAAU,SAAO;IACjB,MAAM,SAAkC;;IAQxC,eAAe;;;CAGlB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DatabaseConnectionError = void 0;
|
|
4
|
+
const custom_error_1 = require("./custom-error");
|
|
5
|
+
class DatabaseConnectionError extends custom_error_1.CustomError {
|
|
6
|
+
statusCode = 500;
|
|
7
|
+
reason = 'Error connecting to database';
|
|
8
|
+
constructor() {
|
|
9
|
+
super('Error connecting to database');
|
|
10
|
+
Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
|
|
11
|
+
}
|
|
12
|
+
serializeErrors() {
|
|
13
|
+
return [{ message: this.reason }];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.DatabaseConnectionError = DatabaseConnectionError;
|
|
17
|
+
//# 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,iDAA6C;AAE7C,MAAa,uBAAwB,SAAQ,0BAAW;IACpD,UAAU,GAAG,GAAG,CAAC;IACjB,MAAM,GAAG,8BAA8B,CAAC;IAExC;QACI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAEtC,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;AAbD,0DAaC"}
|
|
@@ -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,gBAAgB,CAAC;AAE7C,qBAAa,kBAAmB,SAAQ,WAAW;IAC/C,UAAU,SAAO;;IAQjB,eAAe;;;CAGlB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotAuthorizedError = void 0;
|
|
4
|
+
const custom_error_1 = require("./custom-error");
|
|
5
|
+
class NotAuthorizedError extends custom_error_1.CustomError {
|
|
6
|
+
statusCode = 401;
|
|
7
|
+
constructor() {
|
|
8
|
+
super('Not authorized');
|
|
9
|
+
Object.setPrototypeOf(this, NotAuthorizedError.prototype);
|
|
10
|
+
}
|
|
11
|
+
serializeErrors() {
|
|
12
|
+
return [{ message: 'Not authorized' }];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.NotAuthorizedError = NotAuthorizedError;
|
|
16
|
+
//# 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,iDAA6C;AAE7C,MAAa,kBAAmB,SAAQ,0BAAW;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;AAZD,gDAYC"}
|
|
@@ -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,gBAAgB,CAAC;AAE7C,qBAAa,aAAc,SAAQ,WAAW;IAC1C,UAAU,SAAO;;IAQjB,eAAe;;;CAGlB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotFoundError = void 0;
|
|
4
|
+
const custom_error_1 = require("./custom-error");
|
|
5
|
+
class NotFoundError extends custom_error_1.CustomError {
|
|
6
|
+
statusCode = 404;
|
|
7
|
+
constructor() {
|
|
8
|
+
super('Route not found');
|
|
9
|
+
Object.setPrototypeOf(this, NotFoundError.prototype);
|
|
10
|
+
}
|
|
11
|
+
serializeErrors() {
|
|
12
|
+
return [{ message: 'Not found' }];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.NotFoundError = NotFoundError;
|
|
16
|
+
//# 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,iDAA6C;AAE7C,MAAa,aAAc,SAAQ,0BAAW;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;AAZD,sCAYC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ValidationError } from "express-validator";
|
|
2
|
+
import { CustomError } from "./custom-error";
|
|
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-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,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,sBAAuB,SAAQ,WAAW;IAGhC,MAAM,EAAE,eAAe,EAAE;IAF5C,UAAU,SAAO;gBAEE,MAAM,EAAE,eAAe,EAAE;IAM5C,eAAe;;;;;;;CAQlB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestValidationError = void 0;
|
|
4
|
+
const custom_error_1 = require("./custom-error");
|
|
5
|
+
class RequestValidationError extends custom_error_1.CustomError {
|
|
6
|
+
errors;
|
|
7
|
+
statusCode = 400;
|
|
8
|
+
constructor(errors) {
|
|
9
|
+
super('Invalid request parameters');
|
|
10
|
+
this.errors = errors;
|
|
11
|
+
Object.setPrototypeOf(this, RequestValidationError.prototype);
|
|
12
|
+
}
|
|
13
|
+
serializeErrors() {
|
|
14
|
+
return this.errors.map(err => {
|
|
15
|
+
if (err.type === 'field') {
|
|
16
|
+
return { message: err.msg, field: err.path };
|
|
17
|
+
}
|
|
18
|
+
return { message: err.msg };
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.RequestValidationError = RequestValidationError;
|
|
23
|
+
//# 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,iDAA6C;AAE7C,MAAa,sBAAuB,SAAQ,0BAAW;IAGhC;IAFnB,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAmB,MAAyB;QACxC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QADrB,WAAM,GAAN,MAAM,CAAmB;QAGxC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACzB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;YAChD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAjBD,wDAiBC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export * from './errors/bad-request-error';
|
|
2
|
-
export * from './errors/custom-error';
|
|
3
|
-
export * from './errors/database-connection-error';
|
|
4
|
-
export * from './errors/not-authorized-error';
|
|
5
|
-
export * from './errors/not-found-error';
|
|
6
|
-
export * from './errors/request-validation-error';
|
|
7
|
-
|
|
8
|
-
export * from './middlewares/
|
|
9
|
-
export * from './middlewares/
|
|
10
|
-
export * from './middlewares/
|
|
11
|
-
|
|
1
|
+
export * from './errors/bad-request-error';
|
|
2
|
+
export * from './errors/custom-error';
|
|
3
|
+
export * from './errors/database-connection-error';
|
|
4
|
+
export * from './errors/not-authorized-error';
|
|
5
|
+
export * from './errors/not-found-error';
|
|
6
|
+
export * from './errors/request-validation-error';
|
|
7
|
+
export * from './middlewares/current-user';
|
|
8
|
+
export * from './middlewares/error-handler';
|
|
9
|
+
export * from './middlewares/require-auth';
|
|
10
|
+
export * from './middlewares/validate-request';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAElD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC"}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
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("./errors/bad-request-error"), exports);
|
|
18
|
+
__exportStar(require("./errors/custom-error"), exports);
|
|
19
|
+
__exportStar(require("./errors/database-connection-error"), exports);
|
|
20
|
+
__exportStar(require("./errors/not-authorized-error"), exports);
|
|
21
|
+
__exportStar(require("./errors/not-found-error"), exports);
|
|
22
|
+
__exportStar(require("./errors/request-validation-error"), exports);
|
|
23
|
+
__exportStar(require("./middlewares/current-user"), exports);
|
|
24
|
+
__exportStar(require("./middlewares/error-handler"), exports);
|
|
25
|
+
__exportStar(require("./middlewares/require-auth"), exports);
|
|
26
|
+
__exportStar(require("./middlewares/validate-request"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,wDAAsC;AACtC,qEAAmD;AACnD,gEAA8C;AAC9C,2DAAyC;AACzC,oEAAkD;AAElD,6DAA2C;AAC3C,8DAA4C;AAC5C,6DAA2C;AAC3C,iEAA+C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { 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,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,gBAAgB,CAAC;AAExB,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,WAAW,CAAC,EAAE,WAAW,CAAA;SAC5B;KACJ;CACJ;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,SAcrB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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.currentUser = void 0;
|
|
7
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
8
|
+
require("cookie-session");
|
|
9
|
+
const currentUser = (req, res, next) => {
|
|
10
|
+
if (!req.session?.jwt) {
|
|
11
|
+
return next();
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
const payload = jsonwebtoken_1.default.verify(req.session.jwt, process.env.JWT_KEY);
|
|
15
|
+
req.currentUser = payload;
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
}
|
|
19
|
+
next();
|
|
20
|
+
};
|
|
21
|
+
exports.currentUser = currentUser;
|
|
22
|
+
//# 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,gEAA+B;AAC/B,0BAAwB;AAejB,MAAM,WAAW,GAAG,CACvB,GAAY,EACZ,GAAa,EACb,IAAkB,EACpB,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,sBAAG,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,GAAG,EAAE,CAAC;IAEf,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC,CAAC;AAjBW,QAAA,WAAW,eAiBtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGzD,eAAO,MAAM,YAAY,GACrB,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,mDASrB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorHandler = void 0;
|
|
4
|
+
const custom_error_1 = require("../errors/custom-error");
|
|
5
|
+
const errorHandler = (err, req, res, next) => {
|
|
6
|
+
if (err instanceof custom_error_1.CustomError) {
|
|
7
|
+
return res.status(err.statusCode).send({ errors: err.serializeErrors() });
|
|
8
|
+
}
|
|
9
|
+
res.status(400).send({
|
|
10
|
+
errors: [{ message: 'Something went wrong' }]
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.errorHandler = errorHandler;
|
|
14
|
+
//# 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,yDAAqD;AAE9C,MAAM,YAAY,GAAG,CACxB,GAAU,EACV,GAAY,EACZ,GAAa,EACb,IAAkB,EACpB,EAAE;IACA,IAAI,GAAG,YAAY,0BAAW,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;QACjB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;KAChD,CAAC,CAAC;AACP,CAAC,CAAC;AAbW,QAAA,YAAY,gBAavB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-auth.d.ts","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG1D,eAAO,MAAM,WAAW,GACpB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,SAOrB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.requireAuth = void 0;
|
|
4
|
+
const not_authorized_error_1 = require("../errors/not-authorized-error");
|
|
5
|
+
const requireAuth = (req, res, next) => {
|
|
6
|
+
if (!req.currentUser) {
|
|
7
|
+
throw new not_authorized_error_1.NotAuthorizedError();
|
|
8
|
+
}
|
|
9
|
+
next();
|
|
10
|
+
};
|
|
11
|
+
exports.requireAuth = requireAuth;
|
|
12
|
+
//# 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,yEAAoE;AAE7D,MAAM,WAAW,GAAG,CACvB,GAAY,EACZ,GAAa,EACb,IAAkB,EACpB,EAAE;IACA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,yCAAkB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI1D,eAAO,MAAM,eAAe,GACxB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,SASrB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateRequest = void 0;
|
|
4
|
+
const express_validator_1 = require("express-validator");
|
|
5
|
+
const request_validation_error_1 = require("../errors/request-validation-error");
|
|
6
|
+
const validateRequest = (req, res, next) => {
|
|
7
|
+
const errors = (0, express_validator_1.validationResult)(req);
|
|
8
|
+
if (!errors.isEmpty()) {
|
|
9
|
+
throw new request_validation_error_1.RequestValidationError(errors.array());
|
|
10
|
+
}
|
|
11
|
+
next();
|
|
12
|
+
};
|
|
13
|
+
exports.validateRequest = validateRequest;
|
|
14
|
+
//# 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,yDAAqD;AACrD,iFAA4E;AAErE,MAAM,eAAe,GAAG,CAC3B,GAAY,EACZ,GAAa,EACb,IAAkB,EACpB,EAAE;IACA,MAAM,MAAM,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC;IAErC,IAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,iDAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B"}
|
package/package.json
CHANGED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CustomError } from "./custom-error";
|
|
2
|
-
|
|
3
|
-
export class BadRequestError extends CustomError {
|
|
4
|
-
statusCode = 400;
|
|
5
|
-
|
|
6
|
-
constructor(public message: string) {
|
|
7
|
-
super(message);
|
|
8
|
-
|
|
9
|
-
Object.setPrototypeOf(this, BadRequestError.prototype);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
serializeErrors() {
|
|
13
|
-
return [{ message: this.message }];
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export abstract class CustomError extends Error {
|
|
2
|
-
abstract statusCode: number;
|
|
3
|
-
|
|
4
|
-
constructor(message: string) {
|
|
5
|
-
super(message);
|
|
6
|
-
|
|
7
|
-
Object.setPrototypeOf(this, CustomError.prototype);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
abstract serializeErrors(): { message: string, field?: string }[];
|
|
11
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CustomError } from "./custom-error";
|
|
2
|
-
|
|
3
|
-
export class DatabaseConnectionError extends CustomError {
|
|
4
|
-
statusCode = 500;
|
|
5
|
-
reason = 'Error connecting to database';
|
|
6
|
-
|
|
7
|
-
constructor() {
|
|
8
|
-
super('Error connecting to database');
|
|
9
|
-
|
|
10
|
-
Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
serializeErrors() {
|
|
14
|
-
return [{ message: this.reason }];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CustomError } from "./custom-error";
|
|
2
|
-
|
|
3
|
-
export class NotAuthorizedError extends CustomError {
|
|
4
|
-
statusCode = 401;
|
|
5
|
-
|
|
6
|
-
constructor() {
|
|
7
|
-
super('Not authorized');
|
|
8
|
-
|
|
9
|
-
Object.setPrototypeOf(this, NotAuthorizedError.prototype);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
serializeErrors() {
|
|
13
|
-
return [{ message: 'Not authorized' }];
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CustomError } from "./custom-error";
|
|
2
|
-
|
|
3
|
-
export class NotFoundError extends CustomError {
|
|
4
|
-
statusCode = 404;
|
|
5
|
-
|
|
6
|
-
constructor() {
|
|
7
|
-
super('Route not found');
|
|
8
|
-
|
|
9
|
-
Object.setPrototypeOf(this, NotFoundError.prototype);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
serializeErrors() {
|
|
13
|
-
return [{ message: 'Not found' }];
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ValidationError } from "express-validator";
|
|
2
|
-
import { CustomError } from "./custom-error";
|
|
3
|
-
|
|
4
|
-
export class RequestValidationError extends CustomError{
|
|
5
|
-
statusCode = 400;
|
|
6
|
-
|
|
7
|
-
constructor(public errors: ValidationError[]) {
|
|
8
|
-
super('Invalid request parameters');
|
|
9
|
-
|
|
10
|
-
Object.setPrototypeOf(this, RequestValidationError.prototype);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
serializeErrors() {
|
|
14
|
-
return this.errors.map(err => {
|
|
15
|
-
if (err.type === 'field') {
|
|
16
|
-
return { message: err.msg, field: err.path }
|
|
17
|
-
}
|
|
18
|
-
return { message: err.msg };
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Request, Response, NextFunction } from "express";
|
|
2
|
-
import jwt from 'jsonwebtoken';
|
|
3
|
-
import 'cookie-session';
|
|
4
|
-
|
|
5
|
-
interface UserPayload {
|
|
6
|
-
id: string,
|
|
7
|
-
email: string
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
declare global {
|
|
11
|
-
namespace Express {
|
|
12
|
-
interface Request {
|
|
13
|
-
currentUser?: UserPayload
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const currentUser = (
|
|
19
|
-
req: Request,
|
|
20
|
-
res: Response,
|
|
21
|
-
next: NextFunction
|
|
22
|
-
) => {
|
|
23
|
-
if (!req.session?.jwt) {
|
|
24
|
-
return next();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
try {
|
|
28
|
-
const payload = jwt.verify(req.session.jwt, process.env.JWT_KEY!) as UserPayload;
|
|
29
|
-
req.currentUser = payload;
|
|
30
|
-
} catch (err) {
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
next();
|
|
35
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Request, Response, NextFunction } from "express"
|
|
2
|
-
import { CustomError } from "../errors/custom-error";
|
|
3
|
-
|
|
4
|
-
export const errorHandler = (
|
|
5
|
-
err: Error,
|
|
6
|
-
req: Request,
|
|
7
|
-
res: Response,
|
|
8
|
-
next: NextFunction
|
|
9
|
-
) => {
|
|
10
|
-
if (err instanceof CustomError) {
|
|
11
|
-
return res.status(err.statusCode).send({ errors: err.serializeErrors() });
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
res.status(400).send({
|
|
15
|
-
errors: [{ message: 'Something went wrong' }]
|
|
16
|
-
});
|
|
17
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Request, Response, NextFunction } from "express";
|
|
2
|
-
import { NotAuthorizedError } from "../errors/not-authorized-error";
|
|
3
|
-
|
|
4
|
-
export const requireAuth = (
|
|
5
|
-
req: Request,
|
|
6
|
-
res: Response,
|
|
7
|
-
next: NextFunction
|
|
8
|
-
) => {
|
|
9
|
-
if (!req.currentUser) {
|
|
10
|
-
throw new NotAuthorizedError();
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
next();
|
|
14
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Request, Response, NextFunction } from "express";
|
|
2
|
-
import { validationResult } from "express-validator";
|
|
3
|
-
import { RequestValidationError } from "../errors/request-validation-error";
|
|
4
|
-
|
|
5
|
-
export const validateRequest = (
|
|
6
|
-
req: Request,
|
|
7
|
-
res: Response,
|
|
8
|
-
next: NextFunction
|
|
9
|
-
) => {
|
|
10
|
-
const errors = validationResult(req);
|
|
11
|
-
|
|
12
|
-
if(!errors.isEmpty()) {
|
|
13
|
-
throw new RequestValidationError(errors.array());
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
next();
|
|
17
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// Visit https://aka.ms/tsconfig to read more about this file
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
// File Layout
|
|
5
|
-
// "rootDir": "./src",
|
|
6
|
-
"outDir": "./build",
|
|
7
|
-
|
|
8
|
-
// Environment Settings
|
|
9
|
-
// See also https://aka.ms/tsconfig/module
|
|
10
|
-
"module": "nodenext",
|
|
11
|
-
"target": "esnext",
|
|
12
|
-
"types": [],
|
|
13
|
-
// For nodejs:
|
|
14
|
-
// "lib": ["esnext"],
|
|
15
|
-
// "types": ["node"],
|
|
16
|
-
// and npm install -D @types/node
|
|
17
|
-
|
|
18
|
-
// Other Outputs
|
|
19
|
-
"sourceMap": true,
|
|
20
|
-
"declaration": true,
|
|
21
|
-
"declarationMap": true,
|
|
22
|
-
|
|
23
|
-
// Stricter Typechecking Options
|
|
24
|
-
"noUncheckedIndexedAccess": true,
|
|
25
|
-
"exactOptionalPropertyTypes": true,
|
|
26
|
-
|
|
27
|
-
// Style Options
|
|
28
|
-
// "noImplicitReturns": true,
|
|
29
|
-
// "noImplicitOverride": true,
|
|
30
|
-
// "noUnusedLocals": true,
|
|
31
|
-
// "noUnusedParameters": true,
|
|
32
|
-
// "noFallthroughCasesInSwitch": true,
|
|
33
|
-
// "noPropertyAccessFromIndexSignature": true,
|
|
34
|
-
|
|
35
|
-
// Recommended Options
|
|
36
|
-
"strict": true,
|
|
37
|
-
"jsx": "react-jsx",
|
|
38
|
-
"verbatimModuleSyntax": false,
|
|
39
|
-
"isolatedModules": true,
|
|
40
|
-
"noUncheckedSideEffectImports": true,
|
|
41
|
-
"moduleDetection": "force",
|
|
42
|
-
"skipLibCheck": true,
|
|
43
|
-
}
|
|
44
|
-
}
|