From c0228c0dadc8ce97ff414106ecde401ca98f3e49 Mon Sep 17 00:00:00 2001 From: Esdras Renan Date: Thu, 9 Oct 2025 23:05:11 -0300 Subject: [PATCH] docs(todo): add TODOs for Prisma client/type sync and desktop TS notes; remove unused vars in companies create route --- docs/SETUP-HISTORICO.md | 14 ++++++++++++++ src/app/api/admin/companies/route.ts | 4 +--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/SETUP-HISTORICO.md b/docs/SETUP-HISTORICO.md index e06bcfb..7e6e6ea 100644 --- a/docs/SETUP-HISTORICO.md +++ b/docs/SETUP-HISTORICO.md @@ -86,3 +86,17 @@ - Fixar versão do `convex-backend` (ao invés de `latest`) para releases mais controladas. - Substituir bind‑mount por imagens construídas no CI (tempo de deploy menor, reprodutibilidade). - Adicionar cache de dependências pnpm no container de build. + +## TODOs (próximos técnicos) + +- Prisma Client desatualizado x schema (Company.isAvulso/contractedHoursPerMonth) + - Sintoma: Tipos gerados do Prisma não exibem os campos `isAvulso` e `contractedHoursPerMonth` em `CompanyCreateInput`/`CompanyUpdateInput`. + - Temporário: rotas `src/app/api/admin/companies/[id]/route.ts` e mapeamento em `src/app/admin/companies/page.tsx` possuem guardas/casts para compilar. + - Ação: + 1. Rodar `pnpm prisma:generate` no mesmo ambiente de build/execução (VPS e local) para regenerar o client. + 2. Confirmar que os campos aparecem nos tipos gerados. + 3. Remover casts e `eslint-disable` do update; reintroduzir campos no `create` se desejado (com tipagem estrita). + 4. Se ainda não existirem fisicamente na base, aplicar migração que adicione os campos ao modelo `Company`. + +- Next TS x Desktop (plugin Keyring) + - Mantido `apps/desktop/**` no `tsconfig.exclude` para o type‑check do Next. Avaliar, em outro momento, ambient d.ts no desktop para editor. diff --git a/src/app/api/admin/companies/route.ts b/src/app/api/admin/companies/route.ts index c49f604..92b9cd9 100644 --- a/src/app/api/admin/companies/route.ts +++ b/src/app/api/admin/companies/route.ts @@ -22,15 +22,13 @@ export async function POST(request: Request) { const body = (await request.json()) as Partial<{ name: string slug: string - isAvulso: boolean cnpj: string | null domain: string | null phone: string | null description: string | null address: string | null - contractedHoursPerMonth: number | string | null }> - const { name, slug, isAvulso, cnpj, domain, phone, description, address, contractedHoursPerMonth } = body ?? {} + const { name, slug, cnpj, domain, phone, description, address } = body ?? {} if (!name || !slug) { return NextResponse.json({ error: "Nome e slug são obrigatórios" }, { status: 400 }) }