2016-01-13 11:04:13 +00:00
|
|
|
from app import db
|
|
|
|
|
from app.models import (Template, Service)
|
2016-02-22 09:46:16 +00:00
|
|
|
from sqlalchemy import asc
|
2016-01-13 11:04:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def save_model_template(template, update_dict=None):
|
|
|
|
|
if update_dict:
|
2016-01-13 12:14:21 +00:00
|
|
|
update_dict.pop('id', None)
|
2016-01-29 11:11:00 +00:00
|
|
|
service = update_dict.pop('service')
|
2016-01-13 11:04:13 +00:00
|
|
|
Template.query.filter_by(id=template.id).update(update_dict)
|
2016-01-29 11:11:00 +00:00
|
|
|
template.service = service
|
2016-01-13 11:04:13 +00:00
|
|
|
else:
|
|
|
|
|
db.session.add(template)
|
|
|
|
|
db.session.commit()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def delete_model_template(template):
|
|
|
|
|
db.session.delete(template)
|
|
|
|
|
db.session.commit()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_model_templates(template_id=None, service_id=None):
|
|
|
|
|
# TODO need better mapping from function params to sql query.
|
|
|
|
|
if template_id and service_id:
|
|
|
|
|
return Template.query.filter_by(
|
2016-01-13 17:23:59 +00:00
|
|
|
id=template_id, service_id=service_id).one()
|
2016-01-13 11:04:13 +00:00
|
|
|
elif template_id:
|
|
|
|
|
return Template.query.filter_by(id=template_id).one()
|
|
|
|
|
elif service_id:
|
2016-01-22 10:44:34 +00:00
|
|
|
return Template.query.filter_by(service=Service.query.get(service_id)).all()
|
2016-01-13 11:04:13 +00:00
|
|
|
return Template.query.all()
|
2016-02-22 09:46:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def dao_create_template(template):
|
|
|
|
|
db.session.add(template)
|
|
|
|
|
db.session.commit()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def dao_update_template(template):
|
|
|
|
|
db.session.add(template)
|
|
|
|
|
db.session.commit()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def dao_get_template_by_id_and_service_id(template_id, service_id):
|
|
|
|
|
return Template.query.filter_by(id=template_id, service_id=service_id).first()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def dao_get_all_templates_for_service(service_id):
|
|
|
|
|
return Template.query.filter_by(service=Service.query.get(service_id)).order_by(asc(Template.created_at)).all()
|