fix: harden invalidation registry governance
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"schemaVersion": 2,
|
||||
"sourceDirectories": [],
|
||||
"registries": [
|
||||
{
|
||||
"registryId": "FIXTURE-DUPLICATE-INVALIDATION-EDGES",
|
||||
"path": "tests/fixtures/registry/invalidation/registries.ts",
|
||||
"exportName": "DUPLICATE_INVALIDATION_REGISTRY",
|
||||
"rowsPath": "edges",
|
||||
"rowKeyFields": [
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
],
|
||||
"owner": "fixture",
|
||||
"requiredFields": [
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
],
|
||||
"fieldTypes": {
|
||||
"topicId": "string",
|
||||
"namespace.namespaceId": "string",
|
||||
"namespace.namespaceVersion": "integer"
|
||||
},
|
||||
"uniqueFieldSets": [
|
||||
[
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
]
|
||||
],
|
||||
"breakingFields": [
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"schemaVersion": 2,
|
||||
"sourceDirectories": [],
|
||||
"registries": [
|
||||
{
|
||||
"registryId": "FIXTURE-INVALIDATION-EDGES",
|
||||
"path": "tests/fixtures/registry/invalidation/registries.ts",
|
||||
"exportName": "INVALIDATION_REGISTRY",
|
||||
"rowsPath": "edges",
|
||||
"rowKeyFields": [
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
],
|
||||
"owner": "fixture",
|
||||
"requiredFields": [
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
],
|
||||
"fieldTypes": {
|
||||
"topicId": "string",
|
||||
"namespace.namespaceId": "string",
|
||||
"namespace.namespaceVersion": "integer"
|
||||
},
|
||||
"uniqueFieldSets": [
|
||||
[
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
]
|
||||
],
|
||||
"breakingFields": [
|
||||
"topicId",
|
||||
"namespace.namespaceId",
|
||||
"namespace.namespaceVersion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"registryId": "FIXTURE-INVALIDATION-VERSIONS",
|
||||
"path": "tests/fixtures/registry/invalidation/registries.ts",
|
||||
"exportName": "INVALIDATION_TOPIC_VERSIONS",
|
||||
"rowKeyFields": ["topicId"],
|
||||
"owner": "fixture",
|
||||
"requiredFields": ["topicId", "topicVersion"],
|
||||
"fieldTypes": {
|
||||
"topicId": "string",
|
||||
"topicVersion": "integer"
|
||||
},
|
||||
"uniqueFields": ["topicId"],
|
||||
"breakingFields": ["topicId", "topicVersion"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
const namespace = Object.freeze({
|
||||
namespaceId: "orders",
|
||||
namespaceVersion: 1,
|
||||
});
|
||||
const reverseNamespace = Object.freeze({
|
||||
namespaceId: "qinv.fixture.changed",
|
||||
namespaceVersion: 1,
|
||||
});
|
||||
|
||||
export const INVALIDATION_REGISTRY = Object.freeze({
|
||||
topics: Object.freeze(["qinv.fixture.changed", "orders"]),
|
||||
namespaces: Object.freeze([namespace, reverseNamespace]),
|
||||
edges: Object.freeze([
|
||||
Object.freeze({
|
||||
topicId: "qinv.fixture.changed",
|
||||
namespace,
|
||||
}),
|
||||
Object.freeze({
|
||||
topicId: "orders",
|
||||
namespace: reverseNamespace,
|
||||
}),
|
||||
]),
|
||||
});
|
||||
|
||||
export const INVALIDATION_TOPIC_VERSIONS = Object.freeze([
|
||||
Object.freeze({
|
||||
topicId: "qinv.fixture.changed",
|
||||
topicVersion: 1,
|
||||
}),
|
||||
Object.freeze({
|
||||
topicId: "orders",
|
||||
topicVersion: 1,
|
||||
}),
|
||||
]);
|
||||
|
||||
export const DUPLICATE_INVALIDATION_REGISTRY = Object.freeze({
|
||||
topics: INVALIDATION_REGISTRY.topics,
|
||||
namespaces: INVALIDATION_REGISTRY.namespaces,
|
||||
edges: Object.freeze([
|
||||
INVALIDATION_REGISTRY.edges[0],
|
||||
Object.freeze({
|
||||
topicId: "qinv.fixture.changed",
|
||||
namespace: Object.freeze({
|
||||
namespaceId: "orders",
|
||||
namespaceVersion: 1,
|
||||
}),
|
||||
}),
|
||||
]),
|
||||
});
|
||||
Reference in New Issue
Block a user