Page Properties |
---|
Submitted Date | | Approved Date | | Status | SUPERSEDED by ADR-xxx | Impact | MEDIUM |
|
Overrides/Supersedes
...
High level actions required for core / non-core modules are shown below:
Core module | Another module referencing core module |
---|
- add an is_deleted flag to schema via Liquibase with false as a default value
- Create - new records are to be created with is_deleted=false
- Read
- collection endpoint only returns not-deleted records
- single endpoint can return both deleted and not-deleted records
- Update - add a check for every update - update of a record with is_deleted=false is only allowed
- Delete - implement soft-deletion with setting is_deleted to true
| - add an UI element showing if a record from code module is deleted or not, or disable editing of fields came from core module, or add a message to end user with the warning that a core module record this record is referencing to, is deleted
|
Decision
Yikes
Implications
...