@onroad/core 4.0.0-alpha.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 +670 -0
- package/dist/OnRoadExpress.d.ts +59 -0
- package/dist/OnRoadExpress.d.ts.map +1 -0
- package/dist/OnRoadExpress.js +320 -0
- package/dist/OnRoadExpress.js.map +1 -0
- package/dist/container/Container.d.ts +53 -0
- package/dist/container/Container.d.ts.map +1 -0
- package/dist/container/Container.js +175 -0
- package/dist/container/Container.js.map +1 -0
- package/dist/container/index.d.ts +3 -0
- package/dist/container/index.d.ts.map +1 -0
- package/dist/container/index.js +2 -0
- package/dist/container/index.js.map +1 -0
- package/dist/context/RequestContext.d.ts +10 -0
- package/dist/context/RequestContext.d.ts.map +1 -0
- package/dist/context/RequestContext.js +11 -0
- package/dist/context/RequestContext.js.map +1 -0
- package/dist/core/AbstractController.d.ts +20 -0
- package/dist/core/AbstractController.d.ts.map +1 -0
- package/dist/core/AbstractController.js +17 -0
- package/dist/core/AbstractController.js.map +1 -0
- package/dist/core/AbstractRepository.d.ts +8 -0
- package/dist/core/AbstractRepository.d.ts.map +1 -0
- package/dist/core/AbstractRepository.js +3 -0
- package/dist/core/AbstractRepository.js.map +1 -0
- package/dist/core/AbstractService.d.ts +12 -0
- package/dist/core/AbstractService.d.ts.map +1 -0
- package/dist/core/AbstractService.js +14 -0
- package/dist/core/AbstractService.js.map +1 -0
- package/dist/core/MongooseRepository.d.ts +19 -0
- package/dist/core/MongooseRepository.d.ts.map +1 -0
- package/dist/core/MongooseRepository.js +48 -0
- package/dist/core/MongooseRepository.js.map +1 -0
- package/dist/core/RequestEventBus.d.ts +18 -0
- package/dist/core/RequestEventBus.d.ts.map +1 -0
- package/dist/core/RequestEventBus.js +43 -0
- package/dist/core/RequestEventBus.js.map +1 -0
- package/dist/core/Sentinel.d.ts +19 -0
- package/dist/core/Sentinel.d.ts.map +1 -0
- package/dist/core/Sentinel.js +56 -0
- package/dist/core/Sentinel.js.map +1 -0
- package/dist/core/SequelizeRepository.d.ts +19 -0
- package/dist/core/SequelizeRepository.d.ts.map +1 -0
- package/dist/core/SequelizeRepository.js +48 -0
- package/dist/core/SequelizeRepository.js.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/database/ConnectionManager.d.ts +26 -0
- package/dist/database/ConnectionManager.d.ts.map +1 -0
- package/dist/database/ConnectionManager.js +17 -0
- package/dist/database/ConnectionManager.js.map +1 -0
- package/dist/database/MongoConnectionManager.d.ts +8 -0
- package/dist/database/MongoConnectionManager.d.ts.map +1 -0
- package/dist/database/MongoConnectionManager.js +47 -0
- package/dist/database/MongoConnectionManager.js.map +1 -0
- package/dist/database/SequelizeConnectionManager.d.ts +13 -0
- package/dist/database/SequelizeConnectionManager.d.ts.map +1 -0
- package/dist/database/SequelizeConnectionManager.js +58 -0
- package/dist/database/SequelizeConnectionManager.js.map +1 -0
- package/dist/database/index.d.ts +6 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +4 -0
- package/dist/database/index.js.map +1 -0
- package/dist/entity/EntityRegistry.d.ts +9 -0
- package/dist/entity/EntityRegistry.d.ts.map +1 -0
- package/dist/entity/EntityRegistry.js +114 -0
- package/dist/entity/EntityRegistry.js.map +1 -0
- package/dist/entity/decorators.d.ts +62 -0
- package/dist/entity/decorators.d.ts.map +1 -0
- package/dist/entity/decorators.js +103 -0
- package/dist/entity/decorators.js.map +1 -0
- package/dist/entity/index.d.ts +4 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +3 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/filters/FilterChain.d.ts +34 -0
- package/dist/filters/FilterChain.d.ts.map +1 -0
- package/dist/filters/FilterChain.js +42 -0
- package/dist/filters/FilterChain.js.map +1 -0
- package/dist/filters/builtins/CorsFilter.d.ts +22 -0
- package/dist/filters/builtins/CorsFilter.d.ts.map +1 -0
- package/dist/filters/builtins/CorsFilter.js +41 -0
- package/dist/filters/builtins/CorsFilter.js.map +1 -0
- package/dist/filters/builtins/JwtFilter.d.ts +27 -0
- package/dist/filters/builtins/JwtFilter.d.ts.map +1 -0
- package/dist/filters/builtins/JwtFilter.js +35 -0
- package/dist/filters/builtins/JwtFilter.js.map +1 -0
- package/dist/filters/builtins/RequestContextFilter.d.ts +12 -0
- package/dist/filters/builtins/RequestContextFilter.d.ts.map +1 -0
- package/dist/filters/builtins/RequestContextFilter.js +32 -0
- package/dist/filters/builtins/RequestContextFilter.js.map +1 -0
- package/dist/filters/builtins/RoleFilter.d.ts +27 -0
- package/dist/filters/builtins/RoleFilter.d.ts.map +1 -0
- package/dist/filters/builtins/RoleFilter.js +36 -0
- package/dist/filters/builtins/RoleFilter.js.map +1 -0
- package/dist/filters/builtins/TenantFilter.d.ts +26 -0
- package/dist/filters/builtins/TenantFilter.d.ts.map +1 -0
- package/dist/filters/builtins/TenantFilter.js +29 -0
- package/dist/filters/builtins/TenantFilter.js.map +1 -0
- package/dist/filters/builtins/index.d.ts +11 -0
- package/dist/filters/builtins/index.d.ts.map +1 -0
- package/dist/filters/builtins/index.js +6 -0
- package/dist/filters/builtins/index.js.map +1 -0
- package/dist/filters/index.d.ts +5 -0
- package/dist/filters/index.d.ts.map +1 -0
- package/dist/filters/index.js +4 -0
- package/dist/filters/index.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/OnRoadLogger.d.ts +8 -0
- package/dist/logging/OnRoadLogger.d.ts.map +1 -0
- package/dist/logging/OnRoadLogger.js +2 -0
- package/dist/logging/OnRoadLogger.js.map +1 -0
- package/dist/logging/PinoLogger.d.ts +16 -0
- package/dist/logging/PinoLogger.d.ts.map +1 -0
- package/dist/logging/PinoLogger.js +33 -0
- package/dist/logging/PinoLogger.js.map +1 -0
- package/dist/logging/index.d.ts +4 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +2 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/messaging/MatchingObject.d.ts +9 -0
- package/dist/messaging/MatchingObject.d.ts.map +1 -0
- package/dist/messaging/MatchingObject.js +21 -0
- package/dist/messaging/MatchingObject.js.map +1 -0
- package/dist/messaging/index.d.ts +2 -0
- package/dist/messaging/index.d.ts.map +1 -0
- package/dist/messaging/index.js +2 -0
- package/dist/messaging/index.js.map +1 -0
- package/dist/plugins/OnRoadPlugin.d.ts +6 -0
- package/dist/plugins/OnRoadPlugin.d.ts.map +1 -0
- package/dist/plugins/OnRoadPlugin.js +2 -0
- package/dist/plugins/OnRoadPlugin.js.map +1 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/providers/MessagingProvider.d.ts +17 -0
- package/dist/providers/MessagingProvider.d.ts.map +1 -0
- package/dist/providers/MessagingProvider.js +3 -0
- package/dist/providers/MessagingProvider.js.map +1 -0
- package/dist/providers/RealtimeProvider.d.ts +13 -0
- package/dist/providers/RealtimeProvider.d.ts.map +1 -0
- package/dist/providers/RealtimeProvider.js +3 -0
- package/dist/providers/RealtimeProvider.js.map +1 -0
- package/dist/providers/SocketProvider.d.ts +7 -0
- package/dist/providers/SocketProvider.d.ts.map +1 -0
- package/dist/providers/SocketProvider.js +3 -0
- package/dist/providers/SocketProvider.js.map +1 -0
- package/dist/providers/TaskSchedulerProvider.d.ts +19 -0
- package/dist/providers/TaskSchedulerProvider.d.ts.map +1 -0
- package/dist/providers/TaskSchedulerProvider.js +3 -0
- package/dist/providers/TaskSchedulerProvider.js.map +1 -0
- package/dist/providers/index.d.ts +8 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +5 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/security/decorators.d.ts +5 -0
- package/dist/security/decorators.d.ts.map +1 -0
- package/dist/security/decorators.js +26 -0
- package/dist/security/decorators.js.map +1 -0
- package/dist/security/index.d.ts +2 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +2 -0
- package/dist/security/index.js.map +1 -0
- package/dist/storage/StorageProvider.d.ts +7 -0
- package/dist/storage/StorageProvider.d.ts.map +1 -0
- package/dist/storage/StorageProvider.js +3 -0
- package/dist/storage/StorageProvider.js.map +1 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +2 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/transport/HttpTransport.d.ts +8 -0
- package/dist/transport/HttpTransport.d.ts.map +1 -0
- package/dist/transport/HttpTransport.js +26 -0
- package/dist/transport/HttpTransport.js.map +1 -0
- package/dist/transport/InterServiceTransport.d.ts +15 -0
- package/dist/transport/InterServiceTransport.d.ts.map +1 -0
- package/dist/transport/InterServiceTransport.js +20 -0
- package/dist/transport/InterServiceTransport.js.map +1 -0
- package/dist/transport/MessagingTransport.d.ts +9 -0
- package/dist/transport/MessagingTransport.d.ts.map +1 -0
- package/dist/transport/MessagingTransport.js +21 -0
- package/dist/transport/MessagingTransport.js.map +1 -0
- package/dist/transport/TransportFactory.d.ts +13 -0
- package/dist/transport/TransportFactory.d.ts.map +1 -0
- package/dist/transport/TransportFactory.js +35 -0
- package/dist/transport/TransportFactory.js.map +1 -0
- package/dist/transport/index.d.ts +6 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +5 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/types/express-augment.d.ts +27 -0
- package/dist/types/express-augment.d.ts.map +1 -0
- package/dist/types/express-augment.js +4 -0
- package/dist/types/express-augment.js.map +1 -0
- package/package.json +134 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagingProvider.js","sourceRoot":"","sources":["../../src/providers/MessagingProvider.ts"],"names":[],"mappings":"AASA,MAAM,OAAgB,iBAAiB;CAQtC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface MatchingObjectData {
|
|
2
|
+
model: string;
|
|
3
|
+
target: string;
|
|
4
|
+
data: unknown;
|
|
5
|
+
action?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class RealtimeProvider {
|
|
8
|
+
abstract publishMatchingObjects(tenant: string, mos: MatchingObjectData[]): Promise<void>;
|
|
9
|
+
abstract writeAsyncResponse(path: string, payload: unknown): Promise<void>;
|
|
10
|
+
abstract shutdown(): Promise<void>;
|
|
11
|
+
abstract isReady(): boolean;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=RealtimeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RealtimeProvider.d.ts","sourceRoot":"","sources":["../../src/providers/RealtimeProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,8BAAsB,gBAAgB;IACpC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IACzF,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1E,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,IAAI,OAAO;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RealtimeProvider.js","sourceRoot":"","sources":["../../src/providers/RealtimeProvider.ts"],"names":[],"mappings":"AAOA,MAAM,OAAgB,gBAAgB;CAKrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SocketProvider.d.ts","sourceRoot":"","sources":["../../src/providers/SocketProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAA;AAEhD,8BAAsB,cAAc;IAClC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAC5C,QAAQ,CAAC,OAAO,IAAI,OAAO;IAC3B,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SocketProvider.js","sourceRoot":"","sources":["../../src/providers/SocketProvider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,cAAc;CAInC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface TaskSchedulerConfig {
|
|
2
|
+
serviceUrl: string;
|
|
3
|
+
processPath: string;
|
|
4
|
+
triggerPath?: string;
|
|
5
|
+
delayedQueue?: string;
|
|
6
|
+
triggerQueue?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ScheduledTask {
|
|
9
|
+
payload: unknown;
|
|
10
|
+
delayMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class TaskSchedulerProvider {
|
|
13
|
+
abstract initialize(config: TaskSchedulerConfig): Promise<void>;
|
|
14
|
+
abstract scheduleTask(payload: unknown, delayMs: number): Promise<void>;
|
|
15
|
+
abstract enqueueTask(payload: unknown): Promise<void>;
|
|
16
|
+
abstract shutdown(): Promise<void>;
|
|
17
|
+
abstract isReady(): boolean;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=TaskSchedulerProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskSchedulerProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TaskSchedulerProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,8BAAsB,qBAAqB;IACzC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/D,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACvE,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IACrD,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,IAAI,OAAO;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskSchedulerProvider.js","sourceRoot":"","sources":["../../src/providers/TaskSchedulerProvider.ts"],"names":[],"mappings":"AAaA,MAAM,OAAgB,qBAAqB;CAM1C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { MessagingProvider } from "./MessagingProvider.js";
|
|
2
|
+
export type { MessagingMessage, MessageWorker } from "./MessagingProvider.js";
|
|
3
|
+
export { RealtimeProvider } from "./RealtimeProvider.js";
|
|
4
|
+
export type { MatchingObjectData } from "./RealtimeProvider.js";
|
|
5
|
+
export { TaskSchedulerProvider } from "./TaskSchedulerProvider.js";
|
|
6
|
+
export type { TaskSchedulerConfig, ScheduledTask } from "./TaskSchedulerProvider.js";
|
|
7
|
+
export { SocketProvider } from "./SocketProvider.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MessagingProvider } from "./MessagingProvider.js";
|
|
2
|
+
export { RealtimeProvider } from "./RealtimeProvider.js";
|
|
3
|
+
export { TaskSchedulerProvider } from "./TaskSchedulerProvider.js";
|
|
4
|
+
export { SocketProvider } from "./SocketProvider.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
export declare function Roles(...roles: string[]): ClassDecorator & MethodDecorator;
|
|
3
|
+
export declare function Public(): MethodDecorator;
|
|
4
|
+
export declare function getRoles(target: object, methodName?: string): string[] | undefined;
|
|
5
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/security/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAGzB,wBAAgB,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,GAAG,eAAe,CAQ1E;AAED,wBAAgB,MAAM,IAAI,eAAe,CAIxC;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAMlF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { METADATA_KEY } from "../container/Container.js";
|
|
3
|
+
export function Roles(...roles) {
|
|
4
|
+
return (target, propertyKey) => {
|
|
5
|
+
if (propertyKey) {
|
|
6
|
+
Reflect.defineMetadata(METADATA_KEY.ROLES, roles, target, propertyKey);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
Reflect.defineMetadata(METADATA_KEY.ROLES, roles, target);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function Public() {
|
|
14
|
+
return (target, propertyKey) => {
|
|
15
|
+
Reflect.defineMetadata(METADATA_KEY.ROLES, [], target, propertyKey);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function getRoles(target, methodName) {
|
|
19
|
+
if (methodName) {
|
|
20
|
+
const methodRoles = Reflect.getMetadata(METADATA_KEY.ROLES, target.constructor.prototype, methodName);
|
|
21
|
+
if (methodRoles !== undefined)
|
|
22
|
+
return methodRoles;
|
|
23
|
+
}
|
|
24
|
+
return Reflect.getMetadata(METADATA_KEY.ROLES, target.constructor);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/security/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,UAAU,KAAK,CAAC,GAAG,KAAe;IACtC,OAAO,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QACvD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QACxE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,UAAmB;IAC1D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QACrG,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,WAAW,CAAA;IACnD,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;AACpE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare abstract class StorageProvider {
|
|
2
|
+
abstract upload(bucketName: string, filePath: string, data: Buffer, contentType?: string): Promise<string>;
|
|
3
|
+
abstract download(bucketName: string, filePath: string): Promise<Buffer>;
|
|
4
|
+
abstract delete(bucketName: string, filePath: string): Promise<void>;
|
|
5
|
+
abstract getSignedUrl(bucketName: string, filePath: string, expiresMs: number): Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=StorageProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../src/storage/StorageProvider.ts"],"names":[],"mappings":"AAAA,8BAAsB,eAAe;IACnC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1G,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACpE,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAChG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageProvider.js","sourceRoot":"","sources":["../../src/storage/StorageProvider.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,eAAe;CAKpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InterServiceTransport, type SendOptions } from "./InterServiceTransport.js";
|
|
2
|
+
export declare class HttpTransport extends InterServiceTransport {
|
|
3
|
+
private baseUrl;
|
|
4
|
+
constructor(baseUrl: string);
|
|
5
|
+
send(path: string, payload: unknown, options?: SendOptions): Promise<unknown>;
|
|
6
|
+
sendBatch(path: string, payloads: unknown[], options?: SendOptions): Promise<unknown[]>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=HttpTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpTransport.d.ts","sourceRoot":"","sources":["../../src/transport/HttpTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEpF,qBAAa,aAAc,SAAQ,qBAAqB;IACtD,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,MAAM;IAKrB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB7E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAG9F"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { InterServiceTransport } from "./InterServiceTransport.js";
|
|
2
|
+
export class HttpTransport extends InterServiceTransport {
|
|
3
|
+
baseUrl;
|
|
4
|
+
constructor(baseUrl) {
|
|
5
|
+
super();
|
|
6
|
+
this.baseUrl = baseUrl;
|
|
7
|
+
}
|
|
8
|
+
async send(path, payload, options) {
|
|
9
|
+
// Dynamic import to keep axios as optional peer dep
|
|
10
|
+
const { default: axios } = await import("axios");
|
|
11
|
+
const method = options?.method ?? "POST";
|
|
12
|
+
const url = `${this.baseUrl}${path}`;
|
|
13
|
+
const response = await axios({
|
|
14
|
+
method,
|
|
15
|
+
url,
|
|
16
|
+
data: payload,
|
|
17
|
+
headers: this.buildHeaders(),
|
|
18
|
+
timeout: options?.timeout ?? 30000,
|
|
19
|
+
});
|
|
20
|
+
return response.data;
|
|
21
|
+
}
|
|
22
|
+
async sendBatch(path, payloads, options) {
|
|
23
|
+
return Promise.all(payloads.map((p) => this.send(path, p, options)));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=HttpTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpTransport.js","sourceRoot":"","sources":["../../src/transport/HttpTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAoB,MAAM,4BAA4B,CAAA;AAEpF,MAAM,OAAO,aAAc,SAAQ,qBAAqB;IAC9C,OAAO,CAAQ;IAEvB,YAAY,OAAe;QACzB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAgB,EAAE,OAAqB;QAC9D,oDAAoD;QACpD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,MAAM,CAAA;QACxC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAA;QAEpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;YAC3B,MAAM;YACN,GAAG;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC5B,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK;SACnC,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,QAAmB,EAAE,OAAqB;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OnRoadLogger } from "../logging/OnRoadLogger.js";
|
|
2
|
+
export interface SendOptions {
|
|
3
|
+
method?: "GET" | "POST" | "PUT" | "DELETE";
|
|
4
|
+
timeout?: number;
|
|
5
|
+
retries?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class InterServiceTransport {
|
|
8
|
+
protected get tenant(): string;
|
|
9
|
+
protected get appToken(): string;
|
|
10
|
+
protected get logger(): OnRoadLogger | undefined;
|
|
11
|
+
protected buildHeaders(): Record<string, string>;
|
|
12
|
+
abstract send(target: string, payload: unknown, options?: SendOptions): Promise<unknown>;
|
|
13
|
+
abstract sendBatch(target: string, payloads: unknown[], options?: SendOptions): Promise<unknown[]>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=InterServiceTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterServiceTransport.d.ts","sourceRoot":"","sources":["../../src/transport/InterServiceTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,8BAAsB,qBAAqB;IACzC,SAAS,KAAK,MAAM,IAAI,MAAM,CAE7B;IAED,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAED,SAAS,KAAK,MAAM,IAAI,YAAY,GAAG,SAAS,CAE/C;IAED,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQhD,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAExF,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CACnG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getRequestContext } from "../context/RequestContext.js";
|
|
2
|
+
export class InterServiceTransport {
|
|
3
|
+
get tenant() {
|
|
4
|
+
return getRequestContext().tenant;
|
|
5
|
+
}
|
|
6
|
+
get appToken() {
|
|
7
|
+
return getRequestContext().appToken;
|
|
8
|
+
}
|
|
9
|
+
get logger() {
|
|
10
|
+
return getRequestContext().logger;
|
|
11
|
+
}
|
|
12
|
+
buildHeaders() {
|
|
13
|
+
return {
|
|
14
|
+
"Content-Type": "application/json",
|
|
15
|
+
tenant: this.tenant,
|
|
16
|
+
"x-app-token": this.appToken,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=InterServiceTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterServiceTransport.js","sourceRoot":"","sources":["../../src/transport/InterServiceTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAShE,MAAM,OAAgB,qBAAqB;IACzC,IAAc,MAAM;QAClB,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAc,QAAQ;QACpB,OAAO,iBAAiB,EAAE,CAAC,QAAQ,CAAA;IACrC,CAAC;IAED,IAAc,MAAM;QAClB,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAA;IACnC,CAAC;IAES,YAAY;QACpB,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,QAAQ;SAC7B,CAAA;IACH,CAAC;CAKF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InterServiceTransport, type SendOptions } from "./InterServiceTransport.js";
|
|
2
|
+
import type { MessagingProvider } from "../providers/MessagingProvider.js";
|
|
3
|
+
export declare class MessagingTransport extends InterServiceTransport {
|
|
4
|
+
private provider;
|
|
5
|
+
constructor(provider: MessagingProvider);
|
|
6
|
+
send(route: string, payload: unknown, _options?: SendOptions): Promise<void>;
|
|
7
|
+
sendBatch(route: string, payloads: unknown[], options?: SendOptions): Promise<void[]>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=MessagingTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagingTransport.d.ts","sourceRoot":"","sources":["../../src/transport/MessagingTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,qBAAa,kBAAmB,SAAQ,qBAAqB;IAC3D,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,QAAQ,EAAE,iBAAiB;IAKjC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CAG5F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { InterServiceTransport } from "./InterServiceTransport.js";
|
|
2
|
+
export class MessagingTransport extends InterServiceTransport {
|
|
3
|
+
provider;
|
|
4
|
+
constructor(provider) {
|
|
5
|
+
super();
|
|
6
|
+
this.provider = provider;
|
|
7
|
+
}
|
|
8
|
+
async send(route, payload, _options) {
|
|
9
|
+
const message = {
|
|
10
|
+
headers: this.buildHeaders(),
|
|
11
|
+
route,
|
|
12
|
+
body: payload,
|
|
13
|
+
timestamp: Date.now(),
|
|
14
|
+
};
|
|
15
|
+
await this.provider.publishToRoute(route, message);
|
|
16
|
+
}
|
|
17
|
+
async sendBatch(route, payloads, options) {
|
|
18
|
+
return Promise.all(payloads.map((p) => this.send(route, p, options)));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=MessagingTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagingTransport.js","sourceRoot":"","sources":["../../src/transport/MessagingTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAoB,MAAM,4BAA4B,CAAA;AAGpF,MAAM,OAAO,kBAAmB,SAAQ,qBAAqB;IACnD,QAAQ,CAAmB;IAEnC,YAAY,QAA2B;QACrC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,OAAgB,EAAE,QAAsB;QAChE,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC5B,KAAK;YACL,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAA;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,QAAmB,EAAE,OAAqB;QACvE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAoB,CAAA;IAC1F,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MessagingProvider } from "../providers/MessagingProvider.js";
|
|
2
|
+
import { HttpTransport } from "./HttpTransport.js";
|
|
3
|
+
import { MessagingTransport } from "./MessagingTransport.js";
|
|
4
|
+
export declare class TransportFactory {
|
|
5
|
+
private httpClients;
|
|
6
|
+
private messagingProvider?;
|
|
7
|
+
registerHttpApi(name: string, envKey: string): void;
|
|
8
|
+
registerHttpApis(apis: Record<string, string>): void;
|
|
9
|
+
setMessagingProvider(provider: MessagingProvider): void;
|
|
10
|
+
createHttp(name: string): HttpTransport;
|
|
11
|
+
createMessaging(): MessagingTransport;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=TransportFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransportFactory.d.ts","sourceRoot":"","sources":["../../src/transport/TransportFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAE7C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAInD,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMpD,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAYvC,eAAe,IAAI,kBAAkB;CAMtC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { HttpTransport } from "./HttpTransport.js";
|
|
2
|
+
import { MessagingTransport } from "./MessagingTransport.js";
|
|
3
|
+
export class TransportFactory {
|
|
4
|
+
httpClients = new Map();
|
|
5
|
+
messagingProvider;
|
|
6
|
+
registerHttpApi(name, envKey) {
|
|
7
|
+
this.httpClients.set(name, envKey);
|
|
8
|
+
}
|
|
9
|
+
registerHttpApis(apis) {
|
|
10
|
+
for (const [name, envKey] of Object.entries(apis)) {
|
|
11
|
+
this.httpClients.set(name, envKey);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
setMessagingProvider(provider) {
|
|
15
|
+
this.messagingProvider = provider;
|
|
16
|
+
}
|
|
17
|
+
createHttp(name) {
|
|
18
|
+
const envKey = this.httpClients.get(name);
|
|
19
|
+
if (!envKey) {
|
|
20
|
+
throw new Error(`[TypeRoad] API "${name}" not registered. Use app.registerApiClients() first.`);
|
|
21
|
+
}
|
|
22
|
+
const baseUrl = process.env[envKey];
|
|
23
|
+
if (!baseUrl) {
|
|
24
|
+
throw new Error(`[TypeRoad] Environment variable "${envKey}" not set for API "${name}".`);
|
|
25
|
+
}
|
|
26
|
+
return new HttpTransport(baseUrl);
|
|
27
|
+
}
|
|
28
|
+
createMessaging() {
|
|
29
|
+
if (!this.messagingProvider) {
|
|
30
|
+
throw new Error("[TypeRoad] MessagingProvider not set. Use app.setMessagingProvider() first.");
|
|
31
|
+
}
|
|
32
|
+
return new MessagingTransport(this.messagingProvider);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=TransportFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransportFactory.js","sourceRoot":"","sources":["../../src/transport/TransportFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,OAAO,gBAAgB;IACnB,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,iBAAiB,CAAoB;IAE7C,eAAe,CAAC,IAAY,EAAE,MAAc;QAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,gBAAgB,CAAC,IAA4B;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,QAA2B;QAC9C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAA;IACnC,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,uDAAuD,CAAC,CAAA;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,sBAAsB,IAAI,IAAI,CAAC,CAAA;QAC3F,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;QAChG,CAAC;QACD,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACvD,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { InterServiceTransport } from "./InterServiceTransport.js";
|
|
2
|
+
export type { SendOptions } from "./InterServiceTransport.js";
|
|
3
|
+
export { HttpTransport } from "./HttpTransport.js";
|
|
4
|
+
export { MessagingTransport } from "./MessagingTransport.js";
|
|
5
|
+
export { TransportFactory } from "./TransportFactory.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { InterServiceTransport } from "./InterServiceTransport.js";
|
|
2
|
+
export { HttpTransport } from "./HttpTransport.js";
|
|
3
|
+
export { MessagingTransport } from "./MessagingTransport.js";
|
|
4
|
+
export { TransportFactory } from "./TransportFactory.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { OnRoadLogger } from "../logging/OnRoadLogger.js";
|
|
2
|
+
declare module "express-serve-static-core" {
|
|
3
|
+
interface Request {
|
|
4
|
+
/** JWT payload decoded by JwtFilter */
|
|
5
|
+
decoded?: unknown;
|
|
6
|
+
/** Tenant identifier extracted by TenantFilter */
|
|
7
|
+
tenant?: string;
|
|
8
|
+
/** Authenticated user context */
|
|
9
|
+
user?: {
|
|
10
|
+
id?: string;
|
|
11
|
+
roles?: string[];
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
};
|
|
14
|
+
/** Required roles for the current route (set during route registration) */
|
|
15
|
+
routeRoles?: string[];
|
|
16
|
+
/** Unique ID for this request, set by RequestContextFilter */
|
|
17
|
+
requestId?: string;
|
|
18
|
+
/** Request-scoped child logger with requestId + tenant bindings */
|
|
19
|
+
logger?: OnRoadLogger;
|
|
20
|
+
}
|
|
21
|
+
interface Locals {
|
|
22
|
+
/** Required roles for the current route (populated during route reg.) */
|
|
23
|
+
requiredRoles?: string[];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=express-augment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"express-augment.d.ts","sourceRoot":"","sources":["../../src/types/express-augment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,QAAQ,2BAA2B,CAAC;IACzC,UAAU,OAAO;QACf,uCAAuC;QACvC,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,kDAAkD;QAClD,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,iCAAiC;QACjC,IAAI,CAAC,EAAE;YACL,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;YAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SACvB,CAAA;QACD,2EAA2E;QAC3E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,mEAAmE;QACnE,MAAM,CAAC,EAAE,YAAY,CAAA;KACtB;IAED,UAAU,MAAM;QACd,yEAAyE;QACzE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACzB;CACF;AAED,OAAO,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"express-augment.js","sourceRoot":"","sources":["../../src/types/express-augment.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,qEAAqE"}
|
package/package.json
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@onroad/core",
|
|
3
|
+
"version": "4.0.0-alpha.0",
|
|
4
|
+
"description": "TypeScript backend framework — DI Container, Filter Chain, EventBus, Provider Pattern",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./core": {
|
|
14
|
+
"import": "./dist/core/index.js",
|
|
15
|
+
"types": "./dist/core/index.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./entity": {
|
|
18
|
+
"import": "./dist/entity/index.js",
|
|
19
|
+
"types": "./dist/entity/index.d.ts"
|
|
20
|
+
},
|
|
21
|
+
"./filters": {
|
|
22
|
+
"import": "./dist/filters/index.js",
|
|
23
|
+
"types": "./dist/filters/index.d.ts"
|
|
24
|
+
},
|
|
25
|
+
"./security": {
|
|
26
|
+
"import": "./dist/security/index.js",
|
|
27
|
+
"types": "./dist/security/index.d.ts"
|
|
28
|
+
},
|
|
29
|
+
"./database": {
|
|
30
|
+
"import": "./dist/database/index.js",
|
|
31
|
+
"types": "./dist/database/index.d.ts"
|
|
32
|
+
},
|
|
33
|
+
"./transport": {
|
|
34
|
+
"import": "./dist/transport/index.js",
|
|
35
|
+
"types": "./dist/transport/index.d.ts"
|
|
36
|
+
},
|
|
37
|
+
"./messaging": {
|
|
38
|
+
"import": "./dist/messaging/index.js",
|
|
39
|
+
"types": "./dist/messaging/index.d.ts"
|
|
40
|
+
},
|
|
41
|
+
"./providers/rabbitmq": {
|
|
42
|
+
"import": "./dist/providers/rabbitmq/index.js",
|
|
43
|
+
"types": "./dist/providers/rabbitmq/index.d.ts"
|
|
44
|
+
},
|
|
45
|
+
"./providers/firebase": {
|
|
46
|
+
"import": "./dist/providers/firebase/index.js",
|
|
47
|
+
"types": "./dist/providers/firebase/index.d.ts"
|
|
48
|
+
},
|
|
49
|
+
"./providers/cloudtasks": {
|
|
50
|
+
"import": "./dist/providers/cloudtasks/index.js",
|
|
51
|
+
"types": "./dist/providers/cloudtasks/index.d.ts"
|
|
52
|
+
},
|
|
53
|
+
"./logging": {
|
|
54
|
+
"import": "./dist/logging/index.js",
|
|
55
|
+
"types": "./dist/logging/index.d.ts"
|
|
56
|
+
},
|
|
57
|
+
"./storage": {
|
|
58
|
+
"import": "./dist/storage/index.js",
|
|
59
|
+
"types": "./dist/storage/index.d.ts"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"files": [
|
|
63
|
+
"dist",
|
|
64
|
+
"README.md"
|
|
65
|
+
],
|
|
66
|
+
"scripts": {
|
|
67
|
+
"build": "tsc",
|
|
68
|
+
"build:watch": "tsc --watch",
|
|
69
|
+
"dev": "tsx --watch src/index.ts",
|
|
70
|
+
"test": "vitest run",
|
|
71
|
+
"test:watch": "vitest",
|
|
72
|
+
"test:coverage": "vitest run --coverage",
|
|
73
|
+
"lint": "eslint src/ --ext .ts",
|
|
74
|
+
"clean": "rm -rf dist",
|
|
75
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
76
|
+
},
|
|
77
|
+
"keywords": [
|
|
78
|
+
"framework",
|
|
79
|
+
"typescript",
|
|
80
|
+
"express",
|
|
81
|
+
"di-container",
|
|
82
|
+
"multi-tenant",
|
|
83
|
+
"filter-chain",
|
|
84
|
+
"event-bus"
|
|
85
|
+
],
|
|
86
|
+
"author": "HashCodeTI-Brasil",
|
|
87
|
+
"license": "UNLICENSED",
|
|
88
|
+
"engines": {
|
|
89
|
+
"node": ">=20.0.0"
|
|
90
|
+
},
|
|
91
|
+
"dependencies": {
|
|
92
|
+
"express": "^4.21.0",
|
|
93
|
+
"pino": "^9.6.0",
|
|
94
|
+
"reflect-metadata": "^0.2.2",
|
|
95
|
+
"uuid": "^11.1.0"
|
|
96
|
+
},
|
|
97
|
+
"peerDependencies": {
|
|
98
|
+
"sequelize": "^6.37.0",
|
|
99
|
+
"mongoose": "^8.4.0",
|
|
100
|
+
"pg": "^8.13.0",
|
|
101
|
+
"pg-hstore": "^2.3.4",
|
|
102
|
+
"firebase-admin": "^13.0.0",
|
|
103
|
+
"amqplib": "^0.10.0",
|
|
104
|
+
"@google-cloud/tasks": "^5.0.0",
|
|
105
|
+
"@google-cloud/storage": "^7.0.0",
|
|
106
|
+
"axios": "^1.7.0",
|
|
107
|
+
"socket.io": "^4.8.0"
|
|
108
|
+
},
|
|
109
|
+
"peerDependenciesMeta": {
|
|
110
|
+
"sequelize": { "optional": true },
|
|
111
|
+
"mongoose": { "optional": true },
|
|
112
|
+
"pg": { "optional": true },
|
|
113
|
+
"pg-hstore": { "optional": true },
|
|
114
|
+
"firebase-admin": { "optional": true },
|
|
115
|
+
"amqplib": { "optional": true },
|
|
116
|
+
"@google-cloud/tasks": { "optional": true },
|
|
117
|
+
"@google-cloud/storage": { "optional": true },
|
|
118
|
+
"axios": { "optional": true },
|
|
119
|
+
"socket.io": { "optional": true }
|
|
120
|
+
},
|
|
121
|
+
"devDependencies": {
|
|
122
|
+
"typescript": "^5.7.0",
|
|
123
|
+
"vitest": "^3.1.0",
|
|
124
|
+
"@vitest/coverage-v8": "^3.1.0",
|
|
125
|
+
"tsx": "^4.19.0",
|
|
126
|
+
"@types/express": "^5.0.0",
|
|
127
|
+
"@types/node": "^22.0.0",
|
|
128
|
+
"@types/uuid": "^10.0.0",
|
|
129
|
+
"@types/amqplib": "^0.10.0",
|
|
130
|
+
"eslint": "^9.0.0",
|
|
131
|
+
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
132
|
+
"@typescript-eslint/parser": "^8.0.0"
|
|
133
|
+
}
|
|
134
|
+
}
|