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] }
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], }