All four http methods working now for user and service restful apis.

This commit is contained in:
Nicholas Staples
2016-01-11 17:19:06 +00:00
parent 49e98c21e7
commit 74547013ba
11 changed files with 114 additions and 53 deletions

View File

@@ -0,0 +1,6 @@
from sqlalchemy.exc import SQLAlchemyError
# Should I use SQLAlchemyError?
class DAOException(SQLAlchemyError):
pass

View File

@@ -1,24 +1,22 @@
import json
from datetime import datetime
from sqlalchemy.orm import load_only
from sqlalchemy.exc import SQLAlchemyError
from . import DAOException
from app import db
from app.models import Service
# Should I use SQLAlchemyError?
class DAOException(SQLAlchemyError):
pass
def create_model_service(service):
users_list = getattr(service, 'users', [])
def save_model_service(service, update_dict=None):
users_list = update_dict.get('users', []) if update_dict else getattr(service, 'users', [])
if not users_list:
error_msg = {'users': 'Missing data for required attribute'}
raise DAOException(json.dumps(error_msg))
db.session.add(service)
if update_dict:
del update_dict['id']
del update_dict['users']
db.session.query(Service).filter_by(id=service.id).update(update_dict)
else:
db.session.add(service)
db.session.commit()

View File

@@ -1,13 +1,17 @@
from datetime import datetime
from . import DAOException
from sqlalchemy.orm import load_only
from app import db
from app.models import User
def create_model_user(usr):
db.session.add(usr)
def save_model_user(usr, update_dict={}):
if update_dict:
del update_dict['id']
db.session.query(User).filter_by(id=usr.id).update(update_dict)
else:
db.session.add(usr)
db.session.commit()