starting scraper development
This commit is contained in:
@ -8,7 +8,7 @@ import db.groups as db
|
||||
import settings.settings as settings
|
||||
import settings.startup_settings as startup_settings
|
||||
from api.models import Group, User
|
||||
from api.utils import get_current_user, get_group_by_name
|
||||
from api.utils import get_current_user
|
||||
from db.internal import get_db_connection
|
||||
from db.memberships import check_membership_exists
|
||||
from settings.consts import JOIN_CODE_SYMBOLS
|
||||
@ -104,10 +104,9 @@ async def delete_group(
|
||||
conn: Annotated[connection, Depends(get_db_connection)],
|
||||
current_user: Annotated[User, Depends(get_current_user)]
|
||||
):
|
||||
group = get_group_by_name(conn, groupname)
|
||||
if current_user.role in settings.settings.admin_roles:
|
||||
return db.delete_group(conn, groupname)
|
||||
if current_user.username == group.author:
|
||||
if db.check_group_author(conn, groupname, current_user.username):
|
||||
return db.delete_group(conn, groupname)
|
||||
else:
|
||||
raise HTTPException(
|
||||
@ -128,11 +127,10 @@ async def update_groupname(
|
||||
status_code=status.HTTP_409_CONFLICT,
|
||||
detail="Groupname is already taken",
|
||||
)
|
||||
group = get_group_by_name(conn, groupname)
|
||||
|
||||
if current_user.role in settings.settings.admin_roles:
|
||||
return db.update_group_groupname(conn, groupname, new_groupname)
|
||||
if current_user.username == group.author:
|
||||
if db.check_group_author(conn, groupname, current_user.username):
|
||||
return db.update_group_groupname(conn, groupname, new_groupname)
|
||||
else:
|
||||
raise HTTPException(
|
||||
@ -147,10 +145,9 @@ async def update_author(
|
||||
conn: Annotated[connection, Depends(get_db_connection)],
|
||||
current_user: Annotated[User, Depends(get_current_user)]
|
||||
):
|
||||
group = get_group_by_name(conn, groupname)
|
||||
if current_user.role in settings.settings.admin_roles:
|
||||
return db.update_group_author(conn, groupname, new_author)
|
||||
if current_user.username == group.author:
|
||||
if db.check_group_author(conn, groupname, current_user.username):
|
||||
return db.update_group_author(conn, groupname, new_author)
|
||||
else:
|
||||
raise HTTPException(
|
||||
@ -164,8 +161,6 @@ async def update_invite_code(
|
||||
conn: Annotated[connection, Depends(get_db_connection)],
|
||||
current_user: Annotated[User, Depends(get_current_user)]
|
||||
):
|
||||
group = get_group_by_name(conn, groupname)
|
||||
|
||||
invite_code = "".join(secrets.choice(JOIN_CODE_SYMBOLS) for _ in range(startup_settings.join_code_length))
|
||||
while db.check_invite_code(conn, invite_code):
|
||||
invite_code = "".join(secrets.choice(JOIN_CODE_SYMBOLS) for _ in range(startup_settings.join_code_length))
|
||||
@ -175,7 +170,7 @@ async def update_invite_code(
|
||||
"result": db.update_group_invite_code(conn, groupname, invite_code),
|
||||
"invite code": invite_code
|
||||
}
|
||||
if current_user.username == group.author:
|
||||
if db.check_group_author(conn, groupname, current_user.username):
|
||||
return {
|
||||
"result": db.update_group_invite_code(conn, groupname, invite_code),
|
||||
"invite code": invite_code
|
||||
@ -194,10 +189,9 @@ async def update_allow_skips(
|
||||
conn: Annotated[connection, Depends(get_db_connection)],
|
||||
current_user: Annotated[User, Depends(get_current_user)]
|
||||
):
|
||||
group = get_group_by_name(conn, groupname)
|
||||
if current_user.role in settings.settings.admin_roles:
|
||||
return db.update_group_allow_skips(conn, groupname, allow_skips)
|
||||
if current_user.username == group.author:
|
||||
if db.check_group_author(conn, groupname, current_user.username):
|
||||
return db.update_group_allow_skips(conn, groupname, allow_skips)
|
||||
else:
|
||||
raise HTTPException(
|
||||
@ -213,10 +207,9 @@ async def update_feed_interval(
|
||||
conn: Annotated[connection, Depends(get_db_connection)],
|
||||
current_user: Annotated[User, Depends(get_current_user)]
|
||||
):
|
||||
group = get_group_by_name(conn, groupname)
|
||||
if current_user.role in settings.settings.admin_roles:
|
||||
return db.update_group_feed_interval(conn, groupname, feed_interval)
|
||||
if current_user.username == group.author:
|
||||
if db.check_group_author(conn, groupname, current_user.username):
|
||||
return db.update_group_feed_interval(conn, groupname, feed_interval)
|
||||
else:
|
||||
raise HTTPException(
|
||||
|
||||
Reference in New Issue
Block a user