-- name: InsertAccount :one INSERT INTO accounts (type, initial_balance_msat, current_balance_msat, last_updated, label, alias, expiration) VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING id; -- name: UpdateAccountBalance :one UPDATE accounts SET current_balance_msat = $1 WHERE id = $2 RETURNING id; -- name: UpdateAccountExpiry :one UPDATE accounts SET expiration = $1 WHERE id = $2 RETURNING id; -- name: UpdateAccountLastUpdate :one UPDATE accounts SET last_updated = $1 WHERE id = $2 RETURNING id; -- name: AddAccountInvoice :exec INSERT INTO account_invoices (account_id, hash) VALUES ($1, $2); -- name: DeleteAccountPayment :exec DELETE FROM account_payments WHERE hash = $1 AND account_id = $2; -- name: UpsertAccountPayment :exec INSERT INTO account_payments (account_id, hash, status, full_amount_msat) VALUES ($1, $2, $3, $4) ON CONFLICT (account_id, hash) DO UPDATE SET status = $3, full_amount_msat = $4; -- name: GetAccountPayment :one SELECT * FROM account_payments WHERE hash = $1 AND account_id = $2; -- name: GetAccount :one SELECT * FROM accounts WHERE id = $1; -- name: GetAccountIDByAlias :one SELECT id FROM accounts WHERE alias = $1; -- name: GetAccountByLabel :one SELECT * FROM accounts WHERE label = $1; -- name: DeleteAccount :exec DELETE FROM accounts WHERE id = $1; -- name: ListAllAccounts :many SELECT * FROM accounts ORDER BY id; -- name: ListAccountPayments :many SELECT * FROM account_payments WHERE account_id = $1; -- name: ListAccountInvoices :many SELECT * FROM account_invoices WHERE account_id = $1; -- name: GetAccountInvoice :one SELECT * FROM account_invoices WHERE account_id = $1 AND hash = $2; -- name: SetAccountIndex :exec INSERT INTO account_indices (name, value) VALUES ($1, $2) ON CONFLICT (name) DO UPDATE SET value = $2; -- name: GetAccountIndex :one SELECT value FROM account_indices WHERE name = $1;