mirror of
https://github.com/lightninglabs/lightning-terminal.git
synced 2026-08-13 12:33:36 +02:00
In the upcoming kvdb to SQL migration of the actions store, we need to simulate in tests that two or more accounts have colliding account aliases for the first 4 bytes of the alias. In order to allow creation of such accounts, we need to be able to update the alias of an account in tests, and this commit adds the a SQL query enabling this functionality. Note that the `UpdateAccountAliasForTests` query is only intended for use in tests and should not be used in production code.
100 lines
2 KiB
SQL
100 lines
2 KiB
SQL
-- 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: UpdateAccountAliasForTests :one
|
|
-- NOTE: This query is only intended for testing purposes.
|
|
UPDATE accounts
|
|
SET alias = $1
|
|
WHERE id = $2
|
|
RETURNING id;
|
|
|
|
-- 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;
|