'use server'; // Indica que este módulo será executado no lado do servidor (Server Action do Next.js) import { Methods } from '@/shared/services/api/enums/ApiMethodEnum'; // Importa o enum com os tipos de métodos HTTP disponíveis (GET, POST, PUT, DELETE...) import API from '@/shared/services/api/Api'; // Importa a classe responsável por centralizar chamadas à API (wrapper de fetch ou axios) import { withClientErrorHandler } from '@/withClientErrorHandler/withClientErrorHandler'; // Importa um decorador/função HOC que trata erros de forma padronizada nas requisições /** * Função principal responsável por buscar a lista de clientes na API. * Executa uma requisição HTTP GET para o endpoint administrativo/client. */ async function executeClientIndexData() { // Instancia o serviço de API para uso nesta função const api = new API(); // Executa uma requisição GET para o endpoint administrativo/client/ // - Usa o método 'send' da classe API // - Passa o método HTTP e o endpoint como parâmetros const response = await api.send({ method: Methods.GET, // Método HTTP GET endpoint: `administrativo/client/`, // Rota da API que retorna a lista de clientes }); // Retorna a resposta obtida da API return response; } /** * Exporta a função encapsulada com o handler de erro. * Caso ocorra falha na requisição, o withClientErrorHandler * intercepta o erro e o trata de forma uniforme (ex: logging, toast, etc.) */ export const ClientIndexData = withClientErrorHandler(executeClientIndexData);