Remove Tenant columns anonymisation (#2404)

* Remove Tenant columns anonymisation

* add tests

* use _ instead of custom_

* put _ on all custom fields
This commit is contained in:
Weiko
2023-11-09 12:19:33 +01:00
committed by GitHub
parent fe20be8487
commit 0f7581acc3
4 changed files with 72 additions and 20 deletions

View File

@ -1,8 +1,5 @@
import { v4 } from 'uuid';
import { FieldMetadataTargetColumnMap } from 'src/metadata/field-metadata/interfaces/field-metadata-target-column-map.interface';
import { uuidToBase36 } from 'src/metadata/data-source/data-source.util';
import {
FieldMetadata,
FieldMetadataType,
@ -12,16 +9,6 @@ import {
TenantMigrationColumnActionType,
} from 'src/metadata/tenant-migration/tenant-migration.entity';
/**
* Generate a column name from a field name removing unsupported characters.
*
* @param name string
* @returns string
*/
export function generateColumnName(name: string): string {
return name.toLowerCase().replace(/ /g, '_');
}
/**
* Generate a target column map for a given type, this is used to map the field to the correct column(s) in the database.
* This is used to support fields that map to multiple columns in the database.
@ -31,7 +18,11 @@ export function generateColumnName(name: string): string {
*/
export function generateTargetColumnMap(
type: FieldMetadataType,
isCustomField: boolean,
fieldName: string,
): FieldMetadataTargetColumnMap {
const columnName = isCustomField ? `_${fieldName}` : fieldName;
switch (type) {
case FieldMetadataType.TEXT:
case FieldMetadataType.PHONE:
@ -40,17 +31,17 @@ export function generateTargetColumnMap(
case FieldMetadataType.BOOLEAN:
case FieldMetadataType.DATE:
return {
value: `column_${uuidToBase36(v4())}`,
value: columnName,
};
case FieldMetadataType.URL:
return {
text: `column_${uuidToBase36(v4())}`,
link: `column_${uuidToBase36(v4())}`,
text: `${columnName}_text`,
link: `${columnName}_link`,
};
case FieldMetadataType.MONEY:
return {
amount: `column_${uuidToBase36(v4())}`,
currency: `column_${uuidToBase36(v4())}`,
amount: `${columnName}_amount`,
currency: `${columnName}_currency`,
};
default:
throw new Error(`Unknown type ${type}`);