Commit Graph
56 Commits
Author SHA1 Message Date
nessar 3a8ef0ae0b Preserve actionable form errors 2026-08-17 14:18:16 +02:00
nessar fe36d6cae4 Keep revision violations domain-shaped (#56) 2026-08-17 14:18:16 +02:00
nessar 41b086fb33 Keep payment violations domain-shaped (#55) 2026-08-17 14:18:16 +02:00
nessar 9054cc62d3 Keep lease-ending violations domain-shaped (#54) 2026-08-17 14:18:16 +02:00
nessar 603b508aec Keep finalization violations domain-shaped (#53) 2026-08-17 14:18:16 +02:00
nessar ce53bab698 Harden validation error recovery 2026-08-17 14:18:16 +02:00
nessar d16239881a Align lease finalization validation flows (#53) 2026-08-17 14:18:16 +02:00
nessar 8b37c96671 Align rent revision validation flows (#56) 2026-08-17 14:18:16 +02:00
nessar 41590a6a78 Align nested lease validation flows (#50) 2026-08-17 14:18:16 +02:00
nessar 88d3f3c2a5 Align tenant and attachment validation (#48) 2026-08-17 14:18:16 +02:00
nessar a0f86bb511 Align lease ending validation flows (#54) 2026-08-17 14:18:16 +02:00
nessar ca3e28d3a2 Align core lease and amendment validation (#49) 2026-08-17 14:18:16 +02:00
nessar 96bd02e3a6 Align rent payment dialog validation (#55) 2026-08-17 14:18:16 +02:00
nessar cd32d05466 Align apartment document upload validation (#51) 2026-08-17 14:18:16 +02:00
nessar 82293a322d Align furniture inventory validation (#52) 2026-08-17 14:18:16 +02:00
nessar 66fa95dabd Align landlord profile validation (#47) 2026-08-17 14:18:16 +02:00
nessar c1e7964f2e Align optional apartment legal profile validation (#45) 2026-08-17 14:18:16 +02:00
nessar 72d3f0ccfa Validate private areas across apartment form (#44) 2026-08-17 14:18:16 +02:00
nessar b9f5540394 Align apartment core validation errors (#43) 2026-08-17 14:18:16 +02:00
nessar 878da155bd chore: add husky pre-commit hook and lint-staged configuration
- Created a pre-commit hook in .husky to run lint-staged.
- Added .lintstagedrc.mjs to format frontend files with Prettier and apply Spotless to backend Java files.
- Introduced .prettierignore to exclude specific directories from formatting.
2026-08-17 14:18:16 +02:00
nessar 5d2d85aa8c fix(rental): complete condition report invariants (#7) 2026-08-17 14:18:16 +02:00
nessar b030ac579a fix(rental): harden inventory and condition reports (#7) 2026-08-17 14:18:16 +02:00
nessar e4be5cd05f feat(rental): add inventory and condition reports (#7) 2026-08-17 14:18:16 +02:00
nessar c1e6b905d5 feat: add lease end page and resolution forms with necessary services and components
- Implemented LeaseEndPage component for managing lease end processes.
- Created LeaseEndResolutionForms component for handling agreement and closure submissions.
- Added civil date formatting utilities for French date representation.
- Developed styles for lease end resolution forms and rent due correction components.
- Integrated HTTP service for lease end operations including notice recording, withdrawal acceptance, and closure.
- Added unit tests for new components and services to ensure functionality.
2026-08-17 14:18:16 +02:00
nessar 3d42c9a256 feat: update rental document templates to remove doctype declaration
feat: add model for lease endings as dated facts with immutable records
2026-08-17 14:18:16 +02:00
nessar 1bf6a3449c feat: finalize lease documents and IRL revisions 2026-08-17 14:18:16 +02:00
nessar 3bbbf773f4 feat: enhance date formatting in rental documents and receipts 2026-08-17 14:18:15 +02:00
nessar d7a7aff3ee feat: add time zone support for rent payment and refund processes
- Updated API requests and responses to include time zone information.
- Modified backend services to handle time zone for received and refunded dates.
- Adjusted frontend components to use local date formatting based on the user's time zone.
- Enhanced tests to validate time zone handling in rent payment and refund scenarios.
2026-08-17 14:18:15 +02:00
nessar b9e99348f7 feat: add rent payment history and reversal dialogs
- Implemented RentPaymentHistoryServiceTest to validate payment retrieval with refunds and reversals.
- Created ReverseRentPaymentServiceTest to ensure correct handling of payment reversals and allocation releases.
- Developed rent-payment-allocation-dialog component with form for surplus allocation.
- Added rent-payment-refund-dialog component for processing refunds with validation.
- Introduced rent-payment-reversal-dialog component for reversing payments with reason input.
- Implemented utility functions for formatting Euro values and handling date formatting.
- Enhanced rent-payment-dialogs.spec.ts to cover new dialog functionalities and error handling.
2026-08-17 14:18:15 +02:00
nessar e02ad54bcb feat: add unit and integration tests for rental management domain
- Introduced RentPaymentCorrectionTest and RentPaymentTest to validate payment and refund logic.
- Added PhoneNumberTest to ensure proper normalization of phone numbers.
- Created TenantTest to verify attachment management and tenant referencing.
- Implemented ReplacementRentalApiJourneyIT for end-to-end testing of rental and payment workflows.
- Documented architectural decisions in ADR-0014, emphasizing strict DDD boundaries and transaction management.
2026-08-17 14:18:15 +02:00
nessar c2afe515c0 feat: activate draft leases into rent dues (#28) 2026-08-17 14:18:15 +02:00
nessar 971ffd6feb feat: protect referenced rental resources (#27) 2026-08-17 14:18:15 +02:00
nessar fca199dfdf feat: isolate tenants and attachments by landlord (#26) 2026-08-17 14:18:15 +02:00
nessar f4acbffc9d feat: isolate apartment portfolios by landlord (#25) 2026-08-17 14:18:15 +02:00
nessar 668680e844 feat(#23): use landlord profiles in PDFs 2026-08-17 14:18:15 +02:00
nessar b76dd27431 fix: remove obsolete landlord profile indexes migration 2026-08-17 14:18:15 +02:00
nessar ecacab0b9f feat(#22): manage landlord profile from OIDC 2026-08-17 14:18:15 +02:00
nessar 9cfb55d79c feat: enhance lease and rent payment management
- Added methods in LeaseRepository to find leases by apartment ID and exclude a specific lease ID.
- Introduced a method in RentPaymentRepository to delete all payments by lease ID.
- Updated LeaseService to handle overlapping leases and generate rent payments upon lease creation.
- Implemented rent payment deletion in LeaseService when a lease is deleted.
- Enhanced RentPaymentService to generate rent payments with pro-rata calculations for partial months.
- Modified RentPaymentController to accept rent and charges when marking payments as paid.
- Created RentPaymentPaidRequest DTO for validating rent payment requests.
- Added a RentPaymentValidationDialog for confirming payment amounts before processing.
- Updated frontend components to support new rent payment features, including validation and date filtering for leases.
- Adjusted tests to cover new functionalities and ensure proper integration of rent payment management.
2026-08-17 14:18:15 +02:00
nessar 479012d661 fix(#20): use inclusive query for rent payment month range 2026-08-17 14:18:15 +02:00
nessar 5db268bec7 fix: enforce unique chronological rent payments 2026-08-17 14:18:15 +02:00
nessar 47cb4bcdaf feat: add rent payment schedules and receipts 2026-08-17 14:18:15 +02:00
nessar f876639c02 feat: add integration tests for ApartmentRepository using Testcontainers with MongoDB 2026-08-17 14:18:15 +02:00
nessar 3dca10b56f feat: update Dockerfiles to use explicit image paths and enhance localStorage handling in ThemeService 2026-08-17 14:18:15 +02:00
nessar c8020c489e Refactor backend services and controllers to use DTOs for Tenant, Lease, and Apartment
- Updated TenantController to utilize TenantService and DTOs for tenant operations.
- Refactored UserController to return UserResponse DTO.
- Introduced LeaseService and ApartmentService to handle business logic and data mapping.
- Created DTOs for Apartment, Lease, Tenant, and User to standardize data transfer.
- Implemented mappers for converting between entities and DTOs using MapStruct.
- Removed landlordId from Apartment and Lease entities and adjusted related tests.
- Added validation and normalization logic for tenant and guarantor data.
- Enhanced unit tests to ensure proper mapping and data integrity during updates.
2026-08-17 14:18:15 +02:00
nessar 82f339e209 Refactor application structure to use WorkspaceService for state management
- Removed direct state management from components and centralized it in WorkspaceService.
- Updated ApartmentsPage, TenantsPage, LeasesPage, and DashboardPage to utilize WorkspaceService for data handling.
- Introduced SessionService to manage user session state and authentication.
- Simplified component templates to reflect new service-based architecture.
- Removed unused ConfigService and its tests.
- Added lease.html template for lease document generation.
- Created app.routes.spec.ts for route mapping tests.
2026-08-17 14:18:15 +02:00
nessar b23f081799 fix: update HTTP status codes for attachment size exceptions 2026-08-17 14:18:15 +02:00
nessar bf6d8e6bb6 fix: validate tenant and lease contact details 2026-08-17 14:18:14 +02:00
nessar 8603b98714 feat: manage tenants and leases (#4) 2026-08-17 14:18:14 +02:00
nessar 26ab037084 feat: add brand mark component and dashboard page
- Introduced a new `BrandMark` component for branding purposes.
- Created a `DashboardPage` component with a responsive layout, including sections for user profile, apartment management, and API demo.
- Added styles for the dashboard page to enhance user experience.
- Implemented a settings page with theme preferences and session management features.
- Developed a sign-in page with branding and user-friendly design.
- Established a workspace navigation component for easy access to different sections of the application.
- Implemented an `ApartmentService` for managing apartment data with corresponding unit tests.
- Created a `ConfigService` for loading application configuration.
- Added a `ThemeService` to manage user theme preferences dynamically.
2026-08-17 14:18:14 +02:00
nessar f94b961403 refactor: simplify OIDC provider configuration by using issuer-uri for auto-discovery 2026-08-17 14:18:14 +02:00