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