-- name: GetWorkspaceAgentByAuthToken :one SELECT * FROM workspace_agents WHERE auth_token = $1 ORDER BY created_at DESC; -- name: GetWorkspaceAgentByID :one SELECT * FROM workspace_agents WHERE id = $1; -- name: GetWorkspaceAgentByInstanceID :one SELECT * FROM workspace_agents WHERE auth_instance_id = @auth_instance_id :: TEXT ORDER BY created_at DESC; -- name: GetWorkspaceAgentsByResourceIDs :many SELECT * FROM workspace_agents WHERE resource_id = ANY(@ids :: uuid [ ]); -- name: GetWorkspaceAgentsCreatedAfter :many SELECT * FROM workspace_agents WHERE created_at > $1; -- name: InsertWorkspaceAgent :one INSERT INTO workspace_agents ( id, created_at, updated_at, name, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, directory, instance_metadata, resource_metadata, wireguard_node_ipv6, wireguard_node_public_key, wireguard_disco_public_key ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17) RETURNING *; -- name: UpdateWorkspaceAgentConnectionByID :exec UPDATE workspace_agents SET first_connected_at = $2, last_connected_at = $3, disconnected_at = $4, updated_at = $5 WHERE id = $1; -- name: UpdateWorkspaceAgentKeysByID :exec UPDATE workspace_agents SET wireguard_node_public_key = $2, wireguard_disco_public_key = $3, updated_at = $4 WHERE id = $1;