2472 v2 settings workspace module (#2532)

* update findOneWorkspaceMember

* profile picture upload is working

* first name and last name working

* support almost working

* remove picture working

* removed unused code

* remove console logs and fix allowImpersonation in FIND_ONE_WORKSPACE_MEMBER_V2

* use useUpdateOneObjectRecord
This commit is contained in:
bosiraphael
2023-11-16 11:59:13 +01:00
committed by GitHub
parent 96661b5f56
commit bee986749d
9 changed files with 89 additions and 65 deletions
@@ -1,28 +1,40 @@
import { useRecoilValue } from 'recoil';
import { useRecoilState } from 'recoil';
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
import { useUpdateOneObjectRecord } from '@/object-record/hooks/useUpdateOneObjectRecord';
import { useSnackBar } from '@/ui/feedback/snack-bar/hooks/useSnackBar';
import { Toggle } from '@/ui/input/components/Toggle';
import { useUpdateAllowImpersonationMutation } from '~/generated/graphql';
export const ToggleField = () => {
const { enqueueSnackBar } = useSnackBar();
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState);
const [currentWorkspaceMember, setCurrentWorkspaceMember] = useRecoilState(
currentWorkspaceMemberState,
);
const [updateAllowImpersonation] = useUpdateAllowImpersonationMutation();
const { updateOneObject, objectNotFoundInMetadata } =
useUpdateOneObjectRecord({
objectNameSingular: 'workspaceMemberV2',
});
const handleChange = async (value: boolean) => {
try {
const { data, errors } = await updateAllowImpersonation({
variables: {
if (!updateOneObject || objectNotFoundInMetadata) {
return;
}
await updateOneObject({
idToUpdate: currentWorkspaceMember?.id ?? '',
input: {
allowImpersonation: value,
},
});
if (errors || !data?.allowImpersonation) {
throw new Error('Error while updating user');
}
setCurrentWorkspaceMember(
(current) =>
({
...current,
allowImpersonation: value,
} as any),
);
} catch (err: any) {
enqueueSnackBar(err?.message, {
variant: 'error',