mirror of
https://github.com/partitioncloud/partitioncloud-server.git
synced 2025-01-23 17:26:26 +01:00
60 lines
1.4 KiB
Python
60 lines
1.4 KiB
Python
#!/usr/bin/python3
|
|
from .db import get_db
|
|
|
|
|
|
def access_level(user_id):
|
|
db = get_db()
|
|
if user_id is None:
|
|
return -1
|
|
return db.execute(
|
|
"""
|
|
SELECT access_level FROM user
|
|
WHERE id = ?
|
|
""",
|
|
(user_id,)
|
|
).fetchone()["access_level"]
|
|
|
|
|
|
def is_participant(user_id, uuid):
|
|
db = get_db()
|
|
return len(db.execute(
|
|
"""
|
|
SELECT album.id FROM album
|
|
JOIN contient_user ON album_id = album.id
|
|
JOIN user ON user_id = user.id
|
|
WHERE user.id = ? AND album.uuid = ?
|
|
""",
|
|
(user_id, uuid)
|
|
).fetchall()) == 1
|
|
|
|
|
|
def get_albums(user_id):
|
|
db = get_db()
|
|
if access_level(user_id) == 1:
|
|
return db.execute(
|
|
"""
|
|
SELECT * FROM album
|
|
"""
|
|
).fetchall()
|
|
return db.execute(
|
|
"""
|
|
SELECT album.id, name, uuid FROM album
|
|
JOIN contient_user ON album_id = album.id
|
|
JOIN user ON user_id = user.id
|
|
WHERE user.id = ?
|
|
""",
|
|
(user_id,),
|
|
).fetchall()
|
|
|
|
|
|
def get_users(album_uuid):
|
|
db = get_db()
|
|
return db.execute(
|
|
"""
|
|
SELECT * FROM user
|
|
JOIN contient_user ON user_id = user.id
|
|
JOIN album ON album.id = album_id
|
|
WHERE album.uuid = ?
|
|
""",
|
|
(album_uuid,)
|
|
).fetchall() |