def create_fake_creator( name=None, is_group=False, alias_names=None ): creator_dict = { 'name': name or random_word_generator(2), 'is_group': is_group } alias_names = alias_names or [] with session_scope() as session: new_fake_creator = Creator(**creator_dict) for alias_name in alias_names: new_alias = CreatorAlias(name=alias_name, creator=new_fake_creator) session.add(new_fake_creator) session.commit() creator_dict = api_to_model_dict({'creator': new_fake_creator.to_dict()}) return creator_dict
def creators_with_id(creator_id): if request.method == 'GET': creator = None with session_scope() as session: creator = session.query(models.Creator).filter_by(id=creator_id).scalar() if creator: return {'creator': creator.to_dict()} elif request.method == 'PUT': model_data = api_to_model_dict(request.get_json()) response = logic.update_creator(creator_id, model_data) return {'creator': response} elif request.method == 'DELETE': with session_scope() as session: creator = session.query(models.Creator).filter_by(id=creator_id).scalar() if creator: session.delete(creator) return {} return {}, 404
def work(work_id): if request.method == 'GET': work = None with session_scope() as session: work = session.query(models.Work).filter_by(id=work_id).scalar() if work: return {'work': work.to_dict()} elif request.method == 'PUT': model_data = api_to_model_dict(request.get_json()) response = logic.update_work(work_id, model_data) return {'work': response} elif request.method == 'DELETE': with session_scope() as session: work = session.query(models.Work).filter_by(id=work_id).scalar() if work: session.delete(work) return {} return {}, 404
def create_fake_work( type=None, title=None, catalog_number=None, release_date=None, description=None, is_active=True, ): work_dict = { 'type': type or random_word_generator(), # Change this if types become enums 'title': title or random_word_generator(2), 'catalog_number': catalog_number or 'CAT-{0}'.format(random.randint(10000,99999)), 'release_date': release_date or datetime.datetime.today(), 'description': description or random_word_generator(15), 'is_active': is_active } with session_scope() as session: new_fake_work = Work(**work_dict) session.add(new_fake_work) session.commit() work_dict = api_to_model_dict({'work': new_fake_work.to_dict()}) return work_dict
def creators(): model_data = api_to_model_dict(request.get_json()) response = logic.create_creator(model_data) return {'creator': response}, 201
def works(): model_data = api_to_model_dict(request.get_json()) response = logic.create_work(model_data) return {'work': response}, 201