Pular para conteúdo

case_helpers

create_caso(pldpro_client, file_path_origin, uuid_auth_node)

Cria um caso associado a um AuthNode específico.

Source code in pldpro_sdk/use_cases/helpers/case_helpers.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def create_caso(pldpro_client: PLDProClient, file_path_origin: str, uuid_auth_node: UUID) -> CasoResponse:
    """
    Cria um caso associado a um AuthNode específico.
    """
    data_hora = datetime.now().strftime("%d-%m-%Y-%H-%M-%S")
    caso_request = CasoRequest(
        nome=f"caso_automatico_{data_hora}",
        pathRemote="",
        uuidAuthNode=uuid_auth_node,
    )

    caso_response = pldpro_client.casos.create_caso_attach(caso_request)

    if caso_response:
        logger.info(f"Caso criado com sucesso: {caso_response}")
        logger.info(f"Iniciando upload do arquivo: {file_path_origin}")
        return caso_response

    raise Exception("Falha ao criar caso: create_caso retornou None")

get_caso_existente(pldpro_client, caso_uuid)

Recupera um caso existente pelo UUID. Lança exceção se o caso não for encontrado.

Source code in pldpro_sdk/use_cases/helpers/case_helpers.py
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def get_caso_existente(pldpro_client: PLDProClient, caso_uuid: UUID | str) -> CasoResponse:
    """
    Recupera um caso existente pelo UUID.
    Lança exceção se o caso não for encontrado.
    """
    if isinstance(caso_uuid, str):
        caso_uuid = UUID(caso_uuid)

    caso = pldpro_client.casos.get_caso(caso_uuid)

    if not caso:
        raise RuntimeError(f"Caso não encontrado: {caso_uuid}")

    logger.info(f"Caso encontrado: {caso.uuid}{caso.nome}")
    return caso

upload_files_thread(client, caso_response, file_path)

Função executada em thread para fazer o upload dos arquivos.

Source code in pldpro_sdk/use_cases/helpers/case_helpers.py
77
78
79
80
81
82
83
84
85
def upload_files_thread(client: PLDProClient, caso_response: CasoResponse, file_path: str):
    """Função executada em thread para fazer o upload dos arquivos."""
    global upload_completed, upload_result, upload_error
    try:
        upload_result = client.casos.upload_files(caso_response.uuid, file_path, True)
        upload_completed = True
    except Exception as e:
        upload_error = e
        upload_completed = True