Files
openmonetis/lib/schemas/inbox.ts
Felipe Coutinho 8ffe61c59b refactor(inbox): rename caixa-de-entrada to pre-lancamentos e remove colunas não utilizadas
BREAKING CHANGES:
- Renomeia rota /caixa-de-entrada para /pre-lancamentos
- Remove colunas device_id, parsed_date e discard_reason da tabela inbox_items

Mudanças:
- Move componentes de caixa-de-entrada para pre-lancamentos
- Atualiza sidebar e navegação para nova rota
- Remove campos não utilizados do schema, types e APIs
- Adiciona migration 0011 para remover colunas do banco
- Simplifica lógica de data padrão usando notificationTimestamp
2026-01-26 17:05:55 +00:00

25 lines
862 B
TypeScript

/**
* Zod schemas for inbox items (OpenSheets Companion)
*/
import { z } from "zod";
export const inboxItemSchema = z.object({
sourceApp: z.string().min(1, "sourceApp é obrigatório"),
sourceAppName: z.string().optional(),
originalTitle: z.string().optional(),
originalText: z.string().min(1, "originalText é obrigatório"),
notificationTimestamp: z.string().transform((val) => new Date(val)),
parsedName: z.string().optional(),
parsedAmount: z.coerce.number().optional(),
parsedTransactionType: z.enum(["Despesa", "Receita"]).optional(),
clientId: z.string().optional(), // ID local do app para rastreamento
});
export const inboxBatchSchema = z.object({
items: z.array(inboxItemSchema).min(1).max(50),
});
export type InboxItemInput = z.infer<typeof inboxItemSchema>;
export type InboxBatchInput = z.infer<typeof inboxBatchSchema>;