refactor: rename ScadaLink → ZB.MOM.WW.ScadaBridge (code + projects + namespaces)

Solution + 23 src projects + 26 test projects renamed; folders, csproj,
namespaces, and ScadaLinkDbContext/ScadaBridgeDbContext class updated.
ActorSystem "scadalink" → "scadabridge", Akka seed-node URLs migrated.
SQL roles/logins, LDAP domains, CLI command name, and CLI config dir
(~/.scadalink → ~/.scadabridge) also renamed.

Build green; 5 Host.Tests fail awaiting SQL login rename in next commit.
Pre-existing StaleTagMonitor timing flakes unchanged.

Rename script committed at tools/rename-to-scadabridge.sh.
This commit is contained in:
Joseph Doherty
2026-05-28 09:37:45 -04:00
parent 6d87ee3c3b
commit 7b0b9c7365
1531 changed files with 11180 additions and 11054 deletions
+5 -5
View File
@@ -120,7 +120,7 @@
| ID | Constraint | Work Package |
|----|-----------|--------------|
| CD-ConfigDB-1 | Single ScadaLinkDbContext with Fluent API only — no data annotations on entity classes. | WP-1 |
| CD-ConfigDB-1 | Single ScadaBridgeDbContext with Fluent API only — no data annotations on entity classes. | WP-1 |
| CD-ConfigDB-2 | Scoped DbContext registration in DI container. | WP-1 |
| CD-ConfigDB-3 | Optimistic concurrency via rowversion on deployment status records and instance lifecycle state. NOT on templates (last-write-wins). | WP-4 |
| CD-ConfigDB-4 | IAuditService.LogAsync adds AuditLogEntry to current DbContext, committed in same SaveChangesAsync call. | WP-3 |
@@ -179,10 +179,10 @@
### WP-1: Configuration Database — EF Core DbContext, Fluent API Entity Mappings, Initial Migration
**Description**: Implement `ScadaLinkDbContext` with Fluent API mappings for all entity types defined in Commons. Create the initial EF Core migration. Configure scoped registration. Implement environment-aware migration behavior (auto-apply dev, validate-only production).
**Description**: Implement `ScadaBridgeDbContext` with Fluent API mappings for all entity types defined in Commons. Create the initial EF Core migration. Configure scoped registration. Implement environment-aware migration behavior (auto-apply dev, validate-only production).
**Acceptance Criteria**:
1. Single `ScadaLinkDbContext` class maps all Commons POCO entities using Fluent API only — no data annotations on entity classes.
1. Single `ScadaBridgeDbContext` class maps all Commons POCO entities using Fluent API only — no data annotations on entity classes.
2. Fluent API configurations define relationships, indexes, constraints, and value conversions for all entity types (templates, attributes, alarms, scripts, compositions, instances, overrides, connection bindings, areas, shared scripts, sites, data connections, external systems, external system methods, database connections, notification lists, notification recipients, SMTP config, API keys, API methods, LDAP group mappings, site scoping rules, deployment records, system-wide artifact deployment records, audit log entries).
3. Audit log entries table has indexes on Timestamp, User, EntityType, EntityId, and Action.
4. DbContext registered as scoped service in DI container.
@@ -205,7 +205,7 @@
**Acceptance Criteria**:
1. `ISecurityRepository` implementation supports CRUD operations for LDAP group mappings and site scoping rules.
2. `ICentralUiRepository` implementation supports read-oriented queries across domain areas for display purposes, including audit log queries with filtering by user, entity type, action type, time range, and specific entity ID/name. Results returned in reverse chronological order with pagination.
3. Both implementations use `ScadaLinkDbContext` internally and work with Commons POCO entities.
3. Both implementations use `ScadaBridgeDbContext` internally and work with Commons POCO entities.
4. Consuming components depend only on Commons interfaces — never reference the Configuration Database project directly.
5. DI registration via `AddConfigurationDatabase()` extension method wires implementations to interfaces.
@@ -649,7 +649,7 @@
Phase 1 is complete when ALL of the following pass:
1. **Configuration Database**: `ScadaLinkDbContext` creates full schema on SQL Server. All Fluent API mappings correct. Initial migration generates valid idempotent SQL. Seed data present.
1. **Configuration Database**: `ScadaBridgeDbContext` creates full schema on SQL Server. All Fluent API mappings correct. Initial migration generates valid idempotent SQL. Seed data present.
2. **Repositories**: `ISecurityRepository` and `ICentralUiRepository` implementations pass CRUD integration tests against SQL Server.
3. **Audit Service**: `IAuditService` implementation commits audit entries in same transaction as changes. Rollback test passes. Append-only constraint verified.
4. **Optimistic Concurrency**: Stale deployment status update throws `DbUpdateConcurrencyException`. Template last-write-wins verified.