mirror of
https://github.com/1f349/orchid.git
synced 2025-02-05 05:56:40 +00:00
99 lines
2.6 KiB
Go
99 lines
2.6 KiB
Go
|
// 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
|
||
|
}
|