teqo-backup/src
Francisco Solla cb61cf1152 feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação
Envio em lote (1 request raw-body por arquivo, fan-out ≤2, até 50 arquivos) e
adicionar por link (Instagram/YouTube; extração só pela Graph API da conta
própria, senão peça-link) em /campanha/comunicacao/conteudos. Cada peça tem
estado próprio (Processando/Pronto/Falhou + Reprocessar), transcrição/texto e
catalogação automática revisável; publicar/despublicar preserva arquivo, slug
e publishedAt.

- collections contentPiece + contentMedia (upload privado no S3) e migration
  20260923_032714_add_content_piece (slug único gerado no 1º publish,
  sourceUrl única, searchText com índice trigram)
- pipeline reusa C199 (job after() + reaper + retry condicional, transcrição
  DeepInfra, ffmpeg/chunk), o classificador de facetas do acervo e o
  institutionCatalog; curatedFields impede o job de sobrescrever curadoria
- gate único canReadCommunicationCatalog (advisor/leader negados); delete
  só pelo admin; sem Consent novo
- UI portada do design aprovado (lista desktop + cards mobile, diálogo de
  lote com progresso por arquivo, diálogo de link, ficha editável, kill
  switch); nav/chrome/column-picker/manifest atualizados
- instagramFeed expõe mediaUrl; revalidateTag ganha wrapper seguro fora de
  request (fixtures/scripts)
- testes: 2 unit specs, 1 int spec (16 casos) e 7 e2e na vertical
- follow-up de engenharia: #1267 (docs/plans/escala-dry-pos-c211.md)

Closes #1254
2026-09-23 02:25:15 -03:00
..
app feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00
collections feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00
components feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00
globals S2-FOLLOWUP (#775) — validate do itemId YouTube deixa de ser código morto 2026-08-24 23:46:57 -03:00
hooks refactor(campaign): E1 simplify — pin loading/retry/stale-quirk no spec e tipo local 2026-08-23 13:16:47 -03:00
lib feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00
migrations feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00
utilities feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00
css-modules.d.ts Adopt TypeScript 6 for tooling and TypeScript 7 for typecheck. 2026-07-21 20:32:15 -03:00
payload-types.ts feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00
payload.config.ts feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação 2026-09-23 02:25:15 -03:00