From 22112e79783c1c90f26bfff95247f5a82eede489 Mon Sep 17 00:00:00 2001 From: Jens Reinemann Date: Mon, 18 May 2026 22:02:59 +0200 Subject: [PATCH] feat(server): add Resources table + docker volume + Caddy upload limit Closes #119 --- .../de/bollwerk/server/db/DatabaseFactory.kt | 4 ++-- .../kotlin/de/bollwerk/server/db/Tables.kt | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/server/src/main/kotlin/de/bollwerk/server/db/DatabaseFactory.kt b/server/src/main/kotlin/de/bollwerk/server/db/DatabaseFactory.kt index 16f893b..178f6c7 100644 --- a/server/src/main/kotlin/de/bollwerk/server/db/DatabaseFactory.kt +++ b/server/src/main/kotlin/de/bollwerk/server/db/DatabaseFactory.kt @@ -46,8 +46,8 @@ internal object DatabaseFactory { Database.connect(jdbcUrl, driver) } transaction { - SchemaUtils.create(Inventories, Users, Categories, Locations, Items, Settings, Messages, DeletedItems) - SchemaUtils.createMissingTablesAndColumns(Inventories, Users, Categories, Locations, Items, Settings, Messages, DeletedItems) + SchemaUtils.create(Inventories, Users, Categories, Locations, Items, Settings, Messages, DeletedItems, Resources) + SchemaUtils.createMissingTablesAndColumns(Inventories, Users, Categories, Locations, Items, Settings, Messages, DeletedItems, Resources) } migrateUserInventories() EncryptionService.init(encryptionKey) diff --git a/server/src/main/kotlin/de/bollwerk/server/db/Tables.kt b/server/src/main/kotlin/de/bollwerk/server/db/Tables.kt index cc87137..cbc5afa 100644 --- a/server/src/main/kotlin/de/bollwerk/server/db/Tables.kt +++ b/server/src/main/kotlin/de/bollwerk/server/db/Tables.kt @@ -83,3 +83,21 @@ internal object DeletedItems : Table("deleted_items") { override val primaryKey = PrimaryKey(id) } + +internal object Resources : Table("resources") { + val guid = varchar("guid", 36) + val title = text("title") + val description = text("description") + val tags = text("tags") // JSON array string, e.g. ["gurps","novel"] + val fileFormat = varchar("file_format", 20) + val mimeType = varchar("mime_type", 100) + val fileSize = long("file_size") + val releaseDate = varchar("release_date", 10).nullable() + val createdAt = long("created_at") + val updatedAt = long("updated_at") + val author = text("author").nullable() + val language = varchar("language", 10).nullable() + val edition = text("edition").nullable() + + override val primaryKey = PrimaryKey(guid) +}