File size: 1,709 Bytes
17d873a 196c662 17d873a 196c662 17d873a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
import { useSetModalState, useShowDeleteConfirm } from '@/hooks/common-hooks';
import {
useAddTenantUser,
useAgreeTenant,
useDeleteTenantUser,
useFetchUserInfo,
} from '@/hooks/user-setting-hooks';
import { useCallback } from 'react';
export const useAddUser = () => {
const { addTenantUser } = useAddTenantUser();
const {
visible: addingTenantModalVisible,
hideModal: hideAddingTenantModal,
showModal: showAddingTenantModal,
} = useSetModalState();
const handleAddUserOk = useCallback(
async (email: string) => {
const code = await addTenantUser(email);
if (code === 0) {
hideAddingTenantModal();
}
},
[addTenantUser, hideAddingTenantModal],
);
return {
addingTenantModalVisible,
hideAddingTenantModal,
showAddingTenantModal,
handleAddUserOk,
};
};
export const useHandleDeleteUser = () => {
const { deleteTenantUser, loading } = useDeleteTenantUser();
const showDeleteConfirm = useShowDeleteConfirm();
const handleDeleteTenantUser = (userId: string) => () => {
showDeleteConfirm({
onOk: async () => {
const code = await deleteTenantUser({ userId });
if (code === 0) {
}
return;
},
});
};
return { handleDeleteTenantUser, loading };
};
export const useHandleAgreeTenant = () => {
const { agreeTenant } = useAgreeTenant();
const { deleteTenantUser } = useDeleteTenantUser();
const { data: user } = useFetchUserInfo();
const handleAgree = (tenantId: string, isAgree: boolean) => () => {
if (isAgree) {
agreeTenant(tenantId);
} else {
deleteTenantUser({ tenantId, userId: user.id });
}
};
return { handleAgree };
};
|