datahub/datahub-web-react/src/graphql-mock/resolver/updateDashboardResolver.ts

46 lines
1.6 KiB
TypeScript
Raw Normal View History

import { findDashboardByURN } from '@graphql-mock/fixtures/searchResult/dashboardSearchResult';
import { updateEntityOwners, updateEntityTag } from '@graphql-mock/mutationHelper';
import { Dashboard, DashboardUpdateInput } from '@types';
type UpdateDashboard = {
data: { updateDashboard: Dashboard };
};
export const updateDashboardResolver = {
updateDashboard({ variables: { urn, input } }): UpdateDashboard {
const { ownership, globalTags }: DashboardUpdateInput = input;
const dashboard = findDashboardByURN(urn);
if (ownership) {
updateEntityOwners({ entity: dashboard, owners: ownership?.owners });
} else if (globalTags) {
updateEntityTag({ entity: dashboard, globalTags });
}
return {
data: {
updateDashboard: Object.assign(dashboard, {
info: {
...dashboard.info,
charts: [],
customProperties: [],
lastRefreshed: null,
created: {
time: 1619160920,
__typename: 'AuditStamp',
},
},
downstreamLineage: {
entities: [],
__typename: 'DownstreamEntityRelationships',
},
upstreamLineage: {
entities: [],
__typename: 'UpstreamEntityRelationships',
},
}),
},
};
},
};