diff --git a/go.mod b/go.mod index 482f622..eb8ee69 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/prometheus/client_golang v1.22.0 github.com/spf13/viper v1.20.1 gorm.io/driver/postgres v1.6.0 - gorm.io/gorm v1.30.0 + gorm.io/gorm v1.30.1 ) require ( diff --git a/go.sum b/go.sum index 5a63152..0272208 100644 --- a/go.sum +++ b/go.sum @@ -192,8 +192,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/postgres v1.6.0 h1:2dxzU8xJ+ivvqTRph34QX+WrRaJlmfyPqXmoGVjMBa4= gorm.io/driver/postgres v1.6.0/go.mod h1:vUw0mrGgrTK+uPHEhAdV4sfFELrByKVGnaVRkXDhtWo= -gorm.io/gorm v1.30.0 h1:qbT5aPv1UH8gI99OsRlvDToLxW5zR7FzS9acZDOZcgs= -gorm.io/gorm v1.30.0/go.mod h1:8Z33v652h4//uMA76KjeDH8mJXPm1QNCYrMeatR0DOE= +gorm.io/gorm v1.30.1 h1:lSHg33jJTBxs2mgJRfRZeLDG+WZaHYCk3Wtfl6Ngzo4= +gorm.io/gorm v1.30.1/go.mod h1:8Z33v652h4//uMA76KjeDH8mJXPm1QNCYrMeatR0DOE= modernc.org/cc/v4 v4.26.1 h1:+X5NtzVBn0KgsBCBe+xkDC7twLb/jNVj9FPgiwSQO3s= modernc.org/cc/v4 v4.26.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0= modernc.org/ccgo/v4 v4.28.0 h1:rjznn6WWehKq7dG4JtLRKxb52Ecv8OUGah8+Z/SfpNU= diff --git a/internal/api/api.go b/internal/api/api.go index 0e71130..12eaf68 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -33,15 +33,14 @@ func apiGetConfig(c *gin.Context) { func apiHistory(c *gin.Context) { var hosts []models.Host - histHosts := gdb.Select("history") mac := c.Param("mac") if mac != "/" { mac = mac[1:] - hosts = getHostsByMAC(mac, histHosts) + hosts = gdb.SelectByMAC(mac) } else { - hosts = histHosts + hosts = gdb.Select("history") } c.IndentedJSON(http.StatusOK, hosts) diff --git a/internal/api/functions.go b/internal/api/functions.go index b25419a..0eb59b5 100644 --- a/internal/api/functions.go +++ b/internal/api/functions.go @@ -14,15 +14,3 @@ func getHostByID(idStr string) (oneHost models.Host) { return oneHost } - -func getHostsByMAC(mac string, hosts []models.Host) (foundHosts []models.Host) { - - for _, host := range hosts { - if host.Mac == mac { - - foundHosts = append(foundHosts, host) - } - } - - return foundHosts -} diff --git a/internal/gdb/edit.go b/internal/gdb/edit.go index 0e51422..3f11a8d 100644 --- a/internal/gdb/edit.go +++ b/internal/gdb/edit.go @@ -14,7 +14,7 @@ func Select(table string) (dbHosts []models.Host) { return dbHosts } -// SelectByID - get all hosts +// SelectByID - get host by ID func SelectByID(id int) (host models.Host) { tab := db.Table("now") @@ -23,6 +23,15 @@ func SelectByID(id int) (host models.Host) { return host } +// SelectByMAC - get all hosts by MAC +func SelectByMAC(mac string) (hosts []models.Host) { + + tab := db.Table("history") + tab.Where("MAC = ?", mac).Find(&hosts) + + return hosts +} + // Update - update or create host func Update(table string, oneHost models.Host) {