@eratu/common 1.0.8 → 1.0.10
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/events/event-types/auth/{user-signed-in-event.d.ts → author-signed-in-event.d.ts} +2 -2
- package/build/events/event-types/auth/{user-signed-out-event.d.ts → author-signed-out-event.d.ts} +2 -2
- package/build/events/event-types/auth/{user-signed-up-event.d.ts → author-signed-up-event.d.ts} +2 -2
- package/build/events/event-types/auth/reader-signed-in-event.d.ts +12 -0
- package/build/events/event-types/auth/reader-signed-out-event.d.ts +11 -0
- package/build/events/event-types/auth/reader-signed-out-event.js +2 -0
- package/build/events/event-types/auth/reader-signed-up-event.d.ts +13 -0
- package/build/events/event-types/auth/reader-signed-up-event.js +2 -0
- package/build/events/event-types/auth/reader-updated-event.js +2 -0
- package/build/events/event-types/orders/order-created-event.d.ts +12 -0
- package/build/events/event-types/orders/order-created-event.js +2 -0
- package/build/events/subjects.d.ts +6 -3
- package/build/events/subjects.js +6 -3
- package/build/index.d.ts +16 -9
- package/build/index.js +16 -9
- package/build/middlewares/current-user.d.ts +14 -0
- package/build/middlewares/current-user.js +20 -0
- package/build/middlewares/error-handler.d.ts +2 -0
- package/build/middlewares/error-handler.js +13 -0
- package/build/middlewares/require-auth.d.ts +2 -0
- package/build/middlewares/require-auth.js +11 -0
- package/package.json +4 -2
- /package/build/events/event-types/{authors → auth}/author-created-event.d.ts +0 -0
- /package/build/events/event-types/{authors → auth}/author-created-event.js +0 -0
- /package/build/events/event-types/{authors → auth}/author-deleted-event.d.ts +0 -0
- /package/build/events/event-types/{authors → auth}/author-deleted-event.js +0 -0
- /package/build/events/event-types/auth/{user-signed-in-event.js → author-signed-in-event.js} +0 -0
- /package/build/events/event-types/auth/{user-signed-out-event.js → author-signed-out-event.js} +0 -0
- /package/build/events/event-types/auth/{user-signed-up-event.js → author-signed-up-event.js} +0 -0
- /package/build/events/event-types/{authors → auth}/author-updated-event.d.ts +0 -0
- /package/build/events/event-types/{authors → auth}/author-updated-event.js +0 -0
- /package/build/events/event-types/{readers → auth}/reader-created-event.d.ts +0 -0
- /package/build/events/event-types/{readers → auth}/reader-created-event.js +0 -0
- /package/build/events/event-types/{readers → auth}/reader-deleted-event.d.ts +0 -0
- /package/build/events/event-types/{readers → auth}/reader-deleted-event.js +0 -0
- /package/build/events/event-types/{readers/reader-updated-event.js → auth/reader-signed-in-event.js} +0 -0
- /package/build/events/event-types/{readers → auth}/reader-updated-event.d.ts +0 -0
package/build/events/event-types/auth/{user-signed-in-event.d.ts → author-signed-in-event.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Streams } from "../../streams";
|
|
2
2
|
import { Subjects } from "../../subjects";
|
|
3
|
-
export interface
|
|
4
|
-
subject: Subjects.
|
|
3
|
+
export interface AuthorSignedInEvent {
|
|
4
|
+
subject: Subjects.AuthorSignedIn;
|
|
5
5
|
stream: Streams.AuthServiceStream;
|
|
6
6
|
data: {
|
|
7
7
|
userId: string;
|
package/build/events/event-types/auth/{user-signed-out-event.d.ts → author-signed-out-event.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Streams } from "../../streams";
|
|
2
2
|
import { Subjects } from "../../subjects";
|
|
3
|
-
export interface
|
|
4
|
-
subject: Subjects.
|
|
3
|
+
export interface AuthorSignedOutEvent {
|
|
4
|
+
subject: Subjects.AuthorSignedOut;
|
|
5
5
|
stream: Streams.AuthServiceStream;
|
|
6
6
|
data: {
|
|
7
7
|
userId: string;
|
package/build/events/event-types/auth/{user-signed-up-event.d.ts → author-signed-up-event.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Streams } from "../../streams";
|
|
2
2
|
import { Subjects } from "../../subjects";
|
|
3
|
-
export interface
|
|
4
|
-
subject: Subjects.
|
|
3
|
+
export interface AuthorSignedUpEvent {
|
|
4
|
+
subject: Subjects.AuthorSignedUp;
|
|
5
5
|
stream: Streams.AuthServiceStream;
|
|
6
6
|
data: {
|
|
7
7
|
id: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Streams } from "../../streams";
|
|
2
|
+
import { Subjects } from "../../subjects";
|
|
3
|
+
export interface ReaderSignedInEvent {
|
|
4
|
+
subject: Subjects.ReaderSignedIn;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
userId: string;
|
|
8
|
+
email: string;
|
|
9
|
+
sessionId: string;
|
|
10
|
+
signedInAt: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Streams } from "../../streams";
|
|
2
|
+
import { Subjects } from "../../subjects";
|
|
3
|
+
export interface ReaderSignedOutEvent {
|
|
4
|
+
subject: Subjects.ReaderSignedOut;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
userId: string;
|
|
8
|
+
sessionId: string;
|
|
9
|
+
signedOutAt: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Streams } from "../../streams";
|
|
2
|
+
import { Subjects } from "../../subjects";
|
|
3
|
+
export interface ReaderSignedUpEvent {
|
|
4
|
+
subject: Subjects.ReaderSignedUp;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
email: string;
|
|
9
|
+
firstName: string;
|
|
10
|
+
lastName: string;
|
|
11
|
+
createdAt: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Streams } from "../../streams";
|
|
2
|
+
import { Subjects } from "../../subjects";
|
|
3
|
+
export interface OrderCreatedEvent {
|
|
4
|
+
subject: Subjects.OrderCreated;
|
|
5
|
+
stream: Streams.OrderServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
version: number;
|
|
9
|
+
userId: string;
|
|
10
|
+
expiresAt: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -13,7 +13,10 @@ export declare enum Subjects {
|
|
|
13
13
|
ChapterDeleted = "chapter:deleted",
|
|
14
14
|
OrderCreated = "order:created",
|
|
15
15
|
OrderCancelled = "order:cancelled",
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
ReaderSignedUp = "reader:signed-up",
|
|
17
|
+
ReaderSignedIn = "reader:signed-in",
|
|
18
|
+
ReaderSignedOut = "reader:signed-out",
|
|
19
|
+
AuthorSignedUp = "author:signed-up",
|
|
20
|
+
AuthorSignedIn = "author:signed-in",
|
|
21
|
+
AuthorSignedOut = "author:signed-out"
|
|
19
22
|
}
|
package/build/events/subjects.js
CHANGED
|
@@ -17,7 +17,10 @@ var Subjects;
|
|
|
17
17
|
Subjects["ChapterDeleted"] = "chapter:deleted";
|
|
18
18
|
Subjects["OrderCreated"] = "order:created";
|
|
19
19
|
Subjects["OrderCancelled"] = "order:cancelled";
|
|
20
|
-
Subjects["
|
|
21
|
-
Subjects["
|
|
22
|
-
Subjects["
|
|
20
|
+
Subjects["ReaderSignedUp"] = "reader:signed-up";
|
|
21
|
+
Subjects["ReaderSignedIn"] = "reader:signed-in";
|
|
22
|
+
Subjects["ReaderSignedOut"] = "reader:signed-out";
|
|
23
|
+
Subjects["AuthorSignedUp"] = "author:signed-up";
|
|
24
|
+
Subjects["AuthorSignedIn"] = "author:signed-in";
|
|
25
|
+
Subjects["AuthorSignedOut"] = "author:signed-out";
|
|
23
26
|
})(Subjects || (exports.Subjects = Subjects = {}));
|
package/build/index.d.ts
CHANGED
|
@@ -4,19 +4,26 @@ export * from "./errors/database-connection-error";
|
|
|
4
4
|
export * from "./errors/not-authorized-error";
|
|
5
5
|
export * from "./errors/not-found-error";
|
|
6
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";
|
|
7
10
|
export * from "./events/listeners/base-listener";
|
|
8
11
|
export * from "./events/publishers/base-publisher";
|
|
9
12
|
export * from "./events/event-types/books/book-created-event";
|
|
10
13
|
export * from "./events/event-types/books/book-updated-event";
|
|
11
14
|
export * from "./events/event-types/books/book-deleted-event";
|
|
12
|
-
export * from "./events/event-types/
|
|
13
|
-
export * from "./events/event-types/
|
|
14
|
-
export * from "./events/event-types/
|
|
15
|
-
export * from "./events/event-types/
|
|
16
|
-
export * from "./events/event-types/
|
|
17
|
-
export * from "./events/event-types/
|
|
18
|
-
export * from "./events/event-types/auth/
|
|
19
|
-
export * from "./events/event-types/auth/
|
|
20
|
-
export * from "./events/event-types/auth/
|
|
15
|
+
export * from "./events/event-types/auth/reader-created-event";
|
|
16
|
+
export * from "./events/event-types/auth/reader-updated-event";
|
|
17
|
+
export * from "./events/event-types/auth/reader-deleted-event";
|
|
18
|
+
export * from "./events/event-types/auth/author-created-event";
|
|
19
|
+
export * from "./events/event-types/auth/author-updated-event";
|
|
20
|
+
export * from "./events/event-types/auth/author-deleted-event";
|
|
21
|
+
export * from "./events/event-types/auth/reader-signed-up-event";
|
|
22
|
+
export * from "./events/event-types/auth/reader-signed-in-event";
|
|
23
|
+
export * from "./events/event-types/auth/reader-signed-out-event";
|
|
24
|
+
export * from "./events/event-types/auth/author-signed-up-event";
|
|
25
|
+
export * from "./events/event-types/auth/author-signed-in-event";
|
|
26
|
+
export * from "./events/event-types/auth/author-signed-out-event";
|
|
27
|
+
export * from "./events/event-types/orders/order-created-event";
|
|
21
28
|
export * from "./events/subjects";
|
|
22
29
|
export * from "./events/streams";
|
package/build/index.js
CHANGED
|
@@ -20,19 +20,26 @@ __exportStar(require("./errors/database-connection-error"), exports);
|
|
|
20
20
|
__exportStar(require("./errors/not-authorized-error"), exports);
|
|
21
21
|
__exportStar(require("./errors/not-found-error"), exports);
|
|
22
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);
|
|
23
26
|
__exportStar(require("./events/listeners/base-listener"), exports);
|
|
24
27
|
__exportStar(require("./events/publishers/base-publisher"), exports);
|
|
25
28
|
__exportStar(require("./events/event-types/books/book-created-event"), exports);
|
|
26
29
|
__exportStar(require("./events/event-types/books/book-updated-event"), exports);
|
|
27
30
|
__exportStar(require("./events/event-types/books/book-deleted-event"), exports);
|
|
28
|
-
__exportStar(require("./events/event-types/
|
|
29
|
-
__exportStar(require("./events/event-types/
|
|
30
|
-
__exportStar(require("./events/event-types/
|
|
31
|
-
__exportStar(require("./events/event-types/
|
|
32
|
-
__exportStar(require("./events/event-types/
|
|
33
|
-
__exportStar(require("./events/event-types/
|
|
34
|
-
__exportStar(require("./events/event-types/auth/
|
|
35
|
-
__exportStar(require("./events/event-types/auth/
|
|
36
|
-
__exportStar(require("./events/event-types/auth/
|
|
31
|
+
__exportStar(require("./events/event-types/auth/reader-created-event"), exports);
|
|
32
|
+
__exportStar(require("./events/event-types/auth/reader-updated-event"), exports);
|
|
33
|
+
__exportStar(require("./events/event-types/auth/reader-deleted-event"), exports);
|
|
34
|
+
__exportStar(require("./events/event-types/auth/author-created-event"), exports);
|
|
35
|
+
__exportStar(require("./events/event-types/auth/author-updated-event"), exports);
|
|
36
|
+
__exportStar(require("./events/event-types/auth/author-deleted-event"), exports);
|
|
37
|
+
__exportStar(require("./events/event-types/auth/reader-signed-up-event"), exports);
|
|
38
|
+
__exportStar(require("./events/event-types/auth/reader-signed-in-event"), exports);
|
|
39
|
+
__exportStar(require("./events/event-types/auth/reader-signed-out-event"), exports);
|
|
40
|
+
__exportStar(require("./events/event-types/auth/author-signed-up-event"), exports);
|
|
41
|
+
__exportStar(require("./events/event-types/auth/author-signed-in-event"), exports);
|
|
42
|
+
__exportStar(require("./events/event-types/auth/author-signed-out-event"), exports);
|
|
43
|
+
__exportStar(require("./events/event-types/orders/order-created-event"), exports);
|
|
37
44
|
__exportStar(require("./events/subjects"), exports);
|
|
38
45
|
__exportStar(require("./events/streams"), exports);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from "express";
|
|
2
|
+
interface UserPayload {
|
|
3
|
+
id: string;
|
|
4
|
+
email: string;
|
|
5
|
+
}
|
|
6
|
+
declare global {
|
|
7
|
+
namespace Express {
|
|
8
|
+
interface Request {
|
|
9
|
+
currentUser?: UserPayload;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare const currentUser: (req: Request, res: Response, next: NextFunction) => void;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
const currentUser = (req, res, next) => {
|
|
9
|
+
const token = req.headers["authorization"];
|
|
10
|
+
if (!token) {
|
|
11
|
+
return next();
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
const payload = jsonwebtoken_1.default.verify(token, process.env.JWT_KEY);
|
|
15
|
+
req.currentUser = payload;
|
|
16
|
+
}
|
|
17
|
+
catch (err) { }
|
|
18
|
+
next();
|
|
19
|
+
};
|
|
20
|
+
exports.currentUser = currentUser;
|
|
@@ -0,0 +1,13 @@
|
|
|
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;
|
|
@@ -0,0 +1,11 @@
|
|
|
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;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eratu/common",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "A package for shared code across microservices",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -21,10 +21,12 @@
|
|
|
21
21
|
"typescript": "^5.7.3"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@types/express": "^5.0.
|
|
24
|
+
"@types/express": "^5.0.3",
|
|
25
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
25
26
|
"cookie-session": "^2.1.0",
|
|
26
27
|
"express": "^4.21.2",
|
|
27
28
|
"express-validator": "^7.2.1",
|
|
29
|
+
"jsonwebtoken": "^9.0.2",
|
|
28
30
|
"nats": "^2.29.3"
|
|
29
31
|
}
|
|
30
32
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/build/events/event-types/auth/{user-signed-in-event.js → author-signed-in-event.js}
RENAMED
|
File without changes
|
/package/build/events/event-types/auth/{user-signed-out-event.js → author-signed-out-event.js}
RENAMED
|
File without changes
|
/package/build/events/event-types/auth/{user-signed-up-event.js → author-signed-up-event.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/build/events/event-types/{readers/reader-updated-event.js → auth/reader-signed-in-event.js}
RENAMED
|
File without changes
|
|
File without changes
|