saas_app/src/packages/servicos/data/TServicoPedido/TServicoPedidoSaveData.ts

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);