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
34 lines
964 B
Plaintext
34 lines
964 B
Plaintext
# ============================================================
|
|
# EEG Portal - Environment Configuration
|
|
# Copy this file to .env and fill in the values
|
|
# ============================================================
|
|
|
|
# Required: JWT secret for token signing (use a strong random string)
|
|
JWT_SECRET=your-super-secret-jwt-key-change-this
|
|
|
|
# Required: Frontend URL (your domain)
|
|
APP_FRONTEND_URL=https://your-domain.at
|
|
|
|
# Required: Backend API URL
|
|
APP_BACKEND_URL=https://your-domain.at
|
|
|
|
# Required: CORS allowed origins (comma-separated)
|
|
CORS_ORIGINS=https://your-domain.at
|
|
|
|
# Required: PostgreSQL configuration
|
|
POSTGRES_DB=eegportal
|
|
POSTGRES_USER=eeg
|
|
POSTGRES_PASSWORD=your-strong-db-password-change-this
|
|
|
|
# Optional: Server port (default: 80)
|
|
APP_PORT=80
|
|
|
|
# Optional: Mail configuration
|
|
# MAIL_HOST=smtp.your-provider.at
|
|
# MAIL_PORT=587
|
|
# MAIL_USERNAME=your-email@domain.at
|
|
# MAIL_PASSWORD=your-mail-password
|
|
|
|
# Optional: JVM settings
|
|
# JAVA_OPTS=-Xms256m -Xmx512m
|