mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-06 23:32:47 +01:00
36 lines
839 B
Go
36 lines
839 B
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/SecurityBrewery/catalyst/generated/model"
|
|
)
|
|
|
|
func (db *Database) Settings(ctx context.Context) (*model.Settings, error) {
|
|
settings := &model.Settings{}
|
|
if _, err := db.settingsCollection.ReadDocument(ctx, "global", settings); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return settings, nil
|
|
}
|
|
|
|
func (db *Database) SaveSettings(ctx context.Context, settings *model.Settings) (*model.Settings, error) {
|
|
exists, err := db.settingsCollection.DocumentExists(ctx, "global")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
if exists {
|
|
if _, err := db.settingsCollection.ReplaceDocument(ctx, "global", settings); err != nil {
|
|
return nil, err
|
|
}
|
|
} else {
|
|
if _, err := db.settingsCollection.CreateDocument(ctx, ctx, "global", settings); err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
return settings, nil
|
|
}
|