feat: implement end-to-end encryption for chat messages and files, including key management and decryption functionality; enhance chat components to support encrypted content display

This commit is contained in:
2025-12-09 01:31:09 -03:00
parent cae6d886de
commit e6f380d7cc
14 changed files with 1443 additions and 203 deletions

View File

@@ -5,12 +5,13 @@ import { authComponent } from './auth';
/**
* Alterar senha do usuário autenticado
* Token é opcional - autenticação é feita via contexto do Convex
*/
export const alterarSenha = mutation({
args: {
token: v.string(), // Token não é usado, mas mantido para compatibilidade
senhaAtual: v.string(),
novaSenha: v.string()
novaSenha: v.string(),
token: v.optional(v.string()) // Token opcional - não é usado, mas mantido para compatibilidade
},
returns: v.union(
v.object({ sucesso: v.literal(true) }),
@@ -44,14 +45,12 @@ export const alterarSenha = mutation({
return {
sucesso: true as const
};
} catch (error: any) {
} catch (error: unknown) {
// Capturar erros específicos do Better Auth
let mensagemErro = 'Erro ao alterar senha';
if (error?.message) {
if (error instanceof Error && 'message' in error) {
mensagemErro = error.message;
} else if (typeof error === 'string') {
mensagemErro = error;
}
// Mensagens de erro mais amigáveis
@@ -71,3 +70,4 @@ export const alterarSenha = mutation({
}
}
});
// Token agora é opcional - Convex deve recompilar