Skip to content

Feature/32 feature user persistence store OIDC profile with mariadb - #67

Closed
furcev32 wants to merge 15 commits into
developmentfrom
feature/32-feature-user-persistence-store-oidc-profile-with-mariadb
Closed

Feature/32 feature user persistence store OIDC profile with mariadb#67
furcev32 wants to merge 15 commits into
developmentfrom
feature/32-feature-user-persistence-store-oidc-profile-with-mariadb

Conversation

@furcev32

Copy link
Copy Markdown
Collaborator

…nto feature/31-feature-oidc-secure-login-flow-bff
- Update SecurityConfig to properly handle CSRF tokens and OIDC authentication.
- Update application.properties for security settings.
- Update frontend API utility to include CSRF token in requests.
- Refactor frontend components (CreateDialog, Delete, Directory, etc.) to use updated API methods and handle errors gracefully.
- Update backend tests (FileControllerTest, ProjectControllerTest) to align with security changes.
- Configure docker-compose to automatically update database schema (SPRING_JPA_HIBERNATE_DDL_AUTO).
- Added User entity and UserRepository
- Implemented OIDC user synchronization service
- Added UserController with /api/me endpoint
- Updated SecurityConfig to enable OIDC login and user sync
- Updated Project and File controllers to enforce ownership
- Rewrote Frontend Profile page to display real user data
- Updated backend tests to use OIDC mocks
- Updated README with sudo commands for docker compose
- Refactored backend Dockerfile to optionally build frontend
- Updated docker-compose.prod.yaml to bundle frontend in backend
- Added docker-compose.dev.yaml and .dockerignore
- Configured Vite proxy for development
- Updated FileController and ProjectController base paths
- Updated frontend API calls to match new endpoints
@furcev32 furcev32 linked an issue Nov 29, 2025 that may be closed by this pull request
…ture

## Build Optimizations
- Skip frontend build during backend tests (95% faster: 1m38s → 3-5s)
- Add conditional frontend build via -PbuildFrontend flag
- Add buildProduction task for explicit production builds
- Update Dockerfile to use new build flags

## Testing Infrastructure
- Add Vitest + React Testing Library for frontend testing
- Add root package.json for monorepo test orchestration
- Add Gradle tasks: testAll, testFrontend, testAllSequential
- Add parallel test execution (backend + frontend in ~5-10s)
- Add sample tests and test setup configuration

## Test Endpoints Fix
- Update all test endpoints from /file to /api/file
- Update all test endpoints from /project to /api/project
- All 33 backend tests now passing

## Documentation
- Add comprehensive Testing section to README
- Add Build Commands documentation
- Add examples for writing tests
- Document all test execution options

## Performance Impact
- Backend tests: 1m38s → 3-5s (95% improvement)
- Frontend tests: ~2-3s
- Combined tests (parallel): ~5-10s total
- Production builds: unchanged (~2m with frontend)

Closes #32
Comment thread package-lock.json
@furcev32
furcev32 marked this pull request as ready for review December 2, 2025 16:36

@NicKIT01 NicKIT01 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry hab leider nicht geschafft mehr anzuschauen in der Zeit aber da sind auf jeden Fall einige Kommentare an denen du arbeiten kannst und die auf jeden Fall nochmal überarbeitet werden sollten.

Comment thread backend/src/main/java/edu/kit/quak/files/FileController.java Outdated
Comment thread backend/src/main/java/edu/kit/quak/files/FileController.java Outdated
Comment thread backend/src/main/java/edu/kit/quak/files/ProjectController.java Outdated
Comment thread backend/src/main/java/edu/kit/quak/files/FileController.java Outdated
Comment thread backend/src/main/java/edu/kit/quak/files/FileController.java Outdated
Comment thread backend/src/main/java/edu/kit/quak/files/model/FileElement.java
Comment thread backend/src/main/java/edu/kit/quak/files/ProjectController.java Outdated
Furkan Cevik added 2 commits December 4, 2025 18:06
## Architecture Changes
- Restructure backend to follow hexagonal/clean architecture principles
- Separate concerns into core, application, and infrastructure layers

## Core Layer (Domain)
- Move all domain models to core/filesystem/model package
- Consolidate User, File, Directory, Project, and related models
- Keep domain logic independent of frameworks

## Application Layer (Use Cases)
- Create service layer in application/filesystem/service
- Add AuthService, UserService, FileService, ProjectService
- Move OidcUserSyncService to application layer
- Implement business logic and orchestration

## Infrastructure Layer (Adapters)
- Move REST controllers to infrastructure/filesystem/in/web/rest
- Relocate FileController, ProjectController, AuthController, UserController
- Controllers now delegate to application services

## Repository Updates
- Update all repository imports to use new core model locations
- Update savers to reference new model packages
- Maintain existing repository functionality

## Test Updates
- Update test imports to match new package structure
- Ensure all 33 tests continue to pass
- Update FileControllerTest and ProjectControllerTest

This refactoring improves maintainability, testability, and follows clean architecture best practices while maintaining all existing functionality.
@NicKIT01

NicKIT01 commented Dec 8, 2025

Copy link
Copy Markdown
Collaborator

Viel viel besser!! Sehr schön gelöst und auch wirklich gut, dass du die neue Struktur übernimmst. Ich kann morgen nach dem Meeting nochmal ein richtiges Review machen aber auf den ersten Blick sah es gut aus!

@simonvonroenn

simonvonroenn commented Jan 14, 2026

Copy link
Copy Markdown
Collaborator

Diese PR kann geschlossen werden, oder @furcev32?

@furcev32 furcev32 linked an issue Jan 14, 2026 that may be closed by this pull request
@furcev32

Copy link
Copy Markdown
Collaborator Author

Moved the PR Progress to the Merge/57 with 32 user persistence #83 branch

@furcev32 furcev32 closed this Jan 19, 2026
@furcev32
furcev32 deleted the feature/32-feature-user-persistence-store-oidc-profile-with-mariadb branch January 23, 2026 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: UI - “Profile” Tab (read-only) Feature: User Persistence (Store OIDC Profile) with MariaDB

3 participants