bootifyjs 1.2.0 → 1.3.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/README.md +1 -1
- package/dist/api.d.ts +2 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +20 -4
- package/dist/api.js.map +1 -1
- package/dist/auth/examples/basic-usage.d.ts +2 -1
- package/dist/auth/examples/basic-usage.d.ts.map +1 -1
- package/dist/auth/examples/basic-usage.js +3 -2
- package/dist/auth/examples/basic-usage.js.map +1 -1
- package/dist/auth/index.d.ts +6 -8
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +11 -11
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/middleware/AuthMiddleware.js.map +1 -1
- package/dist/cache/bootstrap.js +1 -1
- package/dist/cache/bootstrap.js.map +1 -1
- package/dist/cache/index.d.ts +2 -1
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +4 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/{in-memory-cache.store.d.ts → stores/in-memory-cache.store.d.ts} +1 -1
- package/dist/cache/stores/in-memory-cache.store.d.ts.map +1 -0
- package/dist/cache/{in-memory-cache.store.js → stores/in-memory-cache.store.js} +1 -1
- package/dist/cache/stores/in-memory-cache.store.js.map +1 -0
- package/dist/cache/stores/index.d.ts +3 -0
- package/dist/cache/stores/index.d.ts.map +1 -0
- package/dist/cache/stores/index.js +20 -0
- package/dist/cache/stores/index.js.map +1 -0
- package/dist/cache/stores/redis-cache.store.d.ts +8 -0
- package/dist/cache/stores/redis-cache.store.d.ts.map +1 -0
- package/dist/cache/stores/redis-cache.store.js +39 -0
- package/dist/cache/stores/redis-cache.store.js.map +1 -0
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +3 -3
- package/dist/core/router.js.map +1 -1
- package/dist/events/bootstrap.d.ts +13 -1
- package/dist/events/bootstrap.d.ts.map +1 -1
- package/dist/events/bootstrap.js +30 -2
- package/dist/events/bootstrap.js.map +1 -1
- package/dist/events/buffered-event-bus.service.d.ts +135 -0
- package/dist/events/buffered-event-bus.service.d.ts.map +1 -0
- package/dist/events/buffered-event-bus.service.js +420 -0
- package/dist/events/buffered-event-bus.service.js.map +1 -0
- package/dist/events/config/buffered-event-config.d.ts +153 -0
- package/dist/events/config/buffered-event-config.d.ts.map +1 -0
- package/dist/events/config/buffered-event-config.js +181 -0
- package/dist/events/config/buffered-event-config.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/metrics/event-metrics.d.ts +175 -0
- package/dist/events/metrics/event-metrics.d.ts.map +1 -0
- package/dist/events/metrics/event-metrics.js +235 -0
- package/dist/events/metrics/event-metrics.js.map +1 -0
- package/dist/events/monitoring/health-monitor.d.ts +142 -0
- package/dist/events/monitoring/health-monitor.d.ts.map +1 -0
- package/dist/events/monitoring/health-monitor.js +492 -0
- package/dist/events/monitoring/health-monitor.js.map +1 -0
- package/dist/events/retry/retry-handler.d.ts +112 -0
- package/dist/events/retry/retry-handler.d.ts.map +1 -0
- package/dist/events/retry/retry-handler.js +218 -0
- package/dist/events/retry/retry-handler.js.map +1 -0
- package/dist/events/shared-buffer.d.ts +92 -0
- package/dist/events/shared-buffer.d.ts.map +1 -0
- package/dist/events/shared-buffer.js +179 -0
- package/dist/events/shared-buffer.js.map +1 -0
- package/dist/events/worker/event-processor.worker.d.ts +75 -0
- package/dist/events/worker/event-processor.worker.d.ts.map +1 -0
- package/dist/events/worker/event-processor.worker.js +293 -0
- package/dist/events/worker/event-processor.worker.js.map +1 -0
- package/dist/events/worker/worker-manager.d.ts +132 -0
- package/dist/events/worker/worker-manager.d.ts.map +1 -0
- package/dist/events/worker/worker-manager.js +436 -0
- package/dist/events/worker/worker-manager.js.map +1 -0
- package/dist/examples/auth/auth.middleware.d.ts +0 -26
- package/dist/examples/auth/auth.middleware.d.ts.map +1 -1
- package/dist/examples/auth/auth.middleware.js +0 -185
- package/dist/examples/auth/auth.middleware.js.map +1 -1
- package/dist/examples/controllers/auth.controller.d.ts +0 -63
- package/dist/examples/controllers/auth.controller.d.ts.map +1 -1
- package/dist/examples/controllers/auth.controller.js +247 -282
- package/dist/examples/controllers/auth.controller.js.map +1 -1
- package/dist/examples/events/buffered-event-example.d.ts +71 -0
- package/dist/examples/events/buffered-event-example.d.ts.map +1 -0
- package/dist/examples/events/buffered-event-example.js +182 -0
- package/dist/examples/events/buffered-event-example.js.map +1 -0
- package/dist/examples/events/integration-test.d.ts +10 -0
- package/dist/examples/events/integration-test.d.ts.map +1 -0
- package/dist/examples/events/integration-test.js +147 -0
- package/dist/examples/events/integration-test.js.map +1 -0
- package/dist/examples/index.d.ts +1 -0
- package/dist/examples/index.d.ts.map +1 -1
- package/dist/examples/index.js +11 -7
- package/dist/examples/index.js.map +1 -1
- package/dist/examples/todos/schema.d.ts +4 -4
- package/package.json +2 -1
- package/dist/cache/in-memory-cache.store.d.ts.map +0 -1
- package/dist/cache/in-memory-cache.store.js.map +0 -1
- package/dist/examples/authorization-examples.d.ts +0 -67
- package/dist/examples/authorization-examples.d.ts.map +0 -1
- package/dist/examples/authorization-examples.js +0 -202
- package/dist/examples/authorization-examples.js.map +0 -1
- package/dist/examples/controllers/todo-updated.controller.d.ts +0 -103
- package/dist/examples/controllers/todo-updated.controller.d.ts.map +0 -1
- package/dist/examples/controllers/todo-updated.controller.js +0 -328
- package/dist/examples/controllers/todo-updated.controller.js.map +0 -1
- package/dist/examples/controllers/todo-with-jwt-auth.controller.d.ts +0 -114
- package/dist/examples/controllers/todo-with-jwt-auth.controller.d.ts.map +0 -1
- package/dist/examples/controllers/todo-with-jwt-auth.controller.js +0 -329
- package/dist/examples/controllers/todo-with-jwt-auth.controller.js.map +0 -1
- package/dist/examples/jwt-auth-example.d.ts +0 -47
- package/dist/examples/jwt-auth-example.d.ts.map +0 -1
- package/dist/examples/jwt-auth-example.js +0 -316
- package/dist/examples/jwt-auth-example.js.map +0 -1
- package/dist/examples/services/user.service.d.ts +0 -99
- package/dist/examples/services/user.service.d.ts.map +0 -1
- package/dist/examples/services/user.service.js +0 -281
- package/dist/examples/services/user.service.js.map +0 -1
- package/dist/examples/test-auth-flow.d.ts +0 -56
- package/dist/examples/test-auth-flow.d.ts.map +0 -1
- package/dist/examples/test-auth-flow.js +0 -449
- package/dist/examples/test-auth-flow.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/auth.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/auth.controller.ts"],"names":[],"mappings":";AAAA,2BAA2B;AAC3B,0DAA0D;AAC1D,WAAW;AACX,UAAU;AACV,gBAAgB;AAChB,SAAS;AACT,UAAU;AACV,WAAW;AACX,kCAAkC;AAClC,wDAAwD;AACxD,mEAAmE;AACnE,4EAA4E;AAC5E,wDAAwD;AAExD,iCAAiC;AACjC,yDAAyD;AACzD,wDAAwD;AACxD,MAAM;AAEN,wCAAwC;AACxC,iEAAiE;AACjE,MAAM;AAEN,4BAA4B;AAC5B,+BAA+B;AAC/B,MAAM;AACN,eAAe;AACf,yBAAyB;AACzB,kCAAkC;AAClC,2CAA2C;AAC3C,yDAAyD;AACzD,0CAA0C;AAC1C,6BAA6B;AAC7B,8BAA8B;AAC9B,OAAO;AACP,MAAM;AACN,eAAe;AACf,2BAA2B;AAC3B,oCAAoC;AACpC,kCAAkC;AAClC,sCAAsC;AACtC,4CAA4C;AAC5C,6BAA6B;AAC7B,8BAA8B;AAC9B,OAAO;AACP,MAAM;AACN,eAAe;AACf,wBAAwB;AACxB,iCAAiC;AACjC,uBAAuB;AACvB,6BAA6B;AAC7B,yCAAyC;AACzC,6BAA6B;AAC7B,8BAA8B;AAC9B,MAAM;AACN,KAAK;AAEL,gCAAgC;AAChC,4BAA4B;AAC5B,oEAAoE;AACpE,sCAAsC;AACtC,mCAAmC;AACnC,qCAAqC;AACrC,KAAK;AAEL,4BAA4B;AAC5B,sEAAsE;AACtE,yCAAyC;AAEzC,wCAAwC;AACxC,4BAA4B;AAC5B,iBAAiB;AACjB,MAAM;AAEN,4BAA4B;AAC5B,+BAA+B;AAC/B,oCAAoC;AACpC,4BAA4B;AAC5B,wDAAwD;AACxD,yBAAyB;AACzB,mBAAmB;AACnB,+DAA+D;AAC/D,oCAAoC;AACpC,oCAAoC;AACpC,oCAAoC;AACpC,qCAAqC;AACrC,0BAA0B;AAC1B,UAAU;AACV,UAAU;AACV,8BAA8B;AAC9B,MAAM;AACN,IAAI;AAEJ,uBAAuB;AACvB,gCAAgC;AAEhC,oBAAoB;AACpB,cAAc;AACd,yBAAyB;AACzB,mBAAmB;AACnB,wBAAwB;AACxB,6BAA6B;AAC7B,2BAA2B;AAC3B,4BAA4B;AAC5B,kCAAkC;AAClC,+BAA+B;AAC/B,uCAAuC;AACvC,aAAa;AACb,YAAY;AACZ,wBAAwB;AACxB,6BAA6B;AAC7B,8BAA8B;AAC9B,WAAW;AACX,QAAQ;AACR,OAAO;AACP,6DAA6D;AAC7D,2CAA2C;AAE3C,mBAAmB;AACnB,uGAAuG;AAEvG,mBAAmB;AACnB,gDAAgD;AAChD,QAAQ;AAER,6BAA6B;AAC7B,qCAAqC;AACrC,uBAAuB;AACvB,yBAAyB;AACzB,4BAA4B;AAC5B,qBAAqB;AACrB,sCAAsC;AACtC,kBAAkB;AAClB,SAAS;AAET,yCAAyC;AACzC,yEAAyE;AAEzE,uDAAuD;AACvD,kDAAkD;AAClD,QAAQ;AAER,2BAA2B;AAC3B,qCAAqC;AAErC,eAAe;AACf,oDAAoD;AACpD,sDAAsD;AACtD,gDAAgD;AAChD,gDAAgD;AAChD,gBAAgB;AAChB,uBAAuB;AACvB,mCAAmC;AACnC,6BAA6B;AAC7B,4BAA4B;AAC5B,UAAU;AACV,SAAS;AACT,MAAM;AAEN,sBAAsB;AACtB,cAAc;AACd,gCAAgC;AAChC,mBAAmB;AACnB,wBAAwB;AACxB,mCAAmC;AACnC,oCAAoC;AACpC,iCAAiC;AACjC,gCAAgC;AAChC,YAAY;AACZ,wBAAwB;AACxB,6BAA6B;AAC7B,8BAA8B;AAC9B,WAAW;AACX,QAAQ;AACR,OAAO;AACP,2EAA2E;AAC3E,qCAAqC;AAErC,qCAAqC;AACrC,yBAAyB;AACzB,yBAAyB;AACzB,4BAA4B;AAC5B,qBAAqB;AACrB,gCAAgC;AAChC,kBAAkB;AAClB,SAAS;AAET,qFAAqF;AAErF,6DAA6D;AAC7D,iDAAiD;AACjD,QAAQ;AAER,eAAe;AACf,uDAAuD;AACvD,yDAAyD;AACzD,mDAAmD;AACnD,kDAAkD;AAClD,SAAS;AACT,MAAM;AAEN,qBAAqB;AACrB,cAAc;AACd,gCAAgC;AAChC,mBAAmB;AACnB,wBAAwB;AACxB,8BAA8B;AAC9B,YAAY;AACZ,wBAAwB;AACxB,6BAA6B;AAC7B,8BAA8B;AAC9B,WAAW;AACX,QAAQ;AACR,OAAO;AACP,qEAAqE;AACrE,qCAAqC;AAErC,qCAAqC;AACrC,wBAAwB;AACxB,yBAAyB;AACzB,4BAA4B;AAC5B,qBAAqB;AACrB,gCAAgC;AAChC,kBAAkB;AAClB,SAAS;AAET,mFAAmF;AAEnF,2BAA2B;AAC3B,0CAA0C;AAC1C,QAAQ;AAER,eAAe;AACf,2CAA2C;AAC3C,SAAS;AACT,MAAM;AAEN,kBAAkB;AAClB,cAAc;AACd,mBAAmB;AACnB,wBAAwB;AACxB,sCAAsC;AACtC,0CAA0C;AAC1C,mCAAmC;AACnC,+BAA+B;AAC/B,iDAAiD;AACjD,oCAAoC;AACpC,mCAAmC;AACnC,gBAAgB;AAChB,yBAAyB;AACzB,2BAA2B;AAC3B,4BAA4B;AAC5B,6CAA6C;AAC7C,0CAA0C;AAC1C,uCAAuC;AACvC,wBAAwB;AACxB,WAAW;AACX,QAAQ;AACR,OAAO;AACP,0BAA0B;AAC1B,eAAe;AACf,8BAA8B;AAC9B,iGAAiG;AACjG,wBAAwB;AACxB,gEAAgE;AAChE,6BAA6B;AAC7B,gEAAgE;AAChE,sEAAsE;AACtE,4DAA4D;AAC5D,YAAY;AACZ,UAAU;AACV,SAAS;AACT,MAAM;AACN,IAAI"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { BufferedEventBusService, EventBusService } from '../../events';
|
|
2
|
+
import { IEvent } from '../../events/event.types';
|
|
3
|
+
/**
|
|
4
|
+
* Example events for demonstrating buffered processing
|
|
5
|
+
*/
|
|
6
|
+
export declare class UserRegisteredEvent implements IEvent {
|
|
7
|
+
readonly userId: string;
|
|
8
|
+
readonly email: string;
|
|
9
|
+
readonly timestamp: number;
|
|
10
|
+
correlationId?: string | undefined;
|
|
11
|
+
readonly type = "user.registered";
|
|
12
|
+
constructor(userId: string, email: string, timestamp?: number, correlationId?: string | undefined);
|
|
13
|
+
get payload(): {
|
|
14
|
+
userId: string;
|
|
15
|
+
email: string;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare class OrderProcessedEvent implements IEvent {
|
|
20
|
+
readonly orderId: string;
|
|
21
|
+
readonly userId: string;
|
|
22
|
+
readonly amount: number;
|
|
23
|
+
readonly timestamp: number;
|
|
24
|
+
correlationId?: string | undefined;
|
|
25
|
+
readonly type = "order.processed";
|
|
26
|
+
constructor(orderId: string, userId: string, amount: number, timestamp?: number, correlationId?: string | undefined);
|
|
27
|
+
get payload(): {
|
|
28
|
+
orderId: string;
|
|
29
|
+
userId: string;
|
|
30
|
+
amount: number;
|
|
31
|
+
timestamp: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Service demonstrating both regular and buffered event processing
|
|
36
|
+
*/
|
|
37
|
+
export declare class EventProcessingDemoService {
|
|
38
|
+
private readonly eventBus;
|
|
39
|
+
private readonly bufferedEventBus?;
|
|
40
|
+
constructor(eventBus: EventBusService, bufferedEventBus?: BufferedEventBusService | undefined);
|
|
41
|
+
/**
|
|
42
|
+
* Emit events using regular event bus (synchronous processing)
|
|
43
|
+
*/
|
|
44
|
+
emitRegularEvents(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Emit events using buffered event bus (asynchronous worker processing)
|
|
47
|
+
*/
|
|
48
|
+
emitBufferedEvents(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Get metrics from buffered event processing
|
|
51
|
+
*/
|
|
52
|
+
getBufferedEventMetrics(): any;
|
|
53
|
+
/**
|
|
54
|
+
* Get health status of buffered event processing
|
|
55
|
+
*/
|
|
56
|
+
getBufferedEventHealth(): Promise<any>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Event handlers that will process both regular and buffered events
|
|
60
|
+
*/
|
|
61
|
+
export declare class UserEventHandler {
|
|
62
|
+
handleUserRegistered(event: UserRegisteredEvent): Promise<void>;
|
|
63
|
+
}
|
|
64
|
+
export declare class OrderEventHandler {
|
|
65
|
+
handleOrderProcessed(event: OrderProcessedEvent): Promise<void>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Example usage function
|
|
69
|
+
*/
|
|
70
|
+
export declare function runBufferedEventExample(): Promise<void>;
|
|
71
|
+
//# sourceMappingURL=buffered-event-example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffered-event-example.d.ts","sourceRoot":"","sources":["../../../src/examples/events/buffered-event-example.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD;;GAEG;AACH,qBAAa,mBAAoB,YAAW,MAAM;aAI9B,MAAM,EAAE,MAAM;aACd,KAAK,EAAE,MAAM;aACb,SAAS,EAAE,MAAM;IAC1B,aAAa,CAAC,EAAE,MAAM;IAN/B,QAAQ,CAAC,IAAI,qBAAqB;gBAGhB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAAmB,EACvC,aAAa,CAAC,EAAE,MAAM,YAAA;IAG/B,IAAI,OAAO;;;;MAMV;CACF;AAED,qBAAa,mBAAoB,YAAW,MAAM;aAI9B,OAAO,EAAE,MAAM;aACf,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,MAAM;aACd,SAAS,EAAE,MAAM;IAC1B,aAAa,CAAC,EAAE,MAAM;IAP/B,QAAQ,CAAC,IAAI,qBAAqB;gBAGhB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAmB,EACvC,aAAa,CAAC,EAAE,MAAM,YAAA;IAG/B,IAAI,OAAO;;;;;MAOV;CACF;AAED;;GAEG;AACH,qBACa,0BAA0B;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBADjB,QAAQ,EAAE,eAAe,EACzB,gBAAgB,CAAC,EAAE,uBAAuB,YAAA;IAG1E;;OAEG;IACG,iBAAiB;IAUvB;;OAEG;IACG,kBAAkB;IAwBxB;;OAEG;IACH,uBAAuB;IAQvB;;OAEG;IACG,sBAAsB;CAO7B;AAED;;GAEG;AACH,qBACa,gBAAgB;IAErB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;CAQtD;AAED,qBACa,iBAAiB;IAEtB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;CAQtD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,kBA+B5C"}
|
|
@@ -0,0 +1,182 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.OrderEventHandler = exports.UserEventHandler = exports.EventProcessingDemoService = exports.OrderProcessedEvent = exports.UserRegisteredEvent = void 0;
|
|
16
|
+
exports.runBufferedEventExample = runBufferedEventExample;
|
|
17
|
+
const decorators_1 = require("../../core/decorators");
|
|
18
|
+
const decorators_2 = require("../../events/decorators");
|
|
19
|
+
const events_1 = require("../../events");
|
|
20
|
+
/**
|
|
21
|
+
* Example events for demonstrating buffered processing
|
|
22
|
+
*/
|
|
23
|
+
class UserRegisteredEvent {
|
|
24
|
+
constructor(userId, email, timestamp = Date.now(), correlationId) {
|
|
25
|
+
this.userId = userId;
|
|
26
|
+
this.email = email;
|
|
27
|
+
this.timestamp = timestamp;
|
|
28
|
+
this.correlationId = correlationId;
|
|
29
|
+
this.type = 'user.registered';
|
|
30
|
+
}
|
|
31
|
+
get payload() {
|
|
32
|
+
return {
|
|
33
|
+
userId: this.userId,
|
|
34
|
+
email: this.email,
|
|
35
|
+
timestamp: this.timestamp
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.UserRegisteredEvent = UserRegisteredEvent;
|
|
40
|
+
class OrderProcessedEvent {
|
|
41
|
+
constructor(orderId, userId, amount, timestamp = Date.now(), correlationId) {
|
|
42
|
+
this.orderId = orderId;
|
|
43
|
+
this.userId = userId;
|
|
44
|
+
this.amount = amount;
|
|
45
|
+
this.timestamp = timestamp;
|
|
46
|
+
this.correlationId = correlationId;
|
|
47
|
+
this.type = 'order.processed';
|
|
48
|
+
}
|
|
49
|
+
get payload() {
|
|
50
|
+
return {
|
|
51
|
+
orderId: this.orderId,
|
|
52
|
+
userId: this.userId,
|
|
53
|
+
amount: this.amount,
|
|
54
|
+
timestamp: this.timestamp
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.OrderProcessedEvent = OrderProcessedEvent;
|
|
59
|
+
/**
|
|
60
|
+
* Service demonstrating both regular and buffered event processing
|
|
61
|
+
*/
|
|
62
|
+
let EventProcessingDemoService = class EventProcessingDemoService {
|
|
63
|
+
constructor(eventBus, bufferedEventBus) {
|
|
64
|
+
this.eventBus = eventBus;
|
|
65
|
+
this.bufferedEventBus = bufferedEventBus;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Emit events using regular event bus (synchronous processing)
|
|
69
|
+
*/
|
|
70
|
+
async emitRegularEvents() {
|
|
71
|
+
console.log('🔄 Emitting events via regular EventBus...');
|
|
72
|
+
// These will be processed synchronously on the main thread
|
|
73
|
+
this.eventBus.emit(new UserRegisteredEvent('user-123', 'user@example.com'));
|
|
74
|
+
this.eventBus.emit(new OrderProcessedEvent('order-456', 'user-123', 99.99));
|
|
75
|
+
console.log('✅ Regular events emitted');
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Emit events using buffered event bus (asynchronous worker processing)
|
|
79
|
+
*/
|
|
80
|
+
async emitBufferedEvents() {
|
|
81
|
+
if (!this.bufferedEventBus) {
|
|
82
|
+
console.log('⚠️ Buffered event bus not available');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
console.log('🔄 Emitting events via BufferedEventBus...');
|
|
86
|
+
// These will be processed asynchronously by worker threads
|
|
87
|
+
const result1 = await this.bufferedEventBus.emitEvent('user.registered', { userId: 'user-789', email: 'buffered@example.com' }, { priority: 'normal' });
|
|
88
|
+
const result2 = await this.bufferedEventBus.emitEvent('order.processed', { orderId: 'order-101', userId: 'user-789', amount: 149.99 }, { priority: 'critical' });
|
|
89
|
+
console.log('✅ Buffered events emitted:', { result1, result2 });
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get metrics from buffered event processing
|
|
93
|
+
*/
|
|
94
|
+
getBufferedEventMetrics() {
|
|
95
|
+
if (!this.bufferedEventBus) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
return this.bufferedEventBus.getMetrics();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get health status of buffered event processing
|
|
102
|
+
*/
|
|
103
|
+
async getBufferedEventHealth() {
|
|
104
|
+
if (!this.bufferedEventBus) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
return await this.bufferedEventBus.getHealthStatus();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
exports.EventProcessingDemoService = EventProcessingDemoService;
|
|
111
|
+
exports.EventProcessingDemoService = EventProcessingDemoService = __decorate([
|
|
112
|
+
(0, decorators_1.Service)(),
|
|
113
|
+
__param(0, (0, decorators_1.Autowired)()),
|
|
114
|
+
__param(1, (0, decorators_1.Autowired)()),
|
|
115
|
+
__metadata("design:paramtypes", [events_1.EventBusService,
|
|
116
|
+
events_1.BufferedEventBusService])
|
|
117
|
+
], EventProcessingDemoService);
|
|
118
|
+
/**
|
|
119
|
+
* Event handlers that will process both regular and buffered events
|
|
120
|
+
*/
|
|
121
|
+
let UserEventHandler = class UserEventHandler {
|
|
122
|
+
async handleUserRegistered(event) {
|
|
123
|
+
console.log(`📧 Processing user registration for ${event.email} (ID: ${event.userId})`);
|
|
124
|
+
// Simulate some processing time
|
|
125
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
126
|
+
console.log(`✅ Welcome email sent to ${event.email}`);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
exports.UserEventHandler = UserEventHandler;
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, decorators_2.OnEvent)('user.registered'),
|
|
132
|
+
__metadata("design:type", Function),
|
|
133
|
+
__metadata("design:paramtypes", [UserRegisteredEvent]),
|
|
134
|
+
__metadata("design:returntype", Promise)
|
|
135
|
+
], UserEventHandler.prototype, "handleUserRegistered", null);
|
|
136
|
+
exports.UserEventHandler = UserEventHandler = __decorate([
|
|
137
|
+
(0, decorators_2.EventListener)()
|
|
138
|
+
], UserEventHandler);
|
|
139
|
+
let OrderEventHandler = class OrderEventHandler {
|
|
140
|
+
async handleOrderProcessed(event) {
|
|
141
|
+
console.log(`📦 Processing order ${event.orderId} for user ${event.userId} ($${event.amount})`);
|
|
142
|
+
// Simulate some processing time
|
|
143
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
144
|
+
console.log(`✅ Order ${event.orderId} processed successfully`);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
exports.OrderEventHandler = OrderEventHandler;
|
|
148
|
+
__decorate([
|
|
149
|
+
(0, decorators_2.OnEvent)('order.processed'),
|
|
150
|
+
__metadata("design:type", Function),
|
|
151
|
+
__metadata("design:paramtypes", [OrderProcessedEvent]),
|
|
152
|
+
__metadata("design:returntype", Promise)
|
|
153
|
+
], OrderEventHandler.prototype, "handleOrderProcessed", null);
|
|
154
|
+
exports.OrderEventHandler = OrderEventHandler = __decorate([
|
|
155
|
+
(0, decorators_2.EventListener)()
|
|
156
|
+
], OrderEventHandler);
|
|
157
|
+
/**
|
|
158
|
+
* Example usage function
|
|
159
|
+
*/
|
|
160
|
+
async function runBufferedEventExample() {
|
|
161
|
+
console.log('\n🚀 Buffered Event Processing Example\n');
|
|
162
|
+
// This would typically be injected via DI
|
|
163
|
+
const demoService = new EventProcessingDemoService(new events_1.EventBusService());
|
|
164
|
+
// Emit regular events
|
|
165
|
+
await demoService.emitRegularEvents();
|
|
166
|
+
// Wait a bit
|
|
167
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
168
|
+
// Emit buffered events (if available)
|
|
169
|
+
await demoService.emitBufferedEvents();
|
|
170
|
+
// Show metrics (if available)
|
|
171
|
+
const metrics = demoService.getBufferedEventMetrics();
|
|
172
|
+
if (metrics) {
|
|
173
|
+
console.log('📊 Buffered Event Metrics:', metrics);
|
|
174
|
+
}
|
|
175
|
+
// Show health status (if available)
|
|
176
|
+
const health = await demoService.getBufferedEventHealth();
|
|
177
|
+
if (health) {
|
|
178
|
+
console.log('🏥 Buffered Event Health:', health);
|
|
179
|
+
}
|
|
180
|
+
console.log('\n✅ Example completed\n');
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=buffered-event-example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffered-event-example.js","sourceRoot":"","sources":["../../../src/examples/events/buffered-event-example.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration test demonstrating buffered event processing
|
|
3
|
+
*/
|
|
4
|
+
export declare function runIntegrationTest(): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Performance test for buffered vs regular event processing
|
|
7
|
+
*/
|
|
8
|
+
export declare function runPerformanceComparison(): Promise<void>;
|
|
9
|
+
export declare function runAllTests(): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=integration-test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-test.d.ts","sourceRoot":"","sources":["../../../src/examples/events/integration-test.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,kBAAkB,kBAwEvC;AAED;;GAEG;AACH,wBAAsB,wBAAwB,kBAqE7C;AAGD,wBAAsB,WAAW,kBAShC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runIntegrationTest = runIntegrationTest;
|
|
4
|
+
exports.runPerformanceComparison = runPerformanceComparison;
|
|
5
|
+
exports.runAllTests = runAllTests;
|
|
6
|
+
const bootstrap_1 = require("../../events/bootstrap");
|
|
7
|
+
const buffered_event_config_1 = require("../../events/config/buffered-event-config");
|
|
8
|
+
const buffered_event_example_1 = require("./buffered-event-example");
|
|
9
|
+
/**
|
|
10
|
+
* Integration test demonstrating buffered event processing
|
|
11
|
+
*/
|
|
12
|
+
async function runIntegrationTest() {
|
|
13
|
+
console.log('🧪 Starting Buffered Event Processing Integration Test\n');
|
|
14
|
+
try {
|
|
15
|
+
// Bootstrap the event system with buffered processing enabled
|
|
16
|
+
console.log('🔧 Bootstrapping event system with buffered processing...');
|
|
17
|
+
const eventSystem = (0, bootstrap_1.bootstrapEventSystem)([], {
|
|
18
|
+
useBufferedProcessing: true,
|
|
19
|
+
bufferedEventConfig: {
|
|
20
|
+
...buffered_event_config_1.defaultBufferedEventConfig,
|
|
21
|
+
enabled: true,
|
|
22
|
+
workerCount: 2, // Use fewer workers for testing
|
|
23
|
+
maxQueueSize: 1000,
|
|
24
|
+
maxMemoryMB: 10,
|
|
25
|
+
monitoring: {
|
|
26
|
+
...buffered_event_config_1.defaultBufferedEventConfig.monitoring,
|
|
27
|
+
enabled: true,
|
|
28
|
+
metricsInterval: 2000 // Check metrics every 2 seconds
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
console.log('✅ Event system bootstrapped successfully');
|
|
33
|
+
console.log(`📊 Regular EventBus: ${eventSystem.eventBus ? 'Available' : 'Not Available'}`);
|
|
34
|
+
console.log(`🔄 Buffered EventBus: ${eventSystem.bufferedEventBus ? 'Available' : 'Not Available'}`);
|
|
35
|
+
// Wait a moment for workers to initialize
|
|
36
|
+
console.log('⏳ Waiting for worker threads to initialize...');
|
|
37
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
38
|
+
// Run the example
|
|
39
|
+
await (0, buffered_event_example_1.runBufferedEventExample)();
|
|
40
|
+
// Show final metrics if buffered processing is available
|
|
41
|
+
if (eventSystem.bufferedEventBus) {
|
|
42
|
+
console.log('\n📈 Final System Metrics:');
|
|
43
|
+
const metrics = eventSystem.bufferedEventBus.getMetrics();
|
|
44
|
+
console.log('Queue Metrics:', {
|
|
45
|
+
size: metrics.queueMetrics.size,
|
|
46
|
+
utilization: `${(metrics.queueMetrics.utilization * 100).toFixed(1)}%`,
|
|
47
|
+
totalProcessed: metrics.queueMetrics.totalProcessed
|
|
48
|
+
});
|
|
49
|
+
const health = await eventSystem.bufferedEventBus.getHealthStatus();
|
|
50
|
+
console.log('Health Status:', {
|
|
51
|
+
status: health.status,
|
|
52
|
+
activeWorkers: health.activeWorkers,
|
|
53
|
+
queueDepth: health.queueDepth
|
|
54
|
+
});
|
|
55
|
+
const workerStats = eventSystem.bufferedEventBus.getWorkerStatistics();
|
|
56
|
+
console.log('Worker Statistics:', {
|
|
57
|
+
totalWorkers: workerStats.totalWorkers,
|
|
58
|
+
activeWorkers: workerStats.activeWorkers,
|
|
59
|
+
averageProcessingTime: `${workerStats.averageProcessingTime.toFixed(2)}ms`
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// Graceful shutdown
|
|
63
|
+
console.log('\n🔄 Shutting down event system...');
|
|
64
|
+
if (eventSystem.bufferedEventBus) {
|
|
65
|
+
await eventSystem.bufferedEventBus.shutdown();
|
|
66
|
+
}
|
|
67
|
+
console.log('✅ Integration test completed successfully!\n');
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
console.error('❌ Integration test failed:', error);
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Performance test for buffered vs regular event processing
|
|
76
|
+
*/
|
|
77
|
+
async function runPerformanceComparison() {
|
|
78
|
+
console.log('⚡ Performance Comparison: Regular vs Buffered Event Processing\n');
|
|
79
|
+
const eventCount = 1000;
|
|
80
|
+
const testEvents = Array.from({ length: eventCount }, (_, i) => ({
|
|
81
|
+
type: 'test.event',
|
|
82
|
+
payload: { id: i, data: `test-data-${i}` },
|
|
83
|
+
timestamp: Date.now()
|
|
84
|
+
}));
|
|
85
|
+
// Test regular event processing
|
|
86
|
+
console.log(`🔄 Testing regular event processing (${eventCount} events)...`);
|
|
87
|
+
const regularStart = Date.now();
|
|
88
|
+
const regularEventSystem = (0, bootstrap_1.bootstrapEventSystem)([], {
|
|
89
|
+
useBufferedProcessing: false
|
|
90
|
+
});
|
|
91
|
+
for (const event of testEvents) {
|
|
92
|
+
regularEventSystem.eventBus.emit(event);
|
|
93
|
+
}
|
|
94
|
+
const regularEnd = Date.now();
|
|
95
|
+
const regularTime = regularEnd - regularStart;
|
|
96
|
+
console.log(`✅ Regular processing completed in ${regularTime}ms`);
|
|
97
|
+
console.log(`📊 Regular throughput: ${(eventCount / regularTime * 1000).toFixed(0)} events/sec\n`);
|
|
98
|
+
// Test buffered event processing
|
|
99
|
+
console.log(`🔄 Testing buffered event processing (${eventCount} events)...`);
|
|
100
|
+
const bufferedStart = Date.now();
|
|
101
|
+
const bufferedEventSystem = (0, bootstrap_1.bootstrapEventSystem)([], {
|
|
102
|
+
useBufferedProcessing: true,
|
|
103
|
+
bufferedEventConfig: {
|
|
104
|
+
...buffered_event_config_1.defaultBufferedEventConfig,
|
|
105
|
+
enabled: true,
|
|
106
|
+
workerCount: 4,
|
|
107
|
+
maxQueueSize: eventCount + 100
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
// Wait for workers to initialize
|
|
111
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
112
|
+
const emitPromises = testEvents.map(event => bufferedEventSystem.bufferedEventBus.emitEvent(event.type, event.payload, { priority: 'normal' }));
|
|
113
|
+
await Promise.all(emitPromises);
|
|
114
|
+
const bufferedEnd = Date.now();
|
|
115
|
+
const bufferedTime = bufferedEnd - bufferedStart;
|
|
116
|
+
console.log(`✅ Buffered processing completed in ${bufferedTime}ms`);
|
|
117
|
+
console.log(`📊 Buffered throughput: ${(eventCount / bufferedTime * 1000).toFixed(0)} events/sec`);
|
|
118
|
+
// Show comparison
|
|
119
|
+
const improvement = ((regularTime - bufferedTime) / regularTime * 100);
|
|
120
|
+
console.log(`\n📈 Performance improvement: ${improvement > 0 ? '+' : ''}${improvement.toFixed(1)}%`);
|
|
121
|
+
// Cleanup
|
|
122
|
+
await bufferedEventSystem.bufferedEventBus.shutdown();
|
|
123
|
+
console.log('\n✅ Performance comparison completed!\n');
|
|
124
|
+
}
|
|
125
|
+
// Export a function to run all tests
|
|
126
|
+
async function runAllTests() {
|
|
127
|
+
try {
|
|
128
|
+
await runIntegrationTest();
|
|
129
|
+
await new Promise(resolve => setTimeout(resolve, 1000)); // Brief pause
|
|
130
|
+
await runPerformanceComparison();
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error('❌ Test suite failed:', error);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// If this file is run directly, execute all tests
|
|
138
|
+
if (require.main === module) {
|
|
139
|
+
runAllTests().then(() => {
|
|
140
|
+
console.log('🎉 All tests completed successfully!');
|
|
141
|
+
process.exit(0);
|
|
142
|
+
}).catch((error) => {
|
|
143
|
+
console.error('💥 Test suite failed:', error);
|
|
144
|
+
process.exit(1);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=integration-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-test.js","sourceRoot":"","sources":["../../../src/examples/events/integration-test.ts"],"names":[],"mappings":"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"}
|
package/dist/examples/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAA;AAazB,OAAO,mCAAmC,CAAA"}
|
package/dist/examples/index.js
CHANGED
|
@@ -14,6 +14,9 @@ dotenv_1.default.config();
|
|
|
14
14
|
// import { bootstrapCache } from '../cache/bootstrap'
|
|
15
15
|
const zod_1 = __importDefault(require("zod"));
|
|
16
16
|
const basic_usage_1 = require("../auth/examples/basic-usage");
|
|
17
|
+
const cache_1 = require("../cache");
|
|
18
|
+
// Import the RedisCacheStore to trigger @Service decorator registration
|
|
19
|
+
require("../cache/stores/redis-cache.store");
|
|
17
20
|
// --- Application Startup ---
|
|
18
21
|
const envSchema = zod_1.default.object({
|
|
19
22
|
NODE_ENV: zod_1.default.string().min(1),
|
|
@@ -53,23 +56,24 @@ async function main() {
|
|
|
53
56
|
// Register authManager in DI container for controller injection
|
|
54
57
|
di_container_1.container.register('AuthManager', { useFactory: () => authManager });
|
|
55
58
|
const allComponents = Array.from(di_container_1.container.getRegisteredComponents());
|
|
56
|
-
await (0, bootstrap_1.bootstrapEventSystem)(allComponents);
|
|
57
|
-
|
|
59
|
+
await (0, bootstrap_1.bootstrapEventSystem)(allComponents, { useBufferedProcessing: true });
|
|
60
|
+
await (0, cache_1.bootstrapCache)();
|
|
58
61
|
const { app, start } = await (0, api_1.createBootifyApp)({
|
|
59
62
|
controllers: [health_controller_1.HealthController, todo_controller_1.TodoController],
|
|
60
63
|
enableSwagger: true,
|
|
61
64
|
port: 8080,
|
|
62
65
|
configSchema: envSchema,
|
|
63
66
|
globalMiddlewares: [
|
|
64
|
-
jwtAuthMiddleware.authenticate({
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}),
|
|
67
|
+
// jwtAuthMiddleware.authenticate({
|
|
68
|
+
// strategies: ['jwt', 'api-key'],
|
|
69
|
+
// skipPaths: ['/auth/login', '/auth/refresh', '/health']
|
|
70
|
+
// }),
|
|
68
71
|
corsMiddleware, // 1st: Handle CORS headers
|
|
69
72
|
securityHeadersMiddleware, // 2nd: Add security headers
|
|
70
73
|
requestTimingMiddleware, // 3rd: Start request timing
|
|
71
74
|
requestLoggingMiddleware // 4th: Log request details
|
|
72
|
-
]
|
|
75
|
+
],
|
|
76
|
+
enableCookie: true
|
|
73
77
|
});
|
|
74
78
|
await (0, basic_usage_1.registerJWTAuthRoutes)(app, authManager, jwtAuthMiddleware);
|
|
75
79
|
// Setup context middleware with authentication
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAA2B;AAC3B,4BAAyB;AACzB,gCAAyC;AAEzC,uDAAgD;AAChD,mDAA0D;AAC1D,uEAAkE;AAClE,mEAA8D;AAC9D,gBAAM,CAAC,MAAM,EAAE,CAAA;AACf,sDAAsD;AACtD,8CAAmB;AACnB,8DAAkF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,13 @@ export declare const TodoBaseSchema: z.ZodObject<{
|
|
|
6
6
|
createdAt: z.ZodDate;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
8
8
|
completed: boolean;
|
|
9
|
-
createdAt: Date;
|
|
10
9
|
id: string;
|
|
10
|
+
createdAt: Date;
|
|
11
11
|
text: string;
|
|
12
12
|
}, {
|
|
13
13
|
completed: boolean;
|
|
14
|
-
createdAt: Date;
|
|
15
14
|
id: string;
|
|
15
|
+
createdAt: Date;
|
|
16
16
|
text: string;
|
|
17
17
|
}>;
|
|
18
18
|
export declare const TodoCreateBodySchema: z.ZodObject<Pick<{
|
|
@@ -42,13 +42,13 @@ export declare const TodoResponseSchema: z.ZodObject<{
|
|
|
42
42
|
createdAt: z.ZodDate;
|
|
43
43
|
}, "strip", z.ZodTypeAny, {
|
|
44
44
|
completed: boolean;
|
|
45
|
-
createdAt: Date;
|
|
46
45
|
id: string;
|
|
46
|
+
createdAt: Date;
|
|
47
47
|
text: string;
|
|
48
48
|
}, {
|
|
49
49
|
completed: boolean;
|
|
50
|
-
createdAt: Date;
|
|
51
50
|
id: string;
|
|
51
|
+
createdAt: Date;
|
|
52
52
|
text: string;
|
|
53
53
|
}>;
|
|
54
54
|
//# sourceMappingURL=schema.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bootifyjs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": "Piyush Priyadarshi",
|
|
6
6
|
"license": "ISC",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@clickhouse/client": "^1.12.0",
|
|
53
|
+
"@fastify/cookie": "^11.0.2",
|
|
53
54
|
"@types/jsonwebtoken": "^9.0.10",
|
|
54
55
|
"fastify": "^5.4.0",
|
|
55
56
|
"jsonwebtoken": "^9.0.2",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-cache.store.d.ts","sourceRoot":"","sources":["../../src/cache/in-memory-cache.store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,qBACa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2D;IAE3E,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAa3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-cache.store.js","sourceRoot":"","sources":["../../src/cache/in-memory-cache.store.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAA4C;AAG5C,8CAA8C;AAEvC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAAxB;QACY,UAAK,GAAG,IAAI,GAAG,EAAiD,CAAA;IAuBnF,CAAC;IArBC,KAAK,CAAC,GAAG,CAAI,GAAW;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAE5B,uBAAuB;QACvB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,KAAK,CAAC,KAAU,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,YAAqB;QACtD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;CACF,CAAA;AAxBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,oBAAO,GAAE;GACG,kBAAkB,CAwB9B"}
|