quest control

This commit is contained in:
Gwendolyn 2024-12-26 02:28:38 +01:00
parent 7057919fd3
commit 2c871781a1
4 changed files with 429 additions and 363 deletions

View file

@ -415,10 +415,9 @@ class QuestsFilter(BaseSchema):
response={200: list[QuestSchema], **auth_responses})
@api_etag(permissions=True, quests=True)
def list_quests(request, filters: Query[QuestsFilter]):
quests = get_all_quests_for_request(request)
quest_types = frozenset(filters.quest_type.split(',')) if filters.quest_type else ()
if quest_types:
quests = [quest for quest in quests if quest.quest_type in quest_types]
quest_types = filters.quest_type.split(',') if filters.quest_type else None
quests = get_all_quests_for_request(request, quest_types)
if filters.level:
quests = [quest for quest in quests if quest.level_id == filters.level]
return quests