mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2026-02-04 02:25:30 +00:00
+FTS5 Rebuild
This commit is contained in:
@@ -440,6 +440,7 @@ const (
|
||||
SESSIONS_TABLE = "sessions"
|
||||
ACCESS_TOKENS_TABLE = "access_tokens"
|
||||
DATA_TABLE = "data"
|
||||
SETTINGS_TABLE = "settings"
|
||||
IMAGES_TABLE = "images"
|
||||
FILES_TABLE = "files"
|
||||
HTML_TABLE = "html"
|
||||
|
||||
@@ -269,10 +269,42 @@ func CreateFTS5TableQuery(tablename string, fields ...string) string {
|
||||
return str
|
||||
}
|
||||
|
||||
func CreateFTS5Tables(app core.App) error {
|
||||
err1 := createFTS5Table(app, AGENTS_TABLE, AGENTS_FTS5_FIELDS)
|
||||
err2 := createFTS5Table(app, PLACES_TABLE, PLACES_FTS5_FIELDS)
|
||||
err3 := createFTS5Table(app, SERIES_TABLE, SERIES_FTS5_FIELDS)
|
||||
err4 := createFTS5Table(app, ITEMS_TABLE, ITEMS_FTS5_FIELDS)
|
||||
err5 := createFTS5Table(app, ENTRIES_TABLE, ENTRIES_FTS5_FIELDS)
|
||||
err6 := createFTS5Table(app, CONTENTS_TABLE, CONTENTS_FTS5_FIELDS)
|
||||
return errors.Join(err1, err2, err3, err4, err5, err6)
|
||||
}
|
||||
|
||||
func DropFTS5Tables(app core.App) error {
|
||||
err1 := dropFTS5Table(app, FTS5TableName(AGENTS_TABLE))
|
||||
err2 := dropFTS5Table(app, FTS5TableName(PLACES_TABLE))
|
||||
err3 := dropFTS5Table(app, FTS5TableName(SERIES_TABLE))
|
||||
err4 := dropFTS5Table(app, FTS5TableName(ITEMS_TABLE))
|
||||
err5 := dropFTS5Table(app, FTS5TableName(ENTRIES_TABLE))
|
||||
err6 := dropFTS5Table(app, FTS5TableName(CONTENTS_TABLE))
|
||||
return errors.Join(err1, err2, err3, err4, err5, err6)
|
||||
}
|
||||
|
||||
func FTS5TableName(table string) string {
|
||||
return FTS5_PREFIX + table
|
||||
}
|
||||
|
||||
func createFTS5Table(app core.App, table string, fields []string) error {
|
||||
query := CreateFTS5TableQuery(table, fields...)
|
||||
_, err := app.DB().NewQuery(query).Execute()
|
||||
return err
|
||||
}
|
||||
|
||||
func dropFTS5Table(app core.App, table string) error {
|
||||
query := "DROP TABLE IF EXISTS " + table
|
||||
_, err := app.DB().NewQuery(query).Execute()
|
||||
return err
|
||||
}
|
||||
|
||||
func InsertFTS5Agent(app core.App, agent *Agent) error {
|
||||
query := FTS5InsertQuery(app, AGENTS_TABLE, AGENTS_FTS5_FIELDS)
|
||||
return BulkInsertFTS5Agent(query, agent)
|
||||
|
||||
@@ -159,6 +159,17 @@ func Data_All(app core.App) ([]*Data, error) {
|
||||
return data, err
|
||||
}
|
||||
|
||||
func Settings_Key(app core.App, key string) (*Setting, error) {
|
||||
ret, err := TableByField[Setting](app, SETTINGS_TABLE, KEY_FIELD, key)
|
||||
return &ret, err
|
||||
}
|
||||
|
||||
func Settings_All(app core.App) ([]*Setting, error) {
|
||||
settings := make([]*Setting, 0)
|
||||
err := app.RecordQuery(SETTINGS_TABLE).All(&settings)
|
||||
return settings, err
|
||||
}
|
||||
|
||||
func Pages_All(app core.App) ([]*Page, error) {
|
||||
pages := make([]*Page, 0)
|
||||
err := app.RecordQuery(PAGES_TABLE).All(&pages)
|
||||
|
||||
23
dbmodels/settings.go
Normal file
23
dbmodels/settings.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package dbmodels
|
||||
|
||||
import "github.com/pocketbase/pocketbase/core"
|
||||
|
||||
type Setting struct {
|
||||
core.BaseRecordProxy
|
||||
}
|
||||
|
||||
func (s *Setting) Key() string {
|
||||
return s.GetString(KEY_FIELD)
|
||||
}
|
||||
|
||||
func (s *Setting) SetKey(key string) {
|
||||
s.Set(KEY_FIELD, key)
|
||||
}
|
||||
|
||||
func (s *Setting) Value() any {
|
||||
return s.GetRaw(VALUE_FIELD)
|
||||
}
|
||||
|
||||
func (s *Setting) SetValue(value any) {
|
||||
s.Set(VALUE_FIELD, value)
|
||||
}
|
||||
Reference in New Issue
Block a user