refactor: replace useMutation with useConvexClient for API calls in LGPD-related pages to streamline data handling and improve consistency across components
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
<script lang="ts">
|
||||
import { resolve } from '$app/paths';
|
||||
import { useQuery, useMutation } from 'convex-svelte';
|
||||
import { useQuery, useConvexClient } from 'convex-svelte';
|
||||
import { api } from '@sgse-app/backend/convex/_generated/api';
|
||||
import { Shield, CheckCircle, XCircle, Calendar, AlertCircle } from 'lucide-svelte';
|
||||
import { format } from 'date-fns';
|
||||
import { ptBR } from 'date-fns/locale';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
const client = useConvexClient();
|
||||
const consentimentos = useQuery(api.lgpd.listarConsentimentos, {});
|
||||
const revogarConsentimento = useMutation(api.lgpd.revogarConsentimento);
|
||||
|
||||
let revogando = $state<string | null>(null);
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
revogando = tipo;
|
||||
|
||||
try {
|
||||
await revogarConsentimento({ tipo: tipo as any });
|
||||
await client.mutation(api.lgpd.revogarConsentimento, { tipo: tipo as 'termo_uso' | 'politica_privacidade' | 'comunicacoes' | 'compartilhamento_dados' });
|
||||
toast.success('Consentimento revogado com sucesso');
|
||||
} catch (error: any) {
|
||||
toast.error(error.message || 'Erro ao revogar consentimento');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { resolve } from '$app/paths';
|
||||
import { useQuery, useMutation } from 'convex-svelte';
|
||||
import { useQuery, useConvexClient } from 'convex-svelte';
|
||||
import { api } from '@sgse-app/backend/convex/_generated/api';
|
||||
import {
|
||||
Shield,
|
||||
@@ -24,13 +24,13 @@
|
||||
| 'revogacao_consentimento'
|
||||
| 'informacao_compartilhamento';
|
||||
|
||||
const tipoSelecionado = $state<TipoSolicitacao | null>(null);
|
||||
const dadosSolicitados = $state('');
|
||||
const observacoes = $state('');
|
||||
const carregando = $state(false);
|
||||
let tipoSelecionado = $state<TipoSolicitacao | null>(null);
|
||||
let dadosSolicitados = $state('');
|
||||
let observacoes = $state('');
|
||||
let carregando = $state(false);
|
||||
|
||||
const client = useConvexClient();
|
||||
const minhasSolicitacoes = useQuery(api.lgpd.listarMinhasSolicitacoes, {});
|
||||
const criarSolicitacao = useMutation(api.lgpd.criarSolicitacao);
|
||||
const exportarDados = useQuery(api.lgpd.exportarDadosUsuario, {});
|
||||
|
||||
const tiposSolicitacao: Array<{ valor: TipoSolicitacao; label: string; descricao: string }> = [
|
||||
@@ -105,7 +105,7 @@
|
||||
carregando = true;
|
||||
|
||||
try {
|
||||
await criarSolicitacao({
|
||||
await client.mutation(api.lgpd.criarSolicitacao, {
|
||||
tipo: tipoSelecionado,
|
||||
dadosSolicitados: dadosSolicitados || undefined,
|
||||
observacoes: observacoes || undefined
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { resolve } from '$app/paths';
|
||||
import { page } from '$app/state';
|
||||
import { Shield, CheckCircle, AlertCircle, FileText } from 'lucide-svelte';
|
||||
import { useQuery, useMutation } from 'convex-svelte';
|
||||
import { useQuery, useConvexClient } from 'convex-svelte';
|
||||
import { api } from '@sgse-app/backend/convex/_generated/api';
|
||||
|
||||
let aceito = $state(false);
|
||||
@@ -11,8 +11,8 @@
|
||||
let sucesso = $state(false);
|
||||
|
||||
// Verificar se já aceitou o termo
|
||||
const client = useConvexClient();
|
||||
const consentimentoQuery = useQuery(api.lgpd.verificarConsentimento, { tipo: 'termo_uso' });
|
||||
const registrarConsentimento = useMutation(api.lgpd.registrarConsentimento);
|
||||
|
||||
const jaAceitou = $derived(
|
||||
consentimentoQuery?.data?.aceito === true &&
|
||||
@@ -50,7 +50,7 @@
|
||||
erro = null;
|
||||
|
||||
try {
|
||||
await registrarConsentimento({
|
||||
await client.mutation(api.lgpd.registrarConsentimento, {
|
||||
tipo: 'termo_uso',
|
||||
aceito: true,
|
||||
versao: versaoTermoAtual
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<script lang="ts">
|
||||
import { resolve } from '$app/paths';
|
||||
import { useQuery, useMutation } from 'convex-svelte';
|
||||
import { useQuery, useConvexClient } from 'convex-svelte';
|
||||
import { api } from '@sgse-app/backend/convex/_generated/api';
|
||||
import { Shield, Save, Mail, Phone, User, Calendar, ToggleLeft, ToggleRight } from 'lucide-svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
const client = useConvexClient();
|
||||
const config = useQuery(api.lgpd.obterConfiguracaoLGPD, {});
|
||||
const atualizarConfig = useMutation(api.lgpd.atualizarConfiguracaoLGPD);
|
||||
|
||||
let encarregadoNome = $state('');
|
||||
let encarregadoEmail = $state('');
|
||||
@@ -36,7 +36,7 @@
|
||||
carregando = true;
|
||||
|
||||
try {
|
||||
await atualizarConfig({
|
||||
await client.mutation(api.lgpd.atualizarConfiguracaoLGPD, {
|
||||
encarregadoNome: encarregadoNome || undefined,
|
||||
encarregadoEmail: encarregadoEmail || undefined,
|
||||
encarregadoTelefone: encarregadoTelefone || undefined,
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
<script lang="ts">
|
||||
import { resolve } from '$app/paths';
|
||||
import { useQuery, useMutation } from 'convex-svelte';
|
||||
import { useQuery, useConvexClient } from 'convex-svelte';
|
||||
import { api } from '@sgse-app/backend/convex/_generated/api';
|
||||
import { Shield, FileText, Plus, CheckCircle, XCircle } from 'lucide-svelte';
|
||||
import { format } from 'date-fns';
|
||||
import { ptBR } from 'date-fns/locale';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
const client = useConvexClient();
|
||||
const registros = useQuery(api.lgpd.listarRegistrosTratamento, { ativo: undefined });
|
||||
|
||||
let mostrarFormulario = $state(false);
|
||||
let mostrarFormulario = $state(false);
|
||||
let finalidade = $state('');
|
||||
let baseLegal = $state('');
|
||||
let categoriasDados = $state<string[]>([]);
|
||||
@@ -21,8 +22,6 @@
|
||||
let descricao = $state('');
|
||||
let carregando = $state(false);
|
||||
|
||||
const criarROT = useMutation(api.lgpd.criarRegistroTratamento);
|
||||
|
||||
const categoriasDadosDisponiveis = [
|
||||
'dados_identificacao',
|
||||
'dados_contato',
|
||||
@@ -63,7 +62,7 @@
|
||||
carregando = true;
|
||||
|
||||
try {
|
||||
await criarROT({
|
||||
await client.mutation(api.lgpd.criarRegistroTratamento, {
|
||||
finalidade: finalidade.trim(),
|
||||
baseLegal: baseLegal.trim(),
|
||||
categoriasDados,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { resolve } from '$app/paths';
|
||||
import { useQuery, useMutation } from 'convex-svelte';
|
||||
import { useQuery, useConvexClient } from 'convex-svelte';
|
||||
import { api } from '@sgse-app/backend/convex/_generated/api';
|
||||
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
|
||||
import {
|
||||
@@ -31,11 +31,11 @@
|
||||
let tipoFiltro = $state<TipoFiltro>(null);
|
||||
let termoBusca = $state('');
|
||||
|
||||
const client = useConvexClient();
|
||||
const solicitacoes = useQuery(api.lgpd.listarSolicitacoes, {
|
||||
status: statusFiltro || undefined,
|
||||
tipo: tipoFiltro || undefined
|
||||
});
|
||||
const responderSolicitacao = useMutation(api.lgpd.responderSolicitacao);
|
||||
|
||||
let solicitacaoSelecionada = $state<string | null>(null);
|
||||
let resposta = $state('');
|
||||
@@ -106,7 +106,7 @@
|
||||
carregando = true;
|
||||
|
||||
try {
|
||||
await responderSolicitacao({
|
||||
await client.mutation(api.lgpd.responderSolicitacao, {
|
||||
solicitacaoId: solicitacaoSelecionada as Id<'solicitacoesLGPD'>,
|
||||
resposta: resposta.trim(),
|
||||
status: statusResposta
|
||||
|
||||
Reference in New Issue
Block a user