Rev 3689 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useNavigate } from 'react-router-dom';import { useAlert, useAlertModal, useApi } from '@shared/hooks';import { debounce } from '@shared/utils';import {getRequestsReceived,acceptRequest as acceptRequestService,rejectRequest as rejectRequestService} from '@groups/services';export const useGroupsRequestReceived = () => {const navigate = useNavigate();const { showAlert, closeAlert } = useAlertModal();const { showError, showSuccess } = useAlert();const {data: groups,loading,execute} = useApi(getRequestsReceived, {autoFetch: true});const { execute: acceptRequest } = useApi(acceptRequestService, {onSuccess: (message) => {showSuccess(message);closeAlert();execute();},onError: (error) => {showError(error.message);}});const { execute: executeRejectRequest } = useApi(rejectRequestService, {onSuccess: (message) => {showSuccess(message);closeAlert();execute();},onError: (error) => {showError(error.message);}});const rejectRequest = (url) => {showAlert({title: '¿Estás seguro de querer rechazar la invitación?',onConfirm: () => executeRejectRequest(url),onCancel: closeAlert});};const viewGroup = (url) => {navigate(url);};const searchGroups = debounce((value) => {execute({ search: value });}, 500);return { groups, loading, acceptRequest, rejectRequest, viewGroup, searchGroups };};