1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00
royalnet/rpgpack/stars/api_dnd_character.py
2020-06-22 19:44:58 +02:00

34 lines
904 B
Python

from royalnet.utils import *
from royalnet.backpack.tables import *
from royalnet.constellation.api import *
from ..tables import DndCharacter
class ApiDndCharacterStar(ApiStar):
path = "/api/dnd/character/v2"
parameters = {
"get": {
"character_id": "The id of the character to get."
}
}
tags = ["dnd"]
async def get(self, data: ApiData) -> dict:
"""Get the character sheet of a specific D&D Character."""
DndCharacterT = self.alchemy.get(DndCharacter)
character_id = data["character_id"]
character = await asyncify(
data.session
.query(DndCharacterT)
.filter_by(character_id=character_id)
.one_or_none
)
if character is None:
raise NotFoundError(f"No character with id '{character_id}' found")
return character.json()