+ );
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/(t_minuta)/minuta/[id]/detalhes/page.tsx b/src/app/(protected)/(cadastros)/cadastros/(t_minuta)/minuta/[id]/detalhes/page.tsx
new file mode 100644
index 0000000..402df0c
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/(t_minuta)/minuta/[id]/detalhes/page.tsx
@@ -0,0 +1,83 @@
+'use client'
+
+import { useEffect, useState } from "react";
+import { useParams } from "next/navigation";
+
+import {
+ Card,
+ CardContent
+} from "@/components/ui/card";
+import MainEditor from "@/components/MainEditor";
+
+import Loading from "@/app/_components/loading/loading";
+import { useTMinutaReadHook } from '../../../../_hooks/t_minuta/useTMinutaReadHook';
+import { TMinutaInterface } from '../../../../_interfaces/TMinutaInterface';
+
+export default function TMinutaDetalhes() {
+ const params = useParams();
+ const { tMinuta, fetchTMinuta } = useTMinutaReadHook();
+ const [editorContent, setEditorContent] = useState(null); // Inicialmente nulo até o texto ser carregado
+
+ useEffect(() => {
+ if (params.id) {
+ fetchTMinuta({ t_minuta_id: Number(params.id) } as TMinutaInterface);
+ }
+ }, []);
+
+ useEffect(() => {
+ if (tMinuta?.texto) {
+ setEditorContent(tMinuta.texto); // Atualiza o conteúdo assim que estiver disponível
+ }
+ }, [tMinuta]); // Dependência de `tMinuta` para que a atualização aconteça quando os dados chegarem
+
+ const handleEditorChange = (content: string) => {
+ setEditorContent(content); // Atualiza o estado com o conteúdo do editor
+ };
+
+ if (!tMinuta) return ;
+
+ // Renderiza o editor apenas se o texto foi carregado
+ if (editorContent === null) {
+ return ; // Pode mostrar um carregando ou qualquer outra coisa enquanto o conteúdo não está disponível
+ }
+
+ return (
+
+
+
+
+
+
+ Descrição
+
+
+ {tMinuta.descricao}
+
+
+
+
+ Situação
+
+
+ {tMinuta.situacao === "A" ? "Ativo" : "Inativo"}
+
+
+
+
+ Texto
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/(t_minuta)/minuta/formulario/page.tsx b/src/app/(protected)/(cadastros)/cadastros/(t_minuta)/minuta/formulario/page.tsx
new file mode 100644
index 0000000..9a18d59
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/(t_minuta)/minuta/formulario/page.tsx
@@ -0,0 +1,113 @@
+'use client';
+
+import z from 'zod';
+import { useEffect } from 'react';
+import { useForm, Controller } from 'react-hook-form';
+import { zodResolver } from '@hookform/resolvers/zod';
+
+import { Button } from '@/components/ui/button';
+import { Checkbox } from '@/components/ui/checkbox';
+import {
+ Form,
+ FormControl,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormMessage
+} from '@/components/ui/form';
+import { Input } from '@/components/ui/input';
+import { Label } from '@/components/ui/label';
+
+import MainEditor from '@/components/MainEditor';
+import { TMinutaSchema } from '../../../_schemas/TMinutaSchema';
+import { useTMinutaSaveHook } from '../../../_hooks/t_minuta/useTMinutaSaveHook';
+import { Card, CardContent } from '@/components/ui/card';
+
+type FormValues = z.infer;
+
+export default function TMinutaForm() {
+
+ const { tMinuta, saveTMinuta } = useTMinutaSaveHook();
+
+ const form = useForm({
+ resolver: zodResolver(TMinutaSchema),
+ defaultValues: {
+ natureza_id: undefined,
+ descricao: '',
+ situacao: 'A',
+ texto: '',
+ }
+ });
+
+ async function onSubmit(values: FormValues) {
+ saveTMinuta(values);
+ }
+
+ return (
+
+ );
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoIndexData.ts
new file mode 100644
index 0000000..7767d4c
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoIndexData.ts
@@ -0,0 +1,25 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import MedidaTipoMockDeDados from "./mockMedidaTipo";
+
+const useMock = true
+
+export default async function GMedidaTipoIndexData() {
+ if (useMock) {
+ console.log(MedidaTipoMockDeDados())
+ return await MedidaTipoMockDeDados();
+ }
+
+ const api = new API();
+ try {
+ const dados = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/g_medida_tipo/`
+ });
+ return dados
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoRemoveData.ts
new file mode 100644
index 0000000..7e7f4d3
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import { GMedidaTipoInterface } from "../../_interfaces/GMedidaTipoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GMedidaTipoRemoveData(data: GMedidaTipoInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/g_medida_tipo/${data.medida_tipo_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoSaveData.ts
new file mode 100644
index 0000000..deff26e
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/GMedidaTipoSaveData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import { GMedidaTipoInterface } from "../../_interfaces/GMedidaTipoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GMedidaTipoSaveData(data: GMedidaTipoInterface) {
+
+ const isUpdate = Boolean(data.medida_tipo_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/g_medida_tipo/${data.medida_tipo_id || ''}`,
+ body: data
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/mockMedidaTipo.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/mockMedidaTipo.ts
new file mode 100644
index 0000000..ae1eabf
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GMedidoTipo/mockMedidaTipo.ts
@@ -0,0 +1,28 @@
+export default async function MedidaTipoMockDeDados() {
+ return Promise.resolve({
+ status: 200,
+ message: 'Dados localizados',
+ data: [
+ {
+ medida_tipo_id: 1.00,
+ sigla: "Alqueire",
+ descricao: "Alqueire"
+ },
+ {
+ medida_tipo_id: 2.00,
+ sigla: "ha",
+ descricao: "Hectare"
+ },
+ {
+ medida_tipo_id: 3.00,
+ sigla: "m2",
+ descricao: "Metros Quadrados"
+ },
+ {
+ medida_tipo_id: 4.00,
+ sigla: "braça",
+ descricao: "Braça"
+ }
+ ]
+ });
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroIndexData.ts
new file mode 100644
index 0000000..5506807
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroIndexData.ts
@@ -0,0 +1,15 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBBairroIndexData() {
+
+ const api = new API();
+
+ const dados = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/g_tb_bairro/`
+ });
+
+ return dados
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroRemoveData.ts
new file mode 100644
index 0000000..58c0100
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBBairroRemoveData(data: GTBBairroInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/g_tb_bairro/${data.tb_bairro_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroSaveData.ts
new file mode 100644
index 0000000..4951bb3
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/GTBBairroSaveData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBBairroSaveData(data: GTBBairroInterface) {
+
+ const isUpdate = Boolean(data.tb_bairro_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/g_tb_bairro/${data.tb_bairro_id || ''}`,
+ body: data
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/mockBairro.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/mockBairro.ts
new file mode 100644
index 0000000..e19feed
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBBairro/mockBairro.ts
@@ -0,0 +1,46 @@
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+
+export default async function BairroMockDeDados() {
+ return Promise.resolve({
+ status: 200,
+ message: 'Dados localizados',
+ data: [
+ {
+ sistema_id: 1.00,
+ tb_bairro_id: 390.00,
+ descricao: "AV. RUI BARBOSA",
+ situacao: "A"
+ },
+ {
+ sistema_id: 1.00,
+ tb_bairro_id: 391.00,
+ descricao: "AV. PRESIDENTE DUTRA",
+ situacao: "A"
+ },
+ {
+ sistema_id: 1.00,
+ tb_bairro_id: 392.00,
+ descricao: "LOTEAMENTO CIDADE MARA ROSA",
+ situacao: "A"
+ },
+ {
+ sistema_id: 1.00,
+ tb_bairro_id: 393.00,
+ descricao: "LOTEAMENTO BENEDITO COELHO FURTADO",
+ situacao: "A"
+ },
+ {
+ sistema_id: 1.00,
+ tb_bairro_id: 394.00,
+ descricao: "RUA 15 DE NOVEMBRO",
+ situacao: "A"
+ },
+ {
+ sistema_id: 1.00,
+ tb_bairro_id: 395.00,
+ descricao: "PRACA JOSÉ MAURICIO DE MOURA",
+ situacao: "A"
+ }
+ ]
+ });
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilIndexData.ts
new file mode 100644
index 0000000..efa8787
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilIndexData.ts
@@ -0,0 +1,25 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import EstadoCivilMockDeDados from "./mockEstadoCivil";
+
+const useMock = true
+
+export default async function GTBEstadoCivilIndexData() {
+ if (useMock) {
+ console.log(EstadoCivilMockDeDados())
+ return await EstadoCivilMockDeDados();
+ }
+
+ const api = new API();
+ try {
+ const dados = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/g_tb_estado_civil/`
+ });
+ return dados
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilRemoveData.ts
new file mode 100644
index 0000000..306b3c4
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import { GTBEstadoCivilInterface } from "../../_interfaces/GTBEstadoCivilInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBEstadoCivilRemoveData(data: GTBEstadoCivilInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/g_tb_bairro/${data.tb_estadocivil_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilSaveData.ts
new file mode 100644
index 0000000..da800a6
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/GTBEstadoCivilSaveData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import { GTBEstadoCivilInterface } from "../../_interfaces/GTBEstadoCivilInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBEstadoCivilSaveData(data: GTBEstadoCivilInterface) {
+
+ const isUpdate = Boolean(data.tb_estadocivil_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/g_tb_bairro/${data.tb_estadocivil_id || ''}`,
+ body: data
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/mockEstadoCivil.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/mockEstadoCivil.ts
new file mode 100644
index 0000000..04e8155
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBEstadoCivil/mockEstadoCivil.ts
@@ -0,0 +1,58 @@
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+
+export default async function EstadoCivilMockDeDados() {
+ return Promise.resolve({
+ status: 200,
+ message: 'Dados localizados',
+ data: [
+ {
+ tb_estadocivil_id: 26.00,
+ sistema_id: 2.00,
+ descricao: "casado",
+ situacao: "A",
+ },
+ {
+ tb_estadocivil_id: 27.00,
+ sistema_id: 2.00,
+ descricao: "solteiro(a)",
+ situacao: "A",
+ },
+ {
+ tb_estadocivil_id: 28.00,
+ sistema_id: 2.00,
+ descricao: "desquitado(a)",
+ situacao: "A",
+ },
+ {
+ tb_estadocivil_id: 29.00,
+ sistema_id: 2.00,
+ descricao: "divorciado(a)",
+ situacao: "A",
+ },
+ {
+ tb_estadocivil_id: 30.00,
+ sistema_id: 2.00,
+ descricao: "espólio",
+ situacao: "A",
+ },
+ {
+ tb_estadocivil_id: 31.00,
+ sistema_id: 2.00,
+ descricao: "menor impúbere",
+ situacao: "A",
+ },
+ {
+ tb_estadocivil_id: 32.00,
+ sistema_id: 2.00,
+ descricao: "menor púbere",
+ situacao: "A",
+ },
+ {
+ tb_estadocivil_id: 33.00,
+ sistema_id: 2.00,
+ descricao: "não consta",
+ situacao: "A",
+ }
+ ]
+ });
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoIndexData.ts
new file mode 100644
index 0000000..b1fa9f0
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoIndexData.ts
@@ -0,0 +1,12 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBProfissoesIndexData() {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/g_tb_profissao/`
+ });
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoRemoveData.ts
new file mode 100644
index 0000000..61f3064
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import GTBProfissaoInterface from "../../_interfaces/GTBProfissaoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBProfissaoRemoveData(data: GTBProfissaoInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/g_tb_profissao/${data.tb_profissao_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoSaveData.ts
new file mode 100644
index 0000000..de65818
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBProfissao/GTBProfissaoSaveData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import GTBProfissaoInterface from "../../_interfaces/GTBProfissaoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBProfissaoSaveData(data: GTBProfissaoInterface) {
+
+ const isUpdate = Boolean(data.tb_profissao_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/g_tb_profissao/${data.tb_profissao_id || ''}`,
+ body: data
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensIndexData.ts
new file mode 100644
index 0000000..c7dda24
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensIndexData.ts
@@ -0,0 +1,13 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBRegimeBensIndexData() {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/g_tb_regimebens/`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensRemoveData.ts
new file mode 100644
index 0000000..ebbb985
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import GTBRegimeBensInterface from "../../_interfaces/GTBRegimeBensInterface";
+
+export default async function GTBRegimeBensRemoveData(data: GTBRegimeBensInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/g_tb_regimebens/${data.tb_regimebens_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensSaveData.ts
new file mode 100644
index 0000000..b469f5b
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBRegimeBens/GTBRegimeBensSaveData.ts
@@ -0,0 +1,21 @@
+import API from "@/services/api/Api";
+import GTBRegimeBensInterface from "../../_interfaces/GTBRegimeBensInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+
+async function executeGTBRegimeBensSaveData(data: GTBRegimeBensInterface) {
+
+ throw new Error("Nome e email são obrigatórios");
+
+ const isUpdate = Boolean(data.tb_regimebens_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/g_tb_regimebens/${data.tb_regimebens_id || ''}`,
+ body: data
+ });
+}
+
+export const GTBRegimeBensSaveData = withClientErrorHandler(executeGTBRegimeBensSaveData);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroIndexData.ts
new file mode 100644
index 0000000..a9fa5ae
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroIndexData.ts
@@ -0,0 +1,25 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import TipoLogradouroMockDeDados from "./mockTipoLogradouro";
+
+const useMock = false
+
+export default async function GTBTipoLogradouroIndexData() {
+ if (useMock) {
+ console.log(TipoLogradouroMockDeDados())
+ return await TipoLogradouroMockDeDados();
+ }
+
+ const api = new API();
+ try {
+ const dados = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/g_tb_tipologradouro/`
+ });
+ return dados
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroRemoveData.ts
new file mode 100644
index 0000000..9a1799e
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBTipoLogradouroRemoveData(data: GTBTipoLogradouroInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/g_tb_tipologradouro/${data.tb_tipologradouro_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroSaveData.ts
new file mode 100644
index 0000000..5508890
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/GTBTipoLogradouroSaveData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBTipoLogradouroSaveData(data: GTBTipoLogradouroInterface) {
+
+ const isUpdate = Boolean(data.tb_tipologradouro_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/g_tb_tipologradouro/${data.tb_tipologradouro_id || ''}`,
+ body: data
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/mockTipoLogradouro.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/mockTipoLogradouro.ts
new file mode 100644
index 0000000..d0ea84a
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTBTipoLogradouro/mockTipoLogradouro.ts
@@ -0,0 +1,98 @@
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+
+export default async function TipoLogradouroMockDeDados(){
+ return Promise.resolve({
+ status: 200,
+ message: 'Dados localizados',
+ data: [
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 1,
+ situacao_id: null,
+ descricao: "Rua",
+ situacao: "A",
+ onr_tipo_logradouro_id: 250
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 2,
+ situacao_id: null,
+ descricao: "Avenida",
+ situacao: "A",
+ onr_tipo_logradouro_id: 26
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 3,
+ situacao_id: null,
+ descricao: "Alameda",
+ situacao: "A",
+ onr_tipo_logradouro_id: 10
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 4,
+ situacao_id: null,
+ descricao: "Praça",
+ situacao: "A",
+ onr_tipo_logradouro_id: 215
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 5,
+ situacao_id: null,
+ descricao: "Via",
+ situacao: "A",
+ onr_tipo_logradouro_id: 294
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 6,
+ situacao_id: null,
+ descricao: "Viela",
+ situacao: "A",
+ onr_tipo_logradouro_id: 297
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 7,
+ situacao_id: null,
+ descricao: "Travessa",
+ situacao: "A",
+ onr_tipo_logradouro_id: 273
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 8,
+ situacao_id: null,
+ descricao: "Rodovia",
+ situacao: "A",
+ onr_tipo_logradouro_id: 247
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 9,
+ situacao_id: null,
+ descricao: "Sítios",
+ situacao: "A",
+ onr_tipo_logradouro_id: 263
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 10,
+ situacao_id: null,
+ descricao: "Córrego",
+ situacao: "A",
+ onr_tipo_logradouro_id: 86
+ },
+ {
+ sistema_id: null,
+ tb_tipologradouro_id: 11,
+ situacao_id: null,
+ descricao: "Estrada",
+ situacao: "A",
+ onr_tipo_logradouro_id: 117
+ }
+ ]
+ });
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoIndexData.ts
new file mode 100644
index 0000000..4dd3d24
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoIndexData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBRegimeComunhaoIndexData() {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/g_tb_regimecomunhao/`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoRemoveData.ts
new file mode 100644
index 0000000..c92cb66
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+
+export default async function GTBRegimeComunhaoRemoveData(data: GTBRegimeComunhaoInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/g_tb_regimecomunhao/${data.tb_regimecomunhao_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoSaveData.ts
new file mode 100644
index 0000000..51cf575
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/GTRegimeComunhao/GTBRegimeComunhaoSaveData.ts
@@ -0,0 +1,16 @@
+import API from "@/services/api/Api";
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function GTBRegimeComunhaoSaveData(data: GTBRegimeComunhaoInterface) {
+
+ const isUpdate = Boolean(data.tb_regimecomunhao_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/g_tb_regimecomunhao/${data.tb_regimecomunhao_id || ''}`,
+ body: data
+ });
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecDeleteData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecDeleteData.ts
new file mode 100644
index 0000000..0a0dffe
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecDeleteData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import TCensecInterface from "../../_interfaces/TCensecInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+
+async function executeTCensecDeleteData(data: TCensecInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/t_censec/${data.censec_id}`,
+ });
+
+}
+
+export const TCensecDeleteData = withClientErrorHandler(executeTCensecDeleteData);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecIndexData.ts
new file mode 100644
index 0000000..d8a5896
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecIndexData.ts
@@ -0,0 +1,16 @@
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+async function executeTCensecIndexData() {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/t_censec/`,
+ });
+
+}
+
+export const TCensecIndexData = withClientErrorHandler(executeTCensecIndexData);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecSaveData.ts
new file mode 100644
index 0000000..49804e5
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TCensec/TCensecSaveData.ts
@@ -0,0 +1,20 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import TCensecInterface from "../../_interfaces/TCensecInterface";
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+
+async function executeTCensecSaveData(data: TCensecInterface) {
+
+ const isUpdate = Boolean(data.censec_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/t_censec/${data.censec_id || ''}`,
+ body: data
+ });
+
+}
+
+export const TCensecSaveData = withClientErrorHandler(executeTCensecSaveData);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndexData.ts
new file mode 100644
index 0000000..806f75f
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndexData.ts
@@ -0,0 +1,25 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import CensecNaturezaLitigioMockDeDados from "./mockCensecNaturezaLitigio";
+
+const useMock = false
+
+export default async function TCensecNaturezaLitigioIndexData() {
+
+ if (useMock) {
+ return await CensecNaturezaLitigioMockDeDados();
+ }
+
+ const api = new API();
+ try {
+ const dados = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/t_censec_naturezalitigio/`
+ });
+ return dados
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioRemoveData.ts
new file mode 100644
index 0000000..c12b863
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioRemoveData.ts
@@ -0,0 +1,16 @@
+import API from "@/services/api/Api";
+import { TCensecNaturezaLitigioInterface } from "../../_interfaces/TCensecNaturezaLitigioInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TCensecNaturezaLitigioRemoveData(data: TCensecNaturezaLitigioInterface) {
+
+ const api = new API();
+
+ console.log(typeof(data.censec_naturezalitigio_id))
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/t_censec_naturezalitigio/${data.censec_naturezalitigio_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioSaveData.ts
new file mode 100644
index 0000000..8e2688b
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioSaveData.ts
@@ -0,0 +1,15 @@
+import API from "@/services/api/Api";
+import { TCensecNaturezaLitigioInterface } from "../../_interfaces/TCensecNaturezaLitigioInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TCensecNaturezaLitigioTipoSaveData(data: TCensecNaturezaLitigioInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: data.censec_naturezalitigio_id ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/t_censec_naturezalitigio/${data.censec_naturezalitigio_id ? data.censec_naturezalitigio_id : ''}`,
+ body: data
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/mockCensecNaturezaLitigio.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/mockCensecNaturezaLitigio.ts
new file mode 100644
index 0000000..ed360af
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TCensecNaturezaLitigio/mockCensecNaturezaLitigio.ts
@@ -0,0 +1,113 @@
+export default async function CensecNaturezaLitigioMockDeDados() {
+ return Promise.resolve({
+ status: 200,
+ message: 'Dados localizados',
+ data: [
+ {
+ censec_naturezaltigio_id: 1,
+ descricao: "Bancário",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 2,
+ descricao: "Concessionária de Água",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 3,
+ descricao: "Concessionária de Gás",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 4,
+ descricao: "Concessionária de Luz",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 5,
+ descricao: "Consumidor",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 6,
+ descricao: "Contrato",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 7,
+ descricao: "Empresarial",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 8,
+ descricao: "Família",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 9,
+ descricao: "Locação",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 10,
+ descricao: "Mobiliário",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 11,
+ descricao: "Previdência",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 12,
+ descricao: "Saúde",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 13,
+ descricao: "Seguro",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 14,
+ descricao: "Serviço Público",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 15,
+ descricao: "Sucessões",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 16,
+ descricao: "Telefonia",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 17,
+ descricao: "Transporte",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 18,
+ descricao: "Transporte - Avião",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 19,
+ descricao: "Transporte - Barco",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 20,
+ descricao: "Transporte Metrô",
+ situacao: "A"
+ },
+ {
+ censec_naturezaltigio_id: 21,
+ descricao: "Transporte - Ônibus",
+ situacao: "A"
+ }
+]
+ });
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/MinutaTexto.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/MinutaTexto.ts
new file mode 100644
index 0000000..24e851f
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/MinutaTexto.ts
@@ -0,0 +1,81 @@
+export const textoEscrituraCompraEVenda = `
+
ESCRITURA PÚBLICA DE COMPRA E VENDA
+
+
Saibam quantos este público instrumento virem que, aos [[dia]] dias do mês de [[mes]] do ano de [[ano]], nesta cidade de [[cidade]], Estado de [[estado]], neste Tabelionato de Notas, perante mim, [[tabeliao]], Tabelião de Notas, compareceram como partes entre si, de um lado como VENDEDOR(ES):
+
+
[[nome_completo_vendedor]], [[nacionalidade_vendedor]], [[estado_civil_vendedor]], [[profissao_vendedor]], portador da cédula de identidade RG nº [[rg_vendedor]] e inscrito no CPF/MF sob o nº [[cpf_vendedor]], residente e domiciliado à [[endereco_vendedor]];
+
+
E de outro lado como COMPRADOR(ES):
+
+
[[nome_completo_comprador]], [[nacionalidade_comprador]], [[estado_civil_comprador]], [[profissao_comprador]], portador da cédula de identidade RG nº [[rg_comprador]] e inscrito no CPF/MF sob o nº [[cpf_comprador]], residente e domiciliado à [[endereco_comprador]];
+
+
Entre as partes acima identificadas e qualificadas, justas e contratadas, foi ajustada, e por este público instrumento, lavrado na forma da lei, têm como certo e contratado a presente ESCRITURA PÚBLICA DE COMPRA E VENDA do imóvel situado à [[endereco_imovel]], com área de [[area_imovel]]m², registrado sob matrícula nº [[matricula_imovel]], no [[cartorio_registro]] Registro de Imóveis desta cidade.
+
+
O preço certo e ajustado para a presente transação é de R$ [[valor_venda]] ([[valor_extenso]]), que o(s) comprador(es) declara(m) ter pago ao(s) vendedor(es), neste ato, em moeda corrente nacional, dando-lhe(s) plena, geral e irrevogável quitação.
+
+
Assim, justos e contratados, requerem seja lavrada a presente escritura, que lida e achada conforme, vai assinada pelas partes e por mim, [[tabeliao]], que a subscrevo.
Saibam quantos este público instrumento virem que, aos [[dia]] dias do mês de [[mes]] do ano de [[ano]], nesta cidade de [[cidade]], Estado de [[estado]], neste Tabelionato de Notas, perante mim, [[tabeliao]], Tabelião de Notas, compareceram como partes entre si, de um lado como HERDEIROS(AS):
+
+
[[nome_herdeiro_1]], [[nacionalidade_herdeiro_1]], [[estado_civil_herdeiro_1]], [[profissao_herdeiro_1]], portador(a) do RG nº [[rg_herdeiro_1]] e CPF nº [[cpf_herdeiro_1]], residente e domiciliado(a) à [[endereco_herdeiro_1]];
+
+
[[nome_herdeiro_2]], [[nacionalidade_herdeiro_2]], [[estado_civil_herdeiro_2]], [[profissao_herdeiro_2]], portador(a) do RG nº [[rg_herdeiro_2]] e CPF nº [[cpf_herdeiro_2]], residente e domiciliado(a) à [[endereco_herdeiro_2]];
+
+
e assim por diante, se houver outros herdeiros.
+
+
Declararam os presentes que são únicos e legítimos herdeiros do(a) falecido(a) [[nome_falecido]], falecido(a) em [[data_obito]], na cidade de [[cidade_obito]], conforme certidão de óbito lavrada sob o nº [[numero_certidao_obito]], e que, por meio desta escritura, realizam entre si a PARTILHA AMIGÁVEL dos bens deixados pelo(a) de cujus, na forma seguinte:
+
+
Relação dos bens:
+
+
+
[[descricao_bem_1]] - avaliado em R$ [[valor_bem_1]];
+
[[descricao_bem_2]] - avaliado em R$ [[valor_bem_2]];
As partes declaram que a partilha foi realizada de comum acordo, de forma livre e consciente, não havendo vícios de consentimento, nem litígios entre os herdeiros.
+
+
Requerem que esta escritura seja registrada onde necessário, e produza todos os efeitos legais.
+
+
E por estarem assim justos e contratados, firmam o presente instrumento, que lido e achado conforme, vai por todos assinado e por mim, [[tabeliao]], que o lavrei e subscrevo.
Outorgante: [[nome_outorgante]], [[nacionalidade_outorgante]], [[estado_civil_outorgante]], [[profissao_outorgante]], portador(a) do RG nº [[rg_outorgante]] e CPF nº [[cpf_outorgante]], residente e domiciliado(a) à [[endereco_outorgante]].
+
+
Outorgado: [[nome_outorgado]], advogado inscrito na OAB/[[uf_oab]] sob o nº [[numero_oab]], com escritório profissional situado à [[endereco_escritorio]].
+
+
Por este instrumento particular, o outorgante nomeia e constitui seu bastante procurador o(a) outorgado(a), para o foro em geral, com poderes para o ajuizamento, defesa, acompanhamento, transação, conciliação, desistência, interposição e recebimento de recursos, substabelecer no todo ou em parte, e praticar todos os demais atos necessários ao fiel cumprimento deste mandato, especialmente para atuar em processos judiciais e administrativos, em todas as instâncias e tribunais, federais ou estaduais, inclusive para firmar compromisso, receber citações, intimações e notificações, assinar petições, requerimentos e demais documentos, e praticar todos os atos necessários para a defesa dos direitos do outorgante.
+
+
Esta procuração é válida por [[validade]] meses a contar da data de sua assinatura.
+
+
E, por assim estar justo e acordado, firma o presente instrumento em [[cidade]], aos [[dia]] dias do mês de [[mes]] do ano de [[ano]].
+`;
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaIndex.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaIndex.ts
new file mode 100644
index 0000000..943191c
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaIndex.ts
@@ -0,0 +1,24 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import { MinutaMockDeDadosPorId } from "./mockMinuta";
+
+const useMock = true;
+
+export default async function TMinutaIndex(t_minuta_id: number) {
+ if (useMock) {
+ console.log(await MinutaMockDeDadosPorId(t_minuta_id)); // Retorna o dado específico do mock
+ return await MinutaMockDeDadosPorId(t_minuta_id); // Retorna o dado específico do mock
+ }
+
+ const api = new API();
+ try {
+ const dados = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/t_minuta/${t_minuta_id}`
+ });
+ return dados;
+ } catch (error) {
+ console.log(error);
+ return error;
+ }
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaIndexData.ts
new file mode 100644
index 0000000..41908ad
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaIndexData.ts
@@ -0,0 +1,23 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import MinutaMockDeDados from "./mockMinuta";
+
+const useMock = true;
+
+export default async function TMinutaIndexData() {
+ if (useMock) {
+ return await MinutaMockDeDados(); // Retorna todos os dados mockados
+ }
+
+ const api = new API();
+ try {
+ const dados = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/t_minuta/`
+ });
+ return dados;
+ } catch (error) {
+ console.log(error);
+ return error;
+ }
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaRemoveData.ts
new file mode 100644
index 0000000..8870452
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaRemoveData.ts
@@ -0,0 +1,14 @@
+import API from "@/services/api/Api";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TMinutaRemoveData(data: TMinutaInterface) {
+
+ const api = new API();
+
+ return await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/t_minuta/${data.t_minuta_id}`
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaSaveData.ts
new file mode 100644
index 0000000..c75171b
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/TMinutaSaveData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TMinutaSaveData(data: TMinutaInterface) {
+
+ const isUpdate = Boolean(data.t_minuta_id);
+
+ const api = new API();
+
+ return await api.send({
+ method: isUpdate ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/t_minuta/${data.t_minuta_id || ''}`,
+ body: data
+ });
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/mockMinuta.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/mockMinuta.ts
new file mode 100644
index 0000000..88ae986
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TMinuta/mockMinuta.ts
@@ -0,0 +1,41 @@
+// Função para pegar todos os dados (usada em TMinutaIndexData)
+import { textoEscrituraCompraEVenda, textoEscrituraPartilhaAmigavel, textoProcuracaoAdJudicia } from "./MinutaTexto";
+
+export default async function MinutaMockDeDados() {
+ return Promise.resolve({
+ status: 200,
+ message: 'Dados localizados',
+ data: [
+ {
+ t_minuta_id: 1,
+ natureza_id: 1,
+ descricao: 'Escritura de Compra e Venda',
+ situacao: 'A',
+ texto: textoEscrituraCompraEVenda,
+ },
+ {
+ t_minuta_id: 2,
+ natureza_id: 1,
+ descricao: 'Escritura de Partilha Amigável',
+ situacao: 'A',
+ texto: textoEscrituraPartilhaAmigavel,
+ },
+ {
+ t_minuta_id: 3,
+ natureza_id: 2,
+ descricao: 'Procuração Ad Judicia',
+ situacao: 'A',
+ texto: textoProcuracaoAdJudicia,
+ },
+ ]
+ });
+}
+
+export async function MinutaMockDeDadosPorId(t_minuta_id: number) {
+ const allData = await MinutaMockDeDados();
+ return Promise.resolve({
+ status: 200,
+ message: 'Dados localizados',
+ data: allData.data.find((item) => item.t_minuta_id === t_minuta_id) || null
+ });
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoIndexData.ts
new file mode 100644
index 0000000..3865338
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoIndexData.ts
@@ -0,0 +1,17 @@
+'use server'
+
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TTBAndamentoServicoIndexData() {
+
+ const api = new API();
+
+ const response = await api.send({
+ 'method': Methods.GET,
+ 'endpoint': `administrativo/t_tb_andamentoservico/`
+ });
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoRemoveData.ts
new file mode 100644
index 0000000..5ad8fc9
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoRemoveData.ts
@@ -0,0 +1,18 @@
+'use server'
+
+import API from "@/services/api/Api";
+import TTBAndamentoServicoInteface from "../../_interfaces/TTBAndamentoServicoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TTBAndamentoServicoRemoveData(tTBAndamentoServico: TTBAndamentoServicoInteface) {
+
+ const api = new API();
+
+ const response = await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/t_tb_andamentoservico/${tTBAndamentoServico.tb_andamentoservico_id}`
+ });
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoSaveData.ts
new file mode 100644
index 0000000..589ec9b
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBAndamentoServico/TTBAndamentoServicoSaveData.ts
@@ -0,0 +1,23 @@
+'use server'
+
+import API from "@/services/api/Api";
+import TTBAndamentoServicoInteface from "../../_interfaces/TTBAndamentoServicoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+
+async function executeTTBAndamentoServicoSaveData(data: TTBAndamentoServicoInteface) {
+
+ const api = new API();
+
+ const response = await api.send({
+ method: data.tb_andamentoservico_id ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/t_tb_andamentoservico/${data.tb_andamentoservico_id ? data.tb_andamentoservico_id : ''}`,
+ body: data
+ });
+
+ return response;
+
+}
+
+// Encapsula a execução da função
+export const TTBAndamentoServicoSaveData = withClientErrorHandler(executeTTBAndamentoServicoSaveData);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData.ts
new file mode 100644
index 0000000..5f279f9
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData.ts
@@ -0,0 +1,16 @@
+import API from "@/services/api/Api";
+import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TTBReconhecimentoTipoDeleteData(data: TTBReconhecimentoTipoInterface) {
+
+ const api = new API();
+
+ const response = await api.send({
+ method: Methods.DELETE,
+ endpoint: `administrativo/t_tb_reconhecimentotipo/${data.tb_reconhecimentotipo_id}`
+ });
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts
new file mode 100644
index 0000000..7d7995e
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts
@@ -0,0 +1,17 @@
+'use server'
+
+import API from "@/services/api/Api"
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+
+export default async function TTBReconhecimentoTipoIndexData() {
+
+ const api = new API();
+
+ const response = await api.send({
+ method: Methods.GET,
+ endpoint: `administrativo/t_tb_reconhecimentotipo`
+ });
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData.ts
new file mode 100644
index 0000000..e045e65
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData.ts
@@ -0,0 +1,17 @@
+import API from "@/services/api/Api";
+import { Methods } from "@/services/api/enums/ApiMethodEnum";
+import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface";
+
+export default async function TTBReconhecimentoTipoSaveData(data: TTBReconhecimentoTipoInterface) {
+
+ const api = new API();
+
+ const response = await api.send({
+ method: data.tb_reconhecimentotipo_id ? Methods.PUT : Methods.POST,
+ endpoint: `administrativo/t_tb_reconhecimentotipo/${data.tb_reconhecimentotipo_id ? data.tb_reconhecimentotipo_id : ''}`,
+ body: data
+ });
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoReadHook.ts
new file mode 100644
index 0000000..9ac7b2c
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoReadHook.ts
@@ -0,0 +1,27 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { GMedidaTipoInterface } from "../../_interfaces/GMedidaTipoInterface";
+import GMedidaTipoIndexService from "../../_services/g_medidatipo/GMedidaTipoIndexService";
+
+export const useGMedidaTipoReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gMedidaTipo, setGMedidaTipo] = useState([]);
+
+ const fetchGMedidaTipo = async () => {
+
+ try {
+ const response = await GMedidaTipoIndexService();
+
+ setGMedidaTipo(response.data);
+
+ setResponse(response);
+ } catch (error) {
+ console.log(error)
+ }
+
+ }
+
+ return { gMedidaTipo, fetchGMedidaTipo }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoRemoveHook.ts
new file mode 100644
index 0000000..d19018a
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { GMedidaTipoInterface } from "../../_interfaces/GMedidaTipoInterface";
+import GMedidaTipoRemoveService from "../../_services/g_medidatipo/GMedidaTipoRemoveService";
+
+export const useGMedidaTipoRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeGMedidaTipo = async (data: GMedidaTipoInterface) => {
+
+ const response = await GMedidaTipoRemoveService(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeGMedidaTipo }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoSaveHook.ts
new file mode 100644
index 0000000..8f70843
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_medidatipo/useGMedidaTipoSaveHook.ts
@@ -0,0 +1,31 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { GMedidaTipoInterface } from "../../_interfaces/GMedidaTipoInterface";
+import GMedidaTipoSaveService from "../../_services/g_medidatipo/GMedidaTipoSaveService";
+
+export const useGMedidaTipoSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gMedidaTipo, setGMedidaTipo] = useState(null);
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveGMedidaTipo = async (data: GMedidaTipoInterface) => {
+
+ const response = await GMedidaTipoSaveService(data);
+
+ setGMedidaTipo(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { gMedidaTipo, saveGMedidaTipo }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroReadHook.ts
new file mode 100644
index 0000000..2d4ebac
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroReadHook.ts
@@ -0,0 +1,30 @@
+'use client'
+
+import { useResponse } from "@/app/_response/ResponseContext"
+import { use, useState } from "react";
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+import GTBBairroIndexService from "../../_services/g_tb_bairro/GTBBairroIndexService";
+
+export const useGTBBairroReadHook = () => {
+
+ const { setResponse } = useResponse();
+
+ // Controle dos dados obtidos via API
+ const [gTBBairro, setGTBBairro] = useState([]);
+
+ const fetchGTBBairro = async () => {
+
+ // Realiza a requisição para a api
+ const response = await GTBBairroIndexService();
+
+ // Armazena os dados da resposta
+ setGTBBairro(response.data);
+
+ // Envia os dados da resposta para ser tratado
+ setResponse(response);
+
+ }
+
+ return { gTBBairro, fetchGTBBairro }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroRemoveHook.ts
new file mode 100644
index 0000000..00ed2d0
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+import GTBBairroRemoveService from "../../_services/g_tb_bairro/GTBBairroRemoveService";
+
+export const useGTBBairroRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeGTBBairro = async (data: GTBBairroInterface) => {
+
+ const response = await GTBBairroRemoveService(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeGTBBairro }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroSaveHook.ts
new file mode 100644
index 0000000..ecd5d3f
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_bairro/useGTBBairroSaveHook.ts
@@ -0,0 +1,32 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+import GTBBairroSaveService from "../../_services/g_tb_bairro/GTBBairroSaveService";
+
+export const useGTBBairroSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBBairro, setGTBBairro] = useState(null);
+
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveGTBBairro = async (data: GTBBairroInterface) => {
+
+ const response = await GTBBairroSaveService(data);
+
+ setGTBBairro(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { gTBBairro, saveGTBBairro }
+
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..4a7d31b
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilReadHook.ts
@@ -0,0 +1,27 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { GTBEstadoCivilInterface } from "../../_interfaces/GTBEstadoCivilInterface";
+import GTBEstadoCivilIndexService from "../../_services/g_tb_estadocivil/GTBEstadoCivilIndexService";
+
+export const useGTBEstadoCivilReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBEstadoCivil, setGTBEstadoCivil] = useState([]);
+
+ const fetchGTBEstadoCivil = async () => {
+
+ try {
+ const response = await GTBEstadoCivilIndexService();
+
+ setGTBEstadoCivil(response.data);
+
+ setResponse(response);
+ } catch (error) {
+ console.log(error)
+ }
+
+ }
+
+ return { gTBEstadoCivil, fetchGTBEstadoCivil }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilRemoveHook.ts
new file mode 100644
index 0000000..1cc29cf
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { GTBEstadoCivilInterface } from "../../_interfaces/GTBEstadoCivilInterface";
+import GTBEstadoCivilRemoveService from "../../_services/g_tb_estadocivil/GTBEstadoCivilRemoveService";
+
+export const useGTBEstadoCivilRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeGTBEstadoCivil = async (data: GTBEstadoCivilInterface) => {
+
+ const response = await GTBEstadoCivilRemoveService(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeGTBEstadoCivil }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilSaveHook.ts
new file mode 100644
index 0000000..63a0237
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_estadocivil/useGTBEstadoCivilSaveHook.ts
@@ -0,0 +1,31 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { GTBEstadoCivilInterface } from "../../_interfaces/GTBEstadoCivilInterface";
+import GTBEstadoCivilSaveService from "../../_services/g_tb_estadocivil/GTBEstadoCivilSaveService";
+
+export const useGTBEstadoCivilSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBEstadoCivil, setGTBEstadoCivil] = useState(null);
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveGTBEstadoCivil = async (data: GTBEstadoCivilInterface) => {
+
+ const response = await GTBEstadoCivilSaveService(data);
+
+ setGTBEstadoCivil(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { gTBEstadoCivil, saveGTBEstadoCivil }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoReadHook.ts
new file mode 100644
index 0000000..6bd2c60
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoReadHook.ts
@@ -0,0 +1,23 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import GTBProfissaoInterface from "../../_interfaces/GTBProfissaoInterface";
+import GTBProfissaoIndexService from "../../_services/g_tb_profissao/GTBProfissaoIndexService";
+
+export const useGTBProfissaoReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBProfissao, setGTBProfissao] = useState([]);
+
+ const fetchGTBProfissao = async () => {
+
+ const response = await GTBProfissaoIndexService();
+
+ setGTBProfissao(response.data);
+
+ setResponse(response);
+
+ }
+
+ return { gTBProfissao, fetchGTBProfissao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoRemoveHook.ts
new file mode 100644
index 0000000..421c186
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import GTBProfissaoInterface from "../../_interfaces/GTBProfissaoInterface";
+import GTBProfissaoRemoveService from "../../_services/g_tb_profissao/GTBProfissaoRemoveService";
+
+export const useGTBProfissaoRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeGTBProfissao = async (data: GTBProfissaoInterface) => {
+
+ const response = await GTBProfissaoRemoveService(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeGTBProfissao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoSaveHook.ts
new file mode 100644
index 0000000..74b9dd5
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_profissao/useGTBProfissaoSaveHook.ts
@@ -0,0 +1,31 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import GTBProfissaoInterface from "../../_interfaces/GTBProfissaoInterface";
+import GTBProfissaoSaveService from "../../_services/g_tb_profissao/GTBProfissaoSaveService";
+
+export const useGTBProfissaoSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBProfissao, setGTBProfissao] = useState(null);
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveGTBProfissao = async (data: GTBProfissaoInterface) => {
+
+ const response = await GTBProfissaoSaveService(data);
+
+ setGTBProfissao(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { gTBProfissao, saveGTBProfissao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensReadHook.ts
new file mode 100644
index 0000000..9294db5
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensReadHook.ts
@@ -0,0 +1,25 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import GTBRegimeBensIndexService from "../../_services/g_tb_regimebens/GTBRegimeBensIndexService";
+import GTBRegimeBensInterface from "../../_interfaces/GTBRegimeBensInterface";
+
+export const useGTBRegimeBensReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBRegimeBens, setGTBRegimeBens] = useState([]);
+
+ const fetchGTBRegimeBens = async () => {
+
+ const response = await GTBRegimeBensIndexService();
+
+ setGTBRegimeBens(response.data);
+
+ setResponse(response);
+
+ return response;
+
+ }
+
+ return { gTBRegimeBens, fetchGTBRegimeBens }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensRemoveHook.ts
new file mode 100644
index 0000000..748313e
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import GTBRegimeBensInterface from "../../_interfaces/GTBRegimeBensInterface";
+import GTBRegimeBensRemoveData from "../../_data/GTBRegimeBens/GTBRegimeBensRemoveData";
+
+export const useGTBRegimeBensRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeGTBRegimeComunhao = async (data: GTBRegimeBensInterface) => {
+
+ const response = await GTBRegimeBensRemoveData(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeGTBRegimeComunhao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensSaveHook.ts
new file mode 100644
index 0000000..4941f94
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimebens/useGTBRegimeBensSaveHook.ts
@@ -0,0 +1,34 @@
+import { useState } from "react";
+import { useResponse } from "@/app/_response/ResponseContext"
+import GTBRegimeBensInterface from "../../_interfaces/GTBRegimeBensInterface";
+import { GTBRegimeBensSaveService } from "../../_services/g_tb_regimebens/GTBRegimeBensSaveService";
+
+export const useGTBRegimeBensSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBRegimeComunhao, setGTBRegimeComunhao] = useState(null);
+
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveGTBRegimeComunhao = async (data: GTBRegimeBensInterface) => {
+
+ const response = await GTBRegimeBensSaveService(data);
+
+ // Guardar os dados localizados
+ setGTBRegimeComunhao(response.data);
+
+ // Manda a resposta para o verificador de resposta
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { gTBRegimeComunhao, saveGTBRegimeComunhao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoReadHook.ts
new file mode 100644
index 0000000..1d1ff3a
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoReadHook.ts
@@ -0,0 +1,23 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+import GTBRegimeComunhaoIndexService from "../../_services/g_tb_regimecomunhao/GTBRegimeComunhaoIndexService";
+
+export const useGTBRegimeComunhaoReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBRegimeComunhao, setGTBRegimeComunhao] = useState([]);
+
+ const fetchGTBRegimeComunhao = async () => {
+
+ const response = await GTBRegimeComunhaoIndexService();
+
+ setGTBRegimeComunhao(response.data);
+
+ setResponse(response);
+
+ }
+
+ return { gTBRegimeComunhao, fetchGTBRegimeComunhao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoRemoveHook.ts
new file mode 100644
index 0000000..658231a
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+import GTBRegimeComunhaoRemoveService from "../../_services/g_tb_regimecomunhao/GTBRegimeComunhaoRemoveService";
+
+export const useGTBRegimeComunhaoRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeGTBRegimeComunhao = async (data: GTBRegimeComunhaoInterface) => {
+
+ const response = await GTBRegimeComunhaoRemoveService(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeGTBRegimeComunhao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoSaveHook.ts
new file mode 100644
index 0000000..b67690e
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_regimecomunhao/useGTBRegimeComunhaoSaveHook.ts
@@ -0,0 +1,33 @@
+import { useState } from "react";
+import { useResponse } from "@/app/_response/ResponseContext"
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+import GTBRegimeComunhaoSaveService from "../../_services/g_tb_regimecomunhao/GTBRegimeComunhaoSaveService";
+
+export const useGTBRegimeComunhaoSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBRegimeComunhao, setGTBRegimeComunhao] = useState(null);
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveGTBRegimeComunhao = async (data: GTBRegimeComunhaoInterface) => {
+
+ const response = await GTBRegimeComunhaoSaveService(data);
+
+ // Guardar os dados localizados
+ setGTBRegimeComunhao(response.data);
+
+ // Manda a resposta para o verificador de resposta
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { gTBRegimeComunhao, saveGTBRegimeComunhao }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroReadHook.ts
new file mode 100644
index 0000000..a452e29
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroReadHook.ts
@@ -0,0 +1,27 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+import GTBTipoLogradouroIndexService from "../../_services/g_tb_tipologradouro/GTBTipoLogradouroIndexService";
+
+export const useGTBTipoLogradouroReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBTipoLogradouro, setGTBTipoLogradouro] = useState([]);
+
+ const fetchGTBTipoLogradouro = async () => {
+
+ try {
+ const response = await GTBTipoLogradouroIndexService();
+
+ setGTBTipoLogradouro(response.data);
+
+ setResponse(response);
+ } catch (error) {
+ console.log(error)
+ }
+
+ }
+
+ return { gTBTipoLogradouro, fetchGTBTipoLogradouro }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroRemoveHook.ts
new file mode 100644
index 0000000..529ae61
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+import GTBTipoLogradouroRemoveService from "../../_services/g_tb_tipologradouro/GTBTipoLogradouroRemoveService";
+
+export const useGTBTipoLogradouroRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeGTBTipoLogradouro = async (data: GTBTipoLogradouroInterface) => {
+
+ const response = await GTBTipoLogradouroRemoveService(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeGTBTipoLogradouro }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroSaveHook.ts
new file mode 100644
index 0000000..668966d
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_tb_tipologradouro/useGTBTipoLogradouroSaveHook.ts
@@ -0,0 +1,31 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+import GTBTipoLogradouroSaveService from "../../_services/g_tb_tipologradouro/GTBTipoLogradouroSaveService";
+
+export const useGTBTipoLogradouroSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [gTBTipoLogradouro, setGTBTipoLogradouro] = useState(null);
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveGTBTipoLogradouro = async (data: GTBTipoLogradouroInterface) => {
+
+ const response = await GTBTipoLogradouroSaveService(data);
+
+ setGTBTipoLogradouro(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { gTBTipoLogradouro, saveGTBTipoLogradouro }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecDeleteHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecDeleteHook.ts
new file mode 100644
index 0000000..1ac288a
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecDeleteHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import TCensecInterface from "../../_interfaces/TCensecInterface";
+import { TCensecDeleteService } from "../../_services/t_censec/TCensecDeleteService";
+
+export const useTCensecDeleteHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const deleteTCensec = async (data: TCensecInterface) => {
+
+ const response = await TCensecDeleteService(data);
+
+ setResponse(response);
+
+ }
+
+ return { deleteTCensec }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecReadHook.ts
new file mode 100644
index 0000000..3fd4148
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecReadHook.ts
@@ -0,0 +1,24 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { TCensecIndexService } from "../../_services/t_censec/TCensecIndexService";
+import { useState } from "react";
+import TCensecInterface from "../../_interfaces/TCensecInterface";
+
+export const useTCensecReadHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tCensec, setTCensec] = useState([]);
+
+ const fetchTCensec = async () => {
+
+ const response = await TCensecIndexService();
+
+ setTCensec(response.data);
+
+ setResponse(response);
+
+ }
+
+ return { tCensec, fetchTCensec }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecSaveHook.ts
new file mode 100644
index 0000000..7efbb56
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censec/useTCensecSaveHook.ts
@@ -0,0 +1,37 @@
+'use client'
+
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import TCensecInterface from "../../_interfaces/TCensecInterface";
+import { TCensecSaveService } from "../../_services/t_censec/TCensecSaveService";
+
+export const useTCensecSaveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tCensec, setTCensec] = useState();
+
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveTCensec = async (data: TCensecInterface) => {
+
+ const response = await TCensecSaveService(data);
+
+ // Armazena os dados da repsota
+ setTCensec(response.data);
+
+ // Define os dados da respota(toast, modal, etc)
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os valores de forma imediata
+ return response.data;
+
+ }
+
+ return { tCensec, saveTCensec }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioReadHook.ts
new file mode 100644
index 0000000..b68ba6f
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioReadHook.ts
@@ -0,0 +1,29 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { TCensecNaturezaLitigioInterface } from "../../_interfaces/TCensecNaturezaLitigioInterface";
+import TCensecNaturezaLitigioIndexService from "../../_services/t_censecnaturezalitigio/TCensecNaturezaLitigioIndexService";
+
+export const useTCensecNaturezaLitigioReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [tCensecNaturezaLitigio, setTCensecNaturezaLitigio] = useState([]);
+
+ const fetchTCensecNaturezaLitigio = async () => {
+
+ try {
+ const response = await TCensecNaturezaLitigioIndexService();
+
+ setTCensecNaturezaLitigio(response.data);
+
+ console.log(response)
+
+ setResponse(response);
+ } catch (error) {
+ console.log(error)
+ }
+
+ }
+
+ return { tCensecNaturezaLitigio, fetchTCensecNaturezaLitigio }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioRemoveHook.ts
new file mode 100644
index 0000000..bbf5cda
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioRemoveHook.ts
@@ -0,0 +1,24 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { TCensecNaturezaLitigioInterface } from "../../_interfaces/TCensecNaturezaLitigioInterface";
+import { useState } from "react";
+import TCensecNaturezaLitigioRemoveData from "../../_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioRemoveData";
+
+export const useTCensecNaturezaLitigioRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tCensecNaturezaLitigio, setTCensecNaturezaLitigio] = useState()
+
+ const removeTCensecNaturezaLitigio = async (data: TCensecNaturezaLitigioInterface) => {
+
+ const response = await TCensecNaturezaLitigioRemoveData(data);
+
+ setTCensecNaturezaLitigio(data)
+
+ setResponse(response);
+
+ }
+
+ return { tCensecNaturezaLitigio, removeTCensecNaturezaLitigio }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioSaveHook.ts
new file mode 100644
index 0000000..9ba939b
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_censecnaturezalitigio/useTCensecNaturezaLitigioSaveHook.ts
@@ -0,0 +1,31 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { TCensecNaturezaLitigioInterface } from "../../_interfaces/TCensecNaturezaLitigioInterface";
+import TCensecNaturezaLitigioSaveService from "../../_services/t_censecnaturezalitigio/TCensecNaturezaLitigioSaveService";
+
+export const useTCensecNaturezaLitigioSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [TCensecNaturezaLitigio, setTCensecNaturezaLitigio] = useState(null);
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveTCensecNaturezaLitigio = async (data: TCensecNaturezaLitigioInterface) => {
+
+ const response = await TCensecNaturezaLitigioSaveService(data);
+
+ setTCensecNaturezaLitigio(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { TCensecNaturezaLitigio, saveTCensecNaturezaLitigio }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaIndexHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaIndexHook.ts
new file mode 100644
index 0000000..2354ec6
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaIndexHook.ts
@@ -0,0 +1,27 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+import TMinutaIndex from "../../_services/t_minuta/TMinutaIndex";
+
+export const useTMinutaIndexHook = () => {
+
+ const { setResponse } = useResponse();
+ const [tMinuta, setTMinuta] = useState([]);
+
+ const fetchTMinuta = async () => {
+
+ try {
+ const response = await TMinutaIndex();
+
+ setTMinuta(response.data);
+
+ setResponse(response);
+ } catch (error) {
+ console.log(error)
+ }
+
+ }
+
+ return { tMinuta, fetchTMinuta }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaReadHook.ts
new file mode 100644
index 0000000..dd8de75
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaReadHook.ts
@@ -0,0 +1,28 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+import TMinutaIndexService from "../../_services/t_minuta/TMinutaIndexService";
+
+export const useTMinutaReadHook = () => {
+
+ const { setResponse } = useResponse();
+ const [tMinuta, setTMinuta] = useState();
+
+ const fetchTMinuta = async (tMinuta: TMinutaInterface) => {
+
+ try {
+ const response = await TMinutaIndexService(tMinuta.t_minuta_id);
+ console.log("read hook",response.data)
+
+ setTMinuta(response.data);
+
+ setResponse(response);
+ } catch (error) {
+ console.log(error)
+ }
+
+ }
+
+ return { tMinuta, fetchTMinuta }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaRemoveHook.ts
new file mode 100644
index 0000000..240a2a4
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaRemoveHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+import TMinutaRemoveService from "../../_services/t_minuta/TMinutaRemoveService";
+
+export const useTMinutaRemoveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const removeTMinuta = async (data: TMinutaInterface) => {
+
+ const response = await TMinutaRemoveService(data);
+
+ setResponse(response);
+
+ }
+
+ return { removeTMinuta }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaSaveHook.ts
new file mode 100644
index 0000000..d1a817a
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_minuta/useTMinutaSaveHook.ts
@@ -0,0 +1,31 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+import TMinutaSaveService from "../../_services/t_minuta/TMinutaSaveService";
+
+export const useTMinutaSaveHook = () => {
+
+ const { setResponse } = useResponse();
+ const [tMinuta, setTMinuta] = useState();
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveTMinuta = async (data: any) => {
+
+ const response = await TMinutaSaveService(data);
+
+ setTMinuta(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os dados imediatamente
+ return response;
+
+ }
+
+ return { tMinuta, saveTMinuta }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoDeleteHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoDeleteHook.ts
new file mode 100644
index 0000000..c3407ee
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoDeleteHook.ts
@@ -0,0 +1,24 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import TTBAndamentoServicoInteface from "../../_interfaces/TTBAndamentoServicoInterface";
+import TTBAndamentoServicoRemoveData from "../../_data/TTBAndamentoServico/TTBAndamentoServicoRemoveData";
+
+export const useTTBAndamentoServicoDeleteHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tTBAndamentoServico, setTTBAndamentoServico] = useState();
+
+ const deleteTTBAndamentoServico = async (data: TTBAndamentoServicoInteface) => {
+
+ const response = await TTBAndamentoServicoRemoveData(data);
+
+ setTTBAndamentoServico(data);
+
+ setResponse(response);
+
+ }
+
+ return { tTBAndamentoServico, deleteTTBAndamentoServico }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoReadHook.ts
new file mode 100644
index 0000000..bc0d99c
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoReadHook.ts
@@ -0,0 +1,36 @@
+'use client'
+
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import TTBAndamentoServicoInteface from "../../_interfaces/TTBAndamentoServicoInterface";
+import TTBAndamentoServicoIndexData from "../../_data/TTBAndamentoServico/TTBAndamentoServicoIndexData";
+
+export const useTTBAndamentoServicoReadHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tTBAndamentosServicos, setTTBAndamentosServicos] = useState(null);
+
+ const fetchTTBAndamentoServico = async () => {
+
+ const response = await TTBAndamentoServicoIndexData();
+
+ console.log(response)
+
+ // Armazena os dados consultados
+ setTTBAndamentosServicos(response.data);
+
+ // Define os dados do componente de resposta (toast, modal, etc)
+ setResponse(response);
+
+ }
+
+ function addTTBAndamentoServico(tTTBAndamentoServico: TTBAndamentoServicoInteface) {
+
+ setTTBAndamentosServicos(prev => [...(prev || []), tTTBAndamentoServico]);
+
+ }
+
+ return { tTBAndamentosServicos, fetchTTBAndamentoServico, addTTBAndamentoServico }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoSaveHook.ts
new file mode 100644
index 0000000..863b8d1
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_andamentoservico/useTTBAndamentoServicoSaveHook.ts
@@ -0,0 +1,37 @@
+'use client'
+
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import TTBAndamentoServicoInteface from "../../_interfaces/TTBAndamentoServicoInterface";
+import { TTBAndamentoServicoSaveData } from "../../_data/TTBAndamentoServico/TTBAndamentoServicoSaveData";
+
+export const useTTBAndamentoServicoSaveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tTBAndamentoServico, setTTBAndamentoServico] = useState();
+
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveTTBAndamentoServico = async (data: TTBAndamentoServicoInteface) => {
+
+ const response = await TTBAndamentoServicoSaveData(data);
+
+ // Armazena os dados da repsota
+ setTTBAndamentoServico(response.data);
+
+ // Define os dados da respota(toast, modal, etc)
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os valores de forma imediata
+ return response.data;
+
+ }
+
+ return { tTBAndamentoServico, saveTTBAndamentoServico }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook.ts
new file mode 100644
index 0000000..eb926e7
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook.ts
@@ -0,0 +1,19 @@
+import { useResponse } from "@/app/_response/ResponseContext"
+import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface";
+import TTBReconhecimentoTipoDeleteData from "../../_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData";
+
+export const useTTBReconhecimentoTipoDeleteHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const deleteTTBReconhecimentoTipo = async (data: TTBReconhecimentoTipoInterface) => {
+
+ const response = await TTBReconhecimentoTipoDeleteData(data);
+
+ setResponse(response);
+
+ }
+
+ return { deleteTTBReconhecimentoTipo }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts
new file mode 100644
index 0000000..5817953
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts
@@ -0,0 +1,26 @@
+'use client'
+
+import ITTTBReconhecimentoTipo from '../../_interfaces/TTBReconhecimentoTipoInterface'
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import TTBReconhecimentoTipoIndexData from '../../_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData';
+
+export const useTTBReconhecimentoTipoReadHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tTBReconhecimentosTipos, setReconhecimenntosTipos] = useState([]);
+
+ const fetchTTBReconhecimentosTipos = async () => {
+
+ const response = await TTBReconhecimentoTipoIndexData();
+
+ setReconhecimenntosTipos(response.data);
+
+ setResponse(response);
+
+ }
+
+ return { tTBReconhecimentosTipos, fetchTTBReconhecimentosTipos }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook.ts
new file mode 100644
index 0000000..88a88df
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook.ts
@@ -0,0 +1,35 @@
+'use client'
+
+import { useResponse } from "@/app/_response/ResponseContext"
+import { useState } from "react";
+import ITTTBReconhecimentoTipo from '../../_interfaces/TTBReconhecimentoTipoInterface'
+import TTBReconhecimentoTipoSaveData from "../../_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData";
+
+export const useTTBReconhecimentoTipoSaveHook = () => {
+
+ const { setResponse } = useResponse();
+
+ const [tTBReconhecimentoTipo, setTTBReconhcimentoTipo] = useState();
+
+ // controla se o formulário está aberto ou fechado
+ const [isOpen, setIsOpen] = useState(false);
+
+ const saveTTBReconhecimentoTipo = async (reconhecimentoTipo: ITTTBReconhecimentoTipo) => {
+
+ const response = await TTBReconhecimentoTipoSaveData(reconhecimentoTipo);
+
+ saveTTBReconhecimentoTipo(response.data);
+
+ setResponse(response);
+
+ // Fecha o formulário automaticamente após salvar
+ setIsOpen(false);
+
+ // Retorna os valores de forma imediata
+ return response.data;
+
+ }
+
+ return { tTBReconhecimentoTipo, saveTTBReconhecimentoTipo }
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMedidaTipoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMedidaTipoInterface.ts
new file mode 100644
index 0000000..f351f54
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMedidaTipoInterface.ts
@@ -0,0 +1,5 @@
+export interface GMedidaTipoInterface {
+ medida_tipo_id: number;
+ sigla: string;
+ descricao: string;
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBBairroInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBBairroInterface.ts
new file mode 100644
index 0000000..10f70c9
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBBairroInterface.ts
@@ -0,0 +1,8 @@
+import { SituacoesEnum } from "@/enums/SituacoesEnum";
+
+export interface GTBBairroInterface {
+ sistema_id: number | null;
+ tb_bairro_id: number;
+ descricao: string;
+ situacao: SituacoesEnum;
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBEstadoCivilInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBEstadoCivilInterface.ts
new file mode 100644
index 0000000..12f1cf5
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBEstadoCivilInterface.ts
@@ -0,0 +1,6 @@
+export interface GTBEstadoCivilInterface {
+ tb_estadocivil_id: number;
+ sistema_id: number;
+ descricao: string;
+ situacao: 'A' | 'I';
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBProfissaoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBProfissaoInterface.ts
new file mode 100644
index 0000000..0d86edf
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBProfissaoInterface.ts
@@ -0,0 +1,9 @@
+
+export default interface GTBProfissaoInterface {
+
+ tb_profissao_id?: number,
+ descricao: string,
+ situacao: string,
+ cod_cbo?: string
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBRegimeBensInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBRegimeBensInterface.ts
new file mode 100644
index 0000000..767bc50
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBRegimeBensInterface.ts
@@ -0,0 +1,6 @@
+
+export default interface GTBRegimeBensInterface {
+ tb_regimebens_id?: number,
+ descricao: string,
+ situacao: string,
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBRegimeComunhaoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBRegimeComunhaoInterface.ts
new file mode 100644
index 0000000..5d4a9be
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBRegimeComunhaoInterface.ts
@@ -0,0 +1,7 @@
+export default interface GTBRegimeComunhaoInterface {
+ tb_regimecomunhao_id?: number,
+ tb_regimebens_id: number,
+ descricao: string,
+ texto: string,
+ situacao: string,
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBTipoLogradouroInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBTipoLogradouroInterface.ts
new file mode 100644
index 0000000..c7c3a80
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GTBTipoLogradouroInterface.ts
@@ -0,0 +1,8 @@
+export interface GTBTipoLogradouroInterface {
+ sistema_id: number | null;
+ tb_tipologradouro_id: number;
+ situacao_id: number | null;
+ descricao: string;
+ situacao: 'A' | 'I';
+ onr_tipo_logradouro_id: number;
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TCensecInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TCensecInterface.ts
new file mode 100644
index 0000000..2fbf58a
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TCensecInterface.ts
@@ -0,0 +1,6 @@
+
+export default interface TCensecInterface {
+ censec_id?: number
+ descricao: string
+ situacao: string
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TCensecNaturezaLitigioInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TCensecNaturezaLitigioInterface.ts
new file mode 100644
index 0000000..5190b85
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TCensecNaturezaLitigioInterface.ts
@@ -0,0 +1,5 @@
+export interface TCensecNaturezaLitigioInterface {
+ censec_naturezalitigio_id?: number;
+ descricao: string;
+ situacao: 'A' | 'I';
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TMinutaInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TMinutaInterface.ts
new file mode 100644
index 0000000..8c3ec07
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TMinutaInterface.ts
@@ -0,0 +1,7 @@
+export interface TMinutaInterface {
+ t_minuta_id: number;
+ natureza_id: number;
+ descricao: string;
+ situacao: 'A' | 'I';
+ texto: string;
+}
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBAndamentoServicoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBAndamentoServicoInterface.ts
new file mode 100644
index 0000000..26ad9e2
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBAndamentoServicoInterface.ts
@@ -0,0 +1,16 @@
+export default interface TTBAndamentoServicoInteface {
+ tb_andamentoservico_id?: number,
+ descricao: string,
+ situacao: string,
+ tipo: tipoEnum,
+ usa_email: string
+}
+
+export enum tipoEnum {
+ CANCELADO = "C",
+ ESTORNADO = "E",
+ PROTOCOLADO = "PT",
+ PEDIDO = "PD",
+ NAO_CONSTA = "NC",
+ OUTROS = "O",
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoInterface.ts
new file mode 100644
index 0000000..46daae9
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoInterface.ts
@@ -0,0 +1,12 @@
+export default interface TTBReconhecimentoTipoInterface {
+ tb_reconhecimentotipo_id?: number,
+ descricao: string,
+ situacao: situacaoEnum,
+}
+
+export enum situacaoEnum {
+
+ ATIVO = 'A',
+ INATIVO = 'I',
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/GMedidaTipoSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/GMedidaTipoSchema.ts
new file mode 100644
index 0000000..12bc46e
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/GMedidaTipoSchema.ts
@@ -0,0 +1,7 @@
+import { z } from 'zod';
+
+export const GMedidaTipoSchema = z.object({
+ medida_tipo_id: z.number(),
+ sigla: z.string(),
+ descricao: z.string(),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBBairroSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBBairroSchema.ts
new file mode 100644
index 0000000..c4a67d5
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBBairroSchema.ts
@@ -0,0 +1,9 @@
+import { SituacoesEnum } from '@/enums/SituacoesEnum';
+import { z } from 'zod';
+
+export const GTBBairroSchema = z.object({
+ tb_bairro_id: z.number(),
+ sistema_id: z.number().nullable(),
+ descricao: z.string().min(1, 'O campo deve ser preenchido'),
+ situacao: z.enum(SituacoesEnum),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBEstadoCivilSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBEstadoCivilSchema.ts
new file mode 100644
index 0000000..88cb617
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBEstadoCivilSchema.ts
@@ -0,0 +1,8 @@
+import { z } from 'zod';
+
+export const GTBEstadoCivilSchema = z.object({
+ tb_estadocivil_id: z.number(),
+ sistema_id: z.number(),
+ descricao: z.string(),
+ situacao: z.enum(['A', 'I']),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBProfissaoSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBProfissaoSchema.ts
new file mode 100644
index 0000000..9d11ff2
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBProfissaoSchema.ts
@@ -0,0 +1,8 @@
+import { z } from "zod";
+
+export const GTBProfissaoSchema = z.object({
+ tb_profissao_id: z.number().optional(),
+ descricao: z.string(),
+ situacao: z.string(),
+ cod_cbo: z.string().optional()
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBRegimeBensSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBRegimeBensSchema.ts
new file mode 100644
index 0000000..49637f0
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBRegimeBensSchema.ts
@@ -0,0 +1,7 @@
+import z from "zod";
+
+export const GTBRegimeBensSchema = z.object({
+ tb_regimebens_id: z.number().optional(),
+ descricao: z.string(),
+ situacao: z.string(),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBRegimeComunhaoSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBRegimeComunhaoSchema.ts
new file mode 100644
index 0000000..e47c098
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBRegimeComunhaoSchema.ts
@@ -0,0 +1,9 @@
+import z from "zod";
+
+export const GTBRegimeComunhaoSchema = z.object({
+ tb_regimecomunhao_id: z.number().optional(),
+ tb_regimebens_id: z.number(),
+ descricao: z.string(),
+ texto: z.string(),
+ situacao: z.string(),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBTipoLogradouroSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBTipoLogradouroSchema.ts
new file mode 100644
index 0000000..92204bd
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/GTBTipoLogradouroSchema.ts
@@ -0,0 +1,10 @@
+import { z } from 'zod';
+
+export const GTBTipoLogradouroSchema = z.object({
+ sistema_id: z.number().int().nullable(),
+ tb_tipologradouro_id: z.number().int(),
+ situacao_id: z.number().nullable(),
+ descricao: z.string(),
+ situacao: z.enum(['A', 'I']),
+ onr_tipo_logradouro_id: z.number(),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/TCensecNaturezaLitigioSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/TCensecNaturezaLitigioSchema.ts
new file mode 100644
index 0000000..b4a293d
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/TCensecNaturezaLitigioSchema.ts
@@ -0,0 +1,7 @@
+import { z } from 'zod';
+
+export const TCensecNaturezaLitigioSchema = z.object({
+ censec_naturezalitigio_id: z.number().optional(),
+ descricao: z.string(),
+ situacao: z.enum(['A', 'I']),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/TCensecSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/TCensecSchema.ts
new file mode 100644
index 0000000..a9d0aa4
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/TCensecSchema.ts
@@ -0,0 +1,7 @@
+import z from "zod";
+
+export const TCensecSchema = z.object({
+ censec_id: z.number().optional(),
+ descricao: z.string().min(1, "O campo deve ser preenchido").max(60, "O campo excedeu o limite de 60 caracteres"),
+ situacao: z.string().min(1, "O campo deve ser preenchido").max(10, "O campo excedeu o limite de 10 caracteres"),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/TMinutaSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/TMinutaSchema.ts
new file mode 100644
index 0000000..7177819
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/TMinutaSchema.ts
@@ -0,0 +1,9 @@
+import { z } from "zod";
+
+export const TMinutaSchema = z.object({
+ minuta_id: z.number().optional(),
+ natureza_id: z.number().int(),
+ descricao: z.string().min(1, "Descrição é obrigatória"),
+ situacao: z.enum(["A", "I"]),
+ texto: z.string().min(1, "Texto é obrigatório"),
+});
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/TTBAndamentoServicoSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/TTBAndamentoServicoSchema.ts
new file mode 100644
index 0000000..4677fdf
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/TTBAndamentoServicoSchema.ts
@@ -0,0 +1,12 @@
+import { z } from 'zod';
+import { tipoEnum } from '../_interfaces/TTBAndamentoServicoInterface';
+
+export const TTBAndamentoServicoSchema = z.object({
+
+ tb_andamentoservico_id: z.number().optional(),
+ descricao: z.string().min(1, "Descrição Obrigatória"),
+ situacao: z.string().min(1, "Situação Obrigatória"),
+ tipo: z.nativeEnum(tipoEnum, { message: "Tipo inválido" }),
+ usa_email: z.string().min(1, "Email Obrigatória"),
+
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/TTBReconhecimentoTipoSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/TTBReconhecimentoTipoSchema.ts
new file mode 100644
index 0000000..f9c8f27
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/TTBReconhecimentoTipoSchema.ts
@@ -0,0 +1,8 @@
+import { z } from 'zod';
+import { situacaoEnum } from '../_interfaces/TTBReconhecimentoTipoInterface';
+
+export const TTBReconhecimentoTipoSchema = z.object({
+ tb_reconhecimentotipo_id: z.number().optional(),
+ descricao: z.string().min(1, "Campo descrição deve ser preenchido"),
+ situacao: z.nativeEnum(situacaoEnum, { message: "Tipo inválido" }),
+});
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoIndexService.ts
new file mode 100644
index 0000000..e12ceba
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoIndexService.ts
@@ -0,0 +1,12 @@
+import GMedidaTipoIndexData from "../../_data/GMedidoTipo/GMedidaTipoIndexData";
+
+export default async function GMedidaTipoIndexService() {
+
+ try {
+ const response = await GMedidaTipoIndexData();
+ return response;
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoRemoveService.ts
new file mode 100644
index 0000000..2a98f69
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoRemoveService.ts
@@ -0,0 +1,10 @@
+import GMedidaTipoRemoveData from "../../_data/GMedidoTipo/GMedidaTipoRemoveData";
+import { GMedidaTipoInterface } from "../../_interfaces/GMedidaTipoInterface";
+
+export default async function GMedidaTipoRemoveService(data: GMedidaTipoInterface) {
+
+ const response = await GMedidaTipoRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoSaveService.ts
new file mode 100644
index 0000000..c6f3460
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_medidatipo/GMedidaTipoSaveService.ts
@@ -0,0 +1,12 @@
+import GMedidaTipoSaveData from "../../_data/GMedidoTipo/GMedidaTipoSaveData";
+import { GMedidaTipoInterface } from "../../_interfaces/GMedidaTipoInterface";
+
+export default async function GMedidaTipoSaveService(data: GMedidaTipoInterface) {
+
+ const response = await GMedidaTipoSaveData(data);
+
+ console.log('GTBRegimeComunhaoSaveData', response)
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroIndexService.ts
new file mode 100644
index 0000000..a58e999
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroIndexService.ts
@@ -0,0 +1,8 @@
+import GTBBairroIndexData from "../../_data/GTBBairro/GTBBairroIndexData";
+
+export default async function GTBBairroIndexService() {
+
+ const response = await GTBBairroIndexData();
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroRemoveService.ts
new file mode 100644
index 0000000..59bbe42
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroRemoveService.ts
@@ -0,0 +1,10 @@
+import GTBBairroRemoveData from "../../_data/GTBBairro/GTBBairroRemoveData";
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+
+export default async function GTBBairroRemoveService(data: GTBBairroInterface) {
+
+ const response = await GTBBairroRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroSaveService.ts
new file mode 100644
index 0000000..d37c2a2
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_bairro/GTBBairroSaveService.ts
@@ -0,0 +1,10 @@
+import GTBBairroSaveData from "../../_data/GTBBairro/GTBBairroSaveData";
+import { GTBBairroInterface } from "../../_interfaces/GTBBairroInterface";
+
+export default async function GTBBairroSaveService(data: GTBBairroInterface) {
+
+ const response = await GTBBairroSaveData(data);
+
+ return response;
+
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..11c0b1d
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilIndexService.ts
@@ -0,0 +1,12 @@
+import GTBEstadoCivilIndexData from "../../_data/GTBEstadoCivil/GTBEstadoCivilIndexData";
+
+export default async function GTBEstadoCivilIndexService() {
+
+ try {
+ const response = await GTBEstadoCivilIndexData();
+ return response;
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilRemoveService.ts
new file mode 100644
index 0000000..4c19f10
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilRemoveService.ts
@@ -0,0 +1,10 @@
+import GTBEstadoCivilSaveData from "../../_data/GTBEstadoCivil/GTBEstadoCivilSaveData";
+import { GTBEstadoCivilInterface } from "../../_interfaces/GTBEstadoCivilInterface";
+
+export default async function GTBEstadoCivilRemoveService(data: GTBEstadoCivilInterface) {
+
+ const response = await GTBEstadoCivilSaveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilSaveService.ts
new file mode 100644
index 0000000..0567d52
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_estadocivil/GTBEstadoCivilSaveService.ts
@@ -0,0 +1,12 @@
+import GTBEstadoCivilSaveData from "../../_data/GTBEstadoCivil/GTBEstadoCivilSaveData";
+import { GTBEstadoCivilInterface } from "../../_interfaces/GTBEstadoCivilInterface";
+
+export default async function GTBEstadoCivilSaveService(data: GTBEstadoCivilInterface) {
+
+ const response = await GTBEstadoCivilSaveData(data);
+
+ console.log('GTBRegimeComunhaoSaveData', response)
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoIndexService.ts
new file mode 100644
index 0000000..8170fd7
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoIndexService.ts
@@ -0,0 +1,9 @@
+import GTBProfissoesIndexData from "../../_data/GTBProfissao/GTBProfissaoIndexData";
+
+export default async function GTBProfissaoIndexService() {
+
+ const response = await GTBProfissoesIndexData();
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoRemoveService.ts
new file mode 100644
index 0000000..8e2ebb0
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoRemoveService.ts
@@ -0,0 +1,10 @@
+import GTBProfissaoRemoveData from "../../_data/GTBProfissao/GTBProfissaoRemoveData";
+import GTBProfissaoInterface from "../../_interfaces/GTBProfissaoInterface";
+
+export default async function GTBProfissaoRemoveService(data: GTBProfissaoInterface) {
+
+ const response = await GTBProfissaoRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoSaveService.ts
new file mode 100644
index 0000000..4d9e9b9
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_profissao/GTBProfissaoSaveService.ts
@@ -0,0 +1,12 @@
+import GTBProfissaoSaveData from "../../_data/GTBProfissao/GTBProfissaoSaveData";
+import GTBProfissaoInterface from "../../_interfaces/GTBProfissaoInterface";
+
+export default async function GTProfissaoSaveService(data: GTBProfissaoInterface) {
+
+ const response = await GTBProfissaoSaveData(data);
+
+ console.log('GTBRegimeComunhaoSaveData', response)
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensIndexService.ts
new file mode 100644
index 0000000..b57f1f1
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensIndexService.ts
@@ -0,0 +1,9 @@
+import GTBRegimeBensIndexData from "../../_data/GTBRegimeBens/GTBRegimeBensIndexData";
+
+export default async function GTBRegimeBensIndexService() {
+
+ const response = await GTBRegimeBensIndexData();
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensRemoveService.ts
new file mode 100644
index 0000000..b194991
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensRemoveService.ts
@@ -0,0 +1,10 @@
+import GTBRegimeBensRemoveData from "../../_data/GTBRegimeBens/GTBRegimeBensRemoveData";
+import GTBRegimeBensInterface from "../../_interfaces/GTBRegimeBensInterface";
+
+export default async function GTBRegimeBensRemoveService(data: GTBRegimeBensInterface) {
+
+ const response = await GTBRegimeBensRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensSaveService.ts
new file mode 100644
index 0000000..cf8cefa
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimebens/GTBRegimeBensSaveService.ts
@@ -0,0 +1,14 @@
+import { GTBRegimeBensSaveData } from "../../_data/GTBRegimeBens/GTBRegimeBensSaveData";
+import GTBRegimeBensInterface from "../../_interfaces/GTBRegimeBensInterface";
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+
+async function executeGTBRegimeBensSaveService(data: GTBRegimeBensInterface) {
+
+ const response = await GTBRegimeBensSaveData(data);
+
+ return response;
+
+}
+
+// Executa a função de forma encapsulada
+export const GTBRegimeBensSaveService = withClientErrorHandler(executeGTBRegimeBensSaveService);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoIndexService.ts
new file mode 100644
index 0000000..f23ded7
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoIndexService.ts
@@ -0,0 +1,9 @@
+import GTBRegimeComunhaoIndexData from "../../_data/GTRegimeComunhao/GTBRegimeComunhaoIndexData";
+
+export default async function GTBRegimeComunhaoIndexService() {
+
+ const response = await GTBRegimeComunhaoIndexData();
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoRemoveService.ts
new file mode 100644
index 0000000..06bec9b
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoRemoveService.ts
@@ -0,0 +1,10 @@
+import GTBRegimeComunhaoRemoveData from "../../_data/GTRegimeComunhao/GTBRegimeComunhaoRemoveData";
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+
+export default async function GTBRegimeComunhaoRemoveService(data: GTBRegimeComunhaoInterface) {
+
+ const response = await GTBRegimeComunhaoRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoSaveService.ts
new file mode 100644
index 0000000..f81e5c9
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_regimecomunhao/GTBRegimeComunhaoSaveService.ts
@@ -0,0 +1,10 @@
+import GTBRegimeComunhaoSaveData from "../../_data/GTRegimeComunhao/GTBRegimeComunhaoSaveData";
+import GTBRegimeComunhaoInterface from "../../_interfaces/GTBRegimeComunhaoInterface";
+
+export default async function GTBRegimeComunhaoSaveService(data: GTBRegimeComunhaoInterface) {
+
+ const response = await GTBRegimeComunhaoSaveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroIndexService.ts
new file mode 100644
index 0000000..1eb7666
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroIndexService.ts
@@ -0,0 +1,12 @@
+import GTBTipoLogradouroIndexData from "../../_data/GTBTipoLogradouro/GTBTipoLogradouroIndexData";
+
+export default async function GTBTipoLogradouroIndexService() {
+
+ try {
+ const response = await GTBTipoLogradouroIndexData();
+ return response;
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroRemoveService.ts
new file mode 100644
index 0000000..2fca163
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroRemoveService.ts
@@ -0,0 +1,10 @@
+import GTBTipoLogradouroRemoveData from "../../_data/GTBTipoLogradouro/GTBTipoLogradouroRemoveData";
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+
+export default async function GTBTipoLogradouroRemoveService(data: GTBTipoLogradouroInterface) {
+
+ const response = await GTBTipoLogradouroRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroSaveService.ts
new file mode 100644
index 0000000..ce514bc
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_tb_tipologradouro/GTBTipoLogradouroSaveService.ts
@@ -0,0 +1,12 @@
+import GTBTipoLogradouroSaveData from "../../_data/GTBTipoLogradouro/GTBTipoLogradouroSaveData";
+import { GTBTipoLogradouroInterface } from "../../_interfaces/GTBTipoLogradouroInterface";
+
+export default async function GTBTipoLogradouroSaveService(data: GTBTipoLogradouroInterface) {
+
+ const response = await GTBTipoLogradouroSaveData(data);
+
+ console.log('GTBTipoLogradouroSaveData', response)
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecDeleteService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecDeleteService.ts
new file mode 100644
index 0000000..8a12cad
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecDeleteService.ts
@@ -0,0 +1,13 @@
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+import { TCensecDeleteData } from "../../_data/TCensec/TCensecDeleteData";
+import TCensecInterface from "../../_interfaces/TCensecInterface";
+
+async function executeTCensecDeleteService(data: TCensecInterface) {
+
+ const response = await TCensecDeleteData(data);
+
+ return response;
+
+}
+
+export const TCensecDeleteService = withClientErrorHandler(executeTCensecDeleteService);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecIndexService.ts
new file mode 100644
index 0000000..7909527
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecIndexService.ts
@@ -0,0 +1,12 @@
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+import { TCensecIndexData } from "../../_data/TCensec/TCensecIndexData";
+
+export default async function executeTCensecIndexService() {
+
+ const response = await TCensecIndexData();
+
+ return response;
+
+}
+
+export const TCensecIndexService = withClientErrorHandler(executeTCensecIndexService);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecSaveService.ts
new file mode 100644
index 0000000..f7d1739
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_censec/TCensecSaveService.ts
@@ -0,0 +1,13 @@
+import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
+import { TCensecSaveData } from "../../_data/TCensec/TCensecSaveData";
+import TCensecInterface from "../../_interfaces/TCensecInterface";
+
+async function executeTCensecSaveService(data: TCensecInterface) {
+
+ const response = await TCensecSaveData(data);
+
+ return response;
+
+}
+
+export const TCensecSaveService = withClientErrorHandler(executeTCensecSaveService);
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioIndexService.ts
new file mode 100644
index 0000000..2b6bacc
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioIndexService.ts
@@ -0,0 +1,12 @@
+import TCensecNaturezaLitigioIndexData from "../../_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndexData";
+
+export default async function TCensecNaturezaLitigioIndexService() {
+
+ try {
+ const response = await TCensecNaturezaLitigioIndexData();
+ return response;
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioRemoveService.ts
new file mode 100644
index 0000000..9530497
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioRemoveService.ts
@@ -0,0 +1,10 @@
+import TCensecNaturezaLitigioRemoveData from "../../_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioRemoveData";
+import { TCensecNaturezaLitigioInterface } from "../../_interfaces/TCensecNaturezaLitigioInterface";
+
+export default async function TCensecNaturezaLitigioRemoveService(data: TCensecNaturezaLitigioInterface) {
+
+ const response = await TCensecNaturezaLitigioRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioSaveService.ts
new file mode 100644
index 0000000..1f063c2
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_censecnaturezalitigio/TCensecNaturezaLitigioSaveService.ts
@@ -0,0 +1,10 @@
+import TCensecNaturezaLitigioSaveData from "../../_data/TCensecNaturezaLitigio/TCensecNaturezaLitigioSaveData";
+import { TCensecNaturezaLitigioInterface } from "../../_interfaces/TCensecNaturezaLitigioInterface";
+
+export default async function TCensecNaturezaLitigioSaveService(data: TCensecNaturezaLitigioInterface) {
+
+ const response = await TCensecNaturezaLitigioSaveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaIndex.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaIndex.ts
new file mode 100644
index 0000000..5038a30
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaIndex.ts
@@ -0,0 +1,13 @@
+import TMinutaIndexData from "../../_data/TMinuta/TMinutaIndexData";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+
+export default async function TMinutaIndex() {
+
+ try {
+ const response = await TMinutaIndexData();
+ return response;
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaIndexService.ts
new file mode 100644
index 0000000..00fe3d2
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaIndexService.ts
@@ -0,0 +1,21 @@
+import TMinutaIndex from "../../_data/TMinuta/TMinutaIndex";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+
+export default async function TMinutaIndexService(t_minuta_id: number) {
+
+ if (t_minuta_id <= 0) {
+ return {
+ 'code': 400,
+ 'message': 'Usuário informado inválido',
+ }
+ }
+
+ try {
+ const response = await TMinutaIndex(t_minuta_id);
+ console.log("service",response)
+ return response;
+ } catch (error) {
+ console.log(error)
+ return error
+ }
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaRemoveService.ts
new file mode 100644
index 0000000..12ed281
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaRemoveService.ts
@@ -0,0 +1,10 @@
+import TMinutaRemoveData from "../../_data/TMinuta/TMinutaRemoveData";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+
+export default async function TMinutaRemoveService(data: TMinutaInterface) {
+
+ const response = await TMinutaRemoveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaSaveService.ts
new file mode 100644
index 0000000..5dfc53f
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_minuta/TMinutaSaveService.ts
@@ -0,0 +1,10 @@
+import TMinutaSaveData from "../../_data/TMinuta/TMinutaSaveData";
+import { TMinutaInterface } from "../../_interfaces/TMinutaInterface";
+
+export default async function TMinutaSaveService(data: TMinutaInterface) {
+
+ const response = await TMinutaSaveData(data);
+
+ return response;
+
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(cadastros)/cadastros/pessoas/complementos/page.tsx b/src/app/(protected)/(cadastros)/cadastros/pessoas/complementos/page.tsx
new file mode 100644
index 0000000..5dc31bb
--- /dev/null
+++ b/src/app/(protected)/(cadastros)/cadastros/pessoas/complementos/page.tsx
@@ -0,0 +1,73 @@
+import { FileText, Heart, Briefcase, Scale, Link as LinkIcon, MapPin } from "lucide-react";
+import { Card, CardContent } from "@/components/ui/card";
+import Link from "next/link";
+
+export default function CadastrosPage() {
+
+ const items = [
+ {
+ title: 'Documentos',
+ description: 'Gerencie os tipos de documentos aceitos e suas configurações no sistema.',
+ icon: FileText,
+ },
+ {
+ title: 'Estado Civil',
+ description: 'Cadastre e mantenha os diferentes estados civis utilizados nos registros.',
+ icon: Heart,
+ },
+ {
+ title: 'Profissão',
+ description: 'Gerencie a lista de profissões para utilização em cadastros e registros.',
+ icon: Briefcase,
+ },
+ {
+ title: 'Regime de Comunhão',
+ description: 'Defina os regimes de comunhão aplicáveis em matrimônios e registros civis.',
+ icon: Scale,
+ },
+ {
+ title: 'Vínculo de Sinal Público',
+ description: 'Controle e cadastre vínculos relacionados a sinais públicos para autenticações.',
+ icon: LinkIcon,
+ },
+ {
+ title: 'Municípios',
+ description: 'Gerencie a base de municípios para utilização em endereços e cadastros.',
+ icon: MapPin,
+ },
+ ];
+
+ return (
+
+
+
+
+ Complementos de Cadastro pessoal
+
+
+ Gerencie os cadastros relacionados a regimes, como estado civil, regime de comunhão e outras informações complementares necessárias para o registro de pessoas.
+
+
+
+
+ {items.map((item, key) => (
+
+
+
+
+
+
+
+ {item.title}
+
+
+ {item.description}
+
+
+
+
+ ))}
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/(protected)/(servicos)/servicos/page.tsx b/src/app/(protected)/(servicos)/servicos/page.tsx
new file mode 100644
index 0000000..ebfcd9d
--- /dev/null
+++ b/src/app/(protected)/(servicos)/servicos/page.tsx
@@ -0,0 +1,88 @@
+'use client'
+
+import { Card, CardAction, CardContent, CardDescription, CardTitle } from "@/components/ui/card"
+import { BabyIcon, CrossIcon, FileCheckIcon, FileTextIcon, GavelIcon, GlobeIcon, HeartIcon, PenIcon, ScrollIcon, UsersIcon } from "lucide-react";
+
+const services = [
+ {
+ title: 'Registro de Nascimento',
+ description: 'Emissão e registro de certidões de nascimento, garantindo a cidadania e identidade legal do recém-nascido.',
+ icon: BabyIcon
+ },
+ {
+ title: 'Registro de Casamento',
+ description: 'Processo completo para habilitação, registro e emissão da certidão de casamento.',
+ icon: HeartIcon
+ },
+ {
+ title: 'Registro de Óbito',
+ description: 'Lavratura do registro de óbito e emissão da certidão correspondente para fins legais.',
+ icon: CrossIcon
+ },
+ {
+ title: 'Reconhecimento de Firma',
+ description: 'Autenticação da assinatura de documentos, garantindo sua validade jurídica.',
+ icon: PenIcon
+ },
+ {
+ title: 'Autenticação de Documentos',
+ description: 'Confirmação de que cópias estão de acordo com o documento original apresentado.',
+ icon: FileCheckIcon
+ },
+ {
+ title: 'Procurações',
+ description: 'Elaboração e registro de procurações públicas para representação legal de pessoas físicas ou jurídicas.',
+ icon: ScrollIcon
+ },
+ {
+ title: 'Testamentos',
+ description: 'Lavratura e registro de testamentos públicos com segurança jurídica.',
+ icon: GavelIcon
+ },
+ {
+ title: 'Divórcio Extrajudicial',
+ description: 'Formalização do divórcio por via administrativa, de forma rápida e sem processo judicial.',
+ icon: UsersIcon
+ },
+ {
+ title: 'Apostilamento de Documentos',
+ description: 'Apostilamento conforme a Convenção da Haia para validade internacional de documentos.',
+ icon: GlobeIcon
+ },
+ {
+ title: 'Certidões e Segunda Via',
+ description: 'Emissão de segundas vias e certidões de nascimento, casamento e óbito.',
+ icon: FileTextIcon
+ }
+];
+
+export default function ServicosPage() {
+ return (
+
+ )
+}
\ No newline at end of file
diff --git a/src/app/(protected)/layout.tsx b/src/app/(protected)/layout.tsx
index 0ca9fb4..982240e 100644
--- a/src/app/(protected)/layout.tsx
+++ b/src/app/(protected)/layout.tsx
@@ -49,7 +49,7 @@ export default function RootLayout({
-
+
{children}
-
+
diff --git a/src/app/_components/confirm_dialog/ConfirmDialog.tsx b/src/app/_components/confirm_dialog/ConfirmDialog.tsx
new file mode 100644
index 0000000..e24cfd3
--- /dev/null
+++ b/src/app/_components/confirm_dialog/ConfirmDialog.tsx
@@ -0,0 +1,81 @@
+'use client';
+
+import React from 'react';
+
+// Shadcn UI components
+import {
+ AlertDialog,
+ AlertDialogCancel,
+ AlertDialogContent,
+ AlertDialogDescription,
+ AlertDialogFooter,
+ AlertDialogHeader,
+ AlertDialogTitle,
+ AlertDialogAction,
+} from '@/components/ui/alert-dialog';
+
+interface AlertProps {
+ /** Controla a abertura do modal */
+ isOpen: boolean;
+
+ /** Título principal do alerta */
+ title: string;
+
+ /** Descrição adicional do alerta */
+ description?: string;
+
+ /** Mensagem do corpo do alerta */
+ message: string;
+
+ /** Texto do botão de confirmação */
+ confirmText?: string;
+
+ /** Texto do botão de cancelamento */
+ cancelText?: string;
+
+ /** Função executada ao confirmar */
+ onConfirm: () => void;
+
+ /** Função executada ao cancelar */
+ onCancel: () => void;
+}
+
+/**
+ * Componente de alerta genérico e reutilizável.
+ * Baseado no Radix e Shadcn UI, com suporte a título, descrição,
+ * mensagem e botões de ação customizáveis.
+ */
+export default function ConfirmDialog({
+ isOpen,
+ title,
+ description,
+ message,
+ confirmText = 'Confirmar',
+ cancelText = 'Cancelar',
+ onConfirm,
+ onCancel,
+}: AlertProps) {
+ return (
+
+
+
+ {title}
+ {description && (
+ {description}
+ )}
+
+
+ {message}
+
+
+
+ {cancelText}
+
+
+ {confirmText}
+
+
+
+
+ );
+}
diff --git a/src/app/_components/confirm_dialog/useConfirmDialog.ts b/src/app/_components/confirm_dialog/useConfirmDialog.ts
new file mode 100644
index 0000000..55afbc6
--- /dev/null
+++ b/src/app/_components/confirm_dialog/useConfirmDialog.ts
@@ -0,0 +1,51 @@
+// Importa os hooks useCallback e useState do React
+import { useCallback, useState } from "react";
+
+// Define a interface para opções do hook
+// Permite que o usuário passe callbacks opcionais para confirmação e cancelamento
+interface UseConfirmDialogOptions {
+ onConfirm?: () => void; // Função chamada quando o usuário confirma a ação
+ onCancel?: () => void; // Função chamada quando o usuário cancela a ação
+}
+
+// Declara o hook customizado useConfirmDialog
+// Recebe um objeto de opções que contém os callbacks onConfirm e onCancel
+export function useConfirmDialog({ onConfirm, onCancel }: UseConfirmDialogOptions = {}) {
+ // Estado interno que controla se o diálogo de confirmação está aberto
+ const [isOpen, setIsOpen] = useState(false);
+
+ // Função para abrir o diálogo
+ // useCallback memoriza a função para que não seja recriada em cada renderização
+ const openDialog = useCallback(() => setIsOpen(true), []);
+
+ // Função para fechar o diálogo
+ const closeDialog = useCallback(() => setIsOpen(false), []);
+
+ // Função chamada quando o usuário confirma a ação
+ // Executa o callback onConfirm, se fornecido, e fecha o diálogo
+ const handleConfirm = useCallback(() => {
+ onConfirm?.(); // Chama onConfirm somente se ele existir
+ closeDialog(); // Fecha o diálogo após a confirmação
+ }, [onConfirm, closeDialog]);
+
+ // Função chamada quando o usuário cancela a ação
+ // Executa o callback onCancel, se fornecido, e fecha o diálogo
+ const handleCancel = useCallback(() => {
+ onCancel?.(); // Chama onCancel somente se ele existir
+ closeDialog(); // Fecha o diálogo após o cancelamento
+ }, [onCancel, closeDialog]);
+
+ // Retorna os valores e funções que serão usados pelo componente
+ // isOpen -> estado do modal
+ // openDialog -> função para abrir o modal
+ // closeDialog -> função para fechar o modal
+ // handleConfirm -> função para confirmar a ação
+ // handleCancel -> função para cancelar a ação
+ return {
+ isOpen,
+ openDialog,
+ closeDialog,
+ handleConfirm,
+ handleCancel,
+ };
+}
diff --git a/src/app/_components/loadingButton/LoadingButton.tsx b/src/app/_components/loadingButton/LoadingButton.tsx
index e334b8b..3c890c4 100644
--- a/src/app/_components/loadingButton/LoadingButton.tsx
+++ b/src/app/_components/loadingButton/LoadingButton.tsx
@@ -15,7 +15,7 @@ const LoadingButton = forwardRef(
aria-busy={loading}
aria-live="polite"
className={clsx(
- "flex items-center justify-center gap-2 w-full my-3 cursor-pointer",
+ "cursor-pointer",
className
)}
{...props}
diff --git a/src/app/_components/structure/Header.tsx b/src/app/_components/structure/Header.tsx
new file mode 100644
index 0000000..c8c02e6
--- /dev/null
+++ b/src/app/_components/structure/Header.tsx
@@ -0,0 +1,33 @@
+import { Button } from "@/components/ui/button";
+import { PlusIcon } from "lucide-react";
+
+interface HeaderProps {
+
+ title: string,
+ description: string,
+ buttonText: string,
+ buttonAction: (...args: any[]) => void;
+};
+
+export default function Header({ title, description, buttonText, buttonAction }: HeaderProps) {
+
+ return (
+
+ {
+ const customTemplates = [
+ {
+ title: 'Qualificação das Partes (Casamento)',
+ description: 'Insere o bloco de qualificação para contraentes.',
+ content: `
QUALIFICAÇÃO DOS CONTRAENTES: Ele, brasileiro, solteiro, maior, [Profissão], portador da CI nº [RG], inscrito no CPF sob o nº [CPF], residente e domiciliado em [Endereço]. Ela, brasileira, solteira, maior, [Profissão], portadora da CI nº [RG], inscrita no CPF sob o nº [CPF], residente e domiciliada em [Endereço].
`
+ },
+ {
+ title: 'Cláusula de Regime de Bens',
+ description: 'Cláusula padrão de Comunhão Parcial de Bens.',
+ content: '
O regime de bens adotado é o da Comunhão Parcial de Bens, nos termos dos artigos 1.658 e seguintes do Código Civil brasileiro.
'
+ },
+ {
+ title: 'Cláusula de Encerramento (Selo)',
+ description: 'Texto final com espaço para o selo digital.',
+ content: '
O referido é verdade e dou fé. Emitida nesta data. Selo Digital de Fiscalização: [Número do Selo]