Adiciona endpoint de arquivamento e ajustes de infra
- Adiciona rota API para arquivar tickets por ID - Atualiza configuracao do Prisma para PostgreSQL - Simplifica workflow CI/CD - Adiciona src/generated ao gitignore - Atualiza documentacao e dependencias 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
33a59634e7
commit
2682b6e8ac
13 changed files with 253 additions and 165 deletions
34
docs/DEV.md
34
docs/DEV.md
|
|
@ -8,32 +8,42 @@ Este documento consolida o estado atual do ambiente de desenvolvimento, descreve
|
|||
- **Node.js**: mantenha a versão 20.9+ instalada para ferramentas auxiliares (Prisma CLI, scripts legados em Node) quando não estiver usando o runtime do Bun.
|
||||
- **Next.js 16**: Projeto roda em `next@16.0.8` com Turbopack como bundler padrão (dev e build); webpack continua disponível como fallback.
|
||||
- **Lint/Test/Build**: `bun run lint`, `bun test`, `bun run build:bun`. O test runner do Bun já roda em modo não interativo; utilize `bunx vitest --watch` apenas quando precisar do modo watch manualmente.
|
||||
- **Banco DEV**: SQLite em `prisma/prisma/db.dev.sqlite`. Defina `DATABASE_URL="file:./prisma/db.dev.sqlite"` ao chamar CLI do Prisma.
|
||||
- **Banco DEV**: PostgreSQL local (Docker recomendado). Defina `DATABASE_URL` apontando para seu PostgreSQL.
|
||||
- **Desktop (Tauri)**: fonte em `apps/desktop`. Usa Radix tabs + componentes shadcn-like, integra com os endpoints `/api/machines/*` e suporta atualização automática via GitHub Releases.
|
||||
- **CI**: Workflow `Quality Checks` roda lint/test/build para pushes e PRs na `main`, além do pipeline de deploy existente.
|
||||
|
||||
## Banco de dados (Prisma)
|
||||
## Banco de dados (Prisma + PostgreSQL)
|
||||
|
||||
1. Gere/atualize o schema local:
|
||||
1. Suba um PostgreSQL local (Docker recomendado):
|
||||
|
||||
```bash
|
||||
docker run -d --name postgres-dev -p 5432:5432 -e POSTGRES_PASSWORD=dev -e POSTGRES_DB=sistema_chamados postgres:18
|
||||
```
|
||||
|
||||
2. Configure a `DATABASE_URL` no seu `.env`:
|
||||
|
||||
```
|
||||
DATABASE_URL=postgresql://postgres:dev@localhost:5432/sistema_chamados
|
||||
```
|
||||
|
||||
3. Gere/atualize o schema local:
|
||||
|
||||
```bash
|
||||
bun install
|
||||
DATABASE_URL="file:./prisma/db.dev.sqlite" bunx prisma db push
|
||||
DATABASE_URL="file:./prisma/db.dev.sqlite" bun run prisma:generate
|
||||
DATABASE_URL="file:./prisma/db.dev.sqlite" bun run auth:seed
|
||||
bunx prisma db push
|
||||
bun run prisma:generate
|
||||
bun run auth:seed
|
||||
```
|
||||
|
||||
2. Rode o app Next.js:
|
||||
4. Rode o app Next.js:
|
||||
|
||||
```bash
|
||||
bun run dev:bun
|
||||
```
|
||||
> Alternativas: `bun run dev` (Node) ou `bun run dev:webpack` se precisar do fallback oficial.
|
||||
|
||||
3. Credenciais padrão (seed): `admin@sistema.dev / admin123`.
|
||||
4. Herdou dados antigos? Execute `node scripts/remove-legacy-demo-users.mjs` para limpar contas demo legadas.
|
||||
|
||||
> **Por quê inline?** Evitamos declarar `DATABASE_URL` em `prisma/.env` porque o Prisma lê também o `.env` da raiz (produção). O override inline garante isolamento do banco DEV.
|
||||
5. Credenciais padrao (seed): `admin@sistema.dev / admin123`.
|
||||
6. Herdou dados antigos? Execute `node scripts/remove-legacy-demo-users.mjs` para limpar contas demo legadas.
|
||||
|
||||
## Next.js 16 (estável)
|
||||
|
||||
|
|
@ -177,7 +187,7 @@ PY
|
|||
| Sintoma | Causa | Correção |
|
||||
| --- | --- | --- |
|
||||
| `ERR_BUN_LOCKFILE_OUTDATED` no pipeline | Dependências do desktop alteradas sem atualizar o `bun.lock` | Rodar `bun install` (raiz e `apps/desktop`) e commitar o lockfile. |
|
||||
| Prisma falha com `P2021` / tabelas Better Auth inexistentes | CLI leu `.env` da raiz (produção) | Usar `DATABASE_URL="file:./prisma/db.dev.sqlite"` nos comandos. |
|
||||
| Prisma falha com `P2021` / tabelas Better Auth inexistentes | Banco nao foi inicializado | Rodar `bunx prisma db push` e `bun run auth:seed`. |
|
||||
| Vitest trava em modo watch | Script `bun test` sem `--run` e CI detecta TTY | Ajustado para `vitest --run --passWithNoTests`. Localmente, use `bun test -- --watch` se quiser. |
|
||||
| Desktop não encontra updater | Falta `latest.json` ou assinatura inválida | Publicar release com `*.sig` e `latest.json` apontando para os pacotes corretos. |
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue