Add fullName field metadata type (#2563)

* Add fullName field metadata type

* update seeds
This commit is contained in:
Weiko
2023-11-17 16:52:51 +01:00
committed by GitHub
parent f58e4263bc
commit 4870b0ac30
13 changed files with 147 additions and 92 deletions
@@ -123,6 +123,25 @@ export function convertFieldMetadataToColumnActions(
},
];
}
case FieldMetadataType.FULL_NAME: {
const defaultValue =
fieldMetadata.defaultValue as FieldMetadataDefaultValue<FieldMetadataType.FULL_NAME>;
return [
{
action: WorkspaceMigrationColumnActionType.CREATE,
columnName: fieldMetadata.targetColumnMap.firstName,
columnType: 'varchar',
defaultValue: serializeDefaultValue(defaultValue?.firstName),
},
{
action: WorkspaceMigrationColumnActionType.CREATE,
columnName: fieldMetadata.targetColumnMap.lastName,
columnType: 'varchar',
defaultValue: serializeDefaultValue(defaultValue?.lastName),
},
];
}
default:
throw new Error(`Unknown type ${fieldMetadata.type}`);
}
@@ -39,6 +39,12 @@ export function generateTargetColumnMap(
amountMicros: `${columnName}AmountMicros`,
currencyCode: `${columnName}CurrencyCode`,
};
case FieldMetadataType.FULL_NAME:
return {
firstName: `${columnName}FirstName`,
lastName: `${columnName}LastName`,
};
default:
throw new BadRequestException(`Unknown type ${type}`);
}
@@ -72,6 +72,15 @@ export const validateDefaultValueBasedOnType = (
typeof defaultValue.currencyCode === 'string'
);
case FieldMetadataType.FULL_NAME:
return (
typeof defaultValue === 'object' &&
'firstName' in defaultValue &&
typeof defaultValue.firstName === 'string' &&
'lastName' in defaultValue &&
typeof defaultValue.lastName === 'string'
);
default:
return false;
}