def put_outcome_and_return_progress()

in common/helpers/common_helpers.py [0:0]


def put_outcome_and_return_progress(frauddetector_client, model, progress):
    try:
        if hasattr(model, "Tags"):
            tags = model_helpers.get_tags_from_tag_models(model.Tags)
            api_helpers.call_put_outcome(
                frauddetector_client,
                outcome_name=model.Name,
                outcome_tags=tags,
                outcome_description=model.Description,
            )
        else:
            api_helpers.call_put_outcome(
                frauddetector_client,
                outcome_name=model.Name,
                outcome_description=model.Description,
            )
        progress.resourceModel = model_helpers.get_outcomes_and_return_model_for_outcome(
            frauddetector_client, model.Name
        )
        progress.status = OperationStatus.SUCCESS
        LOG.info(f"just finished a put outcome call: {progress.resourceModel}")
    except RuntimeError as e:
        progress.status = OperationStatus.FAILED
        raise exceptions.InternalFailure(f"Error occurred: {e}")
    return progress