mirror of
https://github.com/fankes/beszel.git
synced 2025-10-19 17:59:28 +08:00
default values for system / update collections snapshot
This commit is contained in:
@@ -161,6 +161,15 @@ func main() {
|
|||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// system creation defaults
|
||||||
|
app.OnModelBeforeCreate("systems").Add(func(e *core.ModelEvent) error {
|
||||||
|
record := e.Model.(*models.Record)
|
||||||
|
var info = SystemInfo{}
|
||||||
|
record.Set("info", info)
|
||||||
|
record.Set("status", "pending")
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
// immediately create connection for new servers
|
// immediately create connection for new servers
|
||||||
app.OnModelAfterCreate("systems").Add(func(e *core.ModelEvent) error {
|
app.OnModelAfterCreate("systems").Add(func(e *core.ModelEvent) error {
|
||||||
go updateSystem(e.Model.(*models.Record))
|
go updateSystem(e.Model.(*models.Record))
|
||||||
|
@@ -1,78 +0,0 @@
|
|||||||
package migrations
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
|
|
||||||
"github.com/pocketbase/dbx"
|
|
||||||
"github.com/pocketbase/pocketbase/daos"
|
|
||||||
m "github.com/pocketbase/pocketbase/migrations"
|
|
||||||
"github.com/pocketbase/pocketbase/models/schema"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
m.Register(func(db dbx.Builder) error {
|
|
||||||
dao := daos.New(db);
|
|
||||||
|
|
||||||
collection, err := dao.FindCollectionByNameOrId("_pb_users_auth_")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// update
|
|
||||||
edit_role := &schema.SchemaField{}
|
|
||||||
if err := json.Unmarshal([]byte(`{
|
|
||||||
"system": false,
|
|
||||||
"id": "qkbp58ae",
|
|
||||||
"name": "role",
|
|
||||||
"type": "select",
|
|
||||||
"required": false,
|
|
||||||
"presentable": false,
|
|
||||||
"unique": false,
|
|
||||||
"options": {
|
|
||||||
"maxSelect": 1,
|
|
||||||
"values": [
|
|
||||||
"user",
|
|
||||||
"admin",
|
|
||||||
"readonly"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}`), edit_role); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
collection.Schema.AddField(edit_role)
|
|
||||||
|
|
||||||
return dao.SaveCollection(collection)
|
|
||||||
}, func(db dbx.Builder) error {
|
|
||||||
dao := daos.New(db);
|
|
||||||
|
|
||||||
collection, err := dao.FindCollectionByNameOrId("_pb_users_auth_")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// update
|
|
||||||
edit_role := &schema.SchemaField{}
|
|
||||||
if err := json.Unmarshal([]byte(`{
|
|
||||||
"system": false,
|
|
||||||
"id": "qkbp58ae",
|
|
||||||
"name": "role",
|
|
||||||
"type": "select",
|
|
||||||
"required": true,
|
|
||||||
"presentable": false,
|
|
||||||
"unique": false,
|
|
||||||
"options": {
|
|
||||||
"maxSelect": 1,
|
|
||||||
"values": [
|
|
||||||
"user",
|
|
||||||
"admin",
|
|
||||||
"readonly"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}`), edit_role); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
collection.Schema.AddField(edit_role)
|
|
||||||
|
|
||||||
return dao.SaveCollection(collection)
|
|
||||||
})
|
|
||||||
}
|
|
@@ -15,7 +15,7 @@ func init() {
|
|||||||
{
|
{
|
||||||
"id": "2hz5ncl8tizk5nx",
|
"id": "2hz5ncl8tizk5nx",
|
||||||
"created": "2024-07-07 16:08:20.979Z",
|
"created": "2024-07-07 16:08:20.979Z",
|
||||||
"updated": "2024-07-22 19:39:17.434Z",
|
"updated": "2024-07-28 17:00:47.996Z",
|
||||||
"name": "systems",
|
"name": "systems",
|
||||||
"type": "base",
|
"type": "base",
|
||||||
"system": false,
|
"system": false,
|
||||||
@@ -39,7 +39,7 @@ func init() {
|
|||||||
"id": "waj7seaf",
|
"id": "waj7seaf",
|
||||||
"name": "status",
|
"name": "status",
|
||||||
"type": "select",
|
"type": "select",
|
||||||
"required": true,
|
"required": false,
|
||||||
"presentable": false,
|
"presentable": false,
|
||||||
"unique": false,
|
"unique": false,
|
||||||
"options": {
|
"options": {
|
||||||
@@ -85,7 +85,7 @@ func init() {
|
|||||||
"id": "qoq64ntl",
|
"id": "qoq64ntl",
|
||||||
"name": "info",
|
"name": "info",
|
||||||
"type": "json",
|
"type": "json",
|
||||||
"required": true,
|
"required": false,
|
||||||
"presentable": false,
|
"presentable": false,
|
||||||
"unique": false,
|
"unique": false,
|
||||||
"options": {
|
"options": {
|
||||||
@@ -120,7 +120,7 @@ func init() {
|
|||||||
{
|
{
|
||||||
"id": "ej9oowivz8b2mht",
|
"id": "ej9oowivz8b2mht",
|
||||||
"created": "2024-07-07 16:09:09.179Z",
|
"created": "2024-07-07 16:09:09.179Z",
|
||||||
"updated": "2024-07-18 15:56:45.302Z",
|
"updated": "2024-07-22 20:13:31.324Z",
|
||||||
"name": "system_stats",
|
"name": "system_stats",
|
||||||
"type": "base",
|
"type": "base",
|
||||||
"system": false,
|
"system": false,
|
||||||
@@ -186,7 +186,7 @@ func init() {
|
|||||||
{
|
{
|
||||||
"id": "juohu4jipgc13v7",
|
"id": "juohu4jipgc13v7",
|
||||||
"created": "2024-07-07 16:09:57.976Z",
|
"created": "2024-07-07 16:09:57.976Z",
|
||||||
"updated": "2024-07-18 15:57:50.933Z",
|
"updated": "2024-07-22 20:13:31.324Z",
|
||||||
"name": "container_stats",
|
"name": "container_stats",
|
||||||
"type": "base",
|
"type": "base",
|
||||||
"system": false,
|
"system": false,
|
||||||
@@ -250,7 +250,7 @@ func init() {
|
|||||||
{
|
{
|
||||||
"id": "_pb_users_auth_",
|
"id": "_pb_users_auth_",
|
||||||
"created": "2024-07-14 16:25:18.226Z",
|
"created": "2024-07-14 16:25:18.226Z",
|
||||||
"updated": "2024-07-22 20:10:20.670Z",
|
"updated": "2024-07-28 17:02:08.311Z",
|
||||||
"name": "users",
|
"name": "users",
|
||||||
"type": "auth",
|
"type": "auth",
|
||||||
"system": false,
|
"system": false,
|
||||||
@@ -260,7 +260,7 @@ func init() {
|
|||||||
"id": "qkbp58ae",
|
"id": "qkbp58ae",
|
||||||
"name": "role",
|
"name": "role",
|
||||||
"type": "select",
|
"type": "select",
|
||||||
"required": true,
|
"required": false,
|
||||||
"presentable": false,
|
"presentable": false,
|
||||||
"unique": false,
|
"unique": false,
|
||||||
"options": {
|
"options": {
|
||||||
@@ -316,7 +316,7 @@ func init() {
|
|||||||
{
|
{
|
||||||
"id": "elngm8x1l60zi2v",
|
"id": "elngm8x1l60zi2v",
|
||||||
"created": "2024-07-15 01:16:04.044Z",
|
"created": "2024-07-15 01:16:04.044Z",
|
||||||
"updated": "2024-07-22 19:13:16.498Z",
|
"updated": "2024-07-22 20:13:31.324Z",
|
||||||
"name": "alerts",
|
"name": "alerts",
|
||||||
"type": "base",
|
"type": "base",
|
||||||
"system": false,
|
"system": false,
|
@@ -53,20 +53,7 @@ export function AddSystemButton() {
|
|||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
const formData = new FormData(e.target as HTMLFormElement)
|
const formData = new FormData(e.target as HTMLFormElement)
|
||||||
const data = Object.fromEntries(formData) as Record<string, any>
|
const data = Object.fromEntries(formData) as Record<string, any>
|
||||||
data.status = 'pending'
|
|
||||||
data.users = pb.authStore.model!.id
|
data.users = pb.authStore.model!.id
|
||||||
data.info = {
|
|
||||||
cpu: 0,
|
|
||||||
m: 0,
|
|
||||||
mu: 0,
|
|
||||||
mp: 0,
|
|
||||||
mb: 0,
|
|
||||||
d: 0,
|
|
||||||
du: 0,
|
|
||||||
dp: 0,
|
|
||||||
dr: 0,
|
|
||||||
dw: 0,
|
|
||||||
} as SystemStats
|
|
||||||
try {
|
try {
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
await pb.collection('systems').create(data)
|
await pb.collection('systems').create(data)
|
||||||
|
Reference in New Issue
Block a user