add error http statuses

This commit is contained in:
bakatrouble 2025-08-01 09:44:23 +03:00
parent 3723280e3d
commit 40644bcb4b

View File

@ -71,7 +71,7 @@ def protected(wrapped):
async def login(_, body: LoginRequest): async def login(_, body: LoginRequest):
hash = api_auth.get(body.username) hash = api_auth.get(body.username)
if not hash or not pbkdf2_sha256(10000, salt=b'salt').verify(body.password, hash): if not hash or not pbkdf2_sha256(10000, salt=b'salt').verify(body.password, hash):
return jsonr({'status': 'error', 'message': 'Invalid username or password'}) return jsonr({'status': 'error', 'message': 'Invalid username or password'}, 401)
return jsonr({ return jsonr({
'token': jwt.encode({}, api_secret, algorithm='HS256'), 'token': jwt.encode({}, api_secret, algorithm='HS256'),
}) })
@ -106,7 +106,7 @@ async def delete_subscriptions(_, body: UpdateSubscriptionRequest):
subs = await get_subs(r) subs = await get_subs(r)
skipped = requested_subs - subs skipped = requested_subs - subs
if skipped: if skipped:
return jsonr({'status': 'error', 'message': 'Some subscriptions were not found', 'skipped': sorted(skipped)}) return jsonr({'status': 'error', 'message': 'Some subscriptions were not found', 'skipped': sorted(skipped)}, 404)
await r.srem(REDIS_SUBS_KEY, *requested_subs) await r.srem(REDIS_SUBS_KEY, *requested_subs)
return jsonr({'status': 'ok', 'removed': sorted(requested_subs)}) return jsonr({'status': 'ok', 'removed': sorted(requested_subs)})
@ -127,7 +127,7 @@ async def add_subscriptions(_, body: UpdateSubscriptionRequest):
subs = await get_subs(r) subs = await get_subs(r)
conflicts = requested_subs & subs conflicts = requested_subs & subs
if conflicts: if conflicts:
return jsonr({'status': 'error', 'message': 'Some subscriptions already exist', 'conflicts': sorted(conflicts)}) return jsonr({'status': 'error', 'message': 'Some subscriptions already exist', 'conflicts': sorted(conflicts)}, 409)
await r.sadd(REDIS_SUBS_KEY, *body.subs) await r.sadd(REDIS_SUBS_KEY, *body.subs)
return jsonr({'status': 'ok', 'added': sorted(requested_subs)}) return jsonr({'status': 'ok', 'added': sorted(requested_subs)})