@bett3r-dev/pv3-types 1.0.0 → 1.4.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/CHANGELOG.md +305 -0
- package/build/adminPlugin.d.ts +24 -0
- package/build/adminPlugin.d.ts.map +1 -0
- package/build/{eventsourcing/utils.js → adminPlugin.js} +1 -1
- package/build/adminPlugin.js.map +1 -0
- package/build/aggregateSchema.d.ts +94 -0
- package/build/aggregateSchema.d.ts.map +1 -0
- package/build/aggregateSchema.js +287 -0
- package/build/aggregateSchema.js.map +1 -0
- package/build/authentication.d.ts +179 -78
- package/build/authentication.d.ts.map +1 -1
- package/build/authentication.js +62 -19
- package/build/authentication.js.map +1 -1
- package/build/cache.d.ts +50 -4
- package/build/cache.d.ts.map +1 -1
- package/build/clusterAdministration.d.ts +712 -225
- package/build/clusterAdministration.d.ts.map +1 -1
- package/build/clusterAdministration.js +175 -52
- package/build/clusterAdministration.js.map +1 -1
- package/build/configuration.d.ts +26 -5
- package/build/configuration.d.ts.map +1 -1
- package/build/database.d.ts +240 -56
- package/build/database.d.ts.map +1 -1
- package/build/database.js +102 -20
- package/build/database.js.map +1 -1
- package/build/endpoints.d.ts +141 -41
- package/build/endpoints.d.ts.map +1 -1
- package/build/endpoints.js +50 -26
- package/build/endpoints.js.map +1 -1
- package/build/errors.d.ts +166 -0
- package/build/errors.d.ts.map +1 -0
- package/build/errors.js +276 -0
- package/build/errors.js.map +1 -0
- package/build/evenstore.d.ts +47 -7
- package/build/evenstore.d.ts.map +1 -1
- package/build/eventsourcing/aggregateBuilder.d.ts +17 -8
- package/build/eventsourcing/aggregateBuilder.d.ts.map +1 -1
- package/build/eventsourcing/commandBuilder.d.ts +20 -13
- package/build/eventsourcing/commandBuilder.d.ts.map +1 -1
- package/build/eventsourcing/commandHandlers.d.ts +155 -33
- package/build/eventsourcing/commandHandlers.d.ts.map +1 -1
- package/build/eventsourcing/commandHandlers.js +62 -14
- package/build/eventsourcing/commandHandlers.js.map +1 -1
- package/build/eventsourcing/eventHandlers.d.ts +173 -44
- package/build/eventsourcing/eventHandlers.d.ts.map +1 -1
- package/build/eventsourcing/eventHandlers.js +29 -21
- package/build/eventsourcing/eventHandlers.js.map +1 -1
- package/build/eventsourcing/eventHandlersBuilder.d.ts +18 -12
- package/build/eventsourcing/eventHandlersBuilder.d.ts.map +1 -1
- package/build/eventsourcing/eventHandlersBuilder.js.map +1 -1
- package/build/eventsourcing/eventsourcing.types.d.ts +322 -0
- package/build/eventsourcing/eventsourcing.types.d.ts.map +1 -0
- package/build/eventsourcing/eventsourcing.types.js +26 -0
- package/build/eventsourcing/eventsourcing.types.js.map +1 -0
- package/build/eventsourcing/externalSystemBuilder.d.ts +8 -7
- package/build/eventsourcing/externalSystemBuilder.d.ts.map +1 -1
- package/build/eventsourcing/index.d.ts +2 -378
- package/build/eventsourcing/index.d.ts.map +1 -1
- package/build/eventsourcing/index.js +2 -23
- package/build/eventsourcing/index.js.map +1 -1
- package/build/eventsourcing/invariants.d.ts +34 -10
- package/build/eventsourcing/invariants.d.ts.map +1 -1
- package/build/eventsourcing/shapeChangeForSubscriber.d.ts +33 -0
- package/build/eventsourcing/shapeChangeForSubscriber.d.ts.map +1 -0
- package/build/eventsourcing/shapeChangeForSubscriber.js +47 -0
- package/build/eventsourcing/shapeChangeForSubscriber.js.map +1 -0
- package/build/index.d.ts +6 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +6 -1
- package/build/index.js.map +1 -1
- package/build/infrastructure.d.ts +9 -1
- package/build/infrastructure.d.ts.map +1 -1
- package/build/infrastructure.js +33 -1
- package/build/infrastructure.js.map +1 -1
- package/build/livenessWatchdog.d.ts +28 -0
- package/build/livenessWatchdog.d.ts.map +1 -0
- package/build/livenessWatchdog.js +43 -0
- package/build/livenessWatchdog.js.map +1 -0
- package/build/logger.d.ts +8 -9
- package/build/logger.d.ts.map +1 -1
- package/build/logger.js +18 -6
- package/build/logger.js.map +1 -1
- package/build/outboxManager.d.ts +858 -14
- package/build/outboxManager.d.ts.map +1 -1
- package/build/outboxManager.js +173 -15
- package/build/outboxManager.js.map +1 -1
- package/build/permissions.d.ts +47 -0
- package/build/permissions.d.ts.map +1 -0
- package/build/permissions.js +3 -0
- package/build/permissions.js.map +1 -0
- package/build/ports.d.ts +10 -10
- package/build/ports.d.ts.map +1 -1
- package/build/routesAuth.d.ts +17 -25
- package/build/routesAuth.d.ts.map +1 -1
- package/build/routesAuth.js +4 -14
- package/build/routesAuth.js.map +1 -1
- package/build/typedEventEmitter.d.ts +7 -13
- package/build/typedEventEmitter.d.ts.map +1 -1
- package/build/typedEventEmitter.js +2 -2
- package/build/typedEventEmitter.js.map +1 -1
- package/build/userSession.d.ts +8 -0
- package/build/userSession.d.ts.map +1 -0
- package/build/userSession.js +3 -0
- package/build/userSession.js.map +1 -0
- package/package.json +22 -7
- package/build/eventsourcing/utils.d.ts +0 -4
- package/build/eventsourcing/utils.d.ts.map +0 -1
- package/build/eventsourcing/utils.js.map +0 -1
- package/build/validation.d.ts +0 -64
- package/build/validation.d.ts.map +0 -1
- package/build/validation.js +0 -57
- package/build/validation.js.map +0 -1
- package/src/authentication.ts +0 -273
- package/src/cache.ts +0 -109
- package/src/clusterAdministration.ts +0 -216
- package/src/configuration.ts +0 -71
- package/src/database.ts +0 -157
- package/src/endpoints.ts +0 -198
- package/src/evenstore.ts +0 -27
- package/src/eventsourcing/aggregateBuilder.ts +0 -11
- package/src/eventsourcing/commandBuilder.ts +0 -64
- package/src/eventsourcing/commandHandlers.ts +0 -137
- package/src/eventsourcing/eventHandlers.ts +0 -118
- package/src/eventsourcing/eventHandlersBuilder.ts +0 -42
- package/src/eventsourcing/externalSystemBuilder.ts +0 -20
- package/src/eventsourcing/index.ts +0 -111
- package/src/eventsourcing/invariants.ts +0 -27
- package/src/eventsourcing/utils.ts +0 -4
- package/src/index.ts +0 -15
- package/src/infrastructure.ts +0 -41
- package/src/logger.ts +0 -45
- package/src/outboxManager.ts +0 -36
- package/src/ports.ts +0 -42
- package/src/routesAuth.ts +0 -58
- package/src/typedEventEmitter.ts +0 -73
- package/src/validation.ts +0 -89
- package/tsconfig.json +0 -15
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { BaseSchema, ObjectSchema } from '@bett3r-dev/jsonschema-definer';
|
|
2
|
+
import { CollectionFilter, Document } from '../database';
|
|
3
|
+
import { ArtifactType, EndpointActionParams, ResponseObject } from '../endpoints';
|
|
4
|
+
import { AggregateBuilderFunctionType, EventHandler, EventSourcingCommandHandlers, ExecuteCommandFunction, ExternalSystemBuilderFunctionType, PolicyBuilderFunction, QueryHandler, ReadmodelBuilderFunction, System } from './';
|
|
5
|
+
export type CustomRouteParams = {
|
|
6
|
+
name: string;
|
|
7
|
+
variable?: string;
|
|
8
|
+
};
|
|
9
|
+
export type EventsourcingRegisteredEndpoints = {
|
|
10
|
+
aggregates: Record<string, {
|
|
11
|
+
getEndpoints: any;
|
|
12
|
+
commands: Record<string, {
|
|
13
|
+
route: string;
|
|
14
|
+
events: string[];
|
|
15
|
+
}>;
|
|
16
|
+
filePath: string;
|
|
17
|
+
subdomain?: string;
|
|
18
|
+
}>;
|
|
19
|
+
systems: Record<string, {
|
|
20
|
+
getEndpoints: any;
|
|
21
|
+
commands: Record<string, {
|
|
22
|
+
route: string;
|
|
23
|
+
events: string[];
|
|
24
|
+
}>;
|
|
25
|
+
filePath: string;
|
|
26
|
+
subdomain?: string;
|
|
27
|
+
}>;
|
|
28
|
+
policies: Record<string, {
|
|
29
|
+
route: string;
|
|
30
|
+
events: string[];
|
|
31
|
+
filePath: string;
|
|
32
|
+
subdomain?: string;
|
|
33
|
+
commandHandlerName?: string;
|
|
34
|
+
linkedTo?: string[];
|
|
35
|
+
isStandalone?: boolean;
|
|
36
|
+
}>;
|
|
37
|
+
projectors: Record<string, {
|
|
38
|
+
route: string;
|
|
39
|
+
events: string[];
|
|
40
|
+
filePath: string;
|
|
41
|
+
subdomain?: string;
|
|
42
|
+
}>;
|
|
43
|
+
};
|
|
44
|
+
export type Artifact = {
|
|
45
|
+
name: string;
|
|
46
|
+
subdomain?: string;
|
|
47
|
+
filePath?: string;
|
|
48
|
+
artifactType?: ArtifactType;
|
|
49
|
+
};
|
|
50
|
+
export type Message<Payload, Name = string> = {
|
|
51
|
+
name?: Name;
|
|
52
|
+
data?: Payload;
|
|
53
|
+
description?: string;
|
|
54
|
+
friendlyName?: Record<'es' | 'en' | 'pt', string>;
|
|
55
|
+
};
|
|
56
|
+
export type MessageSchema<Payload> = {
|
|
57
|
+
schema?: BaseSchema<Payload> | BaseSchema<Payload, false> | ObjectSchema | BaseSchema | null;
|
|
58
|
+
};
|
|
59
|
+
export type EventInstance<Payload = any, Name = any> = Message<Payload, Name> & MessageSchema<Payload>;
|
|
60
|
+
export declare const Event: <Payload>(eventInstance: EventInstance<Payload>) => EventInstance<Payload>;
|
|
61
|
+
export type EventFactory<Name = any, EventPayload = any> = () => EventInstance<EventPayload, Name>;
|
|
62
|
+
export declare const EventMetadataBaseSchema: ObjectSchema<{
|
|
63
|
+
causationId?: string | undefined;
|
|
64
|
+
correlationId?: string | undefined;
|
|
65
|
+
}, true>;
|
|
66
|
+
export type EventMetadataBaseType = {
|
|
67
|
+
causationId?: string;
|
|
68
|
+
correlationId?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Stamped by the outbox (TV1-1946) on a **definite** redelivery — i.e. the dispatched bit was
|
|
71
|
+
* already set when the event was re-dispatched (only reachable via an operator replay such as
|
|
72
|
+
* the admin "Set Single Data Split Position"). It is false-positive-free: a normal first
|
|
73
|
+
* delivery, a gap-recovered event, a retry, or a crash-before-commit re-dispatch is NOT stamped
|
|
74
|
+
* (the outbox cannot prove those were delivered before). Consumers use it to **suppress
|
|
75
|
+
* non-idempotent, non-dedupable side effects** (e.g. notifications/emails) on a replay while
|
|
76
|
+
* still rebuilding idempotent state. It is NOT a substitute for a dedup key when absolute
|
|
77
|
+
* exactly-once side effects are required — see docs/development/outbox-architecture.md.
|
|
78
|
+
*/
|
|
79
|
+
isRedelivery?: boolean;
|
|
80
|
+
[key: string]: any;
|
|
81
|
+
};
|
|
82
|
+
export type EventToCommit<Payload = any> = {
|
|
83
|
+
name: string;
|
|
84
|
+
data?: Payload;
|
|
85
|
+
stream: string;
|
|
86
|
+
metadata: EventMetadataBaseType;
|
|
87
|
+
};
|
|
88
|
+
export type CommittedEvent<Payload = any> = EventToCommit<Payload> & {
|
|
89
|
+
id: string;
|
|
90
|
+
position: number;
|
|
91
|
+
timestamp: string;
|
|
92
|
+
version: number | null;
|
|
93
|
+
};
|
|
94
|
+
export declare const CommittedEventSchema: <T>(payloadSchema: BaseSchema<T>, names?: string | string[]) => ObjectSchema<[import("Object/Pick")._Pick<{
|
|
95
|
+
id: string;
|
|
96
|
+
position: number;
|
|
97
|
+
name: any;
|
|
98
|
+
timestamp: string;
|
|
99
|
+
data: T | undefined;
|
|
100
|
+
version: number | null;
|
|
101
|
+
stream: string;
|
|
102
|
+
metadata: {
|
|
103
|
+
causationId?: string | undefined;
|
|
104
|
+
correlationId?: string | undefined;
|
|
105
|
+
};
|
|
106
|
+
}, import("Object/SelectKeys")._SelectKeys<{
|
|
107
|
+
id: string;
|
|
108
|
+
position: number;
|
|
109
|
+
name: any;
|
|
110
|
+
timestamp: string;
|
|
111
|
+
data: T | undefined;
|
|
112
|
+
version: number | null;
|
|
113
|
+
stream: string;
|
|
114
|
+
metadata: {
|
|
115
|
+
causationId?: string | undefined;
|
|
116
|
+
correlationId?: string | undefined;
|
|
117
|
+
};
|
|
118
|
+
}, undefined, "default">> extends infer T_1 ? { [K in keyof T_1]?: T_1[K] | undefined; } : never] extends [import("List/List").List] ? import("List/List").List & (import("Object/Pick")._Pick<{
|
|
119
|
+
id: string;
|
|
120
|
+
position: number;
|
|
121
|
+
name: any;
|
|
122
|
+
timestamp: string;
|
|
123
|
+
data: T | undefined;
|
|
124
|
+
version: number | null;
|
|
125
|
+
stream: string;
|
|
126
|
+
metadata: {
|
|
127
|
+
causationId?: string | undefined;
|
|
128
|
+
correlationId?: string | undefined;
|
|
129
|
+
};
|
|
130
|
+
}, import("Object/SelectKeys")._SelectKeys<{
|
|
131
|
+
id: string;
|
|
132
|
+
position: number;
|
|
133
|
+
name: any;
|
|
134
|
+
timestamp: string;
|
|
135
|
+
data: T | undefined;
|
|
136
|
+
version: number | null;
|
|
137
|
+
stream: string;
|
|
138
|
+
metadata: {
|
|
139
|
+
causationId?: string | undefined;
|
|
140
|
+
correlationId?: string | undefined;
|
|
141
|
+
};
|
|
142
|
+
}, undefined, "default">> extends infer T_1 ? { [K in keyof T_1]?: T_1[K] | undefined; } : never) : { [K in keyof (import("List/ObjectOf").ObjectOf<import("Object/Pick")._Pick<{
|
|
143
|
+
id: string;
|
|
144
|
+
position: number;
|
|
145
|
+
name: any;
|
|
146
|
+
timestamp: string;
|
|
147
|
+
data: T | undefined;
|
|
148
|
+
version: number | null;
|
|
149
|
+
stream: string;
|
|
150
|
+
metadata: {
|
|
151
|
+
causationId?: string | undefined;
|
|
152
|
+
correlationId?: string | undefined;
|
|
153
|
+
};
|
|
154
|
+
}, import("Object/SelectKeys")._SelectKeys<{
|
|
155
|
+
id: string;
|
|
156
|
+
position: number;
|
|
157
|
+
name: any;
|
|
158
|
+
timestamp: string;
|
|
159
|
+
data: T | undefined;
|
|
160
|
+
version: number | null;
|
|
161
|
+
stream: string;
|
|
162
|
+
metadata: {
|
|
163
|
+
causationId?: string | undefined;
|
|
164
|
+
correlationId?: string | undefined;
|
|
165
|
+
};
|
|
166
|
+
}, undefined, "default">> extends infer T_1 ? { [K in keyof T_1]?: T_1[K] | undefined; } : never> & import("Object/Omit")._Omit<{
|
|
167
|
+
id: string;
|
|
168
|
+
position: number;
|
|
169
|
+
name: any;
|
|
170
|
+
timestamp: string;
|
|
171
|
+
data: T | undefined;
|
|
172
|
+
version: number | null;
|
|
173
|
+
stream: string;
|
|
174
|
+
metadata: {
|
|
175
|
+
causationId?: string | undefined;
|
|
176
|
+
correlationId?: string | undefined;
|
|
177
|
+
};
|
|
178
|
+
}, keyof import("List/ObjectOf").ObjectOf<import("Object/Pick")._Pick<{
|
|
179
|
+
id: string;
|
|
180
|
+
position: number;
|
|
181
|
+
name: any;
|
|
182
|
+
timestamp: string;
|
|
183
|
+
data: T | undefined;
|
|
184
|
+
version: number | null;
|
|
185
|
+
stream: string;
|
|
186
|
+
metadata: {
|
|
187
|
+
causationId?: string | undefined;
|
|
188
|
+
correlationId?: string | undefined;
|
|
189
|
+
};
|
|
190
|
+
}, import("Object/SelectKeys")._SelectKeys<{
|
|
191
|
+
id: string;
|
|
192
|
+
position: number;
|
|
193
|
+
name: any;
|
|
194
|
+
timestamp: string;
|
|
195
|
+
data: T | undefined;
|
|
196
|
+
version: number | null;
|
|
197
|
+
stream: string;
|
|
198
|
+
metadata: {
|
|
199
|
+
causationId?: string | undefined;
|
|
200
|
+
correlationId?: string | undefined;
|
|
201
|
+
};
|
|
202
|
+
}, undefined, "default">> extends infer T_1 ? { [K in keyof T_1]?: T_1[K] | undefined; } : never>>)]: import("Object/Patch").PatchProp<import("Object/At").AtBasic<import("List/ObjectOf").ObjectOf<import("Object/Pick")._Pick<{
|
|
203
|
+
id: string;
|
|
204
|
+
position: number;
|
|
205
|
+
name: any;
|
|
206
|
+
timestamp: string;
|
|
207
|
+
data: T | undefined;
|
|
208
|
+
version: number | null;
|
|
209
|
+
stream: string;
|
|
210
|
+
metadata: {
|
|
211
|
+
causationId?: string | undefined;
|
|
212
|
+
correlationId?: string | undefined;
|
|
213
|
+
};
|
|
214
|
+
}, import("Object/SelectKeys")._SelectKeys<{
|
|
215
|
+
id: string;
|
|
216
|
+
position: number;
|
|
217
|
+
name: any;
|
|
218
|
+
timestamp: string;
|
|
219
|
+
data: T | undefined;
|
|
220
|
+
version: number | null;
|
|
221
|
+
stream: string;
|
|
222
|
+
metadata: {
|
|
223
|
+
causationId?: string | undefined;
|
|
224
|
+
correlationId?: string | undefined;
|
|
225
|
+
};
|
|
226
|
+
}, undefined, "default">> extends infer T_1 ? { [K in keyof T_1]?: T_1[K] | undefined; } : never>, K>, import("Object/At").AtBasic<{
|
|
227
|
+
id: string;
|
|
228
|
+
position: number;
|
|
229
|
+
name: any;
|
|
230
|
+
timestamp: string;
|
|
231
|
+
data: T | undefined;
|
|
232
|
+
version: number | null;
|
|
233
|
+
stream: string;
|
|
234
|
+
metadata: {
|
|
235
|
+
causationId?: string | undefined;
|
|
236
|
+
correlationId?: string | undefined;
|
|
237
|
+
};
|
|
238
|
+
}, K>, K, keyof import("List/ObjectOf").ObjectOf<import("Object/Pick")._Pick<{
|
|
239
|
+
id: string;
|
|
240
|
+
position: number;
|
|
241
|
+
name: any;
|
|
242
|
+
timestamp: string;
|
|
243
|
+
data: T | undefined;
|
|
244
|
+
version: number | null;
|
|
245
|
+
stream: string;
|
|
246
|
+
metadata: {
|
|
247
|
+
causationId?: string | undefined;
|
|
248
|
+
correlationId?: string | undefined;
|
|
249
|
+
};
|
|
250
|
+
}, import("Object/SelectKeys")._SelectKeys<{
|
|
251
|
+
id: string;
|
|
252
|
+
position: number;
|
|
253
|
+
name: any;
|
|
254
|
+
timestamp: string;
|
|
255
|
+
data: T | undefined;
|
|
256
|
+
version: number | null;
|
|
257
|
+
stream: string;
|
|
258
|
+
metadata: {
|
|
259
|
+
causationId?: string | undefined;
|
|
260
|
+
correlationId?: string | undefined;
|
|
261
|
+
};
|
|
262
|
+
}, undefined, "default">> extends infer T_1 ? { [K in keyof T_1]?: T_1[K] | undefined; } : never>>; }, true>;
|
|
263
|
+
export type GetMessageType<Payload> = Payload extends (() => EventInstance<infer T>) ? T : unknown;
|
|
264
|
+
export type Builder<T = any> = {
|
|
265
|
+
build: () => T;
|
|
266
|
+
};
|
|
267
|
+
export type GetBuilderType<T> = T extends (Builder<infer InnerT>) ? InnerT : T;
|
|
268
|
+
export type SubscriptionOptions = {
|
|
269
|
+
snapshot?: boolean;
|
|
270
|
+
changes?: 'delta' | 'signal';
|
|
271
|
+
};
|
|
272
|
+
export type ReadmodelSubscription<Model extends Document = any> = {
|
|
273
|
+
id: string;
|
|
274
|
+
res: ResponseObject;
|
|
275
|
+
filter: CollectionFilter<Model>[];
|
|
276
|
+
userId?: string;
|
|
277
|
+
subscriptionName?: string;
|
|
278
|
+
accountId?: string;
|
|
279
|
+
options?: SubscriptionOptions;
|
|
280
|
+
/**
|
|
281
|
+
* The request that OPENED this subscription, retained verbatim so a
|
|
282
|
+
* `responseFormatter` can be applied per subscriber with the same
|
|
283
|
+
* `EndpointActionParams` shape the query path passes.
|
|
284
|
+
*
|
|
285
|
+
* Snapshot semantics: this is captured once and never refreshed. Permission
|
|
286
|
+
* and query-param changes do not reach an open subscription — the client
|
|
287
|
+
* re-subscribes (teselly TV1-2284).
|
|
288
|
+
*/
|
|
289
|
+
caller?: EndpointActionParams;
|
|
290
|
+
};
|
|
291
|
+
export type ReadStreamOptions = {
|
|
292
|
+
stream?: string;
|
|
293
|
+
direction?: 'forwards' | 'backwards';
|
|
294
|
+
/** Event position */
|
|
295
|
+
from?: number;
|
|
296
|
+
/** Event position */
|
|
297
|
+
to?: number;
|
|
298
|
+
limit?: number;
|
|
299
|
+
events?: string[];
|
|
300
|
+
/** Date in ISO 8601 format */
|
|
301
|
+
before?: string;
|
|
302
|
+
/** Date in ISO 8601 format */
|
|
303
|
+
after?: string;
|
|
304
|
+
correlationId?: string;
|
|
305
|
+
userId?: string;
|
|
306
|
+
};
|
|
307
|
+
export type ReadMultipleStreamOptions = {
|
|
308
|
+
streams: Record<string, ReadStreamOptions>;
|
|
309
|
+
};
|
|
310
|
+
export type EventSourcingLibraryType<METADATA = any, USER = any> = Pick<EventSourcingCommandHandlers<USER>, 'executeCommand' | 'loadAggregateState' | 'loadStream'> & {
|
|
311
|
+
routeEventHandler: (eventHandler: EventHandler | Builder<EventHandler>) => void;
|
|
312
|
+
routeCommandHandler: (commandHandler: System) => void;
|
|
313
|
+
handleEvent: (eventHandler: EventHandler, executeCommand: ExecuteCommandFunction<USER>) => (event: CommittedEvent) => Promise<any>;
|
|
314
|
+
logEventsourcingRoutes: () => void;
|
|
315
|
+
defaultQueryHandler: QueryHandler<USER>;
|
|
316
|
+
AggregateBuilder: AggregateBuilderFunctionType<METADATA, USER>;
|
|
317
|
+
ExternalSystemBuilder: ExternalSystemBuilderFunctionType<METADATA, USER>;
|
|
318
|
+
ReadmodelBuilder: ReadmodelBuilderFunction<USER>;
|
|
319
|
+
PolicyBuilder: PolicyBuilderFunction;
|
|
320
|
+
registeredEndpoints: EventsourcingRegisteredEndpoints;
|
|
321
|
+
};
|
|
322
|
+
//# sourceMappingURL=eventsourcing.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventsourcing.types.d.ts","sourceRoot":"","sources":["../../src/eventsourcing/eventsourcing.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CommittedEventSchema = exports.EventMetadataBaseSchema = exports.Event = void 0;
|
|
7
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
const Event = (eventInstance) => eventInstance;
|
|
9
|
+
exports.Event = Event;
|
|
10
|
+
exports.EventMetadataBaseSchema = jsonschema_definer_1.default.shape({
|
|
11
|
+
causationId: jsonschema_definer_1.default.string().optional(),
|
|
12
|
+
correlationId: jsonschema_definer_1.default.string().optional()
|
|
13
|
+
}).additionalProperties(true);
|
|
14
|
+
const ensureArray = (maybeArray) => Array.isArray(maybeArray) ? maybeArray : [maybeArray];
|
|
15
|
+
const CommittedEventSchema = (payloadSchema, names) => jsonschema_definer_1.default.shape({
|
|
16
|
+
id: jsonschema_definer_1.default.string(),
|
|
17
|
+
position: jsonschema_definer_1.default.number(),
|
|
18
|
+
name: (names ? jsonschema_definer_1.default.string().enum(...ensureArray(names)) : jsonschema_definer_1.default.string()),
|
|
19
|
+
timestamp: jsonschema_definer_1.default.string().format('date-time'),
|
|
20
|
+
data: payloadSchema.optional(),
|
|
21
|
+
version: jsonschema_definer_1.default.number().nullable(),
|
|
22
|
+
stream: jsonschema_definer_1.default.string(),
|
|
23
|
+
metadata: exports.EventMetadataBaseSchema
|
|
24
|
+
});
|
|
25
|
+
exports.CommittedEventSchema = CommittedEventSchema;
|
|
26
|
+
//# sourceMappingURL=eventsourcing.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventsourcing.types.js","sourceRoot":"","sources":["../../src/eventsourcing/eventsourcing.types.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA6E;AAyDtE,MAAM,KAAK,GAAG,CAAW,aAAqC,EAA2B,EAAE,CAAC,aAAa,CAAC;AAApG,QAAA,KAAK,GAAL,KAAK,CAA+F;AAIpG,QAAA,uBAAuB,GAAG,4BAAC,CAAC,KAAK,CAAC;IAC7C,WAAW,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC,oBAAoB,CAAE,IAAI,CAAE,CAAC;AAiChC,MAAM,WAAW,GAAG,CAAE,UAAe,EAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAE,UAAU,CAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAE5F,MAAM,oBAAoB,GAAG,CAAK,aAA4B,EAAE,KAAyB,EAAE,EAAE,CAAC,4BAAC,CAAC,KAAK,CAAC;IAC3G,EAAE,EAAE,4BAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,4BAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAE,KAAK,CAAC,CAAC,CAAC,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAE,GAAG,WAAW,CAAE,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,4BAAC,CAAC,MAAM,EAAE,CAAC;IACvE,SAAS,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAE,WAAW,CAAE;IAC3C,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,4BAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,QAAA,uBAAuB;CAClC,CAAC,CAAC;AATU,QAAA,oBAAoB,GAApB,oBAAoB,CAS9B"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export type
|
|
4
|
-
|
|
1
|
+
import { BaseSchema } from '@bett3r-dev/jsonschema-definer';
|
|
2
|
+
import { Builder, Command, CommandBuilderType, CommandTemplate, EventFactory, System } from '.';
|
|
3
|
+
export type ExternalSystemBuilderFunctionType<METADATA = any, USER = any> = <Model, EVENTS extends Record<string, EventFactory>>(events: EVENTS, schema?: BaseSchema<Model>, system?: Partial<System>) => ExternalSystemBuilderType<METADATA, USER, Model, EVENTS>;
|
|
4
|
+
export type ExternalSystemBuilderType<METADATA = any, USER = any, Model = any, EVENTS extends Record<string, EventFactory> = any> = {
|
|
5
|
+
withCommandTemplate: (template: CommandTemplate<EVENTS, Extract<keyof EVENTS, string>, Model>) => ExternalSystemBuilderType<METADATA, USER, Model, EVENTS>;
|
|
6
|
+
withSubdomain: (subdomain: string) => ExternalSystemBuilderType<METADATA, USER, Model, EVENTS>;
|
|
5
7
|
/**
|
|
6
8
|
* This is the last function that builds the aggregate, the last function you'll call
|
|
7
9
|
*/
|
|
8
|
-
withCommands: <EVENT extends keyof EVENTS, Commands extends Record<string, Command<EVENTS, EVENT, Model> | Builder<Command<EVENTS, EVENT, Model>>>>(commands: (params: {
|
|
9
|
-
commandBuilder: CommandBuilderType<Model, EVENTS>;
|
|
10
|
-
createEvent: CreateEventType<System<any, EVENTS>>;
|
|
10
|
+
withCommands: <EVENT extends Extract<keyof EVENTS, string>, Commands extends Record<string, Command<EVENTS, EVENT, Model> | Builder<Command<EVENTS, EVENT, Model>>>>(commands: (params: {
|
|
11
|
+
commandBuilder: CommandBuilderType<METADATA, USER, Model, EVENTS>;
|
|
11
12
|
}) => Commands) => System<Commands, EVENTS>;
|
|
12
13
|
system: System<any, EVENTS>;
|
|
13
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"externalSystemBuilder.d.ts","sourceRoot":"","sources":["../../src/eventsourcing/externalSystemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"externalSystemBuilder.d.ts","sourceRoot":"","sources":["../../src/eventsourcing/externalSystemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAEhG,MAAM,MAAM,iCAAiC,CAAC,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAM,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAErQ,MAAM,MAAM,yBAAyB,CAAC,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAC,GAAG,IAAI;IAEhI,mBAAmB,EAAE,CAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,KAAM,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE5J,aAAa,EAAE,CAAE,SAAS,EAAE,MAAM,KAAM,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAEhG;;OAEG;IACH,YAAY,EAAE,CACZ,KAAK,SAAS,OAAO,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,EAC3C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACrG,QAAQ,EAAE,CAAE,MAAM,EAAE;QACtB,cAAc,EAAE,kBAAkB,CAAC,QAAQ,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KAClE,KAAK,QAAQ,KAAM,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC5C,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;CAC5B,CAAC"}
|