mirror of
https://github.com/Dvorinka/beszel.git
synced 2026-06-04 13:22:57 +00:00
85 lines
2.7 KiB
Go
85 lines
2.7 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 {
|
|
if err := patchDomainCollection(app); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}, func(app core.App) error {
|
|
return nil
|
|
})
|
|
}
|
|
|
|
func patchDomainCollection(app core.App) error {
|
|
collection, err := app.FindCollectionByNameOrId("domains")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
addTextField(collection, "registry_domain_id")
|
|
addTextField(collection, "ssl_issuer_country")
|
|
addTextField(collection, "ssl_subject")
|
|
addDateField(collection, "ssl_valid_from")
|
|
addTextField(collection, "ssl_fingerprint")
|
|
addNumberField(collection, "ssl_key_size", true)
|
|
addTextField(collection, "ssl_signature_algo")
|
|
addTextField(collection, "host_region")
|
|
addTextField(collection, "host_city")
|
|
addTextField(collection, "host_org")
|
|
addTextField(collection, "host_as")
|
|
addNumberField(collection, "host_lat", false)
|
|
addNumberField(collection, "host_lon", false)
|
|
addTextField(collection, "registrant_name")
|
|
addTextField(collection, "registrant_org")
|
|
addTextField(collection, "registrant_street")
|
|
addTextField(collection, "registrant_city")
|
|
addTextField(collection, "registrant_state")
|
|
addTextField(collection, "registrant_country")
|
|
addTextField(collection, "registrant_postal")
|
|
addTextField(collection, "abuse_email")
|
|
addTextField(collection, "abuse_phone")
|
|
addTextField(collection, "monitor_type")
|
|
addNumberField(collection, "ssl_alert_days", true)
|
|
addBoolField(collection, "notify_on_expiry")
|
|
addBoolField(collection, "notify_on_ssl_expiry")
|
|
addBoolField(collection, "notify_on_dns_change")
|
|
addBoolField(collection, "notify_on_registrar_change")
|
|
addBoolField(collection, "notify_on_value_change")
|
|
addNumberField(collection, "value_change_threshold", false)
|
|
addBoolField(collection, "quiet_hours_enabled")
|
|
addTextField(collection, "quiet_hours_start")
|
|
addTextField(collection, "quiet_hours_end")
|
|
|
|
return app.Save(collection)
|
|
}
|
|
|
|
func addTextField(collection *core.Collection, name string) {
|
|
if collection.Fields.GetByName(name) == nil {
|
|
collection.Fields.Add(&core.TextField{Name: name})
|
|
}
|
|
}
|
|
|
|
func addDateField(collection *core.Collection, name string) {
|
|
if collection.Fields.GetByName(name) == nil {
|
|
collection.Fields.Add(&core.DateField{Name: name})
|
|
}
|
|
}
|
|
|
|
func addBoolField(collection *core.Collection, name string) {
|
|
if collection.Fields.GetByName(name) == nil {
|
|
collection.Fields.Add(&core.BoolField{Name: name})
|
|
}
|
|
}
|
|
|
|
func addNumberField(collection *core.Collection, name string, onlyInt bool) {
|
|
if collection.Fields.GetByName(name) == nil {
|
|
collection.Fields.Add(&core.NumberField{Name: name, OnlyInt: onlyInt})
|
|
}
|
|
}
|