bootifyjs 0.1.0 → 1.0.0
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/dist/api.d.ts +8 -27
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +68 -134
- package/dist/api.js.map +1 -1
- package/dist/cache/bootstrap.d.ts +6 -0
- package/dist/cache/bootstrap.d.ts.map +1 -0
- package/dist/cache/bootstrap.js +23 -0
- package/dist/cache/bootstrap.js.map +1 -0
- package/dist/cache/cache.service.d.ts +9 -0
- package/dist/cache/cache.service.d.ts.map +1 -0
- package/dist/cache/cache.service.js +40 -0
- package/dist/cache/cache.service.js.map +1 -0
- package/dist/cache/cache.types.d.ts +14 -0
- package/dist/cache/cache.types.d.ts.map +1 -0
- package/dist/cache/cache.types.js +8 -0
- package/dist/cache/cache.types.js.map +1 -0
- package/dist/cache/decorators.d.ts +12 -0
- package/dist/cache/decorators.d.ts.map +1 -0
- package/dist/cache/decorators.js +53 -0
- package/dist/cache/decorators.js.map +1 -0
- package/dist/cache/in-memory-cache.store.d.ts +8 -0
- package/dist/cache/in-memory-cache.store.d.ts.map +1 -0
- package/dist/cache/in-memory-cache.store.js +39 -0
- package/dist/cache/in-memory-cache.store.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +21 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/core/component-registry.d.ts +7 -0
- package/dist/core/component-registry.d.ts.map +1 -0
- package/dist/core/component-registry.js +9 -0
- package/dist/core/component-registry.js.map +1 -0
- package/dist/core/decorators.d.ts +38 -22
- package/dist/core/decorators.d.ts.map +1 -0
- package/dist/core/decorators.js +155 -174
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/di-container.d.ts +31 -0
- package/dist/core/di-container.d.ts.map +1 -0
- package/dist/core/di-container.js +219 -0
- package/dist/core/di-container.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +21 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/request-context.service.d.ts +24 -0
- package/dist/core/request-context.service.d.ts.map +1 -0
- package/dist/core/request-context.service.js +52 -0
- package/dist/core/request-context.service.js.map +1 -0
- package/dist/core/router.d.ts +4 -32
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +81 -258
- package/dist/core/router.js.map +1 -1
- package/dist/events/bootstrap.d.ts +8 -0
- package/dist/events/bootstrap.d.ts.map +1 -0
- package/dist/events/bootstrap.js +37 -0
- package/dist/events/bootstrap.js.map +1 -0
- package/dist/events/decorators.d.ts +16 -0
- package/dist/events/decorators.d.ts.map +1 -0
- package/dist/events/decorators.js +37 -0
- package/dist/events/decorators.js.map +1 -0
- package/dist/events/event-bus.service.d.ts +21 -0
- package/dist/events/event-bus.service.d.ts.map +1 -0
- package/dist/events/event-bus.service.js +78 -0
- package/dist/events/event-bus.service.js.map +1 -0
- package/dist/events/event.types.d.ts +17 -0
- package/dist/events/event.types.d.ts.map +1 -0
- package/dist/events/event.types.js.map +1 -0
- package/dist/events/index.d.ts +5 -13
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +4 -54
- package/dist/events/index.js.map +1 -1
- package/dist/examples/controllers/health.controller.d.ts +7 -0
- package/dist/examples/controllers/health.controller.d.ts.map +1 -0
- package/dist/{events/examples/system.events.js → examples/controllers/health.controller.js} +16 -15
- package/dist/examples/controllers/health.controller.js.map +1 -0
- package/dist/examples/controllers/todo.controller.d.ts +31 -0
- package/dist/examples/controllers/todo.controller.d.ts.map +1 -0
- package/dist/examples/controllers/todo.controller.js +102 -0
- package/dist/examples/controllers/todo.controller.js.map +1 -0
- package/dist/examples/events/TodoEventHandler.d.ts +2 -0
- package/dist/examples/events/TodoEventHandler.d.ts.map +1 -0
- package/dist/examples/events/TodoEventHandler.js +31 -0
- package/dist/examples/events/TodoEventHandler.js.map +1 -0
- package/dist/examples/events/todo.events.d.ts +16 -0
- package/dist/examples/events/todo.events.d.ts.map +1 -0
- package/dist/examples/events/todo.events.js +13 -0
- package/dist/examples/events/todo.events.js.map +1 -0
- package/dist/examples/index.d.ts +2 -0
- package/dist/examples/index.d.ts.map +1 -0
- package/dist/examples/index.js +35 -0
- package/dist/examples/index.js.map +1 -0
- package/dist/examples/repositories/todo.repository.d.ts +20 -0
- package/dist/examples/repositories/todo.repository.d.ts.map +1 -0
- package/dist/examples/repositories/todo.repository.js +33 -0
- package/dist/examples/repositories/todo.repository.js.map +1 -0
- package/dist/examples/services/todo.service.d.ts +33 -0
- package/dist/examples/services/todo.service.d.ts.map +1 -0
- package/dist/examples/services/todo.service.js +80 -0
- package/dist/examples/services/todo.service.js.map +1 -0
- package/dist/examples/todos/schema.d.ts +54 -0
- package/dist/examples/todos/schema.d.ts.map +1 -0
- package/dist/examples/todos/schema.js +20 -0
- package/dist/examples/todos/schema.js.map +1 -0
- package/dist/index.d.ts +7 -17
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -95
- package/dist/index.js.map +1 -1
- package/dist/logging/config/logging.config.d.ts +31 -3
- package/dist/logging/config/logging.config.d.ts.map +1 -0
- package/dist/logging/config/logging.config.js +43 -93
- package/dist/logging/config/logging.config.js.map +1 -1
- package/dist/logging/core/decorators.d.ts +16 -0
- package/dist/logging/core/decorators.d.ts.map +1 -0
- package/dist/logging/core/decorators.js +74 -0
- package/dist/logging/core/decorators.js.map +1 -0
- package/dist/logging/core/logger.provider.d.ts +4 -0
- package/dist/logging/core/logger.provider.d.ts.map +1 -0
- package/dist/logging/core/logger.provider.js +68 -0
- package/dist/logging/core/logger.provider.js.map +1 -0
- package/dist/logging/core/logger.service.d.ts +9 -27
- package/dist/logging/core/logger.service.d.ts.map +1 -0
- package/dist/logging/core/logger.service.js +34 -164
- package/dist/logging/core/logger.service.js.map +1 -1
- package/dist/logging/core/{startup-logger.service.d.ts → startup.logger.d.ts} +4 -6
- package/dist/logging/core/startup.logger.d.ts.map +1 -0
- package/dist/logging/core/{startup-logger.service.js → startup.logger.js} +36 -42
- package/dist/logging/core/startup.logger.js.map +1 -0
- package/dist/logging/index.d.ts +7 -14
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +17 -28
- package/dist/logging/index.js.map +1 -1
- package/dist/middleware/auth.middleware.d.ts +3 -0
- package/dist/middleware/auth.middleware.d.ts.map +1 -0
- package/dist/middleware/auth.middleware.js +18 -0
- package/dist/middleware/auth.middleware.js.map +1 -0
- package/dist/middleware/context.middleware.d.ts +7 -0
- package/dist/middleware/context.middleware.d.ts.map +1 -0
- package/dist/middleware/context.middleware.js +25 -0
- package/dist/middleware/context.middleware.js.map +1 -0
- package/dist/middleware/index.d.ts +4 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +20 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/request-logger.middleware.d.ts +4 -0
- package/dist/middleware/request-logger.middleware.d.ts.map +1 -0
- package/dist/middleware/request-logger.middleware.js +18 -0
- package/dist/middleware/request-logger.middleware.js.map +1 -0
- package/package.json +52 -47
- package/LICENSE +0 -21
- package/README.md +0 -173
- package/dist/config/app.config.d.ts +0 -29
- package/dist/config/app.config.js +0 -55
- package/dist/config/app.config.js.map +0 -1
- package/dist/controllers/config.controller.d.ts +0 -16
- package/dist/controllers/config.controller.js +0 -66
- package/dist/controllers/config.controller.js.map +0 -1
- package/dist/controllers/events.controller.d.ts +0 -66
- package/dist/controllers/events.controller.js +0 -145
- package/dist/controllers/events.controller.js.map +0 -1
- package/dist/controllers/health.controller.d.ts +0 -20
- package/dist/controllers/health.controller.js +0 -92
- package/dist/controllers/health.controller.js.map +0 -1
- package/dist/controllers/user.controller.d.ts +0 -13
- package/dist/controllers/user.controller.js +0 -209
- package/dist/controllers/user.controller.js.map +0 -1
- package/dist/core/application.d.ts +0 -21
- package/dist/core/application.js +0 -90
- package/dist/core/application.js.map +0 -1
- package/dist/core/config.d.ts +0 -3
- package/dist/core/config.js +0 -78
- package/dist/core/config.js.map +0 -1
- package/dist/core/container.d.ts +0 -17
- package/dist/core/container.js +0 -92
- package/dist/core/container.js.map +0 -1
- package/dist/core/errors.d.ts +0 -18
- package/dist/core/errors.js +0 -74
- package/dist/core/errors.js.map +0 -1
- package/dist/core/middleware.d.ts +0 -8
- package/dist/core/middleware.js +0 -23
- package/dist/core/middleware.js.map +0 -1
- package/dist/core/openapi.d.ts +0 -80
- package/dist/core/openapi.js +0 -189
- package/dist/core/openapi.js.map +0 -1
- package/dist/core/utils.d.ts +0 -7
- package/dist/core/utils.js +0 -75
- package/dist/core/utils.js.map +0 -1
- package/dist/core/validation.d.ts +0 -15
- package/dist/core/validation.js +0 -161
- package/dist/core/validation.js.map +0 -1
- package/dist/events/core/event-bus.d.ts +0 -26
- package/dist/events/core/event-bus.js +0 -253
- package/dist/events/core/event-bus.js.map +0 -1
- package/dist/events/core/event-registry.d.ts +0 -31
- package/dist/events/core/event-registry.js +0 -170
- package/dist/events/core/event-registry.js.map +0 -1
- package/dist/events/decorators/event.decorators.d.ts +0 -11
- package/dist/events/decorators/event.decorators.js +0 -123
- package/dist/events/decorators/event.decorators.js.map +0 -1
- package/dist/events/examples/system.events.d.ts +0 -15
- package/dist/events/examples/system.events.js.map +0 -1
- package/dist/events/examples/user.events.d.ts +0 -68
- package/dist/events/examples/user.events.js +0 -73
- package/dist/events/examples/user.events.js.map +0 -1
- package/dist/events/examples/user.handlers.d.ts +0 -20
- package/dist/events/examples/user.handlers.js +0 -157
- package/dist/events/examples/user.handlers.js.map +0 -1
- package/dist/events/middleware/logging.middleware.d.ts +0 -7
- package/dist/events/middleware/logging.middleware.js +0 -44
- package/dist/events/middleware/logging.middleware.js.map +0 -1
- package/dist/events/middleware/metrics.middleware.d.ts +0 -11
- package/dist/events/middleware/metrics.middleware.js +0 -87
- package/dist/events/middleware/metrics.middleware.js.map +0 -1
- package/dist/events/middleware/validation.middleware.d.ts +0 -8
- package/dist/events/middleware/validation.middleware.js +0 -63
- package/dist/events/middleware/validation.middleware.js.map +0 -1
- package/dist/events/store/memory-event-store.d.ts +0 -21
- package/dist/events/store/memory-event-store.js +0 -81
- package/dist/events/store/memory-event-store.js.map +0 -1
- package/dist/events/types/event.types.d.ts +0 -57
- package/dist/events/types/event.types.js.map +0 -1
- package/dist/examples/basic-api.d.ts +0 -1
- package/dist/examples/basic-api.js +0 -120
- package/dist/examples/basic-api.js.map +0 -1
- package/dist/logging/core/log-context.service.d.ts +0 -11
- package/dist/logging/core/log-context.service.js +0 -40
- package/dist/logging/core/log-context.service.js.map +0 -1
- package/dist/logging/core/startup-logger.service.js.map +0 -1
- package/dist/logging/decorators/log.decorator.d.ts +0 -11
- package/dist/logging/decorators/log.decorator.js +0 -80
- package/dist/logging/decorators/log.decorator.js.map +0 -1
- package/dist/logging/middleware/context.middleware.d.ts +0 -2
- package/dist/logging/middleware/context.middleware.js +0 -29
- package/dist/logging/middleware/context.middleware.js.map +0 -1
- package/dist/logging/middleware/request-logging.middleware.d.ts +0 -3
- package/dist/logging/middleware/request-logging.middleware.js +0 -78
- package/dist/logging/middleware/request-logging.middleware.js.map +0 -1
- package/dist/logging/types/logging.types.d.ts +0 -79
- package/dist/logging/types/logging.types.js +0 -3
- package/dist/logging/types/logging.types.js.map +0 -1
- package/dist/middlewares/auth.middleware.d.ts +0 -2
- package/dist/middlewares/auth.middleware.js +0 -20
- package/dist/middlewares/auth.middleware.js.map +0 -1
- package/dist/middlewares/cors.middleware.d.ts +0 -2
- package/dist/middlewares/cors.middleware.js +0 -16
- package/dist/middlewares/cors.middleware.js.map +0 -1
- package/dist/middlewares/swagger.middleware.d.ts +0 -6
- package/dist/middlewares/swagger.middleware.js +0 -84
- package/dist/middlewares/swagger.middleware.js.map +0 -1
- package/dist/repositories/user.repository.d.ts +0 -16
- package/dist/repositories/user.repository.js +0 -110
- package/dist/repositories/user.repository.js.map +0 -1
- package/dist/schemas/user.schemas.d.ts +0 -214
- package/dist/schemas/user.schemas.js +0 -71
- package/dist/schemas/user.schemas.js.map +0 -1
- package/dist/services/config-demo.service.d.ts +0 -10
- package/dist/services/config-demo.service.js +0 -88
- package/dist/services/config-demo.service.js.map +0 -1
- package/dist/services/user.service.d.ts +0 -21
- package/dist/services/user.service.js +0 -201
- package/dist/services/user.service.js.map +0 -1
- /package/dist/events/{types/event.types.js → event.types.js} +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { BaseEvent, DomainEvent } from '../types/event.types';
|
|
2
|
-
export declare class UserCreatedEvent implements DomainEvent {
|
|
3
|
-
id: string;
|
|
4
|
-
type: string;
|
|
5
|
-
timestamp: Date;
|
|
6
|
-
version: number;
|
|
7
|
-
aggregateId: string;
|
|
8
|
-
aggregateType: string;
|
|
9
|
-
aggregateVersion: number;
|
|
10
|
-
correlationId?: string;
|
|
11
|
-
causationId?: string;
|
|
12
|
-
metadata?: Record<string, any>;
|
|
13
|
-
userId: string;
|
|
14
|
-
email: string;
|
|
15
|
-
name: string;
|
|
16
|
-
createdBy?: string;
|
|
17
|
-
constructor(data?: Partial<UserCreatedEvent>);
|
|
18
|
-
}
|
|
19
|
-
export declare class UserUpdatedEvent implements DomainEvent {
|
|
20
|
-
id: string;
|
|
21
|
-
type: string;
|
|
22
|
-
timestamp: Date;
|
|
23
|
-
version: number;
|
|
24
|
-
aggregateId: string;
|
|
25
|
-
aggregateType: string;
|
|
26
|
-
aggregateVersion: number;
|
|
27
|
-
correlationId?: string;
|
|
28
|
-
causationId?: string;
|
|
29
|
-
metadata?: Record<string, any>;
|
|
30
|
-
userId: string;
|
|
31
|
-
oldValues: Record<string, any>;
|
|
32
|
-
newValues: Record<string, any>;
|
|
33
|
-
updatedBy?: string;
|
|
34
|
-
constructor(data?: Partial<UserUpdatedEvent>);
|
|
35
|
-
}
|
|
36
|
-
export declare class UserDeletedEvent implements DomainEvent {
|
|
37
|
-
id: string;
|
|
38
|
-
type: string;
|
|
39
|
-
timestamp: Date;
|
|
40
|
-
version: number;
|
|
41
|
-
aggregateId: string;
|
|
42
|
-
aggregateType: string;
|
|
43
|
-
aggregateVersion: number;
|
|
44
|
-
correlationId?: string;
|
|
45
|
-
causationId?: string;
|
|
46
|
-
metadata?: Record<string, any>;
|
|
47
|
-
userId: string;
|
|
48
|
-
email: string;
|
|
49
|
-
name: string;
|
|
50
|
-
deletedBy?: string;
|
|
51
|
-
constructor(data?: Partial<UserDeletedEvent>);
|
|
52
|
-
}
|
|
53
|
-
export declare class UserLoginEvent implements BaseEvent {
|
|
54
|
-
id: string;
|
|
55
|
-
type: string;
|
|
56
|
-
timestamp: Date;
|
|
57
|
-
version: number;
|
|
58
|
-
correlationId?: string;
|
|
59
|
-
causationId?: string;
|
|
60
|
-
metadata?: Record<string, any>;
|
|
61
|
-
userId: string;
|
|
62
|
-
email: string;
|
|
63
|
-
ipAddress?: string;
|
|
64
|
-
userAgent?: string;
|
|
65
|
-
success: boolean;
|
|
66
|
-
failureReason?: string;
|
|
67
|
-
constructor(data?: Partial<UserLoginEvent>);
|
|
68
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.UserLoginEvent = exports.UserDeletedEvent = exports.UserUpdatedEvent = exports.UserCreatedEvent = void 0;
|
|
13
|
-
const event_decorators_1 = require("../decorators/event.decorators");
|
|
14
|
-
let UserCreatedEvent = class UserCreatedEvent {
|
|
15
|
-
constructor(data) {
|
|
16
|
-
this.type = 'user.created';
|
|
17
|
-
this.version = 1;
|
|
18
|
-
this.aggregateType = 'User';
|
|
19
|
-
if (data) {
|
|
20
|
-
Object.assign(this, data);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
exports.UserCreatedEvent = UserCreatedEvent;
|
|
25
|
-
exports.UserCreatedEvent = UserCreatedEvent = __decorate([
|
|
26
|
-
(0, event_decorators_1.Event)('user.created'),
|
|
27
|
-
__metadata("design:paramtypes", [Object])
|
|
28
|
-
], UserCreatedEvent);
|
|
29
|
-
let UserUpdatedEvent = class UserUpdatedEvent {
|
|
30
|
-
constructor(data) {
|
|
31
|
-
this.type = 'user.updated';
|
|
32
|
-
this.version = 1;
|
|
33
|
-
this.aggregateType = 'User';
|
|
34
|
-
if (data) {
|
|
35
|
-
Object.assign(this, data);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
exports.UserUpdatedEvent = UserUpdatedEvent;
|
|
40
|
-
exports.UserUpdatedEvent = UserUpdatedEvent = __decorate([
|
|
41
|
-
(0, event_decorators_1.Event)('user.updated'),
|
|
42
|
-
__metadata("design:paramtypes", [Object])
|
|
43
|
-
], UserUpdatedEvent);
|
|
44
|
-
let UserDeletedEvent = class UserDeletedEvent {
|
|
45
|
-
constructor(data) {
|
|
46
|
-
this.type = 'user.deleted';
|
|
47
|
-
this.version = 1;
|
|
48
|
-
this.aggregateType = 'User';
|
|
49
|
-
if (data) {
|
|
50
|
-
Object.assign(this, data);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
exports.UserDeletedEvent = UserDeletedEvent;
|
|
55
|
-
exports.UserDeletedEvent = UserDeletedEvent = __decorate([
|
|
56
|
-
(0, event_decorators_1.Event)('user.deleted'),
|
|
57
|
-
__metadata("design:paramtypes", [Object])
|
|
58
|
-
], UserDeletedEvent);
|
|
59
|
-
let UserLoginEvent = class UserLoginEvent {
|
|
60
|
-
constructor(data) {
|
|
61
|
-
this.type = 'user.login';
|
|
62
|
-
this.version = 1;
|
|
63
|
-
if (data) {
|
|
64
|
-
Object.assign(this, data);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
exports.UserLoginEvent = UserLoginEvent;
|
|
69
|
-
exports.UserLoginEvent = UserLoginEvent = __decorate([
|
|
70
|
-
(0, event_decorators_1.Event)('user.login'),
|
|
71
|
-
__metadata("design:paramtypes", [Object])
|
|
72
|
-
], UserLoginEvent);
|
|
73
|
-
//# sourceMappingURL=user.events.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.events.js","sourceRoot":"","sources":["../../../src/events/examples/user.events.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qEAAuD;AAGhD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAkB3B,YAAY,IAAgC;QAhB5C,SAAI,GAAG,cAAc,CAAC;QAEtB,YAAO,GAAG,CAAC,CAAC;QAEZ,kBAAa,GAAG,MAAM,CAAC;QAarB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;CACF,CAAA;AAvBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,wBAAK,EAAC,cAAc,CAAC;;GACT,gBAAgB,CAuB5B;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAkB3B,YAAY,IAAgC;QAhB5C,SAAI,GAAG,cAAc,CAAC;QAEtB,YAAO,GAAG,CAAC,CAAC;QAEZ,kBAAa,GAAG,MAAM,CAAC;QAarB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;CACF,CAAA;AAvBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,wBAAK,EAAC,cAAc,CAAC;;GACT,gBAAgB,CAuB5B;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAkB3B,YAAY,IAAgC;QAhB5C,SAAI,GAAG,cAAc,CAAC;QAEtB,YAAO,GAAG,CAAC,CAAC;QAEZ,kBAAa,GAAG,MAAM,CAAC;QAarB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;CACF,CAAA;AAvBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,wBAAK,EAAC,cAAc,CAAC;;GACT,gBAAgB,CAuB5B;AAGM,IAAM,cAAc,GAApB,MAAM,cAAc;IAiBzB,YAAY,IAA8B;QAf1C,SAAI,GAAG,YAAY,CAAC;QAEpB,YAAO,GAAG,CAAC,CAAC;QAcV,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;CACF,CAAA;AAtBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,wBAAK,EAAC,YAAY,CAAC;;GACP,cAAc,CAsB1B"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { UserCreatedEvent, UserUpdatedEvent, UserDeletedEvent, UserLoginEvent } from './user.events';
|
|
2
|
-
export declare class UserEventHandlers {
|
|
3
|
-
private logger;
|
|
4
|
-
onUserCreated(event: UserCreatedEvent): Promise<void>;
|
|
5
|
-
onUserUpdated(event: UserUpdatedEvent): Promise<void>;
|
|
6
|
-
onUserDeleted(event: UserDeletedEvent): Promise<void>;
|
|
7
|
-
onUserLogin(event: UserLoginEvent): Promise<void>;
|
|
8
|
-
private sendWelcomeEmail;
|
|
9
|
-
private updateUserAnalytics;
|
|
10
|
-
private initializeUserPreferences;
|
|
11
|
-
private invalidateUserCache;
|
|
12
|
-
private updateSearchIndex;
|
|
13
|
-
private notifyUserUpdate;
|
|
14
|
-
private cleanupUserData;
|
|
15
|
-
private removeFromSearchIndex;
|
|
16
|
-
private updateLastLoginTime;
|
|
17
|
-
private trackLoginAnalytics;
|
|
18
|
-
private trackFailedLogin;
|
|
19
|
-
private checkSuspiciousActivity;
|
|
20
|
-
}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.UserEventHandlers = void 0;
|
|
13
|
-
const event_decorators_1 = require("../decorators/event.decorators");
|
|
14
|
-
const user_events_1 = require("./user.events");
|
|
15
|
-
const logging_1 = require("../../logging");
|
|
16
|
-
let UserEventHandlers = class UserEventHandlers {
|
|
17
|
-
async onUserCreated(event) {
|
|
18
|
-
this.logger.info('User created event received', {
|
|
19
|
-
userId: event.userId,
|
|
20
|
-
email: event.email,
|
|
21
|
-
name: event.name,
|
|
22
|
-
eventId: event.id
|
|
23
|
-
});
|
|
24
|
-
// Example: Send welcome email
|
|
25
|
-
await this.sendWelcomeEmail(event.email, event.name);
|
|
26
|
-
// Example: Update analytics
|
|
27
|
-
await this.updateUserAnalytics('user_created', event.userId);
|
|
28
|
-
// Example: Initialize user preferences
|
|
29
|
-
await this.initializeUserPreferences(event.userId);
|
|
30
|
-
}
|
|
31
|
-
async onUserUpdated(event) {
|
|
32
|
-
this.logger.info('User updated event received', {
|
|
33
|
-
userId: event.userId,
|
|
34
|
-
oldValues: event.oldValues,
|
|
35
|
-
newValues: event.newValues,
|
|
36
|
-
eventId: event.id
|
|
37
|
-
});
|
|
38
|
-
// Example: Invalidate cache
|
|
39
|
-
await this.invalidateUserCache(event.userId);
|
|
40
|
-
// Example: Update search index
|
|
41
|
-
await this.updateSearchIndex(event.userId, event.newValues);
|
|
42
|
-
// Example: Notify connected clients
|
|
43
|
-
await this.notifyUserUpdate(event.userId, event.newValues);
|
|
44
|
-
}
|
|
45
|
-
async onUserDeleted(event) {
|
|
46
|
-
this.logger.info('User deleted event received', {
|
|
47
|
-
userId: event.userId,
|
|
48
|
-
email: event.email,
|
|
49
|
-
eventId: event.id
|
|
50
|
-
});
|
|
51
|
-
// Example: Clean up user data
|
|
52
|
-
await this.cleanupUserData(event.userId);
|
|
53
|
-
// Example: Remove from search index
|
|
54
|
-
await this.removeFromSearchIndex(event.userId);
|
|
55
|
-
// Example: Update analytics
|
|
56
|
-
await this.updateUserAnalytics('user_deleted', event.userId);
|
|
57
|
-
}
|
|
58
|
-
async onUserLogin(event) {
|
|
59
|
-
this.logger.info('User login event received', {
|
|
60
|
-
userId: event.userId,
|
|
61
|
-
success: event.success,
|
|
62
|
-
ipAddress: event.ipAddress,
|
|
63
|
-
eventId: event.id
|
|
64
|
-
});
|
|
65
|
-
if (event.success) {
|
|
66
|
-
// Example: Update last login time
|
|
67
|
-
await this.updateLastLoginTime(event.userId);
|
|
68
|
-
// Example: Track login analytics
|
|
69
|
-
await this.trackLoginAnalytics(event.userId, event.ipAddress);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
// Example: Track failed login attempts
|
|
73
|
-
await this.trackFailedLogin(event.userId, event.failureReason, event.ipAddress);
|
|
74
|
-
// Example: Check for suspicious activity
|
|
75
|
-
await this.checkSuspiciousActivity(event.userId, event.ipAddress);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Example implementation methods
|
|
79
|
-
async sendWelcomeEmail(email, name) {
|
|
80
|
-
this.logger.debug('Sending welcome email', { email, name });
|
|
81
|
-
// Implementation would integrate with email service
|
|
82
|
-
}
|
|
83
|
-
async updateUserAnalytics(action, userId) {
|
|
84
|
-
this.logger.debug('Updating user analytics', { action, userId });
|
|
85
|
-
// Implementation would integrate with analytics service
|
|
86
|
-
}
|
|
87
|
-
async initializeUserPreferences(userId) {
|
|
88
|
-
this.logger.debug('Initializing user preferences', { userId });
|
|
89
|
-
// Implementation would set default preferences
|
|
90
|
-
}
|
|
91
|
-
async invalidateUserCache(userId) {
|
|
92
|
-
this.logger.debug('Invalidating user cache', { userId });
|
|
93
|
-
// Implementation would clear cache entries
|
|
94
|
-
}
|
|
95
|
-
async updateSearchIndex(userId, userData) {
|
|
96
|
-
this.logger.debug('Updating search index', { userId, userData });
|
|
97
|
-
// Implementation would update search index
|
|
98
|
-
}
|
|
99
|
-
async notifyUserUpdate(userId, updates) {
|
|
100
|
-
this.logger.debug('Notifying user update', { userId, updates });
|
|
101
|
-
// Implementation would notify connected clients via WebSocket
|
|
102
|
-
}
|
|
103
|
-
async cleanupUserData(userId) {
|
|
104
|
-
this.logger.debug('Cleaning up user data', { userId });
|
|
105
|
-
// Implementation would remove user-related data
|
|
106
|
-
}
|
|
107
|
-
async removeFromSearchIndex(userId) {
|
|
108
|
-
this.logger.debug('Removing from search index', { userId });
|
|
109
|
-
// Implementation would remove from search index
|
|
110
|
-
}
|
|
111
|
-
async updateLastLoginTime(userId) {
|
|
112
|
-
this.logger.debug('Updating last login time', { userId });
|
|
113
|
-
// Implementation would update user's last login timestamp
|
|
114
|
-
}
|
|
115
|
-
async trackLoginAnalytics(userId, ipAddress) {
|
|
116
|
-
this.logger.debug('Tracking login analytics', { userId, ipAddress });
|
|
117
|
-
// Implementation would track login metrics
|
|
118
|
-
}
|
|
119
|
-
async trackFailedLogin(userId, reason, ipAddress) {
|
|
120
|
-
this.logger.debug('Tracking failed login', { userId, reason, ipAddress });
|
|
121
|
-
// Implementation would track failed login attempts
|
|
122
|
-
}
|
|
123
|
-
async checkSuspiciousActivity(userId, ipAddress) {
|
|
124
|
-
this.logger.debug('Checking suspicious activity', { userId, ipAddress });
|
|
125
|
-
// Implementation would check for suspicious login patterns
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
exports.UserEventHandlers = UserEventHandlers;
|
|
129
|
-
__decorate([
|
|
130
|
-
(0, event_decorators_1.EventHandler)('user.created', { priority: 10 }),
|
|
131
|
-
__metadata("design:type", Function),
|
|
132
|
-
__metadata("design:paramtypes", [user_events_1.UserCreatedEvent]),
|
|
133
|
-
__metadata("design:returntype", Promise)
|
|
134
|
-
], UserEventHandlers.prototype, "onUserCreated", null);
|
|
135
|
-
__decorate([
|
|
136
|
-
(0, event_decorators_1.EventHandler)('user.updated', { priority: 5 }),
|
|
137
|
-
__metadata("design:type", Function),
|
|
138
|
-
__metadata("design:paramtypes", [user_events_1.UserUpdatedEvent]),
|
|
139
|
-
__metadata("design:returntype", Promise)
|
|
140
|
-
], UserEventHandlers.prototype, "onUserUpdated", null);
|
|
141
|
-
__decorate([
|
|
142
|
-
(0, event_decorators_1.EventHandler)('user.deleted', { priority: 10 }),
|
|
143
|
-
__metadata("design:type", Function),
|
|
144
|
-
__metadata("design:paramtypes", [user_events_1.UserDeletedEvent]),
|
|
145
|
-
__metadata("design:returntype", Promise)
|
|
146
|
-
], UserEventHandlers.prototype, "onUserDeleted", null);
|
|
147
|
-
__decorate([
|
|
148
|
-
(0, event_decorators_1.EventHandler)('user.login', { priority: 1 }),
|
|
149
|
-
__metadata("design:type", Function),
|
|
150
|
-
__metadata("design:paramtypes", [user_events_1.UserLoginEvent]),
|
|
151
|
-
__metadata("design:returntype", Promise)
|
|
152
|
-
], UserEventHandlers.prototype, "onUserLogin", null);
|
|
153
|
-
exports.UserEventHandlers = UserEventHandlers = __decorate([
|
|
154
|
-
(0, event_decorators_1.EventListener)(),
|
|
155
|
-
(0, logging_1.Logger)('UserEventHandlers')
|
|
156
|
-
], UserEventHandlers);
|
|
157
|
-
//# sourceMappingURL=user.handlers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.handlers.js","sourceRoot":"","sources":["../../../src/events/examples/user.handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoggingMiddleware = void 0;
|
|
4
|
-
const logging_1 = require("../../logging");
|
|
5
|
-
class LoggingMiddleware {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.name = 'LoggingMiddleware';
|
|
8
|
-
this.logger = logging_1.LoggerService.getInstance();
|
|
9
|
-
}
|
|
10
|
-
async execute(event, next) {
|
|
11
|
-
const startTime = Date.now();
|
|
12
|
-
this.logger.info('Event processing started', {
|
|
13
|
-
component: 'EventMiddleware',
|
|
14
|
-
middleware: this.name,
|
|
15
|
-
eventType: event.type,
|
|
16
|
-
eventId: event.id,
|
|
17
|
-
correlationId: event.correlationId
|
|
18
|
-
});
|
|
19
|
-
try {
|
|
20
|
-
await next();
|
|
21
|
-
const duration = Date.now() - startTime;
|
|
22
|
-
this.logger.info('Event processing completed', {
|
|
23
|
-
component: 'EventMiddleware',
|
|
24
|
-
middleware: this.name,
|
|
25
|
-
eventType: event.type,
|
|
26
|
-
eventId: event.id,
|
|
27
|
-
duration
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
const duration = Date.now() - startTime;
|
|
32
|
-
this.logger.error('Event processing failed', error, {
|
|
33
|
-
component: 'EventMiddleware',
|
|
34
|
-
middleware: this.name,
|
|
35
|
-
eventType: event.type,
|
|
36
|
-
eventId: event.id,
|
|
37
|
-
duration
|
|
38
|
-
});
|
|
39
|
-
throw error;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.LoggingMiddleware = LoggingMiddleware;
|
|
44
|
-
//# sourceMappingURL=logging.middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logging.middleware.js","sourceRoot":"","sources":["../../../src/events/middleware/logging.middleware.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAE9C,MAAa,iBAAiB;IAI5B;QAHA,SAAI,GAAG,mBAAmB,CAAC;QAIzB,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAgB,EAAE,IAAyB;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3C,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;YAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBAC7C,SAAS,EAAE,iBAAiB;gBAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAc,EAAE;gBAC3D,SAAS,EAAE,iBAAiB;gBAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA1CD,8CA0CC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BaseEvent, EventMiddleware } from '../types/event.types';
|
|
2
|
-
export declare class MetricsMiddleware implements EventMiddleware {
|
|
3
|
-
name: string;
|
|
4
|
-
private logger;
|
|
5
|
-
private metrics;
|
|
6
|
-
constructor();
|
|
7
|
-
execute(event: BaseEvent, next: () => Promise<void>): Promise<void>;
|
|
8
|
-
private updateMetrics;
|
|
9
|
-
getMetrics(): Record<string, any>;
|
|
10
|
-
resetMetrics(): void;
|
|
11
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MetricsMiddleware = void 0;
|
|
4
|
-
const logging_1 = require("../../logging");
|
|
5
|
-
class MetricsMiddleware {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.name = 'MetricsMiddleware';
|
|
8
|
-
this.metrics = new Map();
|
|
9
|
-
this.logger = logging_1.LoggerService.getInstance();
|
|
10
|
-
}
|
|
11
|
-
async execute(event, next) {
|
|
12
|
-
const startTime = Date.now();
|
|
13
|
-
let hasError = false;
|
|
14
|
-
try {
|
|
15
|
-
await next();
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
hasError = true;
|
|
19
|
-
throw error;
|
|
20
|
-
}
|
|
21
|
-
finally {
|
|
22
|
-
const duration = Date.now() - startTime;
|
|
23
|
-
this.updateMetrics(event.type, duration, hasError);
|
|
24
|
-
// Log performance metrics for slow events
|
|
25
|
-
if (duration > 1000) {
|
|
26
|
-
this.logger.warn('Slow event processing detected', {
|
|
27
|
-
component: 'EventMiddleware',
|
|
28
|
-
middleware: this.name,
|
|
29
|
-
eventType: event.type,
|
|
30
|
-
eventId: event.id,
|
|
31
|
-
duration,
|
|
32
|
-
slow: true
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
updateMetrics(eventType, duration, hasError) {
|
|
38
|
-
const current = this.metrics.get(eventType) || {
|
|
39
|
-
count: 0,
|
|
40
|
-
totalTime: 0,
|
|
41
|
-
errors: 0,
|
|
42
|
-
lastProcessed: new Date()
|
|
43
|
-
};
|
|
44
|
-
current.count++;
|
|
45
|
-
current.totalTime += duration;
|
|
46
|
-
current.lastProcessed = new Date();
|
|
47
|
-
if (hasError) {
|
|
48
|
-
current.errors++;
|
|
49
|
-
}
|
|
50
|
-
this.metrics.set(eventType, current);
|
|
51
|
-
// Log metrics periodically
|
|
52
|
-
if (current.count % 10 === 0) {
|
|
53
|
-
this.logger.performance({
|
|
54
|
-
operation: `event.${eventType}`,
|
|
55
|
-
duration: current.totalTime / current.count,
|
|
56
|
-
metadata: {
|
|
57
|
-
totalEvents: current.count,
|
|
58
|
-
totalErrors: current.errors,
|
|
59
|
-
errorRate: (current.errors / current.count) * 100,
|
|
60
|
-
averageTime: current.totalTime / current.count
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
getMetrics() {
|
|
66
|
-
const result = {};
|
|
67
|
-
for (const [eventType, metrics] of this.metrics.entries()) {
|
|
68
|
-
result[eventType] = {
|
|
69
|
-
count: metrics.count,
|
|
70
|
-
averageTime: metrics.totalTime / metrics.count,
|
|
71
|
-
errors: metrics.errors,
|
|
72
|
-
errorRate: (metrics.errors / metrics.count) * 100,
|
|
73
|
-
lastProcessed: metrics.lastProcessed
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
return result;
|
|
77
|
-
}
|
|
78
|
-
resetMetrics() {
|
|
79
|
-
this.metrics.clear();
|
|
80
|
-
this.logger.info('Event metrics reset', {
|
|
81
|
-
component: 'EventMiddleware',
|
|
82
|
-
middleware: this.name
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
exports.MetricsMiddleware = MetricsMiddleware;
|
|
87
|
-
//# sourceMappingURL=metrics.middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.middleware.js","sourceRoot":"","sources":["../../../src/events/middleware/metrics.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { BaseEvent, EventMiddleware } from '../types/event.types';
|
|
2
|
-
export declare class ValidationMiddleware implements EventMiddleware {
|
|
3
|
-
name: string;
|
|
4
|
-
private logger;
|
|
5
|
-
constructor();
|
|
6
|
-
execute(event: BaseEvent, next: () => Promise<void>): Promise<void>;
|
|
7
|
-
private validateEvent;
|
|
8
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationMiddleware = void 0;
|
|
4
|
-
const logging_1 = require("../../logging");
|
|
5
|
-
const errors_1 = require("../../core/errors");
|
|
6
|
-
class ValidationMiddleware {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.name = 'ValidationMiddleware';
|
|
9
|
-
this.logger = logging_1.LoggerService.getInstance();
|
|
10
|
-
}
|
|
11
|
-
async execute(event, next) {
|
|
12
|
-
// Validate required event properties
|
|
13
|
-
this.validateEvent(event);
|
|
14
|
-
this.logger.debug('Event validation passed', {
|
|
15
|
-
component: 'EventMiddleware',
|
|
16
|
-
middleware: this.name,
|
|
17
|
-
eventType: event.type,
|
|
18
|
-
eventId: event.id
|
|
19
|
-
});
|
|
20
|
-
await next();
|
|
21
|
-
}
|
|
22
|
-
validateEvent(event) {
|
|
23
|
-
const errors = [];
|
|
24
|
-
// Required fields validation
|
|
25
|
-
if (!event.id)
|
|
26
|
-
errors.push('Event ID is required');
|
|
27
|
-
if (!event.type)
|
|
28
|
-
errors.push('Event type is required');
|
|
29
|
-
if (!event.timestamp)
|
|
30
|
-
errors.push('Event timestamp is required');
|
|
31
|
-
if (typeof event.version !== 'number')
|
|
32
|
-
errors.push('Event version must be a number');
|
|
33
|
-
// Type validation
|
|
34
|
-
if (typeof event.id !== 'string')
|
|
35
|
-
errors.push('Event ID must be a string');
|
|
36
|
-
if (typeof event.type !== 'string')
|
|
37
|
-
errors.push('Event type must be a string');
|
|
38
|
-
if (!(event.timestamp instanceof Date))
|
|
39
|
-
errors.push('Event timestamp must be a Date');
|
|
40
|
-
// Optional fields validation
|
|
41
|
-
if (event.correlationId && typeof event.correlationId !== 'string') {
|
|
42
|
-
errors.push('Correlation ID must be a string');
|
|
43
|
-
}
|
|
44
|
-
if (event.causationId && typeof event.causationId !== 'string') {
|
|
45
|
-
errors.push('Causation ID must be a string');
|
|
46
|
-
}
|
|
47
|
-
if (event.metadata && typeof event.metadata !== 'object') {
|
|
48
|
-
errors.push('Event metadata must be an object');
|
|
49
|
-
}
|
|
50
|
-
if (errors.length > 0) {
|
|
51
|
-
this.logger.error('Event validation failed', new errors_1.ValidationError(errors.join(', ')), {
|
|
52
|
-
component: 'EventMiddleware',
|
|
53
|
-
middleware: this.name,
|
|
54
|
-
eventType: event.type,
|
|
55
|
-
eventId: event.id,
|
|
56
|
-
errors
|
|
57
|
-
});
|
|
58
|
-
throw new errors_1.ValidationError(`Event validation failed: ${errors.join(', ')}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.ValidationMiddleware = ValidationMiddleware;
|
|
63
|
-
//# sourceMappingURL=validation.middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.middleware.js","sourceRoot":"","sources":["../../../src/events/middleware/validation.middleware.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAC9C,8CAAoD;AAEpD,MAAa,oBAAoB;IAI/B;QAHA,SAAI,GAAG,sBAAsB,CAAC;QAI5B,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAgB,EAAE,IAAyB;QACvD,qCAAqC;QACrC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YAC3C,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,KAAK,CAAC,EAAE;SAClB,CAAC,CAAC;QAEH,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,KAAgB;QACpC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAErF,kBAAkB;QAClB,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3E,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/E,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,YAAY,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEtF,6BAA6B;QAC7B,IAAI,KAAK,CAAC,aAAa,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,wBAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;gBACnF,SAAS,EAAE,iBAAiB;gBAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,IAAI,wBAAe,CAAC,4BAA4B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;CACF;AA3DD,oDA2DC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { BaseEvent, EventStore } from '../types/event.types';
|
|
2
|
-
export declare class MemoryEventStore implements EventStore {
|
|
3
|
-
private events;
|
|
4
|
-
private eventsByAggregate;
|
|
5
|
-
private logger;
|
|
6
|
-
constructor();
|
|
7
|
-
save(event: BaseEvent): Promise<void>;
|
|
8
|
-
getEvents(aggregateId: string, fromVersion?: number): Promise<BaseEvent[]>;
|
|
9
|
-
getAllEvents(eventType?: string, fromTimestamp?: Date): Promise<BaseEvent[]>;
|
|
10
|
-
getEventCount(): Promise<number>;
|
|
11
|
-
getEventTypes(): Promise<string[]>;
|
|
12
|
-
getEventsByTimeRange(startTime: Date, endTime: Date): Promise<BaseEvent[]>;
|
|
13
|
-
clear(): Promise<void>;
|
|
14
|
-
getStatistics(): {
|
|
15
|
-
totalEvents: number;
|
|
16
|
-
eventsByType: Record<string, number>;
|
|
17
|
-
aggregateCount: number;
|
|
18
|
-
oldestEvent?: Date;
|
|
19
|
-
newestEvent?: Date;
|
|
20
|
-
};
|
|
21
|
-
}
|