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
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
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
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
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
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