in api-server/tesazure/tesapi/api.py [0:0]
def post(self):
current_app.logger.debug(f'Task creation received JSON: {request.data}')
json_input = request.get_json()
schema = TesTaskSchema()
try:
task = schema.load(json_input)
if len(task.errors) > 0:
raise ValidationError(task.errors)
except ValidationError as err:
current_app.logger.error("Task creation failed: validation error while parsing task. " + json.dumps(err.messages))
return {'errors': err.messages}, 422
task = task.data
# This unusual assignment dance is required because .update() doesn't trigger hybrid property setters
tags = task.tags
tags.update(common.detect_tags_for_submitter(task))
task.tags = tags
common.mangle_task_for_submitter(task)
task.backend_id = compute_backend.backend.create_task(task)
if current_app.config['AAD_VERIFY'] is True:
task.tenant_id = jwt_claims['tid']
task.user_id = jwt_claims['sub']
task.save()
return {'id': str(task.id)}