perf(cmpp): decouple supplier result callbacks
This commit is contained in:
@@ -40,6 +40,17 @@ function assertIsoDateTime(value, field, file) {
|
||||
function validateExample(fileName) {
|
||||
const fullPath = join(examplesDir, fileName);
|
||||
const payload = JSON.parse(readFileSync(fullPath, 'utf8'));
|
||||
if (fileName === 'submit-result-outbox-event.json') {
|
||||
for (const field of ['schemaVersion', 'eventId', 'eventType', 'path', 'messageId', 'channelId', 'submitId', 'payload', 'createdAt']) {
|
||||
assert(Object.hasOwn(payload, field), `${fileName}: missing ${field}`);
|
||||
}
|
||||
assert(payload.schemaVersion === 'v1', `${fileName}: schemaVersion must be v1`);
|
||||
assert(['submit_result', 'submit_segment_result'].includes(payload.eventType), `${fileName}: unsupported eventType`);
|
||||
assert(['/gateway/events/submit-result', '/gateway/events/submit-segment-result'].includes(payload.path), `${fileName}: unsupported path`);
|
||||
assert(payload.payload?.eventId === payload.eventId, `${fileName}: payload.eventId must match eventId`);
|
||||
assertIsoDateTime(payload.createdAt, 'createdAt', fileName);
|
||||
return `${fileName}: ${payload.eventType} ok`;
|
||||
}
|
||||
const type = payload.messageType;
|
||||
|
||||
assert(validTypes.has(type), `${fileName}: unsupported messageType ${type}`);
|
||||
|
||||
Reference in New Issue
Block a user