40 lines
883 B
TypeScript
40 lines
883 B
TypeScript
import { useState } from "react";
|
|
|
|
import { datajudApi } from "../services/datajud";
|
|
import { DatajudResponse } from "../types/datajud";
|
|
|
|
export function useDatajud() {
|
|
const [loading, setLoading] = useState(false);
|
|
const [error, setError] = useState<string | null>(null);
|
|
const [data, setData] = useState<DatajudResponse["_source"] | null>(null);
|
|
|
|
const consultarProcesso = async (
|
|
numeroProcesso: string,
|
|
tribunal: string,
|
|
) => {
|
|
setLoading(true);
|
|
setError(null);
|
|
|
|
try {
|
|
const response = await datajudApi.consultarProcesso(
|
|
numeroProcesso,
|
|
tribunal,
|
|
);
|
|
setData(response);
|
|
return response;
|
|
} catch (err) {
|
|
setError("Erro ao consultar processo no DataJud");
|
|
throw err;
|
|
} finally {
|
|
setLoading(false);
|
|
}
|
|
};
|
|
|
|
return {
|
|
consultarProcesso,
|
|
loading,
|
|
error,
|
|
data,
|
|
};
|
|
}
|