Provide admin portal#171
Merged
Merged
Conversation
…rypt guard, register AllTables Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Resolved conflict: moved oidcSettingsRoutes to new api/admin/routes package and registered it in AdminRoutes alongside blobStorageRepositoryRoutes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Backend: V13 singleton tabel voor DMF-instellingen (trigger/chunk grootte, validatie), V14 tabel voor ZGW API-koppelingsprofielen, V15 rename application_settings → dmf_settings; bijbehorende entities, models en CRUD routes - Frontend: /instellingen/dmf pagina met formulier voor DMF-systeeminstellingen; /instellingen/zgw-api pagina met TanStack Table, checkbox-selectie, bulk-delete met bevestigingsdialoog, rij-actieknop met Details/Verwijderen en drawer voor toevoegen/bewerken
* feat(oidc): add oidc_settings table migration (V12) * feat(oidc): add OidcSettingsEntity (Exposed ORM) * feat(oidc): add OidcSettingsResponse and UpdateOidcSettingsRequest models * feat(oidc): add AES-256-GCM crypto utility for client secret * Changed UI authentication and added menu items * fix(oidc): use envOrThrow for secret key, singleton SecureRandom, decrypt guard, register AllTables Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(oidc): add GET/PUT /admin/oidc-settings route handler * fix(oidc): set updatedAt on insert, use wildcard ktor imports * feat(oidc): register oidcSettingsRoutes in admin block * fix(oidc): refresh token before fetch, use cn() for class merging * Updated redirect url when logging out, updated settings model to be single lined * fix navigation and clean up routing data * remove superpowers plans * Corresponding Undo migration U12 for OidcSettings * rename U12, add extra _ * docs: add OIDC secret reveal design spec * docs: add OIDC secret reveal implementation plan * Show secret after eye icon pressing, update UI * Added in dashboard components, made multiple provider selection screen * Ran spotlessAply * Rename V12 migration to V13, same for Undo action
* feat(oidc): add oidc_settings table migration (V12) * feat(oidc): add OidcSettingsEntity (Exposed ORM) * feat(oidc): add OidcSettingsResponse and UpdateOidcSettingsRequest models * feat(oidc): add AES-256-GCM crypto utility for client secret * Changed UI authentication and added menu items * fix(oidc): use envOrThrow for secret key, singleton SecureRandom, decrypt guard, register AllTables Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(oidc): add GET/PUT /admin/oidc-settings route handler * fix(oidc): set updatedAt on insert, use wildcard ktor imports * feat(oidc): register oidcSettingsRoutes in admin block * fix(oidc): refresh token before fetch, use cn() for class merging * Updated redirect url when logging out, updated settings model to be single lined * fix navigation and clean up routing data * remove superpowers plans * Corresponding Undo migration U12 for OidcSettings * rename U12, add extra _ * docs: add OIDC secret reveal design spec * docs: add OIDC secret reveal implementation plan * Show secret after eye icon pressing, update UI * Added in dashboard components, made multiple provider selection screen * feat(db): add V13 application_settings migration * feat(db): add U13 undo script for application_settings * feat(entities): add ApplicationSetting entity and register in AllTables * feat(models): add ApplicationSetting request/response models * docs(models): add KDoc to CreateApplicationSettingRequest.clientSecret * test(application-settings): add failing route tests * test(application-settings): remove unused import, add missing-fields test * feat(api): add application-settings CRUD and rotate-secret routes * refactor(api): use shared SecureRandom instance, fix route registration order * feat(ui): add shadcn Dialog component * feat(frontend): add applicatie-instellingen page with CRUD and secret rotation * fix(frontend): use consistent onOpenChange pattern for rotation Dialog * feat(nav): add Applicatie instellingen to sidebar navigation * feat(api,frontend): expose decrypted clientSecret in response, pre-fill edit form * fix(frontend): update clientSecret in local state after secret rotation * Remove superpowers plan, updated dialog * Ran spotlessAply * Ran spotlessApply * Rename V12 migration to V13, same for Undo action * Updated renaming V13 and U13 to V14 and U14 --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Laurens Jan <laurensjanvanheek@gmail.com>
* feat(oidc): add oidc_settings table migration (V12) * feat(oidc): add OidcSettingsEntity (Exposed ORM) * feat(oidc): add OidcSettingsResponse and UpdateOidcSettingsRequest models * feat(oidc): add AES-256-GCM crypto utility for client secret * Changed UI authentication and added menu items * fix(oidc): use envOrThrow for secret key, singleton SecureRandom, decrypt guard, register AllTables * feat(oidc): add GET/PUT /admin/oidc-settings route handler * fix(oidc): set updatedAt on insert, use wildcard ktor imports * feat(oidc): register oidcSettingsRoutes in admin block * fix(oidc): refresh token before fetch, use cn() for class merging * Updated redirect url when logging out, updated settings model to be single lined * fix navigation and clean up routing data * remove superpowers plans * Corresponding Undo migration U12 for OidcSettings * rename U12, add extra _ * docs: add OIDC secret reveal design spec * docs: add OIDC secret reveal implementation plan * Show secret after eye icon pressing, update UI * Added in dashboard components, made multiple provider selection screen * Ran spotlessAply * Rename V12 migration to V13, same for Undo action * Repositories blob storage settings * Updated migration naming
# Conflicts: # frontend/admin-portal/app/instellingen/zgw-api/page.tsx # frontend/admin-portal/components/site-header.tsx # frontend/admin-portal/lib/navigation.tsx # src/main/kotlin/api/admin/AdminRoutes.kt # src/main/kotlin/api/admin/routes/OidcProvidersRoutes.kt # src/main/kotlin/tooling/AllTables.kt
- Remove keycloak.token from useEffect deps to prevent infinite fetch loops - Add dedicated deleteError state shown inside AlertDialog (was using shared page error) - Add Zod validation to AppForm in applicaties with per-field errors - Replace native radio inputs with shadcn RadioGroup in rotate dialog - Add RadioGroup component using radix-ui primitive - Replace hardcoded text-green-600 with text-primary in dmf save feedback
Remove shared settings-loading.tsx and inline skeletons directly into each route's loading.tsx. Add error.tsx boundaries for all five settings routes. Pages now import Loading from their sibling file instead of the shared component.
Add dmf-dashboard to realm-export
- Migrate data if possible - Move disableChecksums and disableChunkedEncoding to extraProperties - Free up the /admin route in favor of /settings - Access keys etc are no longer obfuscated in the response
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add PatchBlobStorageRepositorySettingsRequest with all fields optional
- Add PATCH /{id} handler (partial update, mirrors old admin route behaviour)
- Remove require() guard from setDefaultProvider so it works even when the
provider is not yet in the in-memory registry
- Fix Bruno integration test to check accessKey/secretKey directly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- syncRegistrarForEntity: builds BlobStorageRepoConfig from entity and calls updateProvider or unregisterProvider - respondWithUpdateResult: handles the null/conflict/success dispatch and writes the HTTP response Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Set the docker compose service to refer to the local running instance of the next auth service.
- Remove unused testcase - Correct updated paths - Problem in breadcrumb testcase
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.