mirror of
https://github.com/usual2970/certimate.git
synced 2025-06-07 21:19:51 +00:00
101 lines
2.2 KiB
Go
101 lines
2.2 KiB
Go
package migrations
|
|
|
|
import (
|
|
"github.com/pocketbase/pocketbase/core"
|
|
m "github.com/pocketbase/pocketbase/migrations"
|
|
)
|
|
|
|
func init() {
|
|
m.Register(func(app core.App) error {
|
|
tracer := NewTracer("(v0.3)1745726400")
|
|
tracer.Printf("go ...")
|
|
|
|
// update collection `access`
|
|
{
|
|
collection, err := app.FindCollectionByNameOrId("4yzbv8urny5ja1e")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := collection.Fields.AddMarshaledJSONAt(4, []byte(`{
|
|
"autogeneratePattern": "",
|
|
"hidden": false,
|
|
"id": "text2859962647",
|
|
"max": 0,
|
|
"min": 0,
|
|
"name": "reserve",
|
|
"pattern": "",
|
|
"presentable": false,
|
|
"primaryKey": false,
|
|
"required": false,
|
|
"system": false,
|
|
"type": "text"
|
|
}`)); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := app.Save(collection); err != nil {
|
|
return err
|
|
}
|
|
|
|
tracer.Printf("collection '%s' updated", collection.Name)
|
|
}
|
|
|
|
// migrate data
|
|
{
|
|
collection, err := app.FindCollectionByNameOrId("4yzbv8urny5ja1e")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
records, err := app.FindAllRecords(collection)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
for _, record := range records {
|
|
changed := false
|
|
|
|
if record.GetString("provider") == "buypass" {
|
|
record.Set("reserve", "ca")
|
|
changed = true
|
|
} else if record.GetString("provider") == "googletrustservices" {
|
|
record.Set("reserve", "ca")
|
|
changed = true
|
|
} else if record.GetString("provider") == "sslcom" {
|
|
record.Set("reserve", "ca")
|
|
changed = true
|
|
} else if record.GetString("provider") == "zerossl" {
|
|
record.Set("reserve", "ca")
|
|
changed = true
|
|
}
|
|
|
|
if record.GetString("provider") == "webhook" {
|
|
config := make(map[string]any)
|
|
if err := record.UnmarshalJSONField("config", &config); err != nil {
|
|
return err
|
|
}
|
|
|
|
config["method"] = "POST"
|
|
config["headers"] = "Content-Type: application/json"
|
|
record.Set("config", config)
|
|
changed = true
|
|
}
|
|
|
|
if changed {
|
|
if err := app.Save(record); err != nil {
|
|
return err
|
|
}
|
|
|
|
tracer.Printf("record #%s in collection '%s' updated", record.Id, collection.Name)
|
|
}
|
|
}
|
|
}
|
|
|
|
tracer.Printf("done")
|
|
return nil
|
|
}, func(app core.App) error {
|
|
return nil
|
|
})
|
|
}
|