mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-24 14:51:05 +01:00
* initial commit * add docs * black & prettier * mobile styles * add print view * prettier * make format * initial migrations un-messed * make migrations work for sqlite * add invoices table * clean migrations * add migration to conv * fix card size * hopefully fix test migration * add missing status * timestamp * init testing * remove draft invoice by default on create * what should i test * make format * raise if not invoice * new test and renaming * fix issue reported by @talvasconcelos which prevented users from setting status on creation * readme * run black * trying to make tests work * make it work again * send paid amount * partial pay flow * good coding * can't get these test to work * clean up and commenting * make format * validation for 2 decimals Co-authored-by: ben <ben@arc.wales> Co-authored-by: Tiago vasconcelos <talvasconcelos@gmail.com>
55 lines
1.3 KiB
Python
55 lines
1.3 KiB
Python
async def m001_initial_invoices(db):
|
|
|
|
# STATUS COLUMN OPTIONS: 'draft', 'open', 'paid', 'canceled'
|
|
|
|
await db.execute(
|
|
f"""
|
|
CREATE TABLE invoices.invoices (
|
|
id TEXT PRIMARY KEY,
|
|
wallet TEXT NOT NULL,
|
|
|
|
status TEXT NOT NULL DEFAULT 'draft',
|
|
|
|
currency TEXT NOT NULL,
|
|
|
|
company_name TEXT DEFAULT NULL,
|
|
first_name TEXT DEFAULT NULL,
|
|
last_name TEXT DEFAULT NULL,
|
|
email TEXT DEFAULT NULL,
|
|
phone TEXT DEFAULT NULL,
|
|
address TEXT DEFAULT NULL,
|
|
|
|
|
|
time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now}
|
|
);
|
|
"""
|
|
)
|
|
|
|
await db.execute(
|
|
f"""
|
|
CREATE TABLE invoices.invoice_items (
|
|
id TEXT PRIMARY KEY,
|
|
invoice_id TEXT NOT NULL,
|
|
|
|
description TEXT NOT NULL,
|
|
amount INTEGER NOT NULL,
|
|
|
|
FOREIGN KEY(invoice_id) REFERENCES {db.references_schema}invoices(id)
|
|
);
|
|
"""
|
|
)
|
|
|
|
await db.execute(
|
|
f"""
|
|
CREATE TABLE invoices.payments (
|
|
id TEXT PRIMARY KEY,
|
|
invoice_id TEXT NOT NULL,
|
|
|
|
amount INT NOT NULL,
|
|
|
|
time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now},
|
|
|
|
FOREIGN KEY(invoice_id) REFERENCES {db.references_schema}invoices(id)
|
|
);
|
|
"""
|
|
)
|