bollwerk/.gitignore
Jens Reinemann 2387c6ee5a feat(server): add Exposed ORM database layer with H2
server/db/Tables.kt:
- Exposed table definitions for Categories, Locations, Items, Settings
- Schema mirrors Room entities from app module
- Foreign keys on Items referencing Categories and Locations

server/db/DatabaseFactory.kt:
- H2 file-based DB initialization (jdbc:h2:file:./data/krisenvorrat)
- Parameterized for testability (in-memory DB for tests)
- Schema auto-creation via SchemaUtils.create()

server/repository/InventoryRepository.kt:
- Full CRUD: saveInventory() and loadInventory()
- Atomic replace via transaction (deleteAll + insert)
- Direct mapping between Exposed rows and shared DTOs

4 repository tests with H2 in-memory covering:
- Empty DB, full round-trip, overwrite, nullable fields

Closes #41
2026-05-14 20:15:07 +02:00

34 lines
357 B
Text

# Android / Gradle
*.iml
.gradle/
local.properties
.idea/
*.hprof
build/
captures/
.externalNativeBuild/
.cxx/
*.apk
*.aab
*.ap_
*.dex
# Kotlin
*.class
# OS
.DS_Store
Thumbs.db
desktop.ini
# VS Code
.vscode/settings.json
# Temp-Dateien (Screenshots, Logs etc.)
tmp/
# H2 Database files
server/data/
# Copilot memories (session-only)
memories/session/