Reconciliar F1 /admin/parties com a API pré-existente /parties (dsoc-mandates) #70
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ao construir o F1 (#58) criei
admin_parties.rs(/admin/parties, gatedparty.manage) SEM terachado a API que já existia em
crates/spaces/mandates/src/parties.rs(/api/v1/parties/*:GET /parties,POST /parties/{sigla}/directories, directory members; gated porparty_write_authorized= admin plataforma OU admin partido).Sobreposição: criação de diretório e gestão de administradores existem nas DUAS.
/parties, EN por ADR-0013; painel /admin/partidos consome ela) OU manter /admin/parties e remover escritas duplicadas de /partiesDescoberto ao investigar 'quem criou o diretório do PSD-RJ' (criado 2026-07-24 pela conta administrator socrates, via a /parties antiga).
Investigacao (2026-07-27): a sobreposicao e DUPLA, nao so backend.
Backends:
dsoc-mandates::parties(POST /parties/{sigla}/directories, members) vsgateway::admin_parties(/admin/parties/*, F1).Frontends:
PartyDetail.svelte(pagina publica do partido, usa createPartyDirectory/deletePartyDirectory/addDirectoryMember -> API /parties) vsAdminPartiesPanel.svelte(F1, usa /admin/parties).Ou seja, ha DOIS caminhos completos de gestao de diretorio/admin. Remover qualquer um quebra um frontend ativo -> reconciliacao e um REFACTOR DELIBERADO, nao corte de sessao.
Decisao proposta:
/admin/parties(EN, gated party.manage/directory.manage, auditado #71, UI no admin) vira a superficie CANONICA de escrita. Passos:PartyDetail.sveltepara consumir /admin/parties (ou remover a gestao de la, deixando a pagina publica so-leitura)dsoc-mandates::parties(manter GET publicos /parties, /parties/{sigla})Mantido ABERTO como refactor rastreado (nao rushed).