1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-30 15:04:18 +00:00
royalnet/royalpack/stars/api_polls_list.py

29 lines
694 B
Python
Raw Normal View History

2020-03-23 21:38:37 +00:00
from typing import *
from royalnet.utils import *
from royalnet.constellation.api import *
from ..tables import Poll
import uuid
class ApiPollsList(ApiStar):
path = "/api/polls/list/v1"
summary = "Get a list of all polls."
requires_auth = True
tags = ["polls"]
async def api(self, data: ApiData) -> JSON:
PollT = self.alchemy.get(Poll)
polls: List[Poll] = await asyncify(data.session.query(PollT).all)
return list(map(lambda p: {
"id": p.id,
"question": p.question,
"creator": p.creator.json(),
"expires": p.expires.isoformat(),
"created": p.created.isoformat(),
}, polls))