orchid/database/agent.sql.go

99 lines
2.6 KiB
Go
Raw Permalink Normal View History

2025-01-31 19:01:55 +00:00
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.28.0
// source: agent.sql
package database
import (
"context"
"database/sql"
)
const findAgentToSync = `-- name: FindAgentToSync :many
SELECT agents.id as agent_id, agents.address, agents.user, agents.dir, agents.fingerprint, cert.id as cert_id, cert.not_after as cert_not_after
FROM agents
INNER JOIN agent_certs
ON agent_certs.agent_id = agents.id
INNER JOIN certificates AS cert
ON cert.id = agent_certs.cert_id
WHERE (agents.last_sync IS NULL OR agents.last_sync < cert.updated_at)
AND (agent_certs.not_after IS NULL OR agent_certs.not_after IS NOT cert.not_after)
ORDER BY agents.last_sync NULLS FIRST
`
type FindAgentToSyncRow struct {
AgentID int64 `json:"agent_id"`
Address string `json:"address"`
User string `json:"user"`
Dir string `json:"dir"`
Fingerprint string `json:"fingerprint"`
CertID int64 `json:"cert_id"`
CertNotAfter sql.NullTime `json:"cert_not_after"`
}
func (q *Queries) FindAgentToSync(ctx context.Context) ([]FindAgentToSyncRow, error) {
rows, err := q.db.QueryContext(ctx, findAgentToSync)
if err != nil {
return nil, err
}
defer rows.Close()
var items []FindAgentToSyncRow
for rows.Next() {
var i FindAgentToSyncRow
if err := rows.Scan(
&i.AgentID,
&i.Address,
&i.User,
&i.Dir,
&i.Fingerprint,
&i.CertID,
&i.CertNotAfter,
); 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
}
const updateAgentCertNotAfter = `-- name: UpdateAgentCertNotAfter :exec
UPDATE agent_certs
SET not_after = ?
WHERE agent_id = ?
AND cert_id = ?
`
type UpdateAgentCertNotAfterParams struct {
NotAfter sql.NullTime `json:"not_after"`
AgentID int64 `json:"agent_id"`
CertID int64 `json:"cert_id"`
}
func (q *Queries) UpdateAgentCertNotAfter(ctx context.Context, arg UpdateAgentCertNotAfterParams) error {
_, err := q.db.ExecContext(ctx, updateAgentCertNotAfter, arg.NotAfter, arg.AgentID, arg.CertID)
return err
}
const updateAgentLastSync = `-- name: UpdateAgentLastSync :exec
UPDATE agents
SET last_sync = ?
WHERE agents.id = ?
`
type UpdateAgentLastSyncParams struct {
LastSync sql.NullTime `json:"last_sync"`
ID int64 `json:"id"`
}
func (q *Queries) UpdateAgentLastSync(ctx context.Context, arg UpdateAgentLastSyncParams) error {
_, err := q.db.ExecContext(ctx, updateAgentLastSync, arg.LastSync, arg.ID)
return err
}