RepoDocumentModule
Sube y elimina documentos. Thread-safe: varios hilos pueden subir a la vez con el mismo cliente.
Ejemplo General
```python
docs = client.repo().document()
```
Métodos
def __init__(config: ShoriConfig, http: HttpExecutor) -> None
Parámetros:
config(ShoriConfig) —http(HttpExecutor) —
def upload(request: UploadDocumentRequest | Mapping[str, Any]) -> str
Sube un documento y lo asocia a un caso.
Los metadatos viajan como query params y el archivo como multipart/form-data.
El request recibido no se modifica.
file acepta una ruta (str o Path, el nombre sale del archivo), bytes
o un ShoriFile. Con bytes el nombre por defecto es "file": pasa
file_name para darle uno real. Una ruta inexistente lanza FileNotFoundError.
Parámetros:
request(UploadDocumentRequest | Mapping[str, Any]) —UploadDocumentRequestodict(file,casoIdycasoTypeIdobligatorios;
Retorna: str — UUID del documento creado.
Lanza:
FileNotFoundError— Sifilees una ruta que no existe.pydantic.ValidationError— Si faltan campos obligatorios.ApiException— Si el API rechaza la subida.
Ejemplo de uso:
```python
# Desde una ruta del disco
doc_id = client.repo().document().upload(
UploadDocumentRequest(file="/tmp/contrato.pdf", caso_id="caso-uuid", caso_type_id="tipo-uuid")
)
# Desde bytes en memoria (indica el nombre)
doc_id = client.repo().document().upload(
UploadDocumentRequest(
file=pdf_bytes, file_name="contrato.pdf",
caso_id="caso-uuid", caso_type_id="tipo-uuid", category_id="cat-uuid",
)
)
```
def delete(uuid: str) -> None
Elimina un documento del repositorio por su UUID.
Parámetros:
uuid(str) — UUID del documento.
Lanza:
ResourceNotFoundException— Si el documento no existe.
Ejemplo de uso:
```python
client.repo().document().delete("document-uuid")
```