Skip to content

Commit cedcb3d

Browse files
authored
CCM-11327: Remove client config (#1)
* CCM-11327: Update README with purpose of this repo * CCM-11327: Remove client-specific model files
1 parent 991c465 commit cedcb3d

33 files changed

Lines changed: 2032 additions & 2773 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ dist
2525
/.idea
2626

2727
.env
28+
/.envrc

README.md

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,40 @@
1-
# NHS Notify Config
1+
# NHS Notify Supplier Config
22

3-
This repository contains code and schemas for NHS Notify configuration management, event publishing, and onboarding automation.
3+
This repository contains code and schemas for NHS Notify supplier configuration management and event publishing.
44

55
## Purpose
66

7-
- **Configuration Model:** Defines and manages client, campaign, quota, supplier, and routing configuration for NHS Notify.
8-
- **Event Schemas:** Publishes configuration changes as events to an event bus for consumption by other system components.
9-
- **Onboarding Automation:** Automates and streamlines the onboarding of new integrators, supporting self-serve and admin-driven workflows.
7+
- **Configuration Model:** Defines and manages supplier, quota, routing, and related configuration for NHS Notify
8+
suppliers.
9+
- **Event Schemas:** Publishes configuration changes as events to an event bus for consumption by other system
10+
components.
1011

1112
## Design
1213

1314
### Configuration Management
1415

15-
A phased approach will be used to improve client configuration management:
16+
A phased approach will be used to improve supplier configuration management:
1617

1718
1. **Libraries & Validation:** Standardise configuration and naming, reduce manual errors, and improve auditability.
18-
2. **API Layer:** Centralise access to configuration data.
19-
3. **Web UI:** Enable operations/admin teams to manage configuration with validation and audit trails.
19+
2. **API Layer:** Centralise access to supplier configuration data.
20+
3. **Web UI:** Enable operations/admin teams to manage supplier configuration with validation and audit trails.
2021

2122
Configuration entities include:
2223

23-
- `client`, `campaign`, `client_feature`, `client_quota`, `client_subscription`
24-
- `mesh_mailbox`, `apim_application`, `govuknotify_account`
25-
- `supplier_quota`, `channel_supplier`, `queue`, `suppression_filter`, `additional_mesh_report_subscription`
24+
- `supplier_quota`, `channel_supplier`, `queue`, `suppression_filter`, `govuknotify_account`
2625

2726
Configuration changes are validated, auditable, and published to environments via an event bus.
2827

2928
### Event Publishing
3029

31-
Configuration changes are published as events to a central event bus, enabling decoupled updates across bounded contexts (core, print supplier API, template/routing UI, user management, etc.).
30+
Configuration changes are published as events to a central event bus, enabling decoupled updates across bounded
31+
contexts (core, print supplier API, template/routing UI, user management, etc.).
3232

3333
Event publishing strategies include:
3434

3535
- CLI tools (tactical)
36-
- Scheduled audit tasks (tactical)
3736
- Admin/Web UI (strategic, single source of truth)
3837

39-
### Onboarding Automation
40-
41-
Quick Start onboarding will enable rapid, self-serve client setup in INT:
42-
43-
- **Phase 1:** CLI/script automation using minimal data (client name, APIM ID, etc.)
44-
- **Phase 2:** Web UI for onboarding, protected by CIS2 auth, triggers config change events
45-
- **Phase 3:** Admin UI for incremental client config management and production promotion
46-
- **Phase 4:** Full self-serve onboarding via Web UI (admin approval for production)
47-
4838
## Usage
4939

5040
### Testing

package-lock.json

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

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"tsx": "^4.19.3",
3535
"typescript-eslint": "^8.35.1"
3636
},
37-
"name": "nhs-notify-config",
37+
"name": "nhs-notify-supplier-config",
3838
"overrides": {
3939
"pretty-format": {
4040
"react-is": "19.0.0"

packages/event-builder/jest.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const config: Config = {
66
testMatch: ["**/__tests__/**/*.ts", "**/?(*.)+(spec|test).ts"],
77
moduleFileExtensions: ["ts", "js", "json", "node"],
88
moduleNameMapper: {
9-
"@nhsdigital/nhs-notify-config-schemas$":
9+
"@nhsdigital/nhs-notify-supplier-config-schemas$":
1010
"<rootDir>/../../packages/schemas/src",
1111
},
1212
};

packages/event-builder/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
3-
"@nhsdigital/nhs-notify-config-schemas": "1.0.0",
3+
"@nhsdigital/nhs-notify-supplier-config-schemas": "1.0.0",
44
"csv-parse": "^5.6.0",
55
"zod": "^4.0.17"
66
},
@@ -14,7 +14,7 @@
1414
"jest-mock-extended": "^3.0.7",
1515
"typescript": "^5.8.2"
1616
},
17-
"name": "nhs-notify-config-event-builder",
17+
"name": "nhs-notify-supplier-config-event-builder",
1818
"private": true,
1919
"scripts": {
2020
"build": "tsc",

packages/event-builder/src/__tests__/build-client-changed-event.spec.ts

Lines changed: 0 additions & 25 deletions
This file was deleted.

packages/event-builder/src/config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ export const loadConfig = () => {
88
return $Config.parse(process.env);
99
};
1010

11-
export const eventSource = "//notify.nhs.uk/app/nhs-notify-config-dev/main";
11+
export const eventSource =
12+
"//notify.nhs.uk/app/nhs-notify-supplier-config-dev/main";

packages/event-builder/src/event-builder.ts

Lines changed: 0 additions & 34 deletions
This file was deleted.

packages/event-builder/src/examples/client-changed-1.0.0.json

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)