Example #1
0
    def map_quote(quote: dict) -> dict:
        instrument_id = parse_instrument_url(quote["instrument"])

        plucked = {
            "instrument_id": instrument_id,
            **pluck(DESIRED_QUOTE_KEYS, quote)
        }
        plucked["updated_at"] = parse_updated_at(plucked["updated_at"])
        return plucked
Example #2
0
def get_related_data(entity_name: str, context: dict) -> dict:
    _id, organization_id, assignee_id, submitter_id = utils.pluck(
        context, ['_id', 'organization_id', "assignee_id", "submitter_id"])

    for statement in data_mapper[entity_name]:
        instance = globals()[statement['entity']]
        query = locals()[statement['query_key']]
        prop = statement['prop']
        subject = statement['subject']
        output_prop = 'subject' if statement['entity'] == 'tickets' else 'name'

        context[subject] = instance.find(prop, query, output_prop)

    return context