Update README with current features and screenshots
- Cross-platform support (Windows/Linux) with Windows Updates and Winget - Added dependency confirmation workflow and refresh token authentication - New screenshots: History, Live Operations, Windows Agent Details - Local CLI features with terminal output and cache system - Updated known limitations - Proxmox integration is broken - Organized docs to docs/ folder and updated .gitignore - Probably introduced a dozen bugs with Windows agents - stay tuned
This commit is contained in:
@@ -49,6 +49,24 @@ func (q *AgentQueries) UpdateAgentLastSeen(id uuid.UUID) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// UpdateAgent updates an agent's full record including metadata
|
||||
func (q *AgentQueries) UpdateAgent(agent *models.Agent) error {
|
||||
query := `
|
||||
UPDATE agents SET
|
||||
hostname = :hostname,
|
||||
os_type = :os_type,
|
||||
os_version = :os_version,
|
||||
os_architecture = :os_architecture,
|
||||
agent_version = :agent_version,
|
||||
last_seen = :last_seen,
|
||||
status = :status,
|
||||
metadata = :metadata
|
||||
WHERE id = :id
|
||||
`
|
||||
_, err := q.db.NamedExec(query, agent)
|
||||
return err
|
||||
}
|
||||
|
||||
// ListAgents returns all agents with optional filtering
|
||||
func (q *AgentQueries) ListAgents(status, osType string) ([]models.Agent, error) {
|
||||
var agents []models.Agent
|
||||
@@ -137,6 +155,29 @@ func (q *AgentQueries) ListAgentsWithLastScan(status, osType string) ([]models.A
|
||||
return agents, err
|
||||
}
|
||||
|
||||
// UpdateAgentVersion updates the agent's version information and checks for updates
|
||||
func (q *AgentQueries) UpdateAgentVersion(id uuid.UUID, currentVersion string) error {
|
||||
query := `
|
||||
UPDATE agents SET
|
||||
current_version = $1,
|
||||
last_version_check = $2
|
||||
WHERE id = $3
|
||||
`
|
||||
_, err := q.db.Exec(query, currentVersion, time.Now().UTC(), id)
|
||||
return err
|
||||
}
|
||||
|
||||
// UpdateAgentUpdateAvailable sets whether an update is available for an agent
|
||||
func (q *AgentQueries) UpdateAgentUpdateAvailable(id uuid.UUID, updateAvailable bool) error {
|
||||
query := `
|
||||
UPDATE agents SET
|
||||
update_available = $1
|
||||
WHERE id = $2
|
||||
`
|
||||
_, err := q.db.Exec(query, updateAvailable, id)
|
||||
return err
|
||||
}
|
||||
|
||||
// DeleteAgent removes an agent and all associated data
|
||||
func (q *AgentQueries) DeleteAgent(id uuid.UUID) error {
|
||||
// Start a transaction for atomic deletion
|
||||
|
||||
Reference in New Issue
Block a user