refactor: rewrite useRoles with RQ

This commit is contained in:
Rıdvan Akca
2024-03-14 16:33:08 +03:00
parent 29341f81e1
commit 9218091c33
6 changed files with 67 additions and 22 deletions

View File

@@ -2,8 +2,9 @@ import { useMutation } from '@apollo/client';
import LoadingButton from '@mui/lab/LoadingButton';
import Stack from '@mui/material/Stack';
import MuiTextField from '@mui/material/TextField';
import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar';
import * as React from 'react';
import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar';
import ControlledAutocomplete from 'components/ControlledAutocomplete';
import Form from 'components/Form';
import Switch from 'components/Switch';
@@ -11,6 +12,7 @@ import TextField from 'components/TextField';
import { UPSERT_SAML_AUTH_PROVIDER } from 'graphql/mutations/upsert-saml-auth-provider';
import useFormatMessage from 'hooks/useFormatMessage';
import useRoles from 'hooks/useRoles.ee';
const defaultValues = {
active: false,
name: '',
@@ -24,16 +26,21 @@ const defaultValues = {
roleAttributeName: '',
defaultRoleId: '',
};
function generateRoleOptions(roles) {
return roles?.map(({ name: label, id: value }) => ({ label, value }));
}
function SamlConfiguration({ provider, providerLoading, refetchProvider }) {
const formatMessage = useFormatMessage();
const { roles, loading: rolesLoading } = useRoles();
const { data, loading: isRolesLoading } = useRoles();
const roles = data?.data;
const enqueueSnackbar = useEnqueueSnackbar();
const [upsertSamlAuthProvider, { loading }] = useMutation(
UPSERT_SAML_AUTH_PROVIDER,
);
const handleProviderUpdate = async (providerDataToUpdate) => {
try {
const {
@@ -66,9 +73,11 @@ function SamlConfiguration({ provider, providerLoading, refetchProvider }) {
},
},
});
if (!provider?.id) {
await refetchProvider();
}
enqueueSnackbar(formatMessage('authenticationForm.successfullySaved'), {
variant: 'success',
SnackbarProps: {
@@ -79,9 +88,11 @@ function SamlConfiguration({ provider, providerLoading, refetchProvider }) {
throw new Error('Failed while saving!');
}
};
if (providerLoading) {
return null;
}
return (
<Form
defaultValues={provider || defaultValues}
@@ -170,7 +181,7 @@ function SamlConfiguration({ provider, providerLoading, refetchProvider }) {
label={formatMessage('authenticationForm.defaultRole')}
/>
)}
loading={rolesLoading}
loading={isRolesLoading}
/>
<LoadingButton
type="submit"