mirror of https://github.com/lukechilds/lnbits.git
17 changed files with 191 additions and 118 deletions
@ -0,0 +1,65 @@ |
|||||
|
from lnbits.db import open_db |
||||
|
|
||||
|
|
||||
|
def m001_initial(db): |
||||
|
""" |
||||
|
Initial LNbits tables. |
||||
|
""" |
||||
|
db.execute(""" |
||||
|
CREATE TABLE IF NOT EXISTS accounts ( |
||||
|
id TEXT PRIMARY KEY, |
||||
|
email TEXT, |
||||
|
pass TEXT |
||||
|
); |
||||
|
""") |
||||
|
db.execute(""" |
||||
|
CREATE TABLE IF NOT EXISTS extensions ( |
||||
|
user TEXT NOT NULL, |
||||
|
extension TEXT NOT NULL, |
||||
|
active BOOLEAN DEFAULT 0, |
||||
|
|
||||
|
UNIQUE (user, extension) |
||||
|
); |
||||
|
""") |
||||
|
db.execute(""" |
||||
|
CREATE TABLE IF NOT EXISTS wallets ( |
||||
|
id TEXT PRIMARY KEY, |
||||
|
name TEXT NOT NULL, |
||||
|
user TEXT NOT NULL, |
||||
|
adminkey TEXT NOT NULL, |
||||
|
inkey TEXT |
||||
|
); |
||||
|
""") |
||||
|
db.execute(""" |
||||
|
CREATE TABLE IF NOT EXISTS apipayments ( |
||||
|
payhash TEXT NOT NULL, |
||||
|
amount INTEGER NOT NULL, |
||||
|
fee INTEGER NOT NULL DEFAULT 0, |
||||
|
wallet TEXT NOT NULL, |
||||
|
pending BOOLEAN NOT NULL, |
||||
|
memo TEXT, |
||||
|
time TIMESTAMP NOT NULL DEFAULT (strftime('%s', 'now')), |
||||
|
|
||||
|
UNIQUE (wallet, payhash) |
||||
|
); |
||||
|
""") |
||||
|
db.execute(""" |
||||
|
CREATE VIEW IF NOT EXISTS balances AS |
||||
|
SELECT wallet, COALESCE(SUM(s), 0) AS balance FROM ( |
||||
|
SELECT wallet, SUM(amount) AS s -- incoming |
||||
|
FROM apipayments |
||||
|
WHERE amount > 0 AND pending = 0 -- don't sum pending |
||||
|
GROUP BY wallet |
||||
|
UNION ALL |
||||
|
SELECT wallet, SUM(amount + fee) AS s -- outgoing, sum fees |
||||
|
FROM apipayments |
||||
|
WHERE amount < 0 -- do sum pending |
||||
|
GROUP BY wallet |
||||
|
) |
||||
|
GROUP BY wallet; |
||||
|
""") |
||||
|
|
||||
|
|
||||
|
def migrate(): |
||||
|
with open_db() as db: |
||||
|
m001_initial(db) |
@ -1,47 +0,0 @@ |
|||||
CREATE TABLE IF NOT EXISTS accounts ( |
|
||||
id TEXT PRIMARY KEY, |
|
||||
email TEXT, |
|
||||
pass TEXT |
|
||||
); |
|
||||
|
|
||||
CREATE TABLE IF NOT EXISTS extensions ( |
|
||||
user TEXT NOT NULL, |
|
||||
extension TEXT NOT NULL, |
|
||||
active BOOLEAN DEFAULT 0, |
|
||||
|
|
||||
UNIQUE (user, extension) |
|
||||
); |
|
||||
|
|
||||
CREATE TABLE IF NOT EXISTS wallets ( |
|
||||
id TEXT PRIMARY KEY, |
|
||||
name TEXT NOT NULL, |
|
||||
user TEXT NOT NULL, |
|
||||
adminkey TEXT NOT NULL, |
|
||||
inkey TEXT |
|
||||
); |
|
||||
|
|
||||
CREATE TABLE IF NOT EXISTS apipayments ( |
|
||||
payhash TEXT NOT NULL, |
|
||||
amount INTEGER NOT NULL, |
|
||||
fee INTEGER NOT NULL DEFAULT 0, |
|
||||
wallet TEXT NOT NULL, |
|
||||
pending BOOLEAN NOT NULL, |
|
||||
memo TEXT, |
|
||||
time TIMESTAMP NOT NULL DEFAULT (strftime('%s', 'now')), |
|
||||
|
|
||||
UNIQUE (wallet, payhash) |
|
||||
); |
|
||||
|
|
||||
CREATE VIEW IF NOT EXISTS balances AS |
|
||||
SELECT wallet, COALESCE(SUM(s), 0) AS balance FROM ( |
|
||||
SELECT wallet, SUM(amount) AS s -- incoming |
|
||||
FROM apipayments |
|
||||
WHERE amount > 0 AND pending = 0 -- don't sum pending |
|
||||
GROUP BY wallet |
|
||||
UNION ALL |
|
||||
SELECT wallet, SUM(amount + fee) AS s -- outgoing, sum fees |
|
||||
FROM apipayments |
|
||||
WHERE amount < 0 -- do sum pending |
|
||||
GROUP BY wallet |
|
||||
) |
|
||||
GROUP BY wallet; |
|
@ -0,0 +1,21 @@ |
|||||
|
from lnbits.db import open_ext_db |
||||
|
|
||||
|
|
||||
|
def m001_initial(db): |
||||
|
""" |
||||
|
Initial amilks table. |
||||
|
""" |
||||
|
db.execute(""" |
||||
|
CREATE TABLE IF NOT EXISTS amilks ( |
||||
|
id TEXT PRIMARY KEY, |
||||
|
wallet TEXT NOT NULL, |
||||
|
lnurl TEXT NOT NULL, |
||||
|
atime TEXT NOT NULL, |
||||
|
amount INTEGER NOT NULL |
||||
|
); |
||||
|
""") |
||||
|
|
||||
|
|
||||
|
def migrate(): |
||||
|
with open_ext_db("amilk") as db: |
||||
|
m001_initial(db) |
@ -1,7 +0,0 @@ |
|||||
CREATE TABLE IF NOT EXISTS amilks ( |
|
||||
id TEXT PRIMARY KEY, |
|
||||
wallet TEXT NOT NULL, |
|
||||
lnurl TEXT NOT NULL, |
|
||||
atime TEXT NOT NULL, |
|
||||
amount INTEGER NOT NULL |
|
||||
); |
|
@ -0,0 +1,5 @@ |
|||||
|
from lnbits.db import open_ext_db |
||||
|
|
||||
|
|
||||
|
def migrate(): |
||||
|
print("pending") |
@ -1 +0,0 @@ |
|||||
/* create your extensions table and the variables needed here */ |
|
@ -0,0 +1,22 @@ |
|||||
|
from lnbits.db import open_ext_db |
||||
|
|
||||
|
|
||||
|
def m001_initial(db): |
||||
|
""" |
||||
|
Initial paywalls table. |
||||
|
""" |
||||
|
db.execute(""" |
||||
|
CREATE TABLE IF NOT EXISTS paywalls ( |
||||
|
id TEXT PRIMARY KEY, |
||||
|
wallet TEXT NOT NULL, |
||||
|
url TEXT NOT NULL, |
||||
|
memo TEXT NOT NULL, |
||||
|
amount INTEGER NOT NULL, |
||||
|
time TIMESTAMP NOT NULL DEFAULT (strftime('%s', 'now')) |
||||
|
); |
||||
|
""") |
||||
|
|
||||
|
|
||||
|
def migrate(): |
||||
|
with open_ext_db("tpos") as db: |
||||
|
m001_initial(db) |
@ -1,8 +0,0 @@ |
|||||
CREATE TABLE IF NOT EXISTS paywalls ( |
|
||||
id TEXT PRIMARY KEY, |
|
||||
wallet TEXT NOT NULL, |
|
||||
url TEXT NOT NULL, |
|
||||
memo TEXT NOT NULL, |
|
||||
amount INTEGER NOT NULL, |
|
||||
time TIMESTAMP NOT NULL DEFAULT (strftime('%s', 'now')) |
|
||||
); |
|
@ -0,0 +1,20 @@ |
|||||
|
from lnbits.db import open_ext_db |
||||
|
|
||||
|
|
||||
|
def m001_initial(db): |
||||
|
""" |
||||
|
Initial tposs table. |
||||
|
""" |
||||
|
db.execute(""" |
||||
|
CREATE TABLE IF NOT EXISTS tposs ( |
||||
|
id TEXT PRIMARY KEY, |
||||
|
wallet TEXT NOT NULL, |
||||
|
name TEXT NOT NULL, |
||||
|
currency TEXT NOT NULL |
||||
|
); |
||||
|
""") |
||||
|
|
||||
|
|
||||
|
def migrate(): |
||||
|
with open_ext_db("tpos") as db: |
||||
|
m001_initial(db) |
@ -1,6 +0,0 @@ |
|||||
CREATE TABLE IF NOT EXISTS tposs ( |
|
||||
id TEXT PRIMARY KEY, |
|
||||
wallet TEXT NOT NULL, |
|
||||
name TEXT NOT NULL, |
|
||||
currency TEXT NOT NULL |
|
||||
); |
|
@ -0,0 +1,37 @@ |
|||||
|
from datetime import datetime |
||||
|
from uuid import uuid4 |
||||
|
|
||||
|
from lnbits.db import open_ext_db |
||||
|
|
||||
|
|
||||
|
def m001_initial(db): |
||||
|
""" |
||||
|
Initial withdraw table. |
||||
|
""" |
||||
|
db.execute( |
||||
|
""" |
||||
|
CREATE TABLE IF NOT EXISTS withdraws ( |
||||
|
key INTEGER PRIMARY KEY AUTOINCREMENT, |
||||
|
usr TEXT, |
||||
|
wal TEXT, |
||||
|
walnme TEXT, |
||||
|
adm INTEGER, |
||||
|
uni TEXT, |
||||
|
tit TEXT, |
||||
|
maxamt INTEGER, |
||||
|
minamt INTEGER, |
||||
|
spent INTEGER, |
||||
|
inc INTEGER, |
||||
|
tme INTEGER, |
||||
|
uniq INTEGER DEFAULT 0, |
||||
|
withdrawals TEXT, |
||||
|
tmestmp INTEGER, |
||||
|
rand TEXT |
||||
|
); |
||||
|
""" |
||||
|
) |
||||
|
|
||||
|
|
||||
|
def migrate(): |
||||
|
with open_ext_db("withdraw") as db: |
||||
|
m001_initial(db) |
@ -1,18 +0,0 @@ |
|||||
CREATE TABLE IF NOT EXISTS withdraws ( |
|
||||
key INTEGER PRIMARY KEY AUTOINCREMENT, |
|
||||
usr TEXT, |
|
||||
wal TEXT, |
|
||||
walnme TEXT, |
|
||||
adm INTEGER, |
|
||||
uni TEXT, |
|
||||
tit TEXT, |
|
||||
maxamt INTEGER, |
|
||||
minamt INTEGER, |
|
||||
spent INTEGER, |
|
||||
inc INTEGER, |
|
||||
tme INTEGER, |
|
||||
uniq INTEGER DEFAULT 0, |
|
||||
withdrawals TEXT, |
|
||||
tmestmp INTEGER, |
|
||||
rand TEXT |
|
||||
); |
|
Loading…
Reference in new issue