teqo-backup/src/utilities/access
Francisco Solla 2f247d40a6 fix(C115): revisão /simplify — relógio com baseline de espelho, reopen sem re-cancelamento, hardening do webhook
- lastMirroredChangeAt (activity, migration): clock rule compara contra a
  última mudança espelhada, não updatedAt (task toggle não silencia edição
  pendente do Google)
- snapshot exclui ids que o motor deletou (removedEventIds separado do
  remoteEventIds): reopen pós-cancelamento não vira re-cancelamento fantasma
- cancelamento do Google respeita o relógio: cancel mais novo cancela; Teqo
  mais novo (reopen) limpa o trashed e recria
- escrita reversa sem req.user: autoria do registro correta + sem gate 403
  do deputado; hook de sync pula a própria escrita reversa (sem passada aninhada)
- canal: segredo rotaciona por criação; novo canal persistido antes do stop
  do antigo; identity fields read:false; create admin-only; leitura prefere
  linha configurada; pre-filter do webhook antes do bootstrap do Payload
- testes: all-day ida-e-volta, task-toggle, reopen, slug congelado, e2e dos
  caminhos 200, render tests do dialog/feed; asserções herméticas a
  atividades ambiente dos arquivos irmãos (DB compartilhado)
2026-08-11 22:42:05 -03:00
..
activities.ts feat(C90): remodela responsáveis da Atividade em campo único polimórfico 2026-08-08 17:10:48 -03:00
allocationDecisions.ts Implement C12 campaign foundation records 2026-07-24 19:27:15 -03:00
calendarFeeds.ts fix(C92): calendar feed creation stripped by admin-only system fields 2026-08-08 23:13:30 -03:00
campaignStaffAdvisors.ts feat(C99): toda conta campaignUser aponta para uma ficha Contact; lideranças ganham assessores responsáveis 2026-08-09 19:12:35 -03:00
campaignUsers.ts B34+: scale and DRY after municipality chip lists. 2026-07-28 19:49:29 -03:00
contacts.ts feat(campanha): B163 — editar contatos das dobradinhas 2026-08-06 16:52:55 -03:00
demands.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
elections.ts Pass 2 W4b: zero exports mortos; knip exports/types/enumMembers em ERROR no CI 2026-07-25 15:51:52 -03:00
googleCalendarSync.ts fix(C115): revisão /simplify — relógio com baseline de espelho, reopen sem re-cancelamento, hardening do webhook 2026-08-11 22:42:05 -03:00
invites.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
leaderships.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
municipalities.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
municipalityUpdates.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
notifications.ts D2 — Push + sino in-app para /campanha 2026-07-31 01:51:41 +00:00
organizations.ts Break up the god modules into deep domain modules 2026-07-23 23:44:45 -03:00
shared.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
stateDeputies.ts feat(C99): toda conta campaignUser aponta para uma ficha Contact; lideranças ganham assessores responsáveis 2026-08-09 19:12:35 -03:00
supporters.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
votePledges.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
webauthnCredentials.ts Deliver B40: biometric login for /campanha. 2026-07-28 10:59:23 -03:00