25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/withClientErrorHandler';
|
|
import API from '@/shared/services/api/Api';
|
|
import { Methods } from '@/shared/services/api/enums/ApiMethodEnum';
|
|
import ApiResponseInterface from '@/shared/services/api/interfaces/ApiResponseInterface';
|
|
|
|
import TServicoPedidoInterface from '../../interfaces/TServicoPedido/TServicoPedidoInterface';
|
|
|
|
async function executeTServicoPedidoSaveData(
|
|
data: TServicoPedidoInterface,
|
|
): Promise<ApiResponseInterface> {
|
|
// Verifica se existe ID para decidir se é atualização (PUT) ou criação (POST)
|
|
const isUpdate = Boolean(data.servico_pedido_id);
|
|
|
|
// Instancia o cliente da API
|
|
const api = new API();
|
|
|
|
// Executa a requisição para a API com o método apropriado e envia os dados no corpo
|
|
return api.send({
|
|
method: isUpdate ? Methods.PUT : Methods.POST, // PUT se atualizar, POST se criar
|
|
endpoint: `servicos/pedidos/t_servico_pedido/${data.servico_pedido_id || ''}`, // endpoint dinâmico
|
|
body: data, // payload enviado para a API
|
|
});
|
|
}
|
|
|
|
export const TServicoPedidoSaveData = withClientErrorHandler(executeTServicoPedidoSaveData);
|