def formulation_instance_service(f_id):
resp = flask.Response(json.dumps({'status': 'failed'}))
if request.method == 'PUT':
if request.is_json:
p_json_list = request.json['properties']
formulation = Formulation.query.get(f_id)
formulation.formulation_property.delete()
# fp_rs = Formulation.query.get(f_id).formulation_property
# FormulationProperty.query.filter(FormulationProperty.formulation_id == f_id).delete()
for p in p_json_list:
formulation.formulation_property.append(FormulationProperty(
key=p['keyName'],
value=p['valueName']
))
db.session.commit()
p_list = []
for p in formulation.formulation_property:
p_list.append({p.key: p.value})
resp = flask.Response(json.dumps({'status': 'success',
'formulation_id': formulation.id,
'formulation_properties': p_list}))
elif request.method == 'DELETE':
formulation = Formulation.query.get(f_id)
test_count = formulation.test.count()
if test_count > 0:
resp = flask.Response(json.dumps({'status': 'failed',
'error': 'the tests count of formulation id %d is not 0, '
'delete tests first'}))
else:
Formulation.query.filter(Formulation.id == f_id).delete()
db.session.commit()
return set_debug_response_header(resp)
评论列表
文章目录