Skip to content

[feature]: Complete Custom Data API with full CRUD for all resources#63

Open
lmeilibr wants to merge 1 commit intomainfrom
feature/custom-data-complete
Open

[feature]: Complete Custom Data API with full CRUD for all resources#63
lmeilibr wants to merge 1 commit intomainfrom
feature/custom-data-complete

Conversation

@lmeilibr
Copy link
Contributor

Prefácio

Implementação completa da API de Custom Data do Zendesk. Remove todos os stubs NotImplementedError dos 3 recursos existentes e adiciona 5 novos recursos, cobrindo toda a superfície da API.

CHANGELOG

Adicionado — Recursos existentes (CUD)

  • Custom Objects: create, update (PATCH), delete
  • Custom Object Fields: create, update (PATCH), delete, reorder
  • Custom Object Records: create, update, upsert, delete, delete_by_external_id, delete_by_name, count, search, filtered_search, autocomplete, bulk_job, incremental_export

Adicionado — Novos recursos

  • Record Events: list_all (read-only, paginação customizada para formato links como lista)
  • Object Triggers: CRUD completo + list_active, search, definitions, update_many, delete_many
  • Record Attachments: list_all, create (multipart), update, delete, download_url
  • Permission Policies: list_all, get, update
  • Access Rules: CRUD completo + definitions

Infraestrutura

  • Commands CQRS para todas as mutações em application/commands/custom_data/
  • Mappers para todos os payloads em infrastructure/mappers/custom_data/
  • 164 testes unitários cobrindo todos os API clients
  • Testes de integração para todos os 8 recursos

Corrigido

  • Paginação de Record Events (API retorna links como lista ao invés de dict)
  • Resposta do endpoint count (necessário unwrap data["count"])

BACKLOG

  • Adicionar testes de serviço dedicados para os novos recursos
  • Modelar conditions/actions de Triggers como dataclasses tipadas

ISSUES

Nenhuma issue relacionada.

REQUISITOS

  • Zendesk account com Custom Objects habilitado
  • Autenticação via OAuth token ou email+api_token

🤖 Generated with Claude Code

Replace all NotImplementedError stubs with real implementations for
Custom Objects, Fields, and Records. Add new resources: Record Events,
Object Triggers, Record Attachments, Permission Policies, and Access
Rules. Records now support search, count, upsert, bulk jobs, and
incremental export.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>


@pytest.fixture()
def custom_object_key_and_record(custom_data: CustomData) -> tuple[str, str]:
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant