Skip to content

Commit 1e992ee

Browse files
committed
Add delete operation code
1 parent 8f5fd40 commit 1e992ee

File tree

3 files changed

+44
-1
lines changed

3 files changed

+44
-1
lines changed

node-service/routes/orders.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,15 @@ router.post('/', async function(req, res, next) {
3737
}
3838
});
3939

40+
/* DELETE order by calling order microservice via dapr */
41+
router.post('/delete', async function(req, res ) {
42+
43+
var data = await axios.delete(`${daprSidecar}/order?id=${req.body.id}`, {
44+
headers: {'dapr-app-id': `${orderService}`}
45+
});
46+
47+
res.setHeader('Content-Type', 'application/json');
48+
res.send(`${JSON.stringify(data.data)}`);
49+
});
50+
4051
module.exports = router;

node-service/views/index.jade

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,15 @@ block content
3939
span.label Id
4040
input(type='text', name='id', placeholder='foo', required='required')
4141
div.actions
42-
input(type='submit', value='View')
42+
input(type='submit', value='View')
43+
44+
//- Uncomment below to enable order deletion
45+
//- h2= 'Delete Order'
46+
//- br
47+
//- br
48+
//- form(action='/order/delete', method='post')
49+
//- div.input
50+
//- span.label Id
51+
//- input(type='text', name='id', placeholder='foo', required='required')
52+
//- div.actions
53+
//- input(type='submit', value='View')

python-service/app.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,25 @@ def createOrder():
6161
finally:
6262
app.logger.info('created order')
6363

64+
@app.route('/order', methods=['DELETE'])
65+
def deleteOrder():
66+
app.logger.info('delete called in the order service')
67+
with DaprClient() as d:
68+
d.wait(5)
69+
id = request.args.get('id')
70+
if id:
71+
# Delete the order status from Cosmos DB via Dapr
72+
try:
73+
d.delete_state(store_name='orders', key=id)
74+
return f'Item {id} successfully deleted', 200
75+
except Exception as e:
76+
app.logger.info(e)
77+
return abort(500)
78+
finally:
79+
app.logger.info('completed order delete')
80+
else:
81+
resp = jsonify('Order "id" not found in query string')
82+
resp.status_code = 400
83+
return resp
84+
6485
app.run(host='0.0.0.0', port=os.getenv('PORT', '5000'))

0 commit comments

Comments
 (0)