Refactor executable IDs to use strings #262

This commit unifies executable ID structure across categories and
scripts, paving the way for more complex ID solutions for #262.
It also refactors related code to adapt to the changes.

Key changes:

- Change numeric IDs to string IDs for categories
- Use named types for string IDs to improve code clarity
- Add unit tests to verify ID uniqueness

Other supporting changes:

- Separate concerns in entities for data access and executables by using
  separate abstractions (`Identifiable` and `RepositoryEntity`)
- Simplify usage and construction of entities.
- Remove `BaseEntity` for simplicity.
- Move creation of categories/scripts to domain layer
- Refactor CategoryCollection for better validation logic isolation
- Rename some categories to keep the names (used as pseudo-IDs) unique
  on Windows.
This commit is contained in:
undergroundwires
2024-08-03 16:54:14 +02:00
parent 6fbc81675f
commit ded55a66d6
124 changed files with 2286 additions and 1331 deletions

View File

@@ -3207,7 +3207,7 @@ actions:
parameters:
appCapability: bluetoothSync
-
category: Disable app access to voice activation
category: Disable app voice activation
docs: |- # refactor-with-variable: Same • App Access Caution
This category safeguards against unauthorized app activation via voice commands.
@@ -15671,7 +15671,7 @@ actions:
data: '1'
deleteOnRevert: 'true' # Missing by default since Windows 10 Pro (≥ 22H2) and Windows 11 Pro (≥ 23H2)
-
category: Minimize CPU usage during scans
category: Disable intensive CPU usage during Defender scans
children:
-
name: Minimize CPU usage during scans
@@ -15866,7 +15866,7 @@ actions:
category: Disable scanning archive files
children:
-
name: Disable scanning archive files
name: Disable Defender archive file scanning
docs:
- https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.WindowsDefender::Scan_DisableArchiveScanning
# Managing with MpPreference module: