1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-24 03:54:20 +00:00
royalnet/royalpack/stars/api_fiorygi_get.py

39 lines
1.2 KiB
Python
Raw Normal View History

2020-03-18 16:35:08 +00:00
from typing import *
from royalnet.utils import *
from royalnet.backpack.tables import *
from royalnet.constellation.api import *
from ..utils import find_user_api
from ..tables import Fiorygi, FiorygiTransaction
class ApiFiorygiGetStar(ApiStar):
path = "/api/user/fiorygi/get/v1"
summary = "Get the fiorygi of a Royalnet user."
parameters = {
"id": "The user to get the fiorygi of."
}
tags = ["user"]
async def api(self, data: ApiData) -> JSON:
user: User = await find_user_api(data["id"], self.alchemy, data.session)
if user.fiorygi is None:
return {
"fiorygi": 0,
"transactions": [],
"warning": "No associated fiorygi table"
}
fiorygi: Fiorygi = user.fiorygi
transactions: JSON = sorted(fiorygi.transactions, key=lambda t: -t.id)
return {
"fiorygi": fiorygi.fiorygi,
2020-05-02 23:53:15 +00:00
"transactions": list(map(lambda t: {
"id": t.id,
"change": t.change,
"reason": t.reason,
"timestamp": t.timestamp.isoformat() if t.timestamp else None
}, transactions))
2020-03-18 16:35:08 +00:00
}