From 8f76628e15e88d2cabbc28d4f497f4d8da701b74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxi=20Quo=C3=9F?= Date: Sat, 28 Jan 2023 16:29:32 +0100 Subject: [PATCH] settings: add option for website title --- README.md | 2 +- backend/go.mod | 2 - backend/go.sum | 3 -- .../migrations/1674916902_updated_settings.go | 48 +++++++++++++++++ .../migrations/1674917432_updated_settings.go | 52 +++++++++++++++++++ backend/pb/pb.go | 20 ++----- frontend/src/app.html | 1 - frontend/src/components/Navbar.svelte | 34 +++++++++++- frontend/src/routes/+layout.svelte | 4 +- frontend/src/routes/settings/+page.svelte | 43 +++++++-------- 10 files changed, 159 insertions(+), 50 deletions(-) create mode 100644 backend/migrations/1674916902_updated_settings.go create mode 100644 backend/migrations/1674917432_updated_settings.go diff --git a/README.md b/README.md index 5ecc0976..d961b55e 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Open up [http://localhost:5173/](http://localhost:5173/) - [x] ~~theme toggle button~~ - [x] ~~add device ports to cards~~ - [ ] settings: add network scan - - [ ] settings: add option for website title + - [x] settings: add option for website title - backend diff --git a/backend/go.mod b/backend/go.mod index ad9c0c6a..47e5955f 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -3,7 +3,6 @@ module github.com/seriousm4x/upsnap/backend go 1.19 require ( - github.com/Ullaakut/nmap/v2 v2.2.2 github.com/go-ping/ping v1.1.0 github.com/labstack/echo/v5 v5.0.0-20220201181537-ed2888cfa198 github.com/mdlayher/wol v0.0.0-20220221231636-b763a792253a @@ -59,7 +58,6 @@ require ( github.com/mdlayher/packet v1.0.0 // indirect github.com/mdlayher/socket v0.2.1 // indirect github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/remyoudompheng/bigfft v0.0.0-20220927061507-ef77025ab5aa // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.6.1 // indirect diff --git a/backend/go.sum b/backend/go.sum index c5e00e45..6fc33cb6 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -481,8 +481,6 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/Ullaakut/nmap/v2 v2.2.2 h1:178Ety3d8T21sF6WZxyj7QVZUhnC1tL1J+tHLLW507Q= -github.com/Ullaakut/nmap/v2 v2.2.2/go.mod h1:/6YyiW1Rgn7J6DAWCgL4CZZf6zJCFhB07PQzvjFfzLI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -1565,7 +1563,6 @@ github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsK github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= diff --git a/backend/migrations/1674916902_updated_settings.go b/backend/migrations/1674916902_updated_settings.go new file mode 100644 index 00000000..3c658a6f --- /dev/null +++ b/backend/migrations/1674916902_updated_settings.go @@ -0,0 +1,48 @@ +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("nmj3ko20gzkg8n3") + if err != nil { + return err + } + + // remove + collection.Schema.RemoveField("7ehvglvv") + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("nmj3ko20gzkg8n3") + if err != nil { + return err + } + + // add + del_notifications := &schema.SchemaField{} + json.Unmarshal([]byte(`{ + "system": false, + "id": "7ehvglvv", + "name": "notifications", + "type": "bool", + "required": false, + "unique": false, + "options": {} + }`), del_notifications) + collection.Schema.AddField(del_notifications) + + return dao.SaveCollection(collection) + }) +} diff --git a/backend/migrations/1674917432_updated_settings.go b/backend/migrations/1674917432_updated_settings.go new file mode 100644 index 00000000..ff624c0c --- /dev/null +++ b/backend/migrations/1674917432_updated_settings.go @@ -0,0 +1,52 @@ +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("nmj3ko20gzkg8n3") + if err != nil { + return err + } + + // add + new_website_title := &schema.SchemaField{} + json.Unmarshal([]byte(`{ + "system": false, + "id": "slrjkipw", + "name": "website_title", + "type": "text", + "required": false, + "unique": false, + "options": { + "min": null, + "max": null, + "pattern": "" + } + }`), new_website_title) + collection.Schema.AddField(new_website_title) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("nmj3ko20gzkg8n3") + if err != nil { + return err + } + + // remove + collection.Schema.RemoveField("slrjkipw") + + return dao.SaveCollection(collection) + }) +} diff --git a/backend/pb/pb.go b/backend/pb/pb.go index ec3af11e..c6b392c9 100644 --- a/backend/pb/pb.go +++ b/backend/pb/pb.go @@ -4,7 +4,6 @@ import ( "log" "net/http" "os" - "strconv" "github.com/labstack/echo/v5" "github.com/pocketbase/pocketbase" @@ -130,7 +129,7 @@ func importSettings() error { settings = settingsRecords[0] } - // set ping interval and notification settings. priority: + // set ping interval settings. priority: // 1st: env var // 2nd: database entry // 3rd: default values @@ -141,31 +140,20 @@ func importSettings() error { if os.Getenv("UPSNAP_INTERVAL") != "" { interval = os.Getenv("UPSNAP_INTERVAL") } - notifications := true - if settings.GetBool("notifications") { - notifications = settings.GetBool("notifications") - } - if os.Getenv("UPSNAP_NOTIFICATIONS") != "" { - notificationsParsed, err := strconv.ParseBool(os.Getenv("UPSNAP_NOTIFICATIONS")) - if err != nil { - return err - } else { - notifications = notificationsParsed - } - } // save settings to db settings.Set("interval", interval) - settings.Set("notifications", notifications) if scanRange := os.Getenv("UPSNAP_SCAN_RANGE"); scanRange != "" { settings.Set("scan_range", scanRange) } + if scanRange := os.Getenv("UPSNAP_WEBSITE_TITLE"); scanRange != "" { + settings.Set("website_title", scanRange) + } if err := App.Dao().SaveRecord(settings); err != nil { return err } logger.Info.Println("Ping interval set to", interval) - logger.Info.Println("Notifications set to", notifications) return nil } diff --git a/frontend/src/app.html b/frontend/src/app.html index a0f12000..746d9dec 100644 --- a/frontend/src/app.html +++ b/frontend/src/app.html @@ -4,7 +4,6 @@ - UpSnap %sveltekit.head% diff --git a/frontend/src/components/Navbar.svelte b/frontend/src/components/Navbar.svelte index 81fc1228..fb5e0cc6 100644 --- a/frontend/src/components/Navbar.svelte +++ b/frontend/src/components/Navbar.svelte @@ -1,14 +1,46 @@ + + {#if website_title !== ''} + {website_title} + {:else} + UpSnap + {/if} + +