mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 11:01:45 +00:00
feat(payers): gerar share_code na aplicação e remover pgcrypto
Move a geração do share_code do PostgreSQL para a camada de aplicação, eliminando a dependência da extensão pgcrypto no setup do banco. - schema: drop default substr(encode(gen_random_bytes(24), 'base64'), 1, 24) da coluna share_code em pagadores (continua NOT NULL) - nova util generateShareCode() em shared/lib/payers/share-code.ts (server-only, usa crypto.randomBytes do Node) - chamadas explícitas em createPayerAction, ensureDefaultPagadorForUser, resetUserAppData e mock-data ao inserir pagadores - migration 0028_fancy_reaper renumerada (0027 já estava ocupado por arquivo órfão); journal e snapshot atualizados - remove etapa de habilitação de pgcrypto do docker-entrypoint.sh - remove scripts/postgres/ (init.sql e enable-extensions.ts) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
PAYER_ROLE_ADMIN,
|
||||
PAYER_STATUS_OPTIONS,
|
||||
} from "./constants";
|
||||
import { generateShareCode } from "./share-code";
|
||||
import { normalizeNameFromEmail } from "./utils";
|
||||
|
||||
const DEFAULT_STATUS = PAYER_STATUS_OPTIONS[0];
|
||||
@@ -49,6 +50,7 @@ export async function ensureDefaultPagadorForUser(user: SeedUserLike) {
|
||||
avatarUrl,
|
||||
note: null,
|
||||
isAutoSend: false,
|
||||
shareCode: generateShareCode(),
|
||||
userId,
|
||||
});
|
||||
}
|
||||
|
||||
6
src/shared/lib/payers/share-code.ts
Normal file
6
src/shared/lib/payers/share-code.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import "server-only";
|
||||
import { randomBytes } from "node:crypto";
|
||||
|
||||
export const generateShareCode = (): string => {
|
||||
return randomBytes(18).toString("base64url").slice(0, 24);
|
||||
};
|
||||
Reference in New Issue
Block a user