Cooperatives
Listagem de cooperativas em dois contextos — usuário final e app-to-app.
As cooperativas são expostas em duas rotas, uma por contexto de
autenticação. O corpo da resposta identifica o caller conforme a origem.
| Método | Rota | Auth | Scope | Resource |
|---|---|---|---|---|
GET | /api/cooperatives | usuário | read | resource:cooperatives |
GET | /service/cooperatives | serviço | — | — (identidade do tenant) |
Contexto usuário (/api/cooperatives)
Lista as cooperativas visíveis para o usuário autenticado. Exige a permissão
resource:cooperatives + scope read.
curl http://localhost:3000/api/cooperatives \
-H "Authorization: Bearer $USER_ACCESS_TOKEN"200 OK — caller é o id do usuário:
{
"caller": "user-1a2b3c",
"data": ["is"]
}Contexto serviço (/service/cooperatives)
Lista as cooperativas visíveis para o client (app-to-app) autenticado via
client credentials. Não passa
pelo PermissionGuard de usuário; a autorização vem da identidade do tenant.
curl http://localhost:3000/service/cooperatives \
-H "Authorization: Bearer $SERVICE_ACCESS_TOKEN"200 OK — caller é o tenantId resolvido a partir do azp do token:
{
"caller": "t1b2c3d4-e5f6-4789-a123-456789abcdef",
"data": ["is"]
}O payload data destes endpoints é um placeholder (["is"]) na implementação
atual — a estrutura de resposta e o mecanismo de identificação do caller já
estão definidos, mas a fonte real de dados de cooperativas ainda será plugada.