Migrate to a monorepo structure (#2909)

This commit is contained in:
Charles Bochet
2023-12-10 18:10:54 +01:00
committed by GitHub
parent a70a9281eb
commit 5bdca9de6c
2304 changed files with 37152 additions and 25869 deletions

View File

@ -0,0 +1,25 @@
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
import { parseFieldRelationType } from '@/object-metadata/utils/parseFieldRelationType';
export const filterAvailableFieldMetadataItem = (
fieldMetadataItem: FieldMetadataItem,
): boolean => {
if (fieldMetadataItem.type === 'RELATION') {
const fieldMetadataItemRelationType =
parseFieldRelationType(fieldMetadataItem);
if (fieldMetadataItemRelationType !== 'TO_ONE_OBJECT') {
return false;
}
}
if (fieldMetadataItem.type === 'UUID') {
return false;
}
if (fieldMetadataItem.isSystem) {
return false;
}
return true;
};

View File

@ -0,0 +1,27 @@
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { isFieldRelation } from '@/object-record/field/types/guards/isFieldRelation';
import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
export const filterAvailableTableColumns = (
columnDefinition: ColumnDefinition<FieldMetadata>,
): boolean => {
if (
isFieldRelation(columnDefinition) &&
columnDefinition.metadata?.relationType !== 'TO_ONE_OBJECT'
) {
return false;
}
if (columnDefinition.type === 'UUID') {
return false;
}
if (
isFieldRelation(columnDefinition) &&
columnDefinition.metadata?.fieldName === 'pipelineStep'
) {
return false;
}
return true;
};

View File

@ -0,0 +1,17 @@
import { PaginatedRecordTypeEdge } from '@/object-record/types/PaginatedRecordTypeResults';
export const filterUniqueRecordEdgesByCursor = <
RecordType extends { id: string },
>(
arrayToFilter: PaginatedRecordTypeEdge<RecordType>[],
) => {
const seenCursors = new Set();
return arrayToFilter.filter((item) => {
const currentCursor = item.cursor;
return seenCursors.has(currentCursor)
? false
: seenCursors.add(currentCursor);
});
};

View File

@ -0,0 +1,25 @@
import { gql } from '@apollo/client';
import { EMPTY_MUTATION } from '@/object-metadata/hooks/useObjectMetadataItem';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { capitalize } from '~/utils/string/capitalize';
export const generateDeleteOneRecordMutation = ({
objectMetadataItem,
}: {
objectMetadataItem: ObjectMetadataItem;
}) => {
if (!objectMetadataItem) {
return EMPTY_MUTATION;
}
const capitalizedObjectName = capitalize(objectMetadataItem.nameSingular);
return gql`
mutation DeleteOne${capitalizedObjectName}($idToDelete: ID!) {
delete${capitalizedObjectName}(id: $idToDelete) {
id
}
}
`;
};

View File

@ -0,0 +1,24 @@
export const mapPaginatedRecordsToRecords = <
RecordType extends { id: string } & Record<string, any>,
RecordTypeQuery extends {
[objectNamePlural: string]: {
edges: RecordEdge[];
};
},
RecordEdge extends {
node: RecordType;
},
>({
pagedRecords,
objectNamePlural,
}: {
pagedRecords: RecordTypeQuery | undefined;
objectNamePlural: string;
}) => {
const formattedRecords: RecordType[] =
pagedRecords?.[objectNamePlural]?.edges?.map((recordEdge: RecordEdge) => ({
...recordEdge.node,
})) ?? [];
return formattedRecords;
};