Skip to content

Bug #16452: remove parent node above key/value attachments - #3908

Open
mkhediri wants to merge 1 commit into
developfrom
Bug_16452
Open

Bug #16452: remove parent node above key/value attachments#3908
mkhediri wants to merge 1 commit into
developfrom
Bug_16452

Conversation

@mkhediri

@mkhediri mkhediri commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Bug Fixes
    • Improved filing and holding scheme tree behavior when expanding nodes.
    • Corrected display and counting of aggregate key-value entries.
    • Streamlined handling of orphaned entries in search facets.

@mkhediri mkhediri added this to the IT 174 milestone Aug 12, 2026
@mkhediri mkhediri self-assigned this Aug 12, 2026
@mkhediri mkhediri added the bug Something isn't working label Aug 12, 2026
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 43dd30aa-2713-42ab-9d89-1b8ba9b68f5a

📥 Commits

Reviewing files that changed from the base of the PR and between 2bddad3 and c41f284.

📒 Files selected for processing (3)
  • ui/ui-frontend/projects/collect/src/app/collect/archive-search-collect/archive-search-criteria/components/filing-holding-scheme/filing-holding-scheme.component.ts
  • ui/ui-frontend/projects/collect/src/app/collect/archive-search-collect/archive-search-criteria/components/filing-holding-scheme/leaves-tree/leaves-tree.component.ts
  • ui/ui-frontend/projects/vitamui-library/src/app/modules/models/nodes/filing-holding-scheme.handler.ts
💤 Files with no reviewable changes (2)
  • ui/ui-frontend/projects/vitamui-library/src/app/modules/models/nodes/filing-holding-scheme.handler.ts
  • ui/ui-frontend/projects/collect/src/app/collect/archive-search-collect/archive-search-criteria/components/filing-holding-scheme/filing-holding-scheme.component.ts

📝 Walkthrough

Walkthrough

The filing-holding scheme no longer creates or removes synthetic key-value nodes. Existing key-value nodes remain in the attachment tree and use the standard child-loading flow when expanded.

Changes

Key-value filing tree

Layer / File(s) Summary
Retain key-value nodes in the filing tree
ui/ui-frontend/projects/collect/src/app/collect/archive-search-collect/archive-search-criteria/components/filing-holding-scheme/filing-holding-scheme.component.ts, ui/ui-frontend/projects/vitamui-library/src/app/modules/models/nodes/filing-holding-scheme.handler.ts
The attachment tree no longer removes WITH_KEY_VALUE nodes or adds a consolidated node. The handler no longer exports KEY_VALUE_NODE_ID or synthetic key-value node methods.
Use standard child loading for key-value nodes
ui/ui-frontend/projects/collect/src/app/collect/archive-search-collect/archive-search-criteria/components/filing-holding-scheme/leaves-tree/leaves-tree.component.ts
KEY_VALUE_NODE nodes now use loadNodeChildrenOnFirstToggle like other nodes.

Estimated code review effort: 2 (Simple) | ~15 minutes

Suggested reviewers: hyahyaoui

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided, so the required change, testing, migration, and checklist information is missing. Add the required template sections and document the changes, change type, tests, migration impact, checklist status, and contributor.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the bug and the main change: removing the parent node above key/value attachments.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch Bug_16452

Comment @coderabbitai help to get the list of available commands.

@vitam-prg

Copy link
Copy Markdown
Collaborator

Logo
Checkmarx One – Scan Summary & Details5cc9c33a-24ab-46ed-a842-bf4838c312c4


New Issues (11) Checkmarx found the following issues in this Pull Request
# Severity Issue Source File / Package Checkmarx Insight
1 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java: 239
detailsMethod getUser at line 239 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java gets user input from element embe...
Attack Vector
2 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java: 130
detailsMethod create at line 130 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java gets user input from element dt...
Attack Vector
3 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java: 301
detailsMethod logout at line 301 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java gets user input from element authT...
Attack Vector
4 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java: 197
detailsMethod changePassword at line 197 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java gets user input from eleme...
Attack Vector
5 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java: 130
detailsMethod create at line 130 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java gets user input from element dt...
Attack Vector
6 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java: 301
detailsMethod logout at line 301 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java gets user input from element authT...
Attack Vector
7 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java: 130
detailsMethod create at line 130 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java gets user input from element dt...
Attack Vector
8 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java: 221
detailsMethod getUsersByEmail at line 221 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java gets user input from elem...
Attack Vector
9 MEDIUM Parameter_Tampering api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java: 130
detailsMethod create at line 130 of /api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java gets user input from element dt...
Attack Vector
10 LOW Unpinned Actions Full Length Commit SHA /build-and-test.yml: 154
detailsPinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA help...
11 LOW Unpinned Actions Full Length Commit SHA /build-and-test.yml: 159
detailsPinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA help...

Fixed Issues (309) Great job! The following issues were fixed in this Pull Request
Severity Issue Source File / Package
MEDIUM Privacy_Violation api/api-iam/iam-security/src/main/java/fr/gouv/vitamui/iam/security/service/SecurityService.java: 85
MEDIUM Privacy_Violation api/api-iam/iam-security/src/main/java/fr/gouv/vitamui/iam/security/service/SecurityService.java: 85
MEDIUM Privacy_Violation api/api-iam/iam-security/src/main/java/fr/gouv/vitamui/iam/security/service/SecurityService.java: 85
LOW Log_Forging api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/CasController.java: 266
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/ProjectController.java: 216
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/ProjectController.java: 217
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/ProjectController.java: 216
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/ProjectController.java: 216
LOW Log_Forging api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/TenantController.java: 130
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 459
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 467
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 268
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 268
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 268
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 268
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 268
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/TransactionArchiveUnitController.java: 163
LOW Log_Forging api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/UserController.java: 148
LOW Log_Forging api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/UserController.java: 148
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 217
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/TransactionController.java: 268
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 217
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 179
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/TransactionController.java: 268
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 217
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 180
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/ProjectObjectGroupController.java: 151
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 268
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 179
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 248
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 258
LOW Log_Forging api/api-iam/iam/src/main/java/fr/gouv/vitamui/iam/server/rest/UserController.java: 148
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 287
LOW Log_Forging api/api-archive-search/archive-search/src/main/java/fr/gouv/vitamui/archives/search/server/rest/ArchivesSearchController.java: 192
LOW Log_Forging api/api-collect/collect/src/main/java/fr/gouv/vitamui/collect/server/rest/TransactionArchiveUnitController.java: 190
LOW Log_Forging api/api-iam/iam-security/src/main/java/fr/gouv/vitamui/iam/security/service/SecurityService.java: 175

More results are available on the CxOne platform


Use @Checkmarx to interact with Checkmarx PR Assistant.
Examples:
@Checkmarx how are you able to help me?
@Checkmarx rescan this PR

@mkhediri mkhediri added CP V9.1 Tag a PR with this label to automatically create a CP PR on the corresponding maintenance branch CP V9.0 Tag a PR with this label to automatically create a CP PR on the corresponding maintenance branch labels Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working CP V9.0 Tag a PR with this label to automatically create a CP PR on the corresponding maintenance branch CP V9.1 Tag a PR with this label to automatically create a CP PR on the corresponding maintenance branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants