feat: refactor folder structure (#4498)

* feat: wip refactor folder structure

* Fix

* fix position

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Jérémy M
2024-03-15 14:40:58 +01:00
committed by GitHub
parent 52f1b3ac98
commit 94487f6737
760 changed files with 3215 additions and 3155 deletions

View File

@ -0,0 +1,15 @@
import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface';
import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity';
import { camelCase } from 'src/utils/camel-case';
// Compute composite field metadata by combining the composite field metadata with the field metadata
export const computeCompositeFieldMetadata = (
compositeFieldMetadata: FieldMetadataInterface,
fieldMetadata: FieldMetadataEntity,
): FieldMetadataEntity => ({
...fieldMetadata,
...compositeFieldMetadata,
objectMetadataId: fieldMetadata.objectMetadataId,
name: camelCase(`${fieldMetadata.name}-${compositeFieldMetadata.name}`),
});

View File

@ -0,0 +1,25 @@
import { WorkspaceHealthIssueType } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface';
export const isWorkspaceHealthNullableIssue = (
type: WorkspaceHealthIssueType,
): type is WorkspaceHealthIssueType.COLUMN_NULLABILITY_CONFLICT => {
return type === WorkspaceHealthIssueType.COLUMN_NULLABILITY_CONFLICT;
};
export const isWorkspaceHealthTypeIssue = (
type: WorkspaceHealthIssueType,
): type is WorkspaceHealthIssueType.COLUMN_DATA_TYPE_CONFLICT => {
return type === WorkspaceHealthIssueType.COLUMN_DATA_TYPE_CONFLICT;
};
export const isWorkspaceHealthDefaultValueIssue = (
type: WorkspaceHealthIssueType,
): type is WorkspaceHealthIssueType.COLUMN_DEFAULT_VALUE_CONFLICT => {
return type === WorkspaceHealthIssueType.COLUMN_DEFAULT_VALUE_CONFLICT;
};
export const isWorkspaceHealthTargetColumnMapIssue = (
type: WorkspaceHealthIssueType,
): type is WorkspaceHealthIssueType.COLUMN_TARGET_COLUMN_MAP_NOT_VALID => {
return type === WorkspaceHealthIssueType.COLUMN_TARGET_COLUMN_MAP_NOT_VALID;
};

View File

@ -0,0 +1,34 @@
import { ConflictException } from '@nestjs/common';
import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity';
export const mapFieldMetadataTypeToDataType = (
fieldMetadataType: FieldMetadataType,
): string => {
switch (fieldMetadataType) {
case FieldMetadataType.UUID:
return 'uuid';
case FieldMetadataType.TEXT:
return 'text';
case FieldMetadataType.PHONE:
case FieldMetadataType.EMAIL:
return 'varchar';
case FieldMetadataType.NUMERIC:
return 'numeric';
case FieldMetadataType.NUMBER:
case FieldMetadataType.PROBABILITY:
return 'double precision';
case FieldMetadataType.BOOLEAN:
return 'boolean';
case FieldMetadataType.DATE_TIME:
return 'timestamp';
case FieldMetadataType.RATING:
case FieldMetadataType.SELECT:
case FieldMetadataType.MULTI_SELECT:
return 'enum';
default:
throw new ConflictException(
`Cannot convert ${fieldMetadataType} to data type.`,
);
}
};

View File

@ -0,0 +1,3 @@
export const validName = (name: string): boolean => {
return /^[a-zA-Z0-9_]+$/.test(name);
};