@cratis/chronicle 6.41.0 → 6.41.1
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/compliance/for_PIIManager/against_a_kernel/when_erasing_a_subject.integration.spec.ts +4 -4
- package/compliance/resolveEventSubject.ts +19 -0
- package/compliance/subject.ts +2 -2
- package/dist/compliance/resolveEventSubject.d.ts +3 -0
- package/dist/compliance/resolveEventSubject.d.ts.map +1 -0
- package/dist/compliance/resolveEventSubject.js +21 -0
- package/dist/compliance/resolveEventSubject.js.map +1 -0
- package/dist/compliance/subject.d.ts +2 -2
- package/dist/compliance/subject.js +2 -2
- package/dist/eventSequences/AppendOptions.d.ts +1 -1
- package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
- package/dist/eventSequences/EventForEventSourceId.d.ts +1 -1
- package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +2 -2
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/eventSequences/prepareBatchAppend.d.ts.map +1 -1
- package/dist/eventSequences/prepareBatchAppend.js +2 -1
- package/dist/eventSequences/prepareBatchAppend.js.map +1 -1
- package/dist/eventSequences/prepareSingleAppend.d.ts +1 -0
- package/dist/eventSequences/prepareSingleAppend.d.ts.map +1 -1
- package/dist/eventSequences/prepareSingleAppend.js +3 -1
- package/dist/eventSequences/prepareSingleAppend.js.map +1 -1
- package/dist/testing/InProcessEventSequence.d.ts.map +1 -1
- package/dist/testing/InProcessEventSequence.js +16 -6
- package/dist/testing/InProcessEventSequence.js.map +1 -1
- package/dist/testing/ReadModelScenario.d.ts.map +1 -1
- package/dist/testing/ReadModelScenario.js +4 -0
- package/dist/testing/ReadModelScenario.js.map +1 -1
- package/dist/testing/singleAppendRoute.d.ts +1 -1
- package/dist/testing/singleAppendRoute.d.ts.map +1 -1
- package/dist/testing/singleAppendRoute.js +8 -4
- package/dist/testing/singleAppendRoute.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eventSequences/AppendOptions.ts +1 -1
- package/eventSequences/EventForEventSourceId.ts +1 -1
- package/eventSequences/EventSequence.ts +2 -2
- package/eventSequences/for_EventSequence/when_appending/subject_behaviors.fixture.ts +239 -0
- package/eventSequences/for_EventSequence/when_appending/with_subject_annotations.spec.ts +34 -0
- package/eventSequences/for_EventSequence/when_appending/with_subject_annotations.standard.spec.ts +38 -0
- package/eventSequences/prepareBatchAppend.ts +2 -1
- package/eventSequences/prepareSingleAppend.ts +3 -1
- package/package.json +2 -2
- package/testing/EventScenario.batches.spec.ts +2 -2
- package/testing/EventScenario.fixtures.spec.ts +2 -2
- package/testing/EventScenario.rejections.spec.ts +2 -2
- package/testing/InProcessEventSequence.ts +17 -6
- package/testing/ReadModelScenario.spec.ts +31 -0
- package/testing/ReadModelScenario.ts +4 -0
- package/testing/for_EventScenario/when_appending_scoped_constraints/with_unproven_operations.spec.ts +1 -1
- package/testing/for_ReadModelScenario/when_seeding_with_options/with_route_validation.spec.ts +11 -1
- package/testing/singleAppendRoute.spec.ts +19 -0
- package/testing/singleAppendRoute.ts +9 -4
package/compliance/for_PIIManager/against_a_kernel/when_erasing_a_subject.integration.spec.ts
CHANGED
|
@@ -24,7 +24,7 @@ const connectionString = process.env.CHRONICLE_INTEGRATION_CONNECTION_STRING;
|
|
|
24
24
|
|
|
25
25
|
@eventType()
|
|
26
26
|
class PersonRegistered {
|
|
27
|
-
@field(String) personId = '';
|
|
27
|
+
@subject() @field(String) personId = '';
|
|
28
28
|
@pii('The name of the person') @field(String) name = '';
|
|
29
29
|
@field(String) department = '';
|
|
30
30
|
}
|
|
@@ -98,8 +98,8 @@ describe.skipIf(!connectionString && !process.env.CI)('when erasing a subject ag
|
|
|
98
98
|
}));
|
|
99
99
|
store = await client.getEventStore(`Pii${randomUUID().replaceAll('-', '').slice(0, 12)}`);
|
|
100
100
|
|
|
101
|
-
// The event source is the registration; the
|
|
102
|
-
appended = await store.eventLog.append(eventSourceId, Object.assign(new PersonRegistered(), { personId, name, department: 'Accounting' })
|
|
101
|
+
// The event source is the registration; the annotated subject is the person the PII belongs to.
|
|
102
|
+
appended = await store.eventLog.append(eventSourceId, Object.assign(new PersonRegistered(), { personId, name, department: 'Accounting' }));
|
|
103
103
|
|
|
104
104
|
eventBefore = await readEvent();
|
|
105
105
|
projectedBefore = await eventually(() => store.readModels.findInstanceById(RegisteredPerson, eventSourceId), _ => _ !== null);
|
|
@@ -117,7 +117,7 @@ describe.skipIf(!connectionString && !process.env.CI)('when erasing a subject ag
|
|
|
117
117
|
afterAll(() => client?.dispose());
|
|
118
118
|
|
|
119
119
|
it('should append the event', () => appended.isSuccess.should.be.true);
|
|
120
|
-
it('should record the
|
|
120
|
+
it('should record the annotated subject on the event', () => eventBefore.context.subject!.should.equal(personId));
|
|
121
121
|
it('should read the event released', () => eventBefore.content.name!.should.equal(name));
|
|
122
122
|
it('should read the projected read model released', () => projectedBefore!.name.should.equal(name));
|
|
123
123
|
it('should read the reduced read model released', () => reducedBefore!.name.should.equal(name));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { TypeIntrospector } from '../types/TypeIntrospector.js';
|
|
5
|
+
import { hasSubjectMetadata } from './subject.js';
|
|
6
|
+
|
|
7
|
+
/** Resolves the first annotated event property using the .NET SubjectResolver's value semantics. */
|
|
8
|
+
export function resolveEventSubject(event: object): string | undefined {
|
|
9
|
+
const type = event.constructor;
|
|
10
|
+
const property = TypeIntrospector.getTrackedProperties(type)
|
|
11
|
+
.find(property => hasSubjectMetadata(type.prototype, property));
|
|
12
|
+
if (property === undefined) return undefined;
|
|
13
|
+
const value: unknown = Reflect.get(event, property);
|
|
14
|
+
if (value === undefined || value === null) return undefined;
|
|
15
|
+
// Strings (including empty strings) are subjects; concepts and other values use ToString.
|
|
16
|
+
if (typeof value === 'string') return value;
|
|
17
|
+
const subject = value.toString();
|
|
18
|
+
return subject === null || subject === undefined || subject === '' ? undefined : subject;
|
|
19
|
+
}
|
package/compliance/subject.ts
CHANGED
|
@@ -17,8 +17,8 @@ const SUBJECT_TYPE_METADATA_KEY = 'chronicle:compliance:subject:type';
|
|
|
17
17
|
* encryption key protects that PII, and which key a manual release operation must use.
|
|
18
18
|
*
|
|
19
19
|
* Mirrors the .NET client's `SubjectAttribute`. When no property is decorated, resolvers fall
|
|
20
|
-
* back to the `id` property by convention
|
|
21
|
-
*
|
|
20
|
+
* back to the `id` property by convention for read models, or to the event source identifier
|
|
21
|
+
* for event appends. An explicit append subject option overrides the event annotation.
|
|
22
22
|
*
|
|
23
23
|
* @returns A property decorator.
|
|
24
24
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveEventSubject.d.ts","sourceRoot":"","sources":["../../compliance/resolveEventSubject.ts"],"names":[],"mappings":"AAMA,oGAAoG;AACpG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWrE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
import { TypeIntrospector } from '../types/TypeIntrospector.js';
|
|
4
|
+
import { hasSubjectMetadata } from './subject.js';
|
|
5
|
+
/** Resolves the first annotated event property using the .NET SubjectResolver's value semantics. */
|
|
6
|
+
export function resolveEventSubject(event) {
|
|
7
|
+
const type = event.constructor;
|
|
8
|
+
const property = TypeIntrospector.getTrackedProperties(type)
|
|
9
|
+
.find(property => hasSubjectMetadata(type.prototype, property));
|
|
10
|
+
if (property === undefined)
|
|
11
|
+
return undefined;
|
|
12
|
+
const value = Reflect.get(event, property);
|
|
13
|
+
if (value === undefined || value === null)
|
|
14
|
+
return undefined;
|
|
15
|
+
// Strings (including empty strings) are subjects; concepts and other values use ToString.
|
|
16
|
+
if (typeof value === 'string')
|
|
17
|
+
return value;
|
|
18
|
+
const subject = value.toString();
|
|
19
|
+
return subject === null || subject === undefined || subject === '' ? undefined : subject;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=resolveEventSubject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveEventSubject.js","sourceRoot":"","sources":["../../compliance/resolveEventSubject.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,oGAAoG;AACpG,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC;SACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,0FAA0F;IAC1F,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7F,CAAC"}
|
|
@@ -6,8 +6,8 @@ import { ChroniclePropertyDecorator } from '../types/propertyDecoratorMetadata.j
|
|
|
6
6
|
* encryption key protects that PII, and which key a manual release operation must use.
|
|
7
7
|
*
|
|
8
8
|
* Mirrors the .NET client's `SubjectAttribute`. When no property is decorated, resolvers fall
|
|
9
|
-
* back to the `id` property by convention
|
|
10
|
-
*
|
|
9
|
+
* back to the `id` property by convention for read models, or to the event source identifier
|
|
10
|
+
* for event appends. An explicit append subject option overrides the event annotation.
|
|
11
11
|
*
|
|
12
12
|
* @returns A property decorator.
|
|
13
13
|
*
|
|
@@ -13,8 +13,8 @@ const SUBJECT_TYPE_METADATA_KEY = 'chronicle:compliance:subject:type';
|
|
|
13
13
|
* encryption key protects that PII, and which key a manual release operation must use.
|
|
14
14
|
*
|
|
15
15
|
* Mirrors the .NET client's `SubjectAttribute`. When no property is decorated, resolvers fall
|
|
16
|
-
* back to the `id` property by convention
|
|
17
|
-
*
|
|
16
|
+
* back to the `id` property by convention for read models, or to the event source identifier
|
|
17
|
+
* for event appends. An explicit append subject option overrides the event annotation.
|
|
18
18
|
*
|
|
19
19
|
* @returns A property decorator.
|
|
20
20
|
*
|
|
@@ -13,7 +13,7 @@ export interface AppendOptions {
|
|
|
13
13
|
streamType?: string;
|
|
14
14
|
/** Optional stream identifier. When omitted or empty, the kernel selects the route. */
|
|
15
15
|
streamId?: string;
|
|
16
|
-
/** Optional compliance subject.
|
|
16
|
+
/** Optional compliance subject. Overrides the event's @subject() value; otherwise defaults to the event source identifier. */
|
|
17
17
|
subject?: string;
|
|
18
18
|
/** Optional occurrence time. When omitted, the kernel supplies the timestamp. */
|
|
19
19
|
occurred?: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppendOptions.d.ts","sourceRoot":"","sources":["../../eventSequences/AppendOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,
|
|
1
|
+
{"version":3,"file":"AppendOptions.d.ts","sourceRoot":"","sources":["../../eventSequences/AppendOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8HAA8H;IAC9H,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAEnC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACxD"}
|
|
@@ -15,7 +15,7 @@ export interface EventForEventSourceId {
|
|
|
15
15
|
readonly eventSourceType?: string;
|
|
16
16
|
/** Optional occurrence time. Overrides the shared occurrence time. */
|
|
17
17
|
readonly occurred?: Date;
|
|
18
|
-
/** Optional subject. Overrides AppendOptions.subject
|
|
18
|
+
/** Optional subject. Overrides AppendOptions.subject, then the event's @subject() value, then the event source identifier. */
|
|
19
19
|
readonly subject?: string;
|
|
20
20
|
/**
|
|
21
21
|
* Optional tags to associate with the event. These are combined with any static tags
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventForEventSourceId.d.ts","sourceRoot":"","sources":["../../eventSequences/EventForEventSourceId.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,+GAA+G;IAC/G,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC,mHAAmH;IACnH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,+GAA+G;IAC/G,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEzB,
|
|
1
|
+
{"version":3,"file":"EventForEventSourceId.d.ts","sourceRoot":"","sources":["../../eventSequences/EventForEventSourceId.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,+GAA+G;IAC/G,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC,mHAAmH;IACnH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,+GAA+G;IAC/G,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEzB,8HAA8H;IAC9H,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;CAC/C"}
|
|
@@ -50,7 +50,7 @@ export class EventSequence {
|
|
|
50
50
|
}
|
|
51
51
|
/** @inheritdoc */
|
|
52
52
|
async append(eventSourceId, event, options) {
|
|
53
|
-
const { eventType, correlationId, content, tags, causationChain, identity } = prepareSingleAppend(event, options);
|
|
53
|
+
const { eventType, correlationId, content, tags, causationChain, identity, subject } = prepareSingleAppend(event, options);
|
|
54
54
|
const metricAttributes = {
|
|
55
55
|
'chronicle.event_store': this._eventStoreName,
|
|
56
56
|
'chronicle.namespace': this._namespace,
|
|
@@ -90,7 +90,7 @@ export class EventSequence {
|
|
|
90
90
|
ConcurrencyScope: this.toContractConcurrencyScope(options?.concurrencyScope),
|
|
91
91
|
Tags: tags,
|
|
92
92
|
Occurred: options?.occurred === undefined ? undefined : { Value: options.occurred.toISOString() },
|
|
93
|
-
Subject:
|
|
93
|
+
Subject: subject ?? eventSourceId
|
|
94
94
|
});
|
|
95
95
|
const appendResponse = ensureCommandResponse('append event', response);
|
|
96
96
|
const duration = performance.now() - startTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareBatchAppend.d.ts","sourceRoot":"","sources":["../../eventSequences/prepareBatchAppend.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareBatchAppend.d.ts","sourceRoot":"","sources":["../../eventSequences/prepareBatchAppend.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAQ5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAC9B,qBAAqB,EAAE,MAAM,GAAG,qBAAqB,EAAE,EACvD,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,aAAa,EAC1C,OAAO,CAAC,EAAE,aAAa;;;;;;;;;;;;;YAqCF,EAAE;YAAsB,UAAU;YAA8B,SAAS;;;;;;;;;EAOjG"}
|
|
@@ -7,6 +7,7 @@ import { getEventTypeFor } from '../events/eventTypeDecorator.js';
|
|
|
7
7
|
import { getTagsFor } from '../events/tagDecorator.js';
|
|
8
8
|
import { mergeTags } from '../events/mergeTags.js';
|
|
9
9
|
import { identityProvider } from '../identity/index.js';
|
|
10
|
+
import { resolveEventSubject } from '../compliance/resolveEventSubject.js';
|
|
10
11
|
/** Shared production batch argument validation and wire-event preparation. */
|
|
11
12
|
export function prepareBatchAppend(eventSourceIdOrEvents, eventsOrOptions, options) {
|
|
12
13
|
if (typeof eventSourceIdOrEvents !== 'string' && !Array.isArray(eventSourceIdOrEvents)) {
|
|
@@ -46,7 +47,7 @@ export function prepareBatchAppend(eventSourceIdOrEvents, eventsOrOptions, optio
|
|
|
46
47
|
EventType: { Id: eventType.id.value, Generation: eventType.generation.value, Tombstone: eventType.tombstone },
|
|
47
48
|
Content: JsonSerializer.serialize(event), Tags: tags,
|
|
48
49
|
Occurred: occurrenceTime === undefined ? undefined : { Value: occurrenceTime.toISOString() },
|
|
49
|
-
Subject: subject ?? appendOptions?.subject ?? eventSourceId
|
|
50
|
+
Subject: subject ?? appendOptions?.subject ?? resolveEventSubject(event) ?? eventSourceId
|
|
50
51
|
};
|
|
51
52
|
});
|
|
52
53
|
return { eventsForEventSourceIds, appendOptions, correlationId, batchCausationChain, identity, concurrencyScopes, eventsToAppend };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareBatchAppend.js","sourceRoot":"","sources":["../../eventSequences/prepareBatchAppend.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareBatchAppend.js","sourceRoot":"","sources":["../../eventSequences/prepareBatchAppend.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,6 @@ export declare function prepareSingleAppend(event: object, options?: AppendOptio
|
|
|
8
8
|
tags: string[];
|
|
9
9
|
causationChain: readonly import("../index.js").Causation[];
|
|
10
10
|
identity: import("../index.js").Identity;
|
|
11
|
+
subject: string | undefined;
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=prepareSingleAppend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareSingleAppend.d.ts","sourceRoot":"","sources":["../../eventSequences/prepareSingleAppend.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareSingleAppend.d.ts","sourceRoot":"","sources":["../../eventSequences/prepareSingleAppend.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAQ5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,oGAAoG;AACpG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;;;;;;;;EAYzE"}
|
|
@@ -7,16 +7,18 @@ import { mergeTags } from '../events/mergeTags.js';
|
|
|
7
7
|
import { identityProvider } from '../identity/index.js';
|
|
8
8
|
import { causationManager, CausationType } from '../auditing/index.js';
|
|
9
9
|
import { correlationIdManager } from '../correlation/index.js';
|
|
10
|
+
import { resolveEventSubject } from '../compliance/resolveEventSubject.js';
|
|
10
11
|
/** The production client and in-process scenario share the single-append serialization boundary. */
|
|
11
12
|
export function prepareSingleAppend(event, options) {
|
|
12
13
|
const eventType = getEventTypeFor(event.constructor);
|
|
13
14
|
const correlationId = options?.correlationId === undefined
|
|
14
15
|
? Guid.as(correlationIdManager.current.value)
|
|
15
16
|
: Guid.as(options.correlationId);
|
|
17
|
+
const subject = options?.subject ?? resolveEventSubject(event);
|
|
16
18
|
const content = JsonSerializer.serialize(event);
|
|
17
19
|
const tags = mergeTags(getTagsFor(event.constructor), options?.tags);
|
|
18
20
|
const causationChain = causationManager.run(CausationType.appendEvent, { eventType: eventType.id.value }, () => causationManager.getCurrentChain());
|
|
19
21
|
const identity = identityProvider.getCurrent();
|
|
20
|
-
return { eventType, correlationId, content, tags, causationChain, identity };
|
|
22
|
+
return { eventType, correlationId, content, tags, causationChain, identity, subject };
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=prepareSingleAppend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareSingleAppend.js","sourceRoot":"","sources":["../../eventSequences/prepareSingleAppend.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareSingleAppend.js","sourceRoot":"","sources":["../../eventSequences/prepareSingleAppend.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAG3E,oGAAoG;AACpG,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,OAAuB;IACtE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,WAAuB,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,KAAK,SAAS;QACtD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,WAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,EACpG,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC;IAC/C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InProcessEventSequence.d.ts","sourceRoot":"","sources":["../../testing/InProcessEventSequence.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAI/F,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAMhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAItF,OAAO,EAAE,oBAAoB,EAAgC,MAAM,2BAA2B,CAAC;AAE/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"InProcessEventSequence.d.ts","sourceRoot":"","sources":["../../testing/InProcessEventSequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,10 @@ import { matchesEventField, supportsEventField } from './EventFieldSchema.js';
|
|
|
24
24
|
import { UnsupportedEventSequenceOperation } from './UnsupportedEventSequenceOperation.js';
|
|
25
25
|
// JS trim() omits U+0085, which the kernel trims. Reject unproven non-ASCII whitespace and controls.
|
|
26
26
|
const unprovenFilterCharacters = /[\u007f-\u009f]|(?=[^\x00-\x7f])\p{White_Space}/u;
|
|
27
|
+
function resolveStoredSubject(subject, eventSourceId) {
|
|
28
|
+
// Match the kernel's string.IsNullOrWhiteSpace, including U+0085 but not U+FEFF.
|
|
29
|
+
return subject && !/^\p{White_Space}*$/u.test(subject) ? subject : eventSourceId;
|
|
30
|
+
}
|
|
27
31
|
function matchesConstrainedValue(value, content) {
|
|
28
32
|
// Use production serialization for concepts, not their wrapper object's runtime type.
|
|
29
33
|
// Keep rejecting other unproven conversions, such as a Date assigned to a string field.
|
|
@@ -159,14 +163,14 @@ export class InProcessEventSequence {
|
|
|
159
163
|
throw this.unsupported('append.event', this.id.value, 'Only registered event instances are supported.');
|
|
160
164
|
if (!/^[A-Za-z0-9_-]+$/.test(eventSourceId))
|
|
161
165
|
throw this.unsupported('append.source', eventSourceId, 'Only simple source identifiers are fixture-backed.');
|
|
162
|
-
const route = singleAppendRoute(options, event.constructor.name, (operation, artifact, reason) => this.unsupported(operation, artifact, reason));
|
|
166
|
+
const route = singleAppendRoute(options, event.constructor.name, (operation, artifact, reason) => this.unsupported(operation, artifact, reason), true);
|
|
163
167
|
const metadata = this._catalog.get(event.constructor);
|
|
164
168
|
if (!metadata)
|
|
165
169
|
throw this.unsupported('append.event', event.constructor.name, 'Event is not in the selected, validated catalog.');
|
|
166
170
|
let prepared;
|
|
167
171
|
let content;
|
|
168
172
|
try {
|
|
169
|
-
prepared = prepareSingleAppend(event,
|
|
173
|
+
prepared = prepareSingleAppend(event, { subject: options?.subject, correlationId: this._correlationId?.() });
|
|
170
174
|
content = this.checkedContent(event, prepared.content, 'append.content', 'Content differs from the event schema; null, missing and extra values are not proven.');
|
|
171
175
|
}
|
|
172
176
|
catch (error) {
|
|
@@ -202,7 +206,7 @@ export class InProcessEventSequence {
|
|
|
202
206
|
eventStore: this._store, namespace: this._namespace,
|
|
203
207
|
sequenceNumber: sequenceNumber.value, eventSourceId,
|
|
204
208
|
eventSourceType: route.sourceType, eventStreamType: route.streamType, eventStreamId: route.streamId,
|
|
205
|
-
subject: eventSourceId, hash, causedBy: prepared.identity, observationState: EventObservationState.Initial,
|
|
209
|
+
subject: resolveStoredSubject(prepared.subject, eventSourceId), hash, causedBy: prepared.identity, observationState: EventObservationState.Initial,
|
|
206
210
|
eventType: prepared.eventType, occurred, correlationId: prepared.correlationId.toString(),
|
|
207
211
|
causation: prepared.causationChain.map(item => ({ type: item.type.name, occurred: item.occurred, properties: { ...item.properties } })),
|
|
208
212
|
tags: prepared.tags.map(tag => new Tag(tag))
|
|
@@ -256,6 +260,9 @@ export class InProcessEventSequence {
|
|
|
256
260
|
const individual = entry;
|
|
257
261
|
if (individual.occurred !== undefined)
|
|
258
262
|
this.checkedDate(individual.occurred, 'appendMany.occurred');
|
|
263
|
+
if (individual.subject !== undefined && individual.subject !== null && typeof individual.subject !== 'string') {
|
|
264
|
+
throw this.unsupported('appendMany.subject', this.id.value, 'Subject must be a string.');
|
|
265
|
+
}
|
|
259
266
|
const tags = individual.tags;
|
|
260
267
|
if (tags && (!Array.isArray(tags) || tags.some(tag => typeof tag !== 'string'))) {
|
|
261
268
|
throw this.unsupported('appendMany.tags', this.id.value, 'Only plain string tags are fixture-backed.');
|
|
@@ -293,8 +300,8 @@ export class InProcessEventSequence {
|
|
|
293
300
|
this.validateSource(eventSourceId, 'appendMany.source');
|
|
294
301
|
const wire = eventsToAppend[index];
|
|
295
302
|
for (const [name, value] of Object.entries({ sourceType: wire.EventSourceType, streamType: wire.EventStreamType,
|
|
296
|
-
streamId: wire.EventStreamId
|
|
297
|
-
const identifiers =
|
|
303
|
+
streamId: wire.EventStreamId })) {
|
|
304
|
+
const identifiers = /^[A-Za-z0-9_-]*$/;
|
|
298
305
|
if (value !== undefined && (typeof value !== 'string' || !identifiers.test(value))) {
|
|
299
306
|
throw this.unsupported(`appendMany.${name}`, String(value), 'Only simple metadata identifiers are fixture-backed.');
|
|
300
307
|
}
|
|
@@ -312,7 +319,7 @@ export class InProcessEventSequence {
|
|
|
312
319
|
const stored = { eventType, content, context: {
|
|
313
320
|
eventStore: this._store, namespace: this._namespace, sequenceNumber: sequenceNumber.value, eventSourceId,
|
|
314
321
|
eventSourceType: wire.EventSourceType || 'Default', eventStreamType: wire.EventStreamType || 'All',
|
|
315
|
-
eventStreamId: wire.EventStreamId || 'Default', subject: wire.Subject, hash, causedBy: identity,
|
|
322
|
+
eventStreamId: wire.EventStreamId || 'Default', subject: resolveStoredSubject(wire.Subject, eventSourceId), hash, causedBy: identity,
|
|
316
323
|
observationState: EventObservationState.Initial, eventType, occurred, correlationId: correlationId.toString(),
|
|
317
324
|
causation: batchCausationChain.map(item => ({ type: item.type.name, occurred: item.occurred, properties: { ...item.properties } })),
|
|
318
325
|
tags: wire.Tags.map(tag => new Tag(tag))
|
|
@@ -408,6 +415,9 @@ export class InProcessEventSequence {
|
|
|
408
415
|
options.concurrencyScope !== undefined || options.concurrencyScopes !== undefined || options.eventSourceId !== undefined) {
|
|
409
416
|
throw this.unsupported('appendMany.options', this.id.value, 'Concurrency and unrecognized metadata are not fixture-backed.');
|
|
410
417
|
}
|
|
418
|
+
if (options.subject !== undefined && options.subject !== null && typeof options.subject !== 'string') {
|
|
419
|
+
throw this.unsupported('appendMany.subject', this.id.value, 'Subject must be a string.');
|
|
420
|
+
}
|
|
411
421
|
if (options.tags && (!Array.isArray(options.tags) || options.tags.some(tag => typeof tag !== 'string'))) {
|
|
412
422
|
throw this.unsupported('appendMany.tags', this.id.value, 'Only plain string tags are fixture-backed.');
|
|
413
423
|
}
|