mirror of https://github.com/buster-so/buster.git
verification pass through avatar url
This commit is contained in:
parent
6d02d8900f
commit
0331be1cda
|
@ -2,6 +2,7 @@ export interface BusterTerm {
|
|||
created_by: {
|
||||
id: string;
|
||||
name: string;
|
||||
avatar_url: string | null;
|
||||
};
|
||||
created_at: string;
|
||||
datasets: {
|
||||
|
|
|
@ -179,7 +179,10 @@ export const useShareCollection = () => {
|
|||
queryClient.setQueryData(queryKey, (previousData) => {
|
||||
if (!previousData) return previousData;
|
||||
return create(previousData, (draft: BusterCollection) => {
|
||||
draft.individual_permissions = [...params, ...(draft.individual_permissions || [])];
|
||||
draft.individual_permissions = [
|
||||
...params.map((p) => ({ ...p, avatar_url: null })),
|
||||
...(draft.individual_permissions || [])
|
||||
];
|
||||
});
|
||||
});
|
||||
},
|
||||
|
@ -227,7 +230,7 @@ export const useUpdateCollectionShare = () => {
|
|||
draft.individual_permissions =
|
||||
draft.individual_permissions?.map((t) => {
|
||||
const found = params.users?.find((v) => v.email === t.email);
|
||||
if (found) return found;
|
||||
if (found) return { ...t, ...found };
|
||||
return t;
|
||||
}) || [];
|
||||
|
||||
|
|
|
@ -352,7 +352,7 @@ export const useShareDashboard = () => {
|
|||
if (!previousData) return previousData;
|
||||
return create(previousData, (draft) => {
|
||||
draft.individual_permissions = [
|
||||
...variables.params,
|
||||
...variables.params.map((p) => ({ ...p, avatar_url: null })),
|
||||
...(draft.individual_permissions || [])
|
||||
];
|
||||
});
|
||||
|
@ -405,7 +405,7 @@ export const useUpdateDashboardShare = () => {
|
|||
draft.individual_permissions =
|
||||
draft.individual_permissions?.map((t) => {
|
||||
const found = params.users?.find((v) => v.email === t.email);
|
||||
if (found) return found;
|
||||
if (found) return { ...t, ...found };
|
||||
return t;
|
||||
}) || [];
|
||||
|
||||
|
|
|
@ -229,7 +229,7 @@ export const useShareMetric = () => {
|
|||
if (!previousData) return previousData;
|
||||
return create(previousData, (draft: BusterMetric) => {
|
||||
draft.individual_permissions = [
|
||||
...variables.params,
|
||||
...variables.params.map((p) => ({ ...p, avatar_url: null })),
|
||||
...(draft.individual_permissions || [])
|
||||
];
|
||||
});
|
||||
|
@ -299,7 +299,7 @@ export const useUpdateMetricShare = () => {
|
|||
draft.individual_permissions =
|
||||
draft.individual_permissions?.map((t) => {
|
||||
const found = variables.params.users?.find((v) => v.email === t.email);
|
||||
if (found) return found;
|
||||
if (found) return { ...t, ...found };
|
||||
return t;
|
||||
}) || [];
|
||||
|
||||
|
|
|
@ -9,11 +9,11 @@ export const IndividualSharePerson: React.FC<{
|
|||
name?: string;
|
||||
email: string;
|
||||
role: ShareRole;
|
||||
avatarURL: string | null;
|
||||
avatar_url: string | null;
|
||||
onUpdateShareRole: (email: string, role: ShareRole | null) => void;
|
||||
assetType: ShareAssetType;
|
||||
disabled: boolean;
|
||||
}> = React.memo(({ name, onUpdateShareRole, email, avatarURL, role, assetType, disabled }) => {
|
||||
}> = React.memo(({ name, onUpdateShareRole, email, avatar_url, role, assetType, disabled }) => {
|
||||
const isSameEmailName = name === email;
|
||||
|
||||
const onChangeShareLevel = useMemoizedFn((v: ShareRole | null) => {
|
||||
|
@ -26,7 +26,7 @@ export const IndividualSharePerson: React.FC<{
|
|||
data-testid={`share-person-${email}`}>
|
||||
<div className="flex h-full items-center space-x-1.5 overflow-hidden">
|
||||
<div className="flex h-full flex-col items-center justify-center">
|
||||
<Avatar className="h-[24px] w-[24px]" name={name || email} image={avatarURL} />
|
||||
<Avatar className="h-[24px] w-[24px]" name={name || email} image={avatar_url} />
|
||||
</div>
|
||||
<div className="flex flex-col space-y-0 overflow-hidden">
|
||||
<Text truncate className="leading-1.3">
|
||||
|
|
|
@ -19,12 +19,14 @@ const mockShareConfig: ShareConfig = {
|
|||
{
|
||||
email: 'test_with_a_long_name_like_super_long_name@test.com',
|
||||
role: 'canView',
|
||||
name: 'Test User'
|
||||
name: 'Test User',
|
||||
avatar_url: null
|
||||
},
|
||||
{
|
||||
email: 'test2@test.com',
|
||||
role: 'fullAccess',
|
||||
name: 'Test User 2 with a long name like super long name'
|
||||
name: 'Test User 2 with a long name like super long name',
|
||||
avatar_url: null
|
||||
}
|
||||
],
|
||||
public_expiry_date: null,
|
||||
|
|
|
@ -6,7 +6,7 @@ import { Tooltip } from '../tooltip/Tooltip';
|
|||
import { Avatar as AvatarBase, AvatarFallback, AvatarImage } from './AvatarBase';
|
||||
|
||||
export interface AvatarProps {
|
||||
image: string | null | undefined;
|
||||
image?: string | null | undefined;
|
||||
name?: string | null;
|
||||
className?: string;
|
||||
fallbackClassName?: string;
|
||||
|
|
|
@ -45,7 +45,7 @@ export const TermIndividualContentSider: React.FC<{ termId: string }> = ({ termI
|
|||
</Text>
|
||||
|
||||
<div className="flex items-center space-x-1.5">
|
||||
<Avatar size={24} name={term?.created_by.name} />
|
||||
<Avatar size={24} name={term?.created_by.name} image={term?.created_by.avatar_url} />
|
||||
<Text>{term?.created_by.name}</Text>
|
||||
<Text variant="secondary">
|
||||
(
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
export * from './shareInterfaces';
|
||||
export * from './verificationInterfaces';
|
||||
export * from './share-interfaces.types';
|
||||
export * from './verification.types';
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
ShareConfigSchema,
|
||||
ShareIndividualSchema,
|
||||
ShareRoleSchema,
|
||||
} from './shareInterfaces';
|
||||
} from './share-interfaces.types';
|
||||
|
||||
describe('ShareRoleSchema', () => {
|
||||
it('should accept valid role values', () => {
|
Loading…
Reference in New Issue