Padrão de tratamento de erros

As Server Actions desenvolvidas para o The Thirteen não utilizam o lançamento de exceções convencionais (throw New Error) para falhas de caráter negocial ou erros de validação previstos. Em vez disso, essas funções interceptam a falha e retornam um objeto estruturado contendo a assinatura { error?: string } para validação no client. Esse fluxo contorna o comportamento padrão do Next.js em ambiente de produção, que mascara mensagens de erro lançadas no servidor por motivos de segurança e inviabiliza a exibição de alertas amigáveis como a existência de registros duplicados.

Validação de payloads

Todos os payloads de entrada que atingem as Server Actions passam por uma rotina de validação estrita com a biblioteca Zod antes de disparar qualquer instrução de escrita no banco de dados, reaproveitando os mesmos esquemas de validação tanto nos fluxos de criação quanto nos de edição das entidades.

Arquitetura de autenticação

O sistema adota um modelo de credencial única autenticado via hash gerado pelo algoritmo bcrypt e armazenado na coleção Settings. O sucesso na operação de login resulta na emissão de um cookie com a flag httpOnly assinado por meio de tokens JWT, cuja integridade é checada pelo middleware proxy.ts a cada requisição. A lógica de autenticação é dividida em dois arquivos isolados por design para garantir a compatibilidade com ambientes serverless de borda, mantendo as funções de manipulação de sessão apartadas das rotinas pesadas de criptografia e acesso ao banco de dados.