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
+24 -2
View File
@@ -3,6 +3,7 @@ package store
import (
"context"
"database/sql"
"time"
domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain"
"github.com/lorsanstand/HomeOps-Hub/hub/internal/store/sqlc/gen"
@@ -21,8 +22,8 @@ func (h *HubStore) NewAgent(ctx context.Context, agent domainHub.CreateAgentMode
return h.queries.CreateAgent(ctx, toDBAgent(agent))
}
func (h *HubStore) GetAgentByAgentID(ctx context.Context, AgentID string) (domainHub.AgentModel, error) {
data, err := h.queries.GetAgentByAgentID(ctx, AgentID)
func (h *HubStore) GetAgentByAgentID(ctx context.Context, agentID string) (domainHub.AgentModel, error) {
data, err := h.queries.GetAgentByAgentID(ctx, agentID)
if err != nil {
return domainHub.AgentModel{}, err
}
@@ -34,3 +35,24 @@ func (h *HubStore) UpdateAgentByID(ctx context.Context, ID int, updateAgent doma
data.ID = int64(ID)
return h.queries.UpdateAgentByID(ctx, data)
}
func (h *HubStore) CreateHeartbeat(ctx context.Context, heartbeat domainHub.CreateHeartbeatModel) error {
data := toDBHeartbeat(heartbeat)
return h.queries.InsertHeartbeat(ctx, data)
}
func (h *HubStore) GetHeartbeatsByIDAfter(ctx context.Context, agentID string, timestamp time.Time) ([]domainHub.HeartbeatModel, error) {
data := gen.SelectHeartbeatsAfterParams{AgentID: agentID, Timestamp: timestamp}
heartbeats, err := h.queries.SelectHeartbeatsAfter(ctx, data)
if err != nil {
return []domainHub.HeartbeatModel{}, err
}
heartbeatsModel := make([]domainHub.HeartbeatModel, len(heartbeats))
for i, heartbeat := range heartbeats {
heartbeatsModel[i] = toHeartBeatModel(heartbeat)
}
return heartbeatsModel, nil
}