2020-11-21 18:04:39 -03:00
|
|
|
async def m001_initial(db):
|
2020-08-28 23:03:12 -03:00
|
|
|
"""
|
|
|
|
Initial pay table.
|
|
|
|
"""
|
2020-11-21 18:04:39 -03:00
|
|
|
await db.execute(
|
2020-08-28 23:03:12 -03:00
|
|
|
"""
|
|
|
|
CREATE TABLE IF NOT EXISTS pay_links (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
wallet TEXT NOT NULL,
|
|
|
|
description TEXT NOT NULL,
|
|
|
|
amount INTEGER NOT NULL,
|
|
|
|
served_meta INTEGER NOT NULL,
|
|
|
|
served_pr INTEGER NOT NULL
|
|
|
|
);
|
|
|
|
"""
|
|
|
|
)
|
2020-09-27 23:12:55 -03:00
|
|
|
|
|
|
|
|
2020-11-21 18:04:39 -03:00
|
|
|
async def m002_webhooks_and_success_actions(db):
|
2020-09-28 00:54:15 -03:00
|
|
|
"""
|
|
|
|
Webhooks and success actions.
|
|
|
|
"""
|
2020-11-21 18:04:39 -03:00
|
|
|
await db.execute("ALTER TABLE pay_links ADD COLUMN webhook_url TEXT;")
|
|
|
|
await db.execute("ALTER TABLE pay_links ADD COLUMN success_text TEXT;")
|
|
|
|
await db.execute("ALTER TABLE pay_links ADD COLUMN success_url TEXT;")
|
|
|
|
await db.execute(
|
2020-09-28 00:54:15 -03:00
|
|
|
"""
|
|
|
|
CREATE TABLE invoices (
|
|
|
|
pay_link INTEGER NOT NULL REFERENCES pay_links (id),
|
|
|
|
payment_hash TEXT NOT NULL,
|
|
|
|
webhook_sent INT, -- null means not sent, otherwise store status
|
|
|
|
expiry INT
|
|
|
|
);
|
|
|
|
"""
|
|
|
|
)
|
2020-10-22 15:58:15 -03:00
|
|
|
|
|
|
|
|
2020-11-21 18:04:39 -03:00
|
|
|
async def m003_min_max_comment_fiat(db):
|
2020-10-22 15:58:15 -03:00
|
|
|
"""
|
|
|
|
Support for min/max amounts, comments and fiat prices that get
|
|
|
|
converted automatically to satoshis based on some API.
|
|
|
|
"""
|
2021-03-24 00:40:32 -03:00
|
|
|
await db.execute(
|
|
|
|
"ALTER TABLE pay_links ADD COLUMN currency TEXT;"
|
|
|
|
) # null = satoshis
|
|
|
|
await db.execute(
|
|
|
|
"ALTER TABLE pay_links ADD COLUMN comment_chars INTEGER DEFAULT 0;"
|
|
|
|
)
|
2020-11-21 18:04:39 -03:00
|
|
|
await db.execute("ALTER TABLE pay_links RENAME COLUMN amount TO min;")
|
|
|
|
await db.execute("ALTER TABLE pay_links ADD COLUMN max INTEGER;")
|
|
|
|
await db.execute("UPDATE pay_links SET max = min;")
|
|
|
|
await db.execute("DROP TABLE invoices")
|