Skip to content

Commit 607d6a5

Browse files
committed
CCM-12896: Changes following self-review
1 parent cff2194 commit 607d6a5

File tree

9 files changed

+528
-18
lines changed

9 files changed

+528
-18
lines changed

package-lock.json

Lines changed: 493 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/digital-letters-events/README.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,26 @@ try:
100100
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-pdm-resource-submitted-data.schema.json",
101101
"specversion": "1.0",
102102
"id": "0249e529-f947-4012-819e-b634eb71be79",
103-
"subject": "pdm-resource-123",
104-
"time": "2025-12-11T10:00:00Z",
103+
"subject": "customer/7ff8ed41-cd5f-20e4-ef4e-34f96d8cc8ac/75027ace-9b8c-bcfe-866e-6c24242cffc3/q58dnxk5e/4cbek805wwx/yiaw7bl0d/her/1ccb7eb8-c6fe-0a42-279a-2a0e48ff1ca9/zk",
104+
"time": "2025-11-21T16:01:52.268Z",
105+
"datacontenttype": "application/json",
106+
"traceparent": "00-ee4790eb6821064c645406abe918b3da-3a4e6957ce2a15de-01",
107+
"tracestate": "nisi quis",
108+
"partitionkey": "customer-7ff8ed41",
109+
"recordedtime": "2025-11-21T16:01:53.268Z",
110+
"sampledrate": 1,
111+
"sequence": "00000000000350773861",
112+
"severitytext": "INFO",
113+
"severitynumber": 2,
114+
"dataclassification": "restricted",
115+
"dataregulation": "ISO-27001",
116+
"datacategory": "non-sensitive",
105117
"data": {
106-
"something": "example value"
107-
}
118+
"messageReference": "incididunt Ut aute laborum",
119+
"senderId": "officia voluptate culpa Ut dolor",
120+
"resourceId": "a2bcbb42-ab7e-42b6-88d6-74f8d3ca4a09",
121+
"retryCount": 97_903_257,
122+
},
108123
}
109124

110125
# Create and validate the event
@@ -113,7 +128,8 @@ try:
113128
# Access validated fields
114129
print(event.id)
115130
print(event.type)
116-
print(event.data.something)
131+
print(event.data.messageReference)
117132
except Exception as e:
118133
print(e)
134+
raise ValueError("Error processing event") from e
119135
```

src/python-schema-generator/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"dependencies": {
33
"json-schema-merge-allof": "^0.8.1",
4+
"tsx": "^4.21.0",
45
"utils": "^0.0.1"
56
},
67
"description": "A tool to generate Python classes for the application's event schemas.",
@@ -11,7 +12,8 @@
1112
"@types/node": "^25.0.2",
1213
"eslint": "^9.39.2",
1314
"jest": "^29.7.0",
14-
"mock-fs": "^5.5.0"
15+
"mock-fs": "^5.5.0",
16+
"typescript": "^5.9.3"
1517
},
1618
"name": "python-schema-generator",
1719
"private": true,

src/python-schema-generator/src/merge-allof.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export function mergeAllOfInSchemas(): void {
88
const eventSchemaFilenames = listEventSchemas();
99

1010
const outputDir = createOutputDir('schemas');
11-
1211
console.log(`Output directory created at ${outputDir}`);
1312

1413
console.group('Merging allOf entries in schemas:');

src/typescript-schema-generator/src/__tests__/generate-types.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
/* eslint-disable security/detect-non-literal-fs-filename */
22

3+
import { destinationPackageName } from 'file-utils';
34
import { generateTypes } from 'generate-types';
45
import { compile } from 'json-schema-to-typescript';
56
import mockFs from 'mock-fs';
67
import { readFileSync, readdirSync } from 'node:fs';
78
import path from 'node:path';
8-
import { destinationPackageName, eventSchemasDir } from 'utils';
9+
import { eventSchemasDir } from 'utils';
910

1011
jest.mock('json-schema-to-typescript');
1112

src/typescript-schema-generator/src/__tests__/generate-validators.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
/* eslint-disable security/detect-non-literal-fs-filename */
22
import standaloneCode from 'ajv/dist/standalone';
3+
import { destinationPackageName } from 'file-utils';
34
import { generateValidators } from 'generate-validators';
45
import mockFs from 'mock-fs';
56
import { readFileSync, readdirSync } from 'node:fs';
67
import path from 'node:path';
7-
import { destinationPackageName, eventSchemasDir } from 'utils';
8+
import { eventSchemasDir } from 'utils';
89

910
jest.mock('ajv/dist/2020');
1011
jest.mock('ajv/dist/standalone');

src/typescript-schema-generator/src/file-utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
import { mkdirSync, writeFileSync } from 'node:fs';
55
import path from 'node:path';
6-
import { destinationPackageName } from 'utils';
6+
7+
export const destinationPackageName = 'digital-letters-events';
78

89
/**
910
* Creates the specified output directory if it doesn't exist.

src/typescript-schema-generator/src/generate-validators.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ import path from 'node:path';
55
import Ajv from 'ajv/dist/2020';
66

77
import standaloneCode from 'ajv/dist/standalone';
8-
import { createOutputDir, writeFile, writeTypesIndex } from 'file-utils';
98
import {
9+
createOutputDir,
1010
destinationPackageName,
11-
eventSchemasDir,
12-
listEventSchemas,
13-
loadSchema,
14-
} from 'utils';
11+
writeFile,
12+
writeTypesIndex,
13+
} from 'file-utils';
14+
import { eventSchemasDir, listEventSchemas, loadSchema } from 'utils';
1515

1616
export function generateValidators() {
1717
const ajv = new Ajv({

utils/utils/src/schema-utils/schema-utils.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ export const eventSchemasDir = path.resolve(
1616
'events',
1717
);
1818

19-
export const destinationPackageName = 'digital-letters-events';
20-
2119
/**
2220
* Lists all event schema filenames in the digital letters schemas directory.
2321
*

0 commit comments

Comments
 (0)