fix: getCustomerAgents liefert status + agent_version

This commit is contained in:
cynfo3000 2026-03-10 00:21:58 +01:00
parent 4a79305eee
commit 20a976767b

View File

@ -1098,19 +1098,19 @@ func (d *Database) UnassignAgentCustomer(agentID string) error {
return err
}
func (d *Database) GetAgentsByCustomer(customerID int) ([]models.Agent, error) {
rows, err := d.db.Query("SELECT id, name, hostname, ip, opnsense_version, registered_at, last_heartbeat, customer_id FROM agents WHERE customer_id = $1 ORDER BY name", customerID)
func (d *Database) GetAgentsByCustomer(customerID int) ([]models.AgentResponse, error) {
rows, err := d.db.Query("SELECT id, name, hostname, ip, opnsense_version, registered_at, last_heartbeat, customer_id, agent_version FROM agents WHERE customer_id = $1 ORDER BY name", customerID)
if err != nil {
return nil, err
}
defer rows.Close()
var agents []models.Agent
var agents []models.AgentResponse
for rows.Next() {
var a models.Agent
var lastHB sql.NullTime
var custID sql.NullInt64
if err := rows.Scan(&a.ID, &a.Name, &a.Hostname, &a.IP, &a.OPNsenseVersion, &a.RegisteredAt, &lastHB, &custID); err != nil {
if err := rows.Scan(&a.ID, &a.Name, &a.Hostname, &a.IP, &a.OPNsenseVersion, &a.RegisteredAt, &lastHB, &custID, &a.AgentVersion); err != nil {
return nil, err
}
if lastHB.Valid {
@ -1120,10 +1120,13 @@ func (d *Database) GetAgentsByCustomer(customerID int) ([]models.Agent, error) {
cid := int(custID.Int64)
a.CustomerID = &cid
}
agents = append(agents, a)
agents = append(agents, models.AgentResponse{
Agent: a,
Status: models.CalculateAgentStatus(a.LastHeartbeat),
})
}
if agents == nil {
agents = []models.Agent{}
agents = []models.AgentResponse{}
}
return agents, rows.Err()
}