mirror of
https://github.com/lorsanstand/HomeOps-Hub.git
synced 2026-06-19 20:05:17 +03:00
refactor: create heartbeats func in HubStore
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.30.0
|
||||
// sqlc v1.31.1
|
||||
// source: agent.sql
|
||||
|
||||
package gen
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.30.0
|
||||
// sqlc v1.31.1
|
||||
|
||||
package gen
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
// source: heartbeat.sql
|
||||
|
||||
package gen
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
)
|
||||
|
||||
const insertHeartbeat = `-- name: InsertHeartbeat :exec
|
||||
INSERT INTO heartbeats (agent_id, cpu_usage, memory_usage, disk_usage, heartbeat_timestamp)
|
||||
VALUES (?1, ?2, ?3, ?4, ?5)
|
||||
`
|
||||
|
||||
type InsertHeartbeatParams struct {
|
||||
AgentID string
|
||||
CpuUsage float64
|
||||
MemoryUsage float64
|
||||
DiskUsage float64
|
||||
HeartbeatTimestamp time.Time
|
||||
}
|
||||
|
||||
func (q *Queries) InsertHeartbeat(ctx context.Context, arg InsertHeartbeatParams) error {
|
||||
_, err := q.db.ExecContext(ctx, insertHeartbeat,
|
||||
arg.AgentID,
|
||||
arg.CpuUsage,
|
||||
arg.MemoryUsage,
|
||||
arg.DiskUsage,
|
||||
arg.HeartbeatTimestamp,
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
const selectHeartbeatsAfter = `-- name: SelectHeartbeatsAfter :many
|
||||
SELECT id, agent_id, cpu_usage, memory_usage, disk_usage, heartbeat_timestamp FROM heartbeats
|
||||
WHERE agent_id = ?1 AND heartbeat_timestamp > ?2
|
||||
`
|
||||
|
||||
type SelectHeartbeatsAfterParams struct {
|
||||
AgentID string
|
||||
Timestamp time.Time
|
||||
}
|
||||
|
||||
func (q *Queries) SelectHeartbeatsAfter(ctx context.Context, arg SelectHeartbeatsAfterParams) ([]Heartbeat, error) {
|
||||
rows, err := q.db.QueryContext(ctx, selectHeartbeatsAfter, arg.AgentID, arg.Timestamp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []Heartbeat
|
||||
for rows.Next() {
|
||||
var i Heartbeat
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.AgentID,
|
||||
&i.CpuUsage,
|
||||
&i.MemoryUsage,
|
||||
&i.DiskUsage,
|
||||
&i.HeartbeatTimestamp,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.30.0
|
||||
// sqlc v1.31.1
|
||||
|
||||
package gen
|
||||
|
||||
@@ -19,3 +19,12 @@ type Agent struct {
|
||||
Capabilities *string
|
||||
RegisteredAt time.Time
|
||||
}
|
||||
|
||||
type Heartbeat struct {
|
||||
ID int64
|
||||
AgentID string
|
||||
CpuUsage float64
|
||||
MemoryUsage float64
|
||||
DiskUsage float64
|
||||
HeartbeatTimestamp time.Time
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user