From da32b41bbcd23a273b4855fec893850a3d0f3267 Mon Sep 17 00:00:00 2001 From: Felipe Coutinho Date: Wed, 25 Mar 2026 00:30:46 +0000 Subject: [PATCH] chore(tooling): add mockup helper and backup fixes --- biome.json | 2 +- drizzle/0010_lame_psynapse.sql | 1 + package.json | 1 + scripts/backup.sh | 2 +- scripts/mock-data.ts | 12 ++++++------ src/features/inbox/components/inbox-page.tsx | 4 +++- 6 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 drizzle/0010_lame_psynapse.sql diff --git a/biome.json b/biome.json index 964a8c5..6c708c2 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.7/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.8/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/drizzle/0010_lame_psynapse.sql b/drizzle/0010_lame_psynapse.sql new file mode 100644 index 0000000..87d7199 --- /dev/null +++ b/drizzle/0010_lame_psynapse.sql @@ -0,0 +1 @@ +-- placeholder: migration aplicada via db:push, arquivo original não preservado diff --git a/package.json b/package.json index 0a8128d..45bcc75 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "scripts": { "dev": "next dev --turbopack", "dev-env": "tsx scripts/dev.ts", + "mockup": "tsx scripts/mock-data.ts", "build": "next build", "start": "next start", "lint": "biome check .", diff --git a/scripts/backup.sh b/scripts/backup.sh index 5a863cf..6a0b5f3 100755 --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -81,7 +81,7 @@ fi # Extrai dados puros do dump custom (sem nova conexão ao banco) pg_restore --data-only --schema=public --no-owner --no-privileges \ - "$DUMP_FILE" | gzip > "$DATA_FILE" + -f - "$DUMP_FILE" | gzip > "$DATA_FILE" log "Dump concluído: $(du -sh "$DUMP_FILE" | cut -f1) (.dump) | $(du -sh "$SQL_FILE" | cut -f1) (.sql.gz) | $(du -sh "$DATA_FILE" | cut -f1) (.data.sql.gz)" diff --git a/scripts/mock-data.ts b/scripts/mock-data.ts index e3eea1c..fd8d8fc 100644 --- a/scripts/mock-data.ts +++ b/scripts/mock-data.ts @@ -135,11 +135,11 @@ type SeedSummary = { function printUsage() { console.log(` Uso: - pnpm seed:empty-account -- --userId= --startPeriod=YYYY-MM [--months=${DEFAULT_MONTHS}] + pnpm mockup -- --userId= --startPeriod=YYYY-MM [--months=${DEFAULT_MONTHS}] Exemplos: - pnpm seed:empty-account -- --userId=user_123 --startPeriod=2026-01 - pnpm seed:empty-account -- --userId=user_123 --startPeriod=2025-10 --months=8 + pnpm mockup -- --userId=user_123 --startPeriod=2026-01 + pnpm mockup -- --userId=user_123 --startPeriod=2025-10 --months=8 `); } @@ -766,11 +766,12 @@ async function seedInvoicesForCards(params: { } async function main() { + const options = parseArgs(process.argv.slice(2)); + if (!process.env.DATABASE_URL) { throw new Error("DATABASE_URL não está configurada no ambiente."); } - const options = parseArgs(process.argv.slice(2)); const logoOptions = await loadLogoOptions(); const avatarOptions = await loadAvatarOptions(); const businessToday = getBusinessTodayInfo(); @@ -794,9 +795,8 @@ async function main() { throw new Error(`Usuário ${options.userId} não foi encontrado.`); } - await ensureCategories(targetUser.id); - const adminPayer = await ensureAdminPayer(targetUser); await assertFinancialSpaceIsEmpty(targetUser.id); + const adminPayer = await ensureAdminPayer(targetUser); const categoriesByName = await ensureCategories(targetUser.id); diff --git a/src/features/inbox/components/inbox-page.tsx b/src/features/inbox/components/inbox-page.tsx index beaf5cd..31ac0ac 100644 --- a/src/features/inbox/components/inbox-page.tsx +++ b/src/features/inbox/components/inbox-page.tsx @@ -75,7 +75,9 @@ function getItemDateKey(date: Date): string { // Para "hoje" e "ontem", precisamos da data real de Brasília (UTC-3). function getBrasiliaDateKey(date: Date): string { const BRASILIA_OFFSET_MS = 3 * 60 * 60 * 1000; - return new Date(date.getTime() - BRASILIA_OFFSET_MS).toISOString().slice(0, 10); + return new Date(date.getTime() - BRASILIA_OFFSET_MS) + .toISOString() + .slice(0, 10); } function getGroupLabel(dateKey: string): string {