FS-PAR-001: Parameter Management Functions¶
| Property | Value |
|---|---|
| ID | FS-PAR-001 |
| Version | 1.0 |
| Corresponding URS | URS-PAR-001 |
| Status | Draft |
| Author | |
| Approved By | |
| Date |
Architecture Reference¶
Functional Specifications¶
FS-PAR-001.1: Setup CRUD Operations¶
Covers URS: URS-PAR-001.1
Functional Description:
Each parameter type has a setup entity containing configuration fields. All types share the same CRUD interface via the generic ParameterMappingRepository<TSetup, TMapping, TSetupDto, TMappingDto> base class.
Input Specification (Create Setup — example for TH):
| Parameter | Type | Constraints | Required |
|---|---|---|---|
| ProcessName | string | Max 50 chars | Yes |
| RowMirroring | bool | Yes | |
| VersionUid | long | Must reference existing version | Yes |
| Creator | string | Max 30 chars | Yes |
Output Specification:
| Field | Type | Description |
|---|---|---|
| Uid | long | Auto-generated setup UID |
| ProcessName | string | Configuration name |
| Crc | long | Integrity checksum |
Business Rules: - Each parameter type has its own setup fields (see arc42/12 - Glossary for type descriptions) - CRC content and prefix vary by type (e.g., "EsrtRbtx-" for TH) - Generic base class handles CRUD; type-specific repos override CRC calculation
FS-PAR-001.2: Mapping CRUD Operations¶
Covers URS: URS-PAR-001.2
Input Specification (Create Mapping):
| Parameter | Type | Constraints | Required |
|---|---|---|---|
| SetupUid | long | Must reference existing setup | Yes |
| VersionUid | long | Must reference existing version | Yes |
| (Type-specific fields) | various | Vary by parameter type | Yes |
| Creator | string | Max 30 chars | Yes |
Business Rules: - Mapping links a setup to a product version with parameter-specific values - CRC calculated per standard pattern with type-specific content
FS-PAR-001.3: Support 15+ Parameter Types¶
Covers URS: URS-PAR-001.3
Supported Types:
| Type | Repository | Controller | Setup Table | Mapping Table |
|---|---|---|---|---|
| TH | ThMappingRepository | ThParametersController | tbl_th_process | tbl_th_mapping |
| SC | ScMappingRepository | ScParametersController | tbl_sc_process | tbl_sc_mapping |
| EGP | EgpMappingRepository | EgpParametersController | tbl_egp_process | tbl_egp_mapping |
| RFL | RflMappingRepository | RflParametersController | tbl_rfl_process | tbl_rfl_mapping |
| XGX | XgxMappingRepository | XgxParametersController | tbl_xgx_process | tbl_xgx_mapping |
| IV3 | Iv3MappingRepository | Iv3ParametersController | tbl_iv3_process | tbl_iv3_mapping |
| Kann | KannMappingRepository | KannParametersController | tbl_kann_process | tbl_kann_mapping |
| HP | HpMappingRepository | HpParametersController | tbl_hp_process | tbl_hp_mapping |
| ES | EsMappingRepository | EsParametersController | tbl_es_process | tbl_es_mapping |
| CMMT | CmmtMappingRepository | CmmtParametersController | tbl_cmmt_process | tbl_cmmt_mapping |
| CL | ClMappingRepository | ClParametersController | tbl_cl_process | tbl_cl_mapping |
| EL | ElMappingRepository | ElParametersController | tbl_el_process | tbl_el_mapping |
| GJ | GjMappingRepository | GjParametersController | tbl_gj_process | tbl_gj_mapping |
| MF | MfconfigRepository | MfconfigController | tbl_mfconfig | tbl_mfconfig_mapping |
| Process | ProcessMappingRepository | ProcessMappingController | tbl_process | tbl_process_mapping |
| MfProcess | MfprocessMappingRepository | MfprocessMappingController | tbl_mfprocess | tbl_mfprocess_mapping |
| Unspecified | UnspecifiedParametersRepository | UnspecifiedParametersController | — | — |
Architecture: All inherit from generic base — see ADR-007
FS-PAR-001.4: Cascading Delete¶
Covers URS: URS-PAR-001.4
Functional Description:
When a version or product is deleted, DeleteMappingsForVersionAsync is called on all 15+ repositories within a Unit of Work transaction.
Cascade Sequence: 1. For each parameter type: delete all mappings for the version 2. For each parameter type: delete all setups for the version 3. Delete the version record 4. (If product delete) Delete the product record
Business Rules: - Coordinated via Unit of Work (cross-database if needed) - Changelog entries created for each deletion - Transaction rollback on any failure
FS-PAR-001.5: Retrieve All Mappings for a Version¶
Covers URS: URS-PAR-001.5
Functional Description: Queries all 15+ repositories in parallel and aggregates results. See arc42/06 s6.5 for sequence diagram.
Output Specification:
| Field | Type | Description |
|---|---|---|
| ThMappings | ThMappingDto[] | TH parameter mappings |
| ScMappings | ScMappingDto[] | SC parameter mappings |
| ... | ... | (one array per type) |
Performance Target: < 1000ms (QS-P4)
CQRS Handler Mapping¶
| FS Item | Handler Pattern |
|---|---|
| FS-PAR-001.1 | Create{Type}SetupHandler |
| FS-PAR-001.2 | Create{Type}MappingHandler |
| FS-PAR-001.4 | DeleteMappingsForVersionHandler |
| FS-PAR-001.5 | GetAllMappingsForVersionHandler |