Recurso /institutions/{institutionId}/donation_profiles
Opened this issue · 0 comments
Descrição
Uma instituição poderá configurar o formato das doações que deseja receber. Ex.: lar dos idosos configura uma doação recorrente de 30 reais por mês e realiza uma campanha com os seus doadores.
Este perfil de doação deverá armazenar as informações recorrência (semanal, mensal, anual) e limite de aplicação da recorrência.
Apenas administrador e membro da instituição podem gerenciar os perfis de doação.
Formato básico do objeto do perfil de recorrência
{
"id": "52ccd81f-c1d3-4112-9628-5648a6c13baf"
"name": "Contribuição mensal",
"institutionId": "03046662-93e5-4c5b-b426-f34082397e44",
"recurrence": "weekly", // "weekly" | "monthly" | "yearly",
"recurrenceExpirationDate": "2022-11-20 14:32:00",
"createdAt": "2022-11-20 14:32:00",
"updatedAt": "2022-11-20 14:32:00",
"deletedAt": null,
"createdBy": "03046662-93e5-4c5b-b426-f34082397e44",
"updatedBy": "03046662-93e5-4c5b-b426-f34082397e44",
"deletedBy": null
}
Formato para busca
{
"id": "52ccd81f-c1d3-4112-9628-5648a6c13baf"
"name": "Contribuição mensal",
"institutionId": "03046662-93e5-4c5b-b426-f34082397e44",
"recurrence": "weekly", // "weekly" | "monthly" | "yearly",
"recurrenceExpirationDate": "2022-11-20 14:32:00",
"createdAt": "2022-11-20 14:32:00",
"updatedAt": "2022-11-20 14:32:00",
"deletedAt": null,
"createdBy": {
"id": "03046662-93e5-4c5b-b426-f34082397e44",
"name": "Fulano"
},
"updatedBy": {
"id": "03046662-93e5-4c5b-b426-f34082397e44",
"name": "Fulano"
},
"deletedBy": null
}
Rotas
POST /institutions/{institutionId}/donation_profiles
Rota para criação do perfil de doação no sistema. Apenas usuários com perfil administrador e membro da instituição poderão criar perfil de doação.
- Request body: objeto de perfil de doação
- Response body: objeto de perfil de doação (com data de criação, atualização, e usuário responsável)
PUT /institutions/{institutionId}/donation_profiles/{profileId}
Rota para atualização de perfis de doação no sistema. Deve ser fornecido no request sempre o objeto completo.
- Request body: objeto de perfil de doação
- Response body: objeto de perfil de doação (com data de criação, atualização, e usuário responsável)
GET /institutions/{institutionId}/donation_profiles?page=10&limit=5&keyword=XPTO
Rota para atualização de perfis de doação no sistema. A palavra-chave deverá buscar por nome da instituição e nome do perfil.
- Request body: N/A
- Response body: array objetos de perfis de doação paginados (formato de busca)
GET /institutions/{institutionId}/donation_profiles/{profileId}
Rota para obter os detalhes de uma perfil de doação no sistema.
- Request body: N/A
- Response body: objeto de perfil de doação (formato de busca)
DELETE /institutions/{institutionId}/donation_profiles/{profileId}
Rota para remover um perfil de doação do sistema. Esquema de soft delete (deletedAt quando não for nulo, indica que o item foi deletado). Itens deletados não aparecerão na busca padrão.
- Request body: N/A
- Response body: objeto de perfil de doação removido (com deletedAt e deletedBy atualizado)