mirror of
https://github.com/lingble/twenty.git
synced 2025-11-11 02:36:22 +00:00
* feat: wip refactor schema builder * feat: wip store types and first queries generation * feat: refactor schema-builder and resolver-builder * fix: clean & small type fix * fix: avoid breaking change * fix: remove util from pg-graphql classes * fix: required default fields * Refactor frontend accordingly --------- Co-authored-by: Charles Bochet <charles@twenty.com>
45 lines
878 B
TypeScript
45 lines
878 B
TypeScript
import { FieldType } from '@/ui/object/field/types/FieldType';
|
|
import { Field } from '~/generated/graphql';
|
|
|
|
export const mapFieldMetadataToGraphQLQuery = (field: Field) => {
|
|
// TODO: parse
|
|
const fieldType = field.type as FieldType;
|
|
|
|
const fieldIsSimpleValue = (
|
|
[
|
|
'TEXT',
|
|
'PHONE',
|
|
'DATE',
|
|
'EMAIL',
|
|
'NUMBER',
|
|
'BOOLEAN',
|
|
'DATE',
|
|
] as FieldType[]
|
|
).includes(fieldType);
|
|
|
|
const fieldIsURL = fieldType === 'URL' || fieldType === 'URL_V2';
|
|
|
|
const fieldIsMoneyAmount =
|
|
fieldType === 'MONEY' || fieldType === 'MONEY_AMOUNT_V2';
|
|
|
|
if (fieldIsSimpleValue) {
|
|
return field.name;
|
|
} else if (fieldIsURL) {
|
|
return `
|
|
${field.name}
|
|
{
|
|
text
|
|
link
|
|
}
|
|
`;
|
|
} else if (fieldIsMoneyAmount) {
|
|
return `
|
|
${field.name}
|
|
{
|
|
amount
|
|
currency
|
|
}
|
|
`;
|
|
}
|
|
};
|