docs(todo): add TODOs for Prisma client/type sync and desktop TS notes; remove unused vars in companies create route
This commit is contained in:
parent
b801ebd44f
commit
c0228c0dad
2 changed files with 15 additions and 3 deletions
|
|
@ -86,3 +86,17 @@
|
||||||
- Fixar versão do `convex-backend` (ao invés de `latest`) para releases mais controladas.
|
- 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).
|
- Substituir bind‑mount por imagens construídas no CI (tempo de deploy menor, reprodutibilidade).
|
||||||
- Adicionar cache de dependências pnpm no container de build.
|
- 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.
|
||||||
|
|
|
||||||
|
|
@ -22,15 +22,13 @@ export async function POST(request: Request) {
|
||||||
const body = (await request.json()) as Partial<{
|
const body = (await request.json()) as Partial<{
|
||||||
name: string
|
name: string
|
||||||
slug: string
|
slug: string
|
||||||
isAvulso: boolean
|
|
||||||
cnpj: string | null
|
cnpj: string | null
|
||||||
domain: string | null
|
domain: string | null
|
||||||
phone: string | null
|
phone: string | null
|
||||||
description: string | null
|
description: string | null
|
||||||
address: 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) {
|
if (!name || !slug) {
|
||||||
return NextResponse.json({ error: "Nome e slug são obrigatórios" }, { status: 400 })
|
return NextResponse.json({ error: "Nome e slug são obrigatórios" }, { status: 400 })
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue