TaskOrders domain class can query EDA api via client

This commit is contained in:
dandds
2018-08-20 16:09:08 -04:00
parent 735b9b5179
commit 42325d5a28
3 changed files with 38 additions and 4 deletions

View File

@@ -8,12 +8,32 @@ from .exceptions import NotFoundError
class TaskOrders(object):
@classmethod
def get(self, order_number):
def get(cls, order_number, client=None):
try:
task_order = (
db.session.query(TaskOrder).filter_by(number=order_number).one()
)
except NoResultFound:
raise NotFoundError("task_order")
if client:
task_order = TaskOrders._get_from_eda(order_number, client)
else:
raise NotFoundError("task_order")
return task_order
@classmethod
def _get_from_eda(cls, order_number, client):
to_data = client.get_contract(order_number, status="y")
if to_data:
return TaskOrders.create(to_data["contract_no"])
else:
raise NotFoundError("task_order")
@classmethod
def create(cls, order_number):
task_order = TaskOrder(number=order_number)
db.session.add(task_order)
db.session.commit()
return task_order