From 85678082f92bb4ed2ad3f1872e2461aadf11fa84 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 24 Mar 2026 16:20:21 +0100 Subject: [PATCH] refactor: use xorm's TableInfo to resolve table names Use engine.TableInfo(bean) instead of manually checking the TableName interface and falling back to the mapper. This delegates all table name resolution to xorm's own logic. --- pkg/db/db.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkg/db/db.go b/pkg/db/db.go index 7e6fedee4..829dcd997 100644 --- a/pkg/db/db.go +++ b/pkg/db/db.go @@ -21,7 +21,6 @@ import ( "net/url" "os" "path/filepath" - "reflect" "runtime" "strconv" "strings" @@ -59,14 +58,13 @@ func RegisterTables(tables []interface{}) { // RegisteredTableNames returns the table names of all registered Vikunja tables. func RegisteredTableNames() []string { - mapper := x.GetTableMapper() tableNames := make([]string, 0, len(registeredTables)+1) for _, bean := range registeredTables { - if tn, ok := bean.(interface{ TableName() string }); ok { - tableNames = append(tableNames, tn.TableName()) - } else { - tableNames = append(tableNames, mapper.Obj2Table(reflect.Indirect(reflect.ValueOf(bean)).Type().Name())) + tableInfo, err := x.TableInfo(bean) + if err != nil { + log.Fatalf("Could not get table info for bean: %v", err) } + tableNames = append(tableNames, tableInfo.Name) } // The xormigrate migration tracking table is not registered via GetTables() tableNames = append(tableNames, "migration")