示例#1
0
 def delete(self):
     parameter = orm_utils.get_or_404_parameter_with_uid(1)
     resource_utils.perform_orm_commit_or_500(parameter, "delete")
     response_content = {
         'message': 'parameter set deleted',
     }
     return response_content
示例#2
0
 def get(self, uid):
     parameter = orm_utils.get_or_404_parameter_with_uid(uid)
     response_content = {
         "parameter": PARAMETER_SCHEMA.dump(parameter),
         "parameter_url": url_for('.parameter', uid=uid),
         "parameter_set_url": url_for('.parameter_set'),
     }
     return response_content
 def get(self, uid):
     parameter = orm_utils.get_or_404_parameter_with_uid(uid)
     response_content = {
         'message': f'value list for parameter {uid}',
         'values': PARAMETER_SCHEMA.dump(parameter)['values'],
         'parameter_url': url_for('.parameter', uid=uid),
         'parameter_value_list_url': url_for('.parameter_value_list',
                                             uid=uid),
     }
     return response_content
示例#4
0
 def delete(self, uid):
     parameter = orm_utils.get_or_404_parameter_with_uid(uid)
     deleted_name = parameter.name
     resource_utils.perform_orm_commit_or_500(parameter, "delete")
     response_content = {
         'message': f'parameter {uid} deleted',
         'deleted_parameter_name': deleted_name,
         "parameter_set_url": url_for('.parameter_set'),
     }
     return response_content
示例#5
0
 def get(self, uid):
     parameter = orm_utils.get_or_404_parameter_with_uid(uid)
     excluded_content = PARAMETER_EXCLUSION_SCHEMA.dump(parameter)
     response_content = {
         'message': f'exclusions for parameter {uid}',
         'parameter': excluded_content,
         'parameter_url': url_for('.parameter', uid=uid),
         'parameter_exclusion_url': url_for('.parameter_exclude_list',
                                            uid=uid),
     }
     return response_content
示例#6
0
 def delete(self, puid, euid):
     parameter = orm_utils.get_or_404_parameter_with_uid(puid)
     excluded_parameter = orm_utils.get_or_404_parameter_with_uid(euid)
     if excluded_parameter not in parameter.excluded:
         abort(
             400,
             f"Parameter with uid={euid} is not in the exclusion list of parameter with uid={puid}"
         )
     parameter.restore_interaction_with(excluded_parameter)
     resource_utils.perform_orm_commit_or_500(
         [parameter, excluded_parameter])
     excluded_content = PARAMETER_EXCLUSION_SCHEMA.dump(parameter)
     excluded_by_content = PARAMETER_EXCLUSION_SCHEMA.dump(
         excluded_parameter)
     response_content = {
         'message': 'parameter exclusion deleted',
         'parameter_excludes': excluded_content,
         'parameter_excluded_by': excluded_by_content,
         'parameter_url': url_for('.parameter', uid=puid),
         'excluded_parameter_url': url_for('.parameter', uid=euid),
     }
     return response_content, 200
 def put(self, uid):
     parameter = orm_utils.get_or_404_parameter_with_uid(uid)
     put_data = request.get_json()  # @UndefinedVariable
     put_data.update({"numItems": len(parameter)})
     validation_errors = MOVE_VALUE_SCHEMA.validate(put_data)
     if validation_errors:
         abort(400, f"Validation error(s):  {validation_errors}")
     old_index = put_data['oldIndex']
     new_index = put_data['newIndex']
     moved_value = parameter.pop(old_index)
     parameter.insert(new_index, moved_value)
     resource_utils.perform_orm_commit_or_500(parameter, operation="update")
     response_content = {
         'message': 'value moved within list',
         'old_index': old_index,
         'new_index': new_index,
         'moved_value_uri': url_for('.value', uid=moved_value.uid),
     }
     return response_content
示例#8
0
 def post(self, uid):
     parameter = orm_utils.get_or_404_parameter_with_uid(uid)
     edit_parameter_info = UPDATE_PARAMETER_SCHEMA.dump(parameter)
     patch_data = request.get_json()  # @UndefinedVariable
     if not patch_data:
         abort(400, "No updates provided with request")
     edit_parameter_info.update(patch_data)
     validation_errors = UPDATE_PARAMETER_SCHEMA.validate(
         edit_parameter_info)
     if validation_errors:
         abort(400, f"Validation error(s):  {validation_errors}")
     for key in patch_data:
         new_value = PARAMETER_SCHEMA.fields[key].deserialize(
             edit_parameter_info[key])
         setattr(parameter, key, new_value)
     resource_utils.perform_orm_commit_or_500(parameter, operation="update")
     parameter_info = PARAMETER_EXCLUSION_SCHEMA.dump(parameter)
     response_content = {
         'message': 'parameter exclusion created',
         "parameter": parameter_info,
         "parameter_url": url_for('.parameter', uid=uid),
     }
     return response_content, 201
 def post(self, uid):
     parameter = orm_utils.get_or_404_parameter_with_uid(uid)
     post_data = request.get_json()  # @UndefinedVariable
     validation_errors = UPDATE_VALUE_SCHEMA.validate(post_data)
     if validation_errors:
         abort(400, f"Validation error(s):  {validation_errors}")
     value_info = {
         key: UPDATE_VALUE_SCHEMA.fields[key].deserialize(post_data[key])
         for key in post_data
     }
     new_value = orm_utils.create_value(**value_info)
     parameter.append(new_value)
     resource_utils.perform_orm_commit_or_500(parameter, operation="update")
     new_id = new_value.uid
     response_content = {
         'message': 'new value created',
         'new_value': VALUE_SCHEMA.dump(new_value),
         'new_value_url': url_for('.value', uid=new_id),
         'parameter_url': url_for('.parameter', uid=uid),
         'parameter_value_list_url': url_for('.parameter_value_list',
                                             uid=uid),
     }
     return response_content, 201