Commit Graph

6 Commits

Author SHA1 Message Date
9304a5b6de fix(frontend): testcommit 2026-07-27 16:05:29 +02:00
83b6d503cc fix(frontend): Dockerfile for build 2026-07-27 13:19:26 +02:00
61968f7f82 fix(frontend): Dockerfile for build 2026-07-27 12:57:38 +02:00
3e33bb797a fix(frontend): Dockerfile for build 2026-07-27 12:53:46 +02:00
6dce65b39c fix(frontend): Dockerfile for build 2026-07-27 12:10:19 +02:00
975f76dbd3 feat(community): add metering data upload and query with XLSX support
Implement complete metering data management for energy communities:

- MeteringData entity with unique constraint (metering_point_id, interval_start, data_type)
- Bulk upload via JSON or XLSX (multipart) with validation
- XLSX parser using Apache POI with comma-decimal support
- Ownership check on GET endpoints (userId must match metering point owner)
- Deduplication: existing records overwritten on re-upload
- DataSource tracking (EMAIL_XLSX, API, MANUAL)
- Query endpoints: by metering point, by type, by upload batch

Additional fixes:
- MapStruct annotation processor: add to execution-level annotationProcessorPaths
  (Spring Boot parent POM was overriding plugin-level config)
- EnergyCommunityMapper + MeteringDataMapper: componentModel=spring
- UserMapper: ignore passwordResetToken/Expiry (unmapped target policy ERROR)
- TariffService: add TariffInviteRepository dependency + invitation check
- TariffServiceTest: add missing @Mock for TariffInviteRepository
- SecurityConfig: permit /actuator/health and /actuator/info
- pom.xml: add poi-ooxml, postgresql, spring-boot-starter-actuator
- .gitignore: add *.log, survey/, backend.log

Tests: 137/137 passing
2026-07-22 12:42:27 +02:00