From 0a8534ded9fca162fb1721a86d835677b30f2cdb Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 4 Mar 2026 15:27:01 +0100 Subject: [PATCH] feat: add RegisteredTableNames helper to db package --- pkg/db/db.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/db/db.go b/pkg/db/db.go index 557690657..8091c5ef9 100644 --- a/pkg/db/db.go +++ b/pkg/db/db.go @@ -21,6 +21,7 @@ import ( "net/url" "os" "path/filepath" + "reflect" "runtime" "strconv" "strings" @@ -56,6 +57,18 @@ func RegisterTables(tables []interface{}) { registeredTables = append(registeredTables, tables...) } +// RegisteredTableNames returns the table names of all registered Vikunja tables. +func RegisteredTableNames() []string { + mapper := x.GetTableMapper() + names := make([]string, 0, len(registeredTables)+1) + for _, bean := range registeredTables { + names = append(names, mapper.Obj2Table(reflect.Indirect(reflect.ValueOf(bean)).Type().Name())) + } + // The xormigrate migration tracking table is not registered via GetTables() + names = append(names, "migration") + return names +} + // CreateDBEngine initializes a db engine from the config func CreateDBEngine() (engine *xorm.Engine, err error) {