jukebox working(ish)
This commit is contained in:
@@ -1,22 +1,13 @@
|
||||
from typing import List, Optional
|
||||
|
||||
from . import db
|
||||
from .models import Jukebox, JukeboxPayment
|
||||
from .models import Jukebox, JukeboxPayment, CreateJukeLinkData
|
||||
from lnbits.helpers import urlsafe_short_hash
|
||||
|
||||
|
||||
async def create_jukebox(
|
||||
inkey: str,
|
||||
user: str,
|
||||
wallet: str,
|
||||
title: str,
|
||||
price: int,
|
||||
sp_user: str,
|
||||
sp_secret: str,
|
||||
sp_access_token: Optional[str] = "",
|
||||
sp_refresh_token: Optional[str] = "",
|
||||
sp_device: Optional[str] = "",
|
||||
sp_playlists: Optional[str] = "",
|
||||
data: CreateJukeLinkData,
|
||||
inkey: Optional[str] = "",
|
||||
) -> Jukebox:
|
||||
juke_id = urlsafe_short_hash()
|
||||
result = await db.execute(
|
||||
@@ -26,16 +17,16 @@ async def create_jukebox(
|
||||
""",
|
||||
(
|
||||
juke_id,
|
||||
user,
|
||||
title,
|
||||
wallet,
|
||||
sp_user,
|
||||
sp_secret,
|
||||
sp_access_token,
|
||||
sp_refresh_token,
|
||||
sp_device,
|
||||
sp_playlists,
|
||||
int(price),
|
||||
data.user,
|
||||
data.title,
|
||||
data.wallet,
|
||||
data.sp_user,
|
||||
data.sp_secret,
|
||||
data.sp_access_token,
|
||||
data.sp_refresh_token,
|
||||
data.sp_device,
|
||||
data.sp_playlists,
|
||||
data.price,
|
||||
0,
|
||||
),
|
||||
)
|
||||
@@ -44,11 +35,15 @@ async def create_jukebox(
|
||||
return jukebox
|
||||
|
||||
|
||||
async def update_jukebox(juke_id: str, **kwargs) -> Optional[Jukebox]:
|
||||
q = ", ".join([f"{field[0]} = ?" for field in kwargs.items()])
|
||||
await db.execute(
|
||||
f"UPDATE jukebox.jukebox SET {q} WHERE id = ?", (*kwargs.values(), juke_id)
|
||||
)
|
||||
async def update_jukebox(
|
||||
data: CreateJukeLinkData, juke_id: Optional[str] = ""
|
||||
) -> Optional[Jukebox]:
|
||||
q = ", ".join([f"{field[0]} = ?" for field in data])
|
||||
items = [f"{field[1]}" for field in data]
|
||||
items.append(juke_id)
|
||||
print(q)
|
||||
print(items)
|
||||
await db.execute(f"UPDATE jukebox.jukebox SET {q} WHERE id = ?", (items))
|
||||
row = await db.fetchone("SELECT * FROM jukebox.jukebox WHERE id = ?", (juke_id,))
|
||||
return Jukebox(**row) if row else None
|
||||
|
||||
@@ -66,10 +61,13 @@ async def get_jukebox_by_user(user: str) -> Optional[Jukebox]:
|
||||
async def get_jukeboxs(user: str) -> List[Jukebox]:
|
||||
rows = await db.fetchall("SELECT * FROM jukebox.jukebox WHERE user = ?", (user,))
|
||||
for row in rows:
|
||||
if row.sp_playlists == "":
|
||||
|
||||
if row.sp_playlists == None:
|
||||
print("cunt")
|
||||
await delete_jukebox(row.id)
|
||||
rows = await db.fetchall("SELECT * FROM jukebox.jukebox WHERE user = ?", (user,))
|
||||
return [Jukebox.from_row(row) for row in rows]
|
||||
|
||||
return [Jukebox(**row) for row in rows]
|
||||
|
||||
|
||||
async def delete_jukebox(juke_id: str):
|
||||
|
||||
Reference in New Issue
Block a user