refactor: create heartbeats func in HubStore

This commit is contained in:
2026-05-09 22:31:42 +03:00
parent f2d0924bca
commit 6277523b23
9 changed files with 158 additions and 11 deletions
@@ -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
}