@eratu/common 1.0.22 → 1.0.23
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/__tests__/enum/roles.test.d.ts +1 -0
- package/build/__tests__/enum/roles.test.js +31 -0
- package/build/__tests__/errors/bad-request-error.test.d.ts +1 -0
- package/build/__tests__/errors/bad-request-error.test.js +30 -0
- package/build/__tests__/errors/database-connection-error.test.d.ts +1 -0
- package/build/__tests__/errors/database-connection-error.test.js +28 -0
- package/build/__tests__/errors/forbidden-error.test.d.ts +1 -0
- package/build/__tests__/errors/forbidden-error.test.js +39 -0
- package/build/__tests__/errors/not-authorized-error.test.d.ts +1 -0
- package/build/__tests__/errors/not-authorized-error.test.js +39 -0
- package/build/__tests__/errors/not-found-error.test.d.ts +1 -0
- package/build/__tests__/errors/not-found-error.test.js +39 -0
- package/build/__tests__/errors/request-validation-error.test.d.ts +1 -0
- package/build/__tests__/errors/request-validation-error.test.js +99 -0
- package/build/__tests__/events/base-listener.test.d.ts +1 -0
- package/build/__tests__/events/base-listener.test.js +223 -0
- package/build/__tests__/events/base-publisher.test.d.ts +1 -0
- package/build/__tests__/events/base-publisher.test.js +85 -0
- package/build/__tests__/events/streams.test.d.ts +1 -0
- package/build/__tests__/events/streams.test.js +18 -0
- package/build/__tests__/events/subjects.test.d.ts +1 -0
- package/build/__tests__/events/subjects.test.js +79 -0
- package/build/__tests__/middlewares/allow-roles.test.d.ts +1 -0
- package/build/__tests__/middlewares/allow-roles.test.js +112 -0
- package/build/__tests__/middlewares/current-user.test.d.ts +1 -0
- package/build/__tests__/middlewares/current-user.test.js +261 -0
- package/build/__tests__/middlewares/error-handler.test.d.ts +1 -0
- package/build/__tests__/middlewares/error-handler.test.js +102 -0
- package/build/__tests__/middlewares/require-auth.test.d.ts +1 -0
- package/build/__tests__/middlewares/require-auth.test.js +57 -0
- package/build/__tests__/middlewares/validation.test.d.ts +1 -0
- package/build/__tests__/middlewares/validation.test.js +198 -0
- package/build/__tests__/nats-wrapper.test.d.ts +1 -0
- package/build/__tests__/nats-wrapper.test.js +159 -0
- package/build/__tests__/redis-wrapper.test.d.ts +1 -0
- package/build/__tests__/redis-wrapper.test.js +159 -0
- package/build/enum/image.d.ts +14 -0
- package/build/enum/image.js +18 -0
- package/build/enum/roles.d.ts +6 -0
- package/build/enum/roles.js +10 -0
- package/build/errors/bad-request-error.d.ts +9 -0
- package/build/errors/bad-request-error.js +16 -0
- package/build/errors/conflict-error.d.ts +9 -0
- package/build/errors/conflict-error.js +16 -0
- package/build/errors/custom-error.d.ts +8 -0
- package/build/errors/custom-error.js +10 -0
- package/build/errors/database-connection-error.d.ts +9 -0
- package/build/errors/database-connection-error.js +16 -0
- package/build/errors/forbidden-error.d.ts +9 -0
- package/build/errors/forbidden-error.js +16 -0
- package/build/errors/internal-error.d.ts +9 -0
- package/build/errors/internal-error.js +16 -0
- package/build/errors/not-authorized-error.d.ts +8 -0
- package/build/errors/not-authorized-error.js +15 -0
- package/build/errors/not-found-error.d.ts +9 -0
- package/build/errors/not-found-error.js +16 -0
- package/build/errors/request-validation-error.d.ts +14 -0
- package/build/errors/request-validation-error.js +22 -0
- package/build/events/event-types/auth/admin-deleted-event.d.ts +11 -0
- package/build/events/event-types/auth/admin-deleted-event.js +2 -0
- package/build/events/event-types/auth/admin-signed-up-event.d.ts +13 -0
- package/build/events/event-types/auth/admin-signed-up-event.js +2 -0
- package/build/events/event-types/auth/admin-updated-event.d.ts +14 -0
- package/build/events/event-types/auth/admin-updated-event.js +2 -0
- package/build/events/event-types/auth/author-deleted-event.d.ts +11 -0
- package/build/events/event-types/auth/author-deleted-event.js +2 -0
- package/build/events/event-types/auth/author-signed-in-event.d.ts +12 -0
- package/build/events/event-types/auth/author-signed-in-event.js +2 -0
- package/build/events/event-types/auth/author-signed-out-event.d.ts +11 -0
- package/build/events/event-types/auth/author-signed-out-event.js +2 -0
- package/build/events/event-types/auth/author-signed-up-event.d.ts +13 -0
- package/build/events/event-types/auth/author-signed-up-event.js +2 -0
- package/build/events/event-types/auth/author-updated-event.d.ts +14 -0
- package/build/events/event-types/auth/author-updated-event.js +2 -0
- package/build/events/event-types/auth/author-verified-event.d.ts +14 -0
- package/build/events/event-types/auth/author-verified-event.js +2 -0
- package/build/events/event-types/auth/reader-deleted-event.d.ts +11 -0
- package/build/events/event-types/auth/reader-deleted-event.js +2 -0
- package/build/events/event-types/auth/reader-signed-in-event.d.ts +13 -0
- package/build/events/event-types/auth/reader-signed-in-event.js +2 -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.d.ts +14 -0
- package/build/events/event-types/auth/reader-updated-event.js +2 -0
- package/build/events/event-types/auth/reader-verified-event.d.ts +14 -0
- package/build/events/event-types/auth/reader-verified-event.js +2 -0
- package/build/events/event-types/books/book-created-event.d.ts +34 -0
- package/build/events/event-types/books/book-created-event.js +2 -0
- package/build/events/event-types/books/book-deleted-event.d.ts +10 -0
- package/build/events/event-types/books/book-deleted-event.js +2 -0
- package/build/events/event-types/books/book-updated-event.d.ts +35 -0
- package/build/events/event-types/books/book-updated-event.js +2 -0
- package/build/events/event-types/books/chapter-created-event.d.ts +16 -0
- package/build/events/event-types/books/chapter-created-event.js +2 -0
- package/build/events/event-types/books/chapter-deleted-event.d.ts +10 -0
- package/build/events/event-types/books/chapter-deleted-event.js +2 -0
- package/build/events/event-types/books/chapter-updated-event.d.ts +17 -0
- package/build/events/event-types/books/chapter-updated-event.js +2 -0
- package/build/events/event-types/books/genre-created-event.d.ts +13 -0
- package/build/events/event-types/books/genre-created-event.js +2 -0
- package/build/events/event-types/books/genre-deleted-event.d.ts +9 -0
- package/build/events/event-types/books/genre-deleted-event.js +2 -0
- package/build/events/event-types/books/genre-updated-event.d.ts +13 -0
- package/build/events/event-types/books/genre-updated-event.js +2 -0
- package/build/events/event-types/books/subgenre-created-event.d.ts +14 -0
- package/build/events/event-types/books/subgenre-created-event.js +2 -0
- package/build/events/event-types/books/subgenre-deleted-event.d.ts +9 -0
- package/build/events/event-types/books/subgenre-deleted-event.js +2 -0
- package/build/events/event-types/books/subgenre-updated-event.d.ts +14 -0
- package/build/events/event-types/books/subgenre-updated-event.js +2 -0
- package/build/events/event-types/books/tag-created-event.d.ts +12 -0
- package/build/events/event-types/books/tag-created-event.js +2 -0
- package/build/events/event-types/books/tag-deleted-event.d.ts +9 -0
- package/build/events/event-types/books/tag-deleted-event.js +2 -0
- package/build/events/event-types/books/tag-updated-event.d.ts +12 -0
- package/build/events/event-types/books/tag-updated-event.js +2 -0
- package/build/events/event-types/books/trigger-created-event.d.ts +12 -0
- package/build/events/event-types/books/trigger-created-event.js +2 -0
- package/build/events/event-types/books/trigger-deleted-event.d.ts +9 -0
- package/build/events/event-types/books/trigger-deleted-event.js +2 -0
- package/build/events/event-types/books/trigger-updated-event.d.ts +12 -0
- package/build/events/event-types/books/trigger-updated-event.js +2 -0
- package/build/events/event-types/books/trope-created-event.d.ts +12 -0
- package/build/events/event-types/books/trope-created-event.js +2 -0
- package/build/events/event-types/books/trope-deleted-event.d.ts +9 -0
- package/build/events/event-types/books/trope-deleted-event.js +2 -0
- package/build/events/event-types/books/trope-updated-event.d.ts +12 -0
- package/build/events/event-types/books/trope-updated-event.js +2 -0
- package/build/events/event-types/media/avatar-uploaded-event.d.ts +14 -0
- package/build/events/event-types/media/avatar-uploaded-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/listeners/base-listener.d.ts +23 -0
- package/build/events/listeners/base-listener.js +97 -0
- package/build/events/publishers/base-publisher.d.ts +14 -0
- package/build/events/publishers/base-publisher.js +27 -0
- package/build/events/streams.d.ts +6 -0
- package/build/events/streams.js +10 -0
- package/build/events/subjects.d.ts +41 -0
- package/build/events/subjects.js +52 -0
- package/build/index.d.ts +60 -0
- package/build/index.js +89 -0
- package/build/middlewares/allow-roles.d.ts +3 -0
- package/build/middlewares/allow-roles.js +18 -0
- package/build/middlewares/current-user.d.ts +40 -0
- package/build/middlewares/current-user.js +88 -0
- package/build/middlewares/error-handler.d.ts +2 -0
- package/build/middlewares/error-handler.js +14 -0
- package/build/middlewares/require-auth.d.ts +2 -0
- package/build/middlewares/require-auth.js +11 -0
- package/build/middlewares/validation.d.ts +3 -0
- package/build/middlewares/validation.js +56 -0
- package/build/nats-wrapper.d.ts +17 -0
- package/build/nats-wrapper.js +92 -0
- package/build/redis-wrapper.d.ts +20 -0
- package/build/redis-wrapper.js +77 -0
- package/build/test/setup.d.ts +8 -0
- package/build/test/setup.js +45 -0
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
constructor() {
|
|
7
|
+
super('Error connecting to db');
|
|
8
|
+
this.statusCode = 500;
|
|
9
|
+
this.reason = 'Error connecting to database';
|
|
10
|
+
Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
|
|
11
|
+
}
|
|
12
|
+
serializeErrors() {
|
|
13
|
+
return [{ message: this.reason }];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.DatabaseConnectionError = DatabaseConnectionError;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ForbiddenError = void 0;
|
|
4
|
+
const custom_error_1 = require("./custom-error");
|
|
5
|
+
class ForbiddenError extends custom_error_1.CustomError {
|
|
6
|
+
constructor(message = 'Forbidden') {
|
|
7
|
+
super(message);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.statusCode = 403;
|
|
10
|
+
Object.setPrototypeOf(this, ForbiddenError.prototype);
|
|
11
|
+
}
|
|
12
|
+
serializeErrors() {
|
|
13
|
+
return [{ message: this.message }];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ForbiddenError = ForbiddenError;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InternalError = void 0;
|
|
4
|
+
const custom_error_1 = require("./custom-error");
|
|
5
|
+
class InternalError extends custom_error_1.CustomError {
|
|
6
|
+
constructor(message = 'Internal Server Error') {
|
|
7
|
+
super(message);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.statusCode = 500;
|
|
10
|
+
Object.setPrototypeOf(this, InternalError.prototype);
|
|
11
|
+
}
|
|
12
|
+
serializeErrors() {
|
|
13
|
+
return [{ message: this.message }];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.InternalError = InternalError;
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
constructor(message = 'Not Authorized') {
|
|
7
|
+
super(message);
|
|
8
|
+
this.statusCode = 401;
|
|
9
|
+
Object.setPrototypeOf(this, NotAuthorizedError.prototype);
|
|
10
|
+
}
|
|
11
|
+
serializeErrors() {
|
|
12
|
+
return [{ message: this.message }];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.NotAuthorizedError = NotAuthorizedError;
|
|
@@ -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
|
+
constructor(message = 'Not Found') {
|
|
7
|
+
super('Route not found');
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.statusCode = 404;
|
|
10
|
+
Object.setPrototypeOf(this, NotFoundError.prototype);
|
|
11
|
+
}
|
|
12
|
+
serializeErrors() {
|
|
13
|
+
return [{ message: this.message }];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.NotFoundError = NotFoundError;
|
|
@@ -0,0 +1,14 @@
|
|
|
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?: undefined;
|
|
13
|
+
})[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
constructor(errors) {
|
|
7
|
+
super('Invalid request parameters');
|
|
8
|
+
this.errors = errors;
|
|
9
|
+
this.statusCode = 400;
|
|
10
|
+
// Only because we are extending a built in class
|
|
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;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AdminDeletedEvent {
|
|
4
|
+
subject: Subjects.AdminDeleted;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
version: number;
|
|
9
|
+
adminVersion?: number;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AdminSignedUpEvent {
|
|
4
|
+
subject: Subjects.AdminSignedUp;
|
|
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,14 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AdminUpdatedEvent {
|
|
4
|
+
subject: Subjects.AdminUpdated;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
firstName: string;
|
|
9
|
+
lastName: string;
|
|
10
|
+
email: string;
|
|
11
|
+
version: number;
|
|
12
|
+
adminVersion?: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AuthorDeletedEvent {
|
|
4
|
+
subject: Subjects.AuthorDeleted;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
version: number;
|
|
9
|
+
authorVersion: number;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AuthorSignedInEvent {
|
|
4
|
+
subject: Subjects.AuthorSignedIn;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
userId: string;
|
|
8
|
+
email: string;
|
|
9
|
+
version: number;
|
|
10
|
+
authorVersion: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AuthorSignedOutEvent {
|
|
4
|
+
subject: Subjects.AuthorSignedOut;
|
|
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 AuthorSignedUpEvent {
|
|
4
|
+
subject: Subjects.AuthorSignedUp;
|
|
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,14 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AuthorUpdatedEvent {
|
|
4
|
+
subject: Subjects.AuthorUpdated;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
firstName: string;
|
|
9
|
+
lastName: string;
|
|
10
|
+
email: string;
|
|
11
|
+
version: number;
|
|
12
|
+
authorVersion: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface AuthorVerifiedEvent {
|
|
4
|
+
subject: Subjects.AuthorVerified;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
firstName: string;
|
|
9
|
+
lastName: string;
|
|
10
|
+
email: string;
|
|
11
|
+
version: number;
|
|
12
|
+
authorVersion: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface ReaderDeletedEvent {
|
|
4
|
+
subject: Subjects.ReaderDeleted;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
version: number;
|
|
9
|
+
readerVersion: number;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
signedInAt: string;
|
|
10
|
+
version: number;
|
|
11
|
+
readerVersion: number;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -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,14 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface ReaderUpdatedEvent {
|
|
4
|
+
subject: Subjects.ReaderUpdated;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
firstName: string;
|
|
9
|
+
lastName: string;
|
|
10
|
+
email: string;
|
|
11
|
+
version: number;
|
|
12
|
+
readerVersion: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface ReaderVerifiedEvent {
|
|
4
|
+
subject: Subjects.ReaderVerified;
|
|
5
|
+
stream: Streams.AuthServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
firstName: string;
|
|
9
|
+
lastName: string;
|
|
10
|
+
email: string;
|
|
11
|
+
version: number;
|
|
12
|
+
readerVersion: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface BookCreatedEvent {
|
|
4
|
+
subject: Subjects.BookCreated;
|
|
5
|
+
stream: Streams.BookServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
version: number;
|
|
9
|
+
title: string;
|
|
10
|
+
description: string;
|
|
11
|
+
synopsis: string;
|
|
12
|
+
status: number;
|
|
13
|
+
price: number;
|
|
14
|
+
type: number;
|
|
15
|
+
hoursToRead: number;
|
|
16
|
+
sexualContentLevel: number;
|
|
17
|
+
violenceContentLevel: number;
|
|
18
|
+
isbn: string | null;
|
|
19
|
+
numberInSeries: number | null;
|
|
20
|
+
isUploaded: boolean;
|
|
21
|
+
wordsCount: number | null;
|
|
22
|
+
pagesCount: number | null;
|
|
23
|
+
readerAgeGroup: number | null;
|
|
24
|
+
isComplete: boolean;
|
|
25
|
+
authorId: string;
|
|
26
|
+
genreId: string;
|
|
27
|
+
subgenreId: string | null;
|
|
28
|
+
seriesId: string | null;
|
|
29
|
+
tagIds: string[];
|
|
30
|
+
tropeIds: string[];
|
|
31
|
+
triggerIds: string[];
|
|
32
|
+
createdAt: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface BookUpdatedEvent {
|
|
4
|
+
subject: Subjects.BookUpdated;
|
|
5
|
+
stream: Streams.BookServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
version: number;
|
|
9
|
+
title: string;
|
|
10
|
+
description: string;
|
|
11
|
+
synopsis: string;
|
|
12
|
+
status: number;
|
|
13
|
+
price: number;
|
|
14
|
+
type: number;
|
|
15
|
+
hoursToRead: number;
|
|
16
|
+
sexualContentLevel: number;
|
|
17
|
+
violenceContentLevel: number;
|
|
18
|
+
isbn: string | null;
|
|
19
|
+
numberInSeries: number | null;
|
|
20
|
+
isUploaded: boolean;
|
|
21
|
+
wordsCount: number | null;
|
|
22
|
+
pagesCount: number | null;
|
|
23
|
+
readerAgeGroup: number | null;
|
|
24
|
+
isComplete: boolean;
|
|
25
|
+
authorId: string;
|
|
26
|
+
genreId: string;
|
|
27
|
+
subgenreId: string | null;
|
|
28
|
+
seriesId: string | null;
|
|
29
|
+
tagIds: string[];
|
|
30
|
+
tropeIds: string[];
|
|
31
|
+
triggerIds: string[];
|
|
32
|
+
createdAt: string;
|
|
33
|
+
updatedAt: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface ChapterCreatedEvent {
|
|
4
|
+
subject: Subjects.ChapterCreated;
|
|
5
|
+
stream: Streams.BookServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
sequenceNumber: number;
|
|
10
|
+
wordCount: number;
|
|
11
|
+
pageCount: number;
|
|
12
|
+
note: string | null;
|
|
13
|
+
bookId: string;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface ChapterUpdatedEvent {
|
|
4
|
+
subject: Subjects.ChapterUpdated;
|
|
5
|
+
stream: Streams.BookServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
sequenceNumber: number;
|
|
10
|
+
wordCount: number;
|
|
11
|
+
pageCount: number;
|
|
12
|
+
note: string | null;
|
|
13
|
+
bookId: string;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
updatedAt: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Streams } from '../../streams';
|
|
2
|
+
import { Subjects } from '../../subjects';
|
|
3
|
+
export interface GenreCreatedEvent {
|
|
4
|
+
subject: Subjects.GenreCreated;
|
|
5
|
+
stream: Streams.BookServiceStream;
|
|
6
|
+
data: {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string | null;
|
|
10
|
+
sortOrder: number;
|
|
11
|
+
isActive: boolean;
|
|
12
|
+
};
|
|
13
|
+
}
|