def move_rejected_file()

in components/processing/libs/processor-msg/src/processors/msg/main_processor.py [0:0]


def move_rejected_file(source: GCSPath, reject_dir: GCSPath, error_msg: str):
    # Remove the first two elements which is the:
    # - job run folder
    # - document type
    # Remove the last element which is the file name.
    # Ends with array of relative folders in between
    relative_folders = source.path.split("/")[2:-1]
    relative_folders_str = "/".join(relative_folders)
    source.move(GCSPath(str(reject_dir) + f"{relative_folders_str}", source.name))
    json_err_msg = GCSPath(
        str(reject_dir) + f"{relative_folders_str}", source.name + ".json"
    )
    json_err_msg.write_text(
        json.dumps(
            {"error_msg": error_msg},
            default=str,
        )
    )