Hide System Objects (#2488)

* Hide System Objects

* add filter isSystem: false in FIND_MANY_METADATA_OBJECTS

* add filter isSystem: false in FIND_MANY_METADATA_OBJECTS

* update generated gql

* add filter to useFindManyObjectMetadataItems

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Weiko
2023-11-14 15:27:24 +01:00
committed by GitHub
parent d27f16d97a
commit 7c229217be
9 changed files with 145 additions and 45 deletions

View File

@ -7,7 +7,11 @@ import NavItem from '@/ui/navigation/navbar/components/NavItem';
import { useFindManyObjectMetadataItems } from '../hooks/useFindManyObjectMetadataItems';
export const ObjectMetadataNavItems = () => {
const { objectMetadataItems } = useFindManyObjectMetadataItems();
const { objectMetadataItems } = useFindManyObjectMetadataItems({
filter: {
isSystem: { is: false },
},
});
const navigate = useNavigate();
const { icons } = useLazyLoadIcons();

View File

@ -1,8 +1,8 @@
import { gql } from '@apollo/client';
export const FIND_MANY_METADATA_OBJECTS = gql`
query ObjectMetadataItems {
objects(paging: { first: 1000 }) {
query ObjectMetadataItems($filter: objectFilter) {
objects(paging: { first: 1000 }, filter: $filter) {
edges {
node {
id
@ -15,6 +15,7 @@ export const FIND_MANY_METADATA_OBJECTS = gql`
icon
isCustom
isActive
isSystem
createdAt
updatedAt
fields(paging: { first: 1000 }) {

View File

@ -3,6 +3,7 @@ import { useQuery } from '@apollo/client';
import { useSnackBar } from '@/ui/feedback/snack-bar/hooks/useSnackBar';
import {
ObjectFilter,
ObjectMetadataItemsQuery,
ObjectMetadataItemsQueryVariables,
} from '~/generated-metadata/graphql';
@ -16,7 +17,8 @@ import { useApolloMetadataClient } from './useApolloMetadataClient';
// TODO: test fetchMore
export const useFindManyObjectMetadataItems = ({
skip,
}: { skip?: boolean } = {}) => {
filter,
}: { skip?: boolean; filter?: ObjectFilter } = {}) => {
const apolloMetadataClient = useApolloMetadataClient();
const { enqueueSnackBar } = useSnackBar();
@ -29,6 +31,9 @@ export const useFindManyObjectMetadataItems = ({
} = useQuery<ObjectMetadataItemsQuery, ObjectMetadataItemsQueryVariables>(
FIND_MANY_METADATA_OBJECTS,
{
variables: {
filter,
},
client: apolloMetadataClient ?? undefined,
skip: skip || !apolloMetadataClient,
onError: (error) => {

View File

@ -8,7 +8,11 @@ import { useFindManyObjectMetadataItems } from './useFindManyObjectMetadataItems
import { useUpdateOneObjectMetadataItem } from './useUpdateOneObjectMetadataItem';
export const useObjectMetadataItemForSettings = () => {
const { objectMetadataItems, loading } = useFindManyObjectMetadataItems();
const { objectMetadataItems, loading } = useFindManyObjectMetadataItems({
filter: {
isSystem: { is: false },
},
});
const activeObjectMetadataItems = objectMetadataItems.filter(
({ isActive }) => isActive,