-- name: InsertChannel :one INSERT INTO channels (id, team_id, name, provider, config, event_types) VALUES ($1, $2, $3, $4, $5, $6) RETURNING *; -- name: ListChannelsByTeam :many SELECT * FROM channels WHERE team_id = $1 ORDER BY created_at DESC; -- name: GetChannelByTeam :one SELECT * FROM channels WHERE id = $1 AND team_id = $2; -- name: UpdateChannel :one UPDATE channels SET name = $3, event_types = $4, updated_at = NOW() WHERE id = $1 AND team_id = $2 RETURNING *; -- name: UpdateChannelConfig :one UPDATE channels SET config = $3, updated_at = NOW() WHERE id = $1 AND team_id = $2 RETURNING *; -- name: DeleteChannelByTeam :exec DELETE FROM channels WHERE id = $1 AND team_id = $2; -- name: DeleteAllChannelsByTeam :exec DELETE FROM channels WHERE team_id = $1; -- name: ListChannelsForEvent :many SELECT * FROM channels WHERE team_id = $1 AND sqlc.arg(event_type)::text = ANY(event_types) ORDER BY created_at;