History Optimization
This commit is contained in:
parent
1f924034b0
commit
5c449f76ba
5 changed files with 15 additions and 19 deletions
2
go.mod
2
go.mod
|
|
@ -10,7 +10,7 @@ require (
|
||||||
github.com/prometheus/client_golang v1.22.0
|
github.com/prometheus/client_golang v1.22.0
|
||||||
github.com/spf13/viper v1.20.1
|
github.com/spf13/viper v1.20.1
|
||||||
gorm.io/driver/postgres v1.6.0
|
gorm.io/driver/postgres v1.6.0
|
||||||
gorm.io/gorm v1.30.0
|
gorm.io/gorm v1.30.1
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
|
|
||||||
4
go.sum
4
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=
|
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 h1:2dxzU8xJ+ivvqTRph34QX+WrRaJlmfyPqXmoGVjMBa4=
|
||||||
gorm.io/driver/postgres v1.6.0/go.mod h1:vUw0mrGgrTK+uPHEhAdV4sfFELrByKVGnaVRkXDhtWo=
|
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.1 h1:lSHg33jJTBxs2mgJRfRZeLDG+WZaHYCk3Wtfl6Ngzo4=
|
||||||
gorm.io/gorm v1.30.0/go.mod h1:8Z33v652h4//uMA76KjeDH8mJXPm1QNCYrMeatR0DOE=
|
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 h1:+X5NtzVBn0KgsBCBe+xkDC7twLb/jNVj9FPgiwSQO3s=
|
||||||
modernc.org/cc/v4 v4.26.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
|
modernc.org/cc/v4 v4.26.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
|
||||||
modernc.org/ccgo/v4 v4.28.0 h1:rjznn6WWehKq7dG4JtLRKxb52Ecv8OUGah8+Z/SfpNU=
|
modernc.org/ccgo/v4 v4.28.0 h1:rjznn6WWehKq7dG4JtLRKxb52Ecv8OUGah8+Z/SfpNU=
|
||||||
|
|
|
||||||
|
|
@ -33,15 +33,14 @@ func apiGetConfig(c *gin.Context) {
|
||||||
|
|
||||||
func apiHistory(c *gin.Context) {
|
func apiHistory(c *gin.Context) {
|
||||||
var hosts []models.Host
|
var hosts []models.Host
|
||||||
histHosts := gdb.Select("history")
|
|
||||||
|
|
||||||
mac := c.Param("mac")
|
mac := c.Param("mac")
|
||||||
|
|
||||||
if mac != "/" {
|
if mac != "/" {
|
||||||
mac = mac[1:]
|
mac = mac[1:]
|
||||||
hosts = getHostsByMAC(mac, histHosts)
|
hosts = gdb.SelectByMAC(mac)
|
||||||
} else {
|
} else {
|
||||||
hosts = histHosts
|
hosts = gdb.Select("history")
|
||||||
}
|
}
|
||||||
|
|
||||||
c.IndentedJSON(http.StatusOK, hosts)
|
c.IndentedJSON(http.StatusOK, hosts)
|
||||||
|
|
|
||||||
|
|
@ -14,15 +14,3 @@ func getHostByID(idStr string) (oneHost models.Host) {
|
||||||
|
|
||||||
return oneHost
|
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
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ func Select(table string) (dbHosts []models.Host) {
|
||||||
return dbHosts
|
return dbHosts
|
||||||
}
|
}
|
||||||
|
|
||||||
// SelectByID - get all hosts
|
// SelectByID - get host by ID
|
||||||
func SelectByID(id int) (host models.Host) {
|
func SelectByID(id int) (host models.Host) {
|
||||||
|
|
||||||
tab := db.Table("now")
|
tab := db.Table("now")
|
||||||
|
|
@ -23,6 +23,15 @@ func SelectByID(id int) (host models.Host) {
|
||||||
return 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
|
// Update - update or create host
|
||||||
func Update(table string, oneHost models.Host) {
|
func Update(table string, oneHost models.Host) {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue