Exemple #1
0
def get_subject_versions_route(request, subject_id):
    """
    Get subject versions given an ID. Paginates.
    """

    db_conn = request['db_conn']
    versions = Subject.get_versions(db_conn,
                                    entity_id=subject_id,
                                    **request['params'])
    return 200, {
        'versions': [version.deliver(access='view') for version in versions]
    }
Exemple #2
0
def get_subject_route(request, subject_id):
    """
    Get a specific subject given an ID.
    """

    db_conn = request['db_conn']
    subject = Subject.get_latest_accepted(db_conn, subject_id)
    if not subject:
        return abort(404)

    # TODO-2 SPLITUP create new endpoints for these instead
    topics = list_topics_by_entity_id(subject_id, {}, db_conn)
    versions = Subject.get_versions(db_conn, entity_id=subject_id)
    units = subject.list_units(db_conn)

    return 200, {
        'subject': subject.deliver(),
        # 'subject_parameters': subject.fetch_parameters(),
        'topics': [deliver_topic(topic) for topic in topics],
        'versions': [version.deliver() for version in versions],
        'units': [unit.deliver() for unit in units],
    }