import json
from api import DatumType, Datum
from basic.dao import robo_base_datum as rbd
from framework import component, parse_date


@component
class DefaultDatum(Datum):

    def get_fund_datums(self, crncy=None, risk=None, fund_ids=None):
        result = rbd.get_base_datums(type=DatumType.FUND, crncy=crncy, risk=risk, fund_ids=fund_ids)
        result = [{**json.loads(x['datas']), 'id': x['id']} for x in result]
        return [{**x, 'inceptDate': parse_date(x['inceptDate'])} for x in result]