Skip to content

Commit aaa066f

Browse files
committed
modify flask to use messagebus [flask_uses_messagebus]
1 parent 516d322 commit aaa066f

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

src/allocation/entrypoints/flask_app.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from datetime import datetime
22
from flask import Flask, request
33

4+
from allocation.domain import events
45
from allocation.adapters import orm
5-
from allocation.service_layer import services, unit_of_work
6-
from allocation.service_layer.services import InvalidSku
6+
from allocation.service_layer import messagebus, unit_of_work
7+
from allocation.service_layer.handlers import InvalidSku
78

89
app = Flask(__name__)
910
orm.start_mappers()
@@ -14,25 +15,21 @@ def add_batch():
1415
eta = request.json["eta"]
1516
if eta is not None:
1617
eta = datetime.fromisoformat(eta).date()
17-
services.add_batch(
18-
request.json["ref"],
19-
request.json["sku"],
20-
request.json["qty"],
21-
eta,
22-
unit_of_work.SqlAlchemyUnitOfWork(),
18+
event = events.BatchCreated(
19+
request.json["ref"], request.json["sku"], request.json["qty"], eta
2320
)
21+
messagebus.handle(event, unit_of_work.SqlAlchemyUnitOfWork())
2422
return "OK", 201
2523

2624

2725
@app.route("/allocate", methods=["POST"])
2826
def allocate_endpoint():
2927
try:
30-
batchref = services.allocate(
31-
request.json["orderid"],
32-
request.json["sku"],
33-
request.json["qty"],
34-
unit_of_work.SqlAlchemyUnitOfWork(),
28+
event = events.AllocationRequired(
29+
request.json["orderid"], request.json["sku"], request.json["qty"]
3530
)
31+
results = messagebus.handle(event, unit_of_work.SqlAlchemyUnitOfWork())
32+
batchref = results.pop(0)
3633
except InvalidSku as e:
3734
return {"message": str(e)}, 400
3835

0 commit comments

Comments
 (0)