def get_recommended_subjects(request): db_conn = request['db_conn'] entity_ids = ('JAFGYFWhILcsiByyH2O9frcU', ) if config['debug']: entity_ids = ('subjectAll', ) subjects = Subject.list_by_entity_ids(db_conn, entity_ids) if not subjects: return abort(404) return 200, {'subjects': [subject.deliver() for subject in subjects]}
def list_user_subjects_entity(user_id, params, db_conn): """ Join the user's subject_ids with subject information. Return empty list when there's no matching documents. """ # TODO-2 each subject -- needs review? # TODO-2 order by last reviewed time user_subject = get_user_subjects(user_id, db_conn) # TODO-3 limit = params.get('limit') or 10 # TODO-3 skip = params.get('skip') or 0 return Subject.list_by_entity_ids(db_conn, user_subject['subject_ids'])
def test_list_by_entity_ids(db_conn, subjects_table): """ Expect to list subjects by given entity IDs. """ subjects_table.insert([{ 'entity_id': 'A1', 'name': 'A', 'body': 'Apple', 'created': r.now(), 'modified': r.now(), 'status': 'accepted', }, { 'entity_id': 'B2', 'name': 'B', 'body': 'Banana', 'created': r.now(), 'modified': r.now(), 'status': 'accepted', }, { 'entity_id': 'C3', 'name': 'C', 'body': 'Coconut', 'created': r.now(), 'modified': r.now(), 'status': 'accepted', }, { 'entity_id': 'D4', 'name': 'D', 'body': 'Date', 'created': r.now(), 'modified': r.now(), 'status': 'accepted', }]).run(db_conn) subjects = Subject.list_by_entity_ids(db_conn, ['A1', 'C3']) assert subjects[0]['body'] in ('Apple', 'Coconut') assert subjects[0]['body'] in ('Apple', 'Coconut')