From 3b3833735819aca1694a63bf2aa91f19956aa8ef Mon Sep 17 00:00:00 2001 From: keven Date: Wed, 8 Oct 2025 17:45:26 -0300 Subject: [PATCH] [MVPTN-99] feat(CRUD): Implmenta os endpoints reais para manipular pessoa fisica e juridica --- .../GTBEstadoCivil/GTBEstadoCivilIndexData.ts | 1 - .../useGTBEstadoCivilReadHook.ts | 10 +- .../GTBEstadoCivilIndexService.ts | 10 +- .../TImovelUnidadeUrbanoPage.tsx | 2 +- .../TPessoaJuridica/TPessoaJuridicaForm.tsx | 25 +- .../TPessoaJuridica/TPessoaJuridicaIndex.tsx | 3 - .../TPessoaRepresentanteColumns.tsx | 41 +- .../TPessoaRepresentanteForm.tsx | 272 +- .../TPessoaRepresentanteIndex.tsx | 17 +- .../TPessoasRepresentanteFormColumns.tsx | 121 + .../TPessoaFisica/TPessoaFisicaIndexData.ts | 2 +- .../TPessoaJuridicaIndexData.ts | 6314 +---------------- .../TPessoaJuridicaRemoveData.ts | 9 +- .../TPessoaJuridicaSaveData.ts | 16 +- .../TPessoaRepresentanteIndexData.ts | 5964 +--------------- .../TPessoaRepresentanteRemoveData.ts | 13 +- .../TPessoaRepresentanteSaveData.ts | 14 +- .../TPessoaFisica/useTPessoaFisicaSaveHook.ts | 2 +- .../useTPessoaRepresentanteIndexHook.ts | 5 +- .../TPessoaRepresentanteJoinedInterface.ts | 8 + .../TPessoaRepresentantePageInterface.ts | 3 + .../TPessoaRepresentnateFormInterface.ts | 9 + .../schemas/TPessoa/TPessoaJuridicaSchema.ts | 2 +- .../TPessoaFisica/TPessoaFisicaSaveService.ts | 5 +- .../TPessoaJuridicaIndexService.ts | 2 +- .../TPessoaRepresentanteIndexService.ts | 7 +- .../TPessoaRepresentanteSaveService.ts | 2 +- .../loadingButton/LoadingButton.tsx | 26 +- 28 files changed, 318 insertions(+), 12587 deletions(-) create mode 100644 src/packages/administrativo/components/TPessoaRepresentante/TPessoasRepresentanteFormColumns.tsx create mode 100644 src/packages/administrativo/interfaces/TPessoaRepresentante/TPessoaRepresentanteJoinedInterface.ts create mode 100644 src/packages/administrativo/interfaces/TPessoaRepresentante/TPessoaRepresentantePageInterface.ts create mode 100644 src/packages/administrativo/interfaces/TPessoaRepresentante/TPessoaRepresentnateFormInterface.ts diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilIndexData.ts index 05e713c..60d57c7 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilIndexData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilIndexData.ts @@ -4,7 +4,6 @@ import { Methods } from '@/shared/services/api/enums/ApiMethodEnum'; async function executeGTBEstadoCivilIndexData() { const api = new API(); - return await api.send({ method: Methods.GET, endpoint: `administrativo/g_tb_estado_civil/`, diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilReadHook.ts index ea867be..dfd3ce0 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilReadHook.ts @@ -8,15 +8,11 @@ export const useGTBEstadoCivilReadHook = () => { const [gTBEstadoCivil, setGTBEstadoCivil] = useState([]); const fetchGTBEstadoCivil = async () => { - try { - const response = await GTBEstadoCivilIndexService(); + const response = await GTBEstadoCivilIndexService(); - setGTBEstadoCivil(response.data); + setGTBEstadoCivil(response.data); - setResponse(response); - } catch (error) { - console.log(error); - } + setResponse(response); }; return { gTBEstadoCivil, fetchGTBEstadoCivil }; diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilIndexService.ts index fcca3c8..e337592 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilIndexService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilIndexService.ts @@ -2,12 +2,8 @@ import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/ import { GTBEstadoCivilIndexData } from '../../_data/GTBEstadoCivil/GTBEstadoCivilIndexData'; async function executeGTBEstadoCivilIndexService() { - try { - const response = await GTBEstadoCivilIndexData(); - return response; - } catch (error) { - return error; - } + const response = await GTBEstadoCivilIndexData(); + return response; } -export const GTBEstadoCivilIndexService = withClientErrorHandler(executeGTBEstadoCivilIndexService); +export const GTBEstadoCivilIndexService = withClientErrorHandler(executeGTBEstadoCivilIndexService); \ No newline at end of file diff --git a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoPage.tsx b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoPage.tsx index 18da32e..f636134 100644 --- a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoPage.tsx +++ b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoPage.tsx @@ -16,7 +16,7 @@ import TImovelUnidadeUrbanoTable from './TImovelUnidadeUrbanoTable'; import TImovelUnidadeUrbanoForm from './TImovelUnidadeUrbanoForm'; import TImovelUnidadePageInterface from '@/packages/administrativo/interfaces/TImovelUnidade/TImovelUnidadePageInterface'; -export default function TImovelUnidadeUrbanoPage({imovel_id}: TImovelUnidadePageInterface) { +export default function TImovelUnidadeUrbanoPage({ imovel_id }: TImovelUnidadePageInterface) { const TImovelUnidadePage: TImovelUnidadePageInterface = { imovel_id: imovel_id diff --git a/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaForm.tsx b/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaForm.tsx index a1b4095..e64ec77 100644 --- a/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaForm.tsx +++ b/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaForm.tsx @@ -30,6 +30,7 @@ import { useTPessoaRepresentanteIndexHook } from '../../../hooks/TPessoaRepresen import TPessoaRepresentantePage from '../../TPessoaRepresentante/TPessoaRepresentanteIndex'; import { useTPessoaJuridicaFormHook } from '@/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaFormHook'; import TPessoaJuridicaFormInterface from '@/packages/administrativo/interfaces/TPessoa/TPessoaJuridica/TPessoaJuridicaFormInterface'; +import { ResetFormIfData } from '@/shared/actions/form/ResetFormIfData'; export default function TPessoaJuridicaForm({ isOpen, @@ -39,24 +40,13 @@ export default function TPessoaJuridicaForm({ buttonIsLoading, }: TPessoaJuridicaFormInterface) { - const { tPessoaRepresentante, fetchTPessoaRepresentante } = useTPessoaRepresentanteIndexHook(); - // Inicializa o react-hook-form com schema zod const form = useTPessoaJuridicaFormHook({}); // Atualiza o formulário quando recebe dados para edição useEffect(() => { - // Carregamento de dados sincronos - const loadData = async () => { - // Se existir dados, reseta o formulário com os dados informados - if (data) form.reset(data); - - // Aguarda a busca terminar - await fetchTPessoaRepresentante(); - }; - - // Dispara a função - loadData(); + // Se existir dados, reseta o formulário com os mesmos + ResetFormIfData(form, data); }, [data, form]); return ( @@ -170,7 +160,6 @@ export default function TPessoaJuridicaForm({ )} /> - {/* Observação */}
Observação -