feat: refactor schema builder and resolver builder (#2215)

* 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>
This commit is contained in:
Jérémy M
2023-11-03 17:16:37 +01:00
committed by GitHub
parent aba3fd454b
commit 1ed4965a95
216 changed files with 3215 additions and 2028 deletions

View File

@ -33,7 +33,7 @@ const DateFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'date',
label: 'Date',
type: 'date',
type: 'DATE',
metadata: {
fieldName: 'Date',
},

View File

@ -40,7 +40,7 @@ const DoubleTextFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'double-text',
label: 'Double-Text',
type: 'double-text',
type: 'DOUBLE_TEXT',
metadata: {
firstValueFieldName: 'First-text',
firstValuePlaceholder: 'First-text',

View File

@ -32,7 +32,7 @@ const EmailFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'email',
label: 'Email',
type: 'email',
type: 'EMAIL',
metadata: {
fieldName: 'Email',
placeHolder: 'Email',

View File

@ -34,7 +34,7 @@ const MoneyFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'money',
label: 'Money',
type: 'moneyAmount',
type: 'MONEY_AMOUNT',
metadata: {
fieldName: 'Amount',
placeHolder: 'Amount',

View File

@ -34,7 +34,7 @@ const NumberFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'number',
label: 'Number',
type: 'number',
type: 'NUMBER',
metadata: {
fieldName: 'Number',
placeHolder: 'Number',

View File

@ -32,7 +32,7 @@ const PhoneFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'phone',
label: 'Phone',
type: 'phone',
type: 'PHONE',
metadata: {
fieldName: 'Phone',
placeHolder: 'Phone',

View File

@ -34,7 +34,7 @@ const TextFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'text',
label: 'Text',
type: 'text',
type: 'TEXT',
metadata: {
fieldName: 'Text',
placeHolder: 'Text',

View File

@ -32,7 +32,7 @@ const URLFieldDisplayWithContext = ({
fieldDefinition={{
fieldId: 'URL',
label: 'URL',
type: 'url',
type: 'URL',
metadata: {
fieldName: 'URL',
placeHolder: 'URL',

View File

@ -9,7 +9,7 @@ import { isFieldBoolean } from '../../types/guards/isFieldBoolean';
export const useBooleanField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('boolean', isFieldBoolean, fieldDefinition);
assertFieldMetadata('BOOLEAN', isFieldBoolean, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -10,7 +10,7 @@ import { isFieldChip } from '../../types/guards/isFieldChip';
export const useChipField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('chip', isFieldChip, fieldDefinition);
assertFieldMetadata('CHIP', isFieldChip, fieldDefinition);
const contentFieldName = fieldDefinition.metadata.contentFieldName;
const avatarUrlFieldName = fieldDefinition.metadata.urlFieldName;

View File

@ -9,7 +9,7 @@ import { isFieldDate } from '../../types/guards/isFieldDate';
export const useDateField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('date', isFieldDate, fieldDefinition);
assertFieldMetadata('DATE', isFieldDate, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -11,7 +11,7 @@ export const useDoubleTextChipField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(
'double-text-chip',
'DOUBLE_TEXT_CHIP',
isFieldDoubleTextChip,
fieldDefinition,
);

View File

@ -10,7 +10,7 @@ import { isFieldDoubleText } from '../../types/guards/isFieldDoubleText';
export const useDoubleTextField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('double-text', isFieldDoubleText, fieldDefinition);
assertFieldMetadata('DOUBLE_TEXT', isFieldDoubleText, fieldDefinition);
const [firstValue, setFirstValue] = useRecoilState<string>(
entityFieldsFamilySelector({

View File

@ -10,7 +10,7 @@ import { isFieldEmail } from '../../types/guards/isFieldEmail';
export const useEmailField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('email', isFieldEmail, fieldDefinition);
assertFieldMetadata('EMAIL', isFieldEmail, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -13,7 +13,7 @@ import { isFieldMoneyAmountV2Value } from '../../types/guards/isFieldMoneyAmount
export const useMoneyAmountV2Field = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('moneyAmountV2', isFieldMoneyAmountV2, fieldDefinition);
assertFieldMetadata('MONEY_AMOUNT_V2', isFieldMoneyAmountV2, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -16,7 +16,7 @@ import { isFieldMoney } from '../../types/guards/isFieldMoney';
export const useMoneyField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('moneyAmount', isFieldMoney, fieldDefinition);
assertFieldMetadata('MONEY_AMOUNT', isFieldMoney, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -16,7 +16,7 @@ import { isFieldNumber } from '../../types/guards/isFieldNumber';
export const useNumberField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('number', isFieldNumber, fieldDefinition);
assertFieldMetadata('NUMBER', isFieldNumber, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -12,7 +12,7 @@ import { isFieldPhone } from '../../types/guards/isFieldPhone';
export const usePhoneField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('phone', isFieldPhone, fieldDefinition);
assertFieldMetadata('PHONE', isFieldPhone, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -9,7 +9,7 @@ import { isFieldProbability } from '../../types/guards/isFieldProbability';
export const useProbabilityField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('probability', isFieldProbability, fieldDefinition);
assertFieldMetadata('PROBABILITY', isFieldProbability, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -11,7 +11,7 @@ import { isFieldRelation } from '../../types/guards/isFieldRelation';
export const useRelationField = () => {
const { entityId, fieldDefinition } = useContext(FieldContext);
assertFieldMetadata('relation', isFieldRelation, fieldDefinition);
assertFieldMetadata('RELATION', isFieldRelation, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -10,7 +10,7 @@ import { isFieldText } from '../../types/guards/isFieldText';
export const useTextField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('text', isFieldText, fieldDefinition);
assertFieldMetadata('TEXT', isFieldText, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -13,7 +13,7 @@ import { isFieldURL } from '../../types/guards/isFieldURL';
export const useURLField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('url', isFieldURL, fieldDefinition);
assertFieldMetadata('URL', isFieldURL, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -13,7 +13,7 @@ import { isFieldURLV2Value } from '../../types/guards/isFieldURLV2Value';
export const useURLV2Field = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata('urlV2', isFieldURLV2, fieldDefinition);
assertFieldMetadata('URL_V2', isFieldURLV2, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -36,7 +36,7 @@ const BooleanFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'boolean',
label: 'Boolean',
type: 'boolean',
type: 'BOOLEAN',
metadata: {
fieldName: 'Boolean',
},

View File

@ -46,7 +46,7 @@ const ChipFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'chip',
label: 'Chip',
type: 'chip',
type: 'CHIP',
metadata: {
contentFieldName: 'name',
urlFieldName: 'xURL',

View File

@ -46,7 +46,7 @@ const DateFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'date',
label: 'Date',
type: 'date',
type: 'DATE',
metadata: {
fieldName: 'Date',
},

View File

@ -59,7 +59,7 @@ const DoubleTextChipFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'double-text-chip',
label: 'Double-Text-Chip',
type: 'double-text-chip',
type: 'DOUBLE_TEXT_CHIP',
metadata: {
firstValueFieldName: 'First-text',
firstValuePlaceholder: 'First-text',

View File

@ -57,7 +57,7 @@ const DoubleTextFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'double-text',
label: 'Double-Text',
type: 'double-text',
type: 'DOUBLE_TEXT',
metadata: {
firstValueFieldName: 'First-text',
firstValuePlaceholder: 'First-text',

View File

@ -45,7 +45,7 @@ const EmailFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'email',
label: 'Email',
type: 'email',
type: 'EMAIL',
metadata: {
fieldName: 'email',
placeHolder: 'username@email.com',

View File

@ -45,7 +45,7 @@ const MoneyFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'moneyAmount',
label: 'MoneyAmout',
type: 'moneyAmount',
type: 'MONEY_AMOUNT',
metadata: {
fieldName: 'moneyAmount',
placeHolder: 'Enter Amount',

View File

@ -45,7 +45,7 @@ const NumberFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'number',
label: 'Number',
type: 'number',
type: 'NUMBER',
metadata: {
fieldName: 'number',
placeHolder: 'Enter number',

View File

@ -45,7 +45,7 @@ const PhoneFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'phone',
label: 'Phone',
type: 'phone',
type: 'PHONE',
metadata: {
fieldName: 'Phone',
placeHolder: 'Enter phone number',

View File

@ -43,7 +43,7 @@ const ProbabilityFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'probability',
label: 'Probability',
type: 'probability',
type: 'PROBABILITY',
metadata: {
fieldName: 'Probability',
},

View File

@ -48,7 +48,7 @@ const RelationFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'relation',
label: 'Relation',
type: 'relation',
type: 'RELATION',
metadata: {
fieldName: 'Relation',
relationType: Entity.Person,

View File

@ -45,7 +45,7 @@ const TextFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'text',
label: 'Text',
type: 'text',
type: 'TEXT',
metadata: {
fieldName: 'Text',
placeHolder: 'Enter text',

View File

@ -45,7 +45,7 @@ const URLFieldInputWithContext = ({
fieldDefinition={{
fieldId: 'url',
label: 'URL',
type: 'url',
type: 'URL',
metadata: {
fieldName: 'URL',
placeHolder: 'Enter URL',

View File

@ -1,17 +1,17 @@
export type FieldType =
| 'text'
| 'relation'
| 'chip'
| 'double-text-chip'
| 'double-text'
| 'number'
| 'email'
| 'boolean'
| 'date'
| 'phone'
| 'url'
| 'urlV2'
| 'probability'
| 'moneyAmountV2'
| 'moneyAmount'
| 'money';
| 'TEXT'
| 'RELATION'
| 'CHIP'
| 'DOUBLE_TEXT_CHIP'
| 'DOUBLE_TEXT'
| 'NUMBER'
| 'EMAIL'
| 'BOOLEAN'
| 'DATE'
| 'PHONE'
| 'URL'
| 'URL_V2'
| 'PROBABILITY'
| 'MONEY_AMOUNT_V2'
| 'MONEY_AMOUNT'
| 'MONEY';

View File

@ -21,35 +21,35 @@ import { FieldType } from '../FieldType';
type AssertFieldMetadataFunction = <
E extends FieldType,
T extends E extends 'text'
T extends E extends 'TEXT'
? FieldTextMetadata
: E extends 'relation'
: E extends 'RELATION'
? FieldRelationMetadata
: E extends 'chip'
: E extends 'CHIP'
? FieldChipMetadata
: E extends 'double-text-chip'
: E extends 'DOUBLE_TEXT_CHIP'
? FieldDoubleTextChipMetadata
: E extends 'double-text'
: E extends 'DOUBLE_TEXT'
? FieldDoubleTextMetadata
: E extends 'number'
: E extends 'NUMBER'
? FieldNumberMetadata
: E extends 'email'
: E extends 'EMAIL'
? FieldEmailMetadata
: E extends 'boolean'
: E extends 'BOOLEAN'
? FieldBooleanMetadata
: E extends 'date'
: E extends 'DATE'
? FieldDateMetadata
: E extends 'phone'
: E extends 'PHONE'
? FieldPhoneMetadata
: E extends 'url'
: E extends 'URL'
? FieldURLMetadata
: E extends 'urlV2'
: E extends 'URL_V2'
? FieldURLV2Metadata
: E extends 'probability'
: E extends 'PROBABILITY'
? FieldProbabilityMetadata
: E extends 'moneyAmount'
: E extends 'MONEY_AMOUNT'
? FieldMoneyMetadata
: E extends 'moneyAmountV2'
: E extends 'MONEY_AMOUNT_V2'
? FieldMoneyAmountV2Metadata
: never,
>(

View File

@ -3,4 +3,4 @@ import { FieldBooleanMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldBoolean = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldBooleanMetadata> => field.type === 'boolean';
): field is FieldDefinition<FieldBooleanMetadata> => field.type === 'BOOLEAN';

View File

@ -3,4 +3,4 @@ import { FieldChipMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldChip = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldChipMetadata> => field.type === 'chip';
): field is FieldDefinition<FieldChipMetadata> => field.type === 'CHIP';

View File

@ -3,4 +3,4 @@ import { FieldDateMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldDate = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldDateMetadata> => field.type === 'date';
): field is FieldDefinition<FieldDateMetadata> => field.type === 'DATE';

View File

@ -4,4 +4,4 @@ import { FieldDoubleTextMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldDoubleText = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldDoubleTextMetadata> =>
field.type === 'double-text';
field.type === 'DOUBLE_TEXT';

View File

@ -4,4 +4,4 @@ import { FieldDoubleTextChipMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldDoubleTextChip = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldDoubleTextChipMetadata> =>
field.type === 'double-text-chip';
field.type === 'DOUBLE_TEXT_CHIP';

View File

@ -3,4 +3,4 @@ import { FieldEmailMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldEmail = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldEmailMetadata> => field.type === 'email';
): field is FieldDefinition<FieldEmailMetadata> => field.type === 'EMAIL';

View File

@ -3,4 +3,5 @@ import { FieldMetadata, FieldMoneyMetadata } from '../FieldMetadata';
export const isFieldMoney = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldMoneyMetadata> => field.type === 'moneyAmount';
): field is FieldDefinition<FieldMoneyMetadata> =>
field.type === 'MONEY_AMOUNT';

View File

@ -4,4 +4,4 @@ import { FieldMetadata, FieldMoneyAmountV2Metadata } from '../FieldMetadata';
export const isFieldMoneyAmountV2 = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldMoneyAmountV2Metadata> =>
field.type === 'moneyAmountV2';
field.type === 'MONEY_AMOUNT_V2';

View File

@ -3,4 +3,4 @@ import { FieldMetadata, FieldNumberMetadata } from '../FieldMetadata';
export const isFieldNumber = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldNumberMetadata> => field.type === 'number';
): field is FieldDefinition<FieldNumberMetadata> => field.type === 'NUMBER';

View File

@ -3,4 +3,4 @@ import { FieldMetadata, FieldPhoneMetadata } from '../FieldMetadata';
export const isFieldPhone = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldPhoneMetadata> => field.type === 'phone';
): field is FieldDefinition<FieldPhoneMetadata> => field.type === 'PHONE';

View File

@ -4,4 +4,4 @@ import { FieldMetadata, FieldProbabilityMetadata } from '../FieldMetadata';
export const isFieldProbability = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldProbabilityMetadata> =>
field.type === 'probability';
field.type === 'PROBABILITY';

View File

@ -3,4 +3,4 @@ import { FieldMetadata, FieldRelationMetadata } from '../FieldMetadata';
export const isFieldRelation = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldRelationMetadata> => field.type === 'relation';
): field is FieldDefinition<FieldRelationMetadata> => field.type === 'RELATION';

View File

@ -3,4 +3,4 @@ import { FieldMetadata, FieldTextMetadata } from '../FieldMetadata';
export const isFieldText = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldTextMetadata> => field.type === 'text';
): field is FieldDefinition<FieldTextMetadata> => field.type === 'TEXT';

View File

@ -3,4 +3,4 @@ import { FieldMetadata, FieldURLMetadata } from '../FieldMetadata';
export const isFieldURL = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldURLMetadata> => field.type === 'url';
): field is FieldDefinition<FieldURLMetadata> => field.type === 'URL';

View File

@ -3,4 +3,4 @@ import { FieldMetadata, FieldURLV2Metadata } from '../FieldMetadata';
export const isFieldURLV2 = (
field: FieldDefinition<FieldMetadata>,
): field is FieldDefinition<FieldURLV2Metadata> => field.type === 'urlV2';
): field is FieldDefinition<FieldURLV2Metadata> => field.type === 'URL_V2';

View File

@ -30,19 +30,19 @@ export const MultipleFiltersDropdownContent = () => {
<>
<ObjectFilterDropdownOperandButton />
<DropdownMenuSeparator />
{filterDefinitionUsedInDropdown.type === 'text' && (
{filterDefinitionUsedInDropdown.type === 'TEXT' && (
<ObjectFilterDropdownTextSearchInput />
)}
{filterDefinitionUsedInDropdown.type === 'number' && (
{filterDefinitionUsedInDropdown.type === 'NUMBER' && (
<ObjectFilterDropdownNumberSearchInput />
)}
{filterDefinitionUsedInDropdown.type === 'date' && (
{filterDefinitionUsedInDropdown.type === 'DATE' && (
<ObjectFilterDropdownDateSearchInput />
)}
{filterDefinitionUsedInDropdown.type === 'entity' && (
{filterDefinitionUsedInDropdown.type === 'ENTITY' && (
<ObjectFilterDropdownEntitySearchInput />
)}
{filterDefinitionUsedInDropdown.type === 'entity' && (
{filterDefinitionUsedInDropdown.type === 'ENTITY' && (
<ObjectFilterDropdownEntitySelect />
)}
</>

View File

@ -16,7 +16,7 @@ export const ObjectFilterDropdownButton = ({
const hasOnlyOneEntityFilter =
availableFilterDefinitions.length === 1 &&
availableFilterDefinitions[0].type === 'entity';
availableFilterDefinitions[0].type === 'ENTITY';
if (!availableFilterDefinitions.length) {
return <></>;

View File

@ -6,7 +6,7 @@ import { useFilter } from '../hooks/useFilter';
export const ObjectFilterDropdownEntitySelect = () => {
const { filterDefinitionUsedInDropdown } = useFilter();
if (filterDefinitionUsedInDropdown?.type !== 'entity') {
if (filterDefinitionUsedInDropdown?.type !== 'ENTITY') {
return null;
}

View File

@ -25,7 +25,7 @@ export const ObjectFilterDropdownFilterSelect = () => {
onClick={() => {
setFilterDefinitionUsedInDropdown(availableFilterDefinition);
if (availableFilterDefinition.type === 'entity') {
if (availableFilterDefinition.type === 'ENTITY') {
setHotkeyScope(RelationPickerHotkeyScope.RelationPicker);
}

View File

@ -1 +1 @@
export type FilterType = 'text' | 'date' | 'entity' | 'number';
export type FilterType = 'TEXT' | 'DATE' | 'ENTITY' | 'NUMBER';

View File

@ -6,12 +6,12 @@ export const getOperandsForFilterType = (
filterType: FilterType | null | undefined,
): ViewFilterOperand[] => {
switch (filterType) {
case 'text':
case 'TEXT':
return [ViewFilterOperand.Contains, ViewFilterOperand.DoesNotContain];
case 'number':
case 'date':
case 'NUMBER':
case 'DATE':
return [ViewFilterOperand.GreaterThan, ViewFilterOperand.LessThan];
case 'entity':
case 'ENTITY':
return [ViewFilterOperand.Is, ViewFilterOperand.IsNot];
default:
return [];

View File

@ -24,7 +24,7 @@ export const turnFilterIntoWhereClause = (
};
default:
switch (filter.definition.type) {
case 'text':
case 'TEXT':
switch (filter.operand) {
case ViewFilterOperand.Contains:
return {
@ -47,7 +47,7 @@ export const turnFilterIntoWhereClause = (
`Unknown operand ${filter.operand} for ${filter.definition.type} filter`,
);
}
case 'number':
case 'NUMBER':
switch (filter.operand) {
case ViewFilterOperand.GreaterThan:
return {
@ -66,7 +66,7 @@ export const turnFilterIntoWhereClause = (
`Unknown operand ${filter.operand} for ${filter.definition.type} filter`,
);
}
case 'date':
case 'DATE':
switch (filter.operand) {
case ViewFilterOperand.GreaterThan:
return {
@ -85,7 +85,7 @@ export const turnFilterIntoWhereClause = (
`Unknown operand ${filter.operand} for ${filter.definition.type} filter`,
);
}
case 'entity':
case 'ENTITY':
switch (filter.operand) {
case ViewFilterOperand.Is:
return {

View File

@ -26,7 +26,7 @@ export const turnFiltersIntoWhereClauseV2 = (
}
switch (filter.definition.type) {
case 'text':
case 'TEXT':
switch (filter.operand) {
case ViewFilterOperand.Contains:
whereClause[correspondingField.name] = {