mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-09 16:52:51 +01:00
refactor: improve setup and maintainability (#1067)
This commit is contained in:
57
migrations/0_base.go
Normal file
57
migrations/0_base.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/pocketbase/pocketbase/daos"
|
||||
"github.com/pocketbase/pocketbase/models/settings"
|
||||
"github.com/pocketbase/pocketbase/tools/types"
|
||||
)
|
||||
|
||||
type baseUpFunc func(dao *daos.Dao) error
|
||||
|
||||
func baseUp(db dbx.Builder) error {
|
||||
dao := daos.New(db)
|
||||
|
||||
for _, f := range []baseUpFunc{
|
||||
settingsUp,
|
||||
allowUserViewUp,
|
||||
} {
|
||||
if err := f(dao); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func settingsUp(dao *daos.Dao) error {
|
||||
s := settings.New()
|
||||
s.Meta.AppName = "Catalyst"
|
||||
s.Meta.HideControls = false
|
||||
|
||||
return dao.SaveSettings(s)
|
||||
}
|
||||
|
||||
func allowUserViewUp(dao *daos.Dao) error {
|
||||
collection, err := dao.FindCollectionByNameOrId(UserCollectionName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
collection.ViewRule = types.Pointer("@request.auth.id != ''")
|
||||
collection.ListRule = types.Pointer("@request.auth.id != ''")
|
||||
|
||||
return dao.SaveCollection(collection)
|
||||
}
|
||||
|
||||
func baseDown(db dbx.Builder) error {
|
||||
collection, err := daos.New(db).FindCollectionByNameOrId(UserCollectionName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
collection.ViewRule = types.Pointer("id = @request.auth.id")
|
||||
collection.ListRule = types.Pointer("id = @request.auth.id")
|
||||
|
||||
return daos.New(db).SaveCollection(collection)
|
||||
}
|
||||
Reference in New Issue
Block a user