Saltar al contenido principal

CaseCommentModule

Agrega y consulta comentarios de un caso. Thread-safe.

Ejemplo General​

```python
comments = client.caso().comment()
comments.add(AddCommentRequest.builder().caso_id("c1").comment("Hola").build())
```

Métodos​

def __init__(config: ShoriConfig, http: HttpExecutor) -> None​

Parámetros:

  • config (ShoriConfig) —
  • http (HttpExecutor) —

def add(request: AddCommentRequest | Mapping[str, Any]) -> AddCommentResponse​

Agrega un comentario a un caso existente.

Parámetros:

  • request (AddCommentRequest | Mapping[str, Any]) — AddCommentRequest o dict (casoId y comment obligatorios).

Retorna: AddCommentResponse — AddCommentResponse con el comentario creado.

Lanza:

  • ValidationException — Si el builder se construye sin caso_id o comment.
  • pydantic.ValidationError — Si el dict no cumple el modelo.
  • ResourceNotFoundException — Si el caso no existe.

Ejemplo de uso:

```python
resp = client.caso().comment().add(
AddCommentRequest.builder()
.caso_id("caso-uuid")
.comment("Se envió la documentación")
.build()
)
```

def search(filter: CommentFilter) -> CommentSearchResult​

Busca comentarios de un caso (una página).

Parámetros:

  • filter (CommentFilter) — CommentFilter (caso_id obligatorio).

Retorna: CommentSearchResult — CommentSearchResult con comments, count y num_elements.

Ejemplo de uso:

```python
page = client.caso().comment().search(
CommentFilter.builder().caso_id("caso-uuid").page_size(10).build()
)
for c in page.comments or []:
print(c.created_at, c.user_name, c.comment)
```

def search_all(filter: CommentFilter) -> list[CommentResponse]​

Busca TODOS los comentarios de un caso, paginando automáticamente (iterativo).

Parámetros:

  • filter (CommentFilter) — CommentFilter.

Retorna: list[CommentResponse] — Lista de CommentResponse de todas las páginas.

Ejemplo de uso:

```python
todos = client.caso().comment().search_all(
CommentFilter.builder().caso_id("caso-uuid").page_size(200).build()
)
```