File tree Expand file tree Collapse file tree 1 file changed +4
-12
lines changed
Expand file tree Collapse file tree 1 file changed +4
-12
lines changed Original file line number Diff line number Diff line change 66import model
77import orm
88import repository
9+ import services
910
1011
1112orm .start_mappers ()
1213get_session = sessionmaker (bind = create_engine (config .get_postgres_uri ()))
1314app = Flask (__name__ )
1415
15- def is_valid_sku (sku , batches ):
16- return sku in {b .sku for b in batches }
17-
1816@app .route ("/allocate" , methods = ['POST' ])
1917def allocate_endpoint ():
2018 session = get_session ()
21- batches = repository .SqlAlchemyRepository (session ). list ( )
19+ repo = repository .SqlAlchemyRepository (session )
2220 line = model .OrderLine (
2321 request .json ['orderid' ],
2422 request .json ['sku' ],
2523 request .json ['qty' ],
2624 )
27-
28- if not is_valid_sku (line .sku , batches ):
29- return jsonify ({'message' : f'Invalid sku { line .sku } ' }), 400
30-
3125 try :
32- batchref = model .allocate (line , batches )
33- except model .OutOfStock as e :
26+ batchref = services .allocate (line , repo , session )
27+ except ( model .OutOfStock , services . InvalidSku ) as e :
3428 return jsonify ({'message' : str (e )}), 400
3529
36- session .commit ()
3730 return jsonify ({'batchref' : batchref }), 201
38-
You can’t perform that action at this time.
0 commit comments