fixup!
This commit is contained in:
+11
-7
@@ -311,8 +311,8 @@ async def get_installed_extensions(
|
||||
active: Optional[bool] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
) -> list[InstallableExtension]:
|
||||
where = "WHERE active = :active" if active else ""
|
||||
values = {"active": active} if active else {}
|
||||
where = "WHERE active = :active" if active is not None else ""
|
||||
values = {"active": active} if active is not None else {}
|
||||
all_extensions = await (conn or db).fetchall(
|
||||
f"SELECT * FROM installed_extensions {where}",
|
||||
values,
|
||||
@@ -503,8 +503,9 @@ async def get_wallet(
|
||||
) -> Optional[Wallet]:
|
||||
return await (conn or db).fetchone(
|
||||
"""
|
||||
SELECT *, COALESCE((SELECT balance FROM balances WHERE wallet = wallets.id), 0)
|
||||
AS balance_msat FROM wallets WHERE id = :wallet
|
||||
SELECT *, COALESCE((
|
||||
SELECT balance FROM balances WHERE wallet_id = wallets.id
|
||||
), 0) AS balance_msat FROM wallets WHERE id = :wallet
|
||||
""",
|
||||
{"wallet": wallet_id},
|
||||
Wallet,
|
||||
@@ -514,8 +515,9 @@ async def get_wallet(
|
||||
async def get_wallets(user_id: str, conn: Optional[Connection] = None) -> list[Wallet]:
|
||||
return await (conn or db).fetchall(
|
||||
"""
|
||||
SELECT *, COALESCE((SELECT balance FROM balances WHERE wallet = wallets.id), 0)
|
||||
AS balance_msat FROM wallets WHERE "user" = :user
|
||||
SELECT *, COALESCE((
|
||||
SELECT balance FROM balances WHERE wallet_id = wallets.id
|
||||
), 0) AS balance_msat FROM wallets WHERE "user" = :user
|
||||
""",
|
||||
{"user": user_id},
|
||||
Wallet,
|
||||
@@ -528,7 +530,9 @@ async def get_wallet_for_key(
|
||||
) -> Optional[Wallet]:
|
||||
return await (conn or db).fetchone(
|
||||
"""
|
||||
SELECT *, COALESCE((SELECT balance FROM balances WHERE wallet = wallets.id), 0)
|
||||
SELECT *, COALESCE((
|
||||
SELECT balance FROM balances WHERE wallet_id = wallets.id
|
||||
), 0)
|
||||
AS balance_msat FROM wallets
|
||||
WHERE (adminkey = :key OR inkey = :key) AND deleted = false
|
||||
""",
|
||||
|
||||
+12
-4
@@ -35,10 +35,15 @@ class BaseWallet(BaseModel):
|
||||
balance_msat: int
|
||||
|
||||
|
||||
class Wallet(BaseWallet):
|
||||
class Wallet(BaseModel):
|
||||
id: str
|
||||
user: str
|
||||
name: str
|
||||
adminkey: str
|
||||
inkey: str
|
||||
balance_msat: int
|
||||
currency: Optional[str]
|
||||
deleted: bool
|
||||
deleted: bool = False
|
||||
created_at: Optional[int] = None
|
||||
updated_at: Optional[int] = None
|
||||
|
||||
@@ -109,8 +114,6 @@ class Account(BaseModel):
|
||||
password_hash: Optional[str] = None
|
||||
email: Optional[str] = None
|
||||
balance_msat: Optional[int] = 0
|
||||
transaction_count: Optional[int] = 0
|
||||
wallet_count: Optional[int] = 0
|
||||
last_payment: Optional[datetime] = None
|
||||
extra: Optional[UserExtra] = None
|
||||
created_at: datetime = datetime.now()
|
||||
@@ -138,6 +141,11 @@ class Account(BaseModel):
|
||||
return pwd_context.verify(password, self.password_hash)
|
||||
|
||||
|
||||
class AccountOverview(Account):
|
||||
transaction_count: Optional[int] = 0
|
||||
wallet_count: Optional[int] = 0
|
||||
|
||||
|
||||
class AccountFilters(FilterModel):
|
||||
__search_fields__ = ["id", "email", "username"]
|
||||
__sort_fields__ = [
|
||||
|
||||
@@ -159,7 +159,7 @@ async def extensions(request: Request, user: User = Depends(check_user_exists)):
|
||||
request,
|
||||
"core/extensions.html",
|
||||
{
|
||||
"user": user.dict(),
|
||||
"user": user.json(),
|
||||
"extensions": extensions,
|
||||
},
|
||||
)
|
||||
@@ -200,8 +200,8 @@ async def wallet(
|
||||
request,
|
||||
"core/wallet.html",
|
||||
{
|
||||
"user": user.dict(),
|
||||
"wallet": wallet.dict(),
|
||||
"user": user.json(),
|
||||
"wallet": wallet.json(),
|
||||
"currencies": allowed_currencies(),
|
||||
"service_fee": settings.lnbits_service_fee,
|
||||
"service_fee_max": settings.lnbits_service_fee_max,
|
||||
@@ -224,7 +224,9 @@ async def account(
|
||||
return template_renderer().TemplateResponse(
|
||||
request,
|
||||
"core/account.html",
|
||||
{"user": user.dict()},
|
||||
{
|
||||
"user": user.json(),
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -334,7 +336,7 @@ async def node(request: Request, user: User = Depends(check_admin)):
|
||||
request,
|
||||
"node/index.html",
|
||||
{
|
||||
"user": user.dict(),
|
||||
"user": user.json(),
|
||||
"settings": settings.dict(),
|
||||
"balance": balance,
|
||||
"wallets": user.wallets[0].dict(),
|
||||
@@ -372,7 +374,7 @@ async def admin_index(request: Request, user: User = Depends(check_admin)):
|
||||
request,
|
||||
"admin/index.html",
|
||||
{
|
||||
"user": user.dict(),
|
||||
"user": user.json(),
|
||||
"settings": settings.dict(),
|
||||
"balance": balance,
|
||||
"currencies": list(currencies.keys()),
|
||||
@@ -389,7 +391,7 @@ async def users_index(request: Request, user: User = Depends(check_admin)):
|
||||
"users/index.html",
|
||||
{
|
||||
"request": request,
|
||||
"user": user.dict(),
|
||||
"user": user.json(),
|
||||
"settings": settings.dict(),
|
||||
"currencies": list(currencies.keys()),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user