novas atualizacoes do sistema de fechamento

This commit is contained in:
Vitex Tecnologia
2026-04-27 16:50:27 -03:00
parent 6da067c641
commit 4c28862c5c
27 changed files with 3388 additions and 300 deletions
+46
View File
@@ -45,6 +45,18 @@ type CriarCompetenciaResponse = {
data: CompetenciaItem;
};
type ConcluirCompetenciaResponse = {
data: CompetenciaItem & {
concluidoPorNome: string | null;
};
};
type ReabrirCompetenciaResponse = {
data: CompetenciaItem & {
reabertoPorNome: string | null;
};
};
type ImportarCompetenciaResponse = {
data: {
competenciaId: string;
@@ -129,6 +141,40 @@ class FechamentoCompetenciasService {
}
}
async concluirCompetencia(competenciaId: string, concluidoPorId: string): Promise<ConcluirCompetenciaResponse["data"]> {
try {
const headers = await buildCommanderHeaders();
const baseUrl = resolveCommanderBaseUrl();
const response = await axios.post<ConcluirCompetenciaResponse>(
`${baseUrl}/competencias/${competenciaId}/concluir`,
{ concluido_por_id: concluidoPorId },
{ headers },
);
return response.data.data;
} catch (error) {
this.handleAxiosError(error, "Erro ao concluir competência.");
}
}
async reabrirCompetencia(
competenciaId: string,
reabertoPorId: string,
motivo?: string,
): Promise<ReabrirCompetenciaResponse["data"]> {
try {
const headers = await buildCommanderHeaders();
const baseUrl = resolveCommanderBaseUrl();
const response = await axios.post<ReabrirCompetenciaResponse>(
`${baseUrl}/competencias/${competenciaId}/reabrir`,
{ reaberto_por_id: reabertoPorId, motivo },
{ headers },
);
return response.data.data;
} catch (error) {
this.handleAxiosError(error, "Erro ao reabrir competência.");
}
}
async importarDoAsana(
competenciaId: string,
opcoes?: { modo?: ImportacaoAsanaModo; parceiroIds?: string[] },