save event data into both table

This commit is contained in:
Viet-Tien Ngoc 2024-08-06 10:49:03 +07:00
parent 0496062be0
commit 891e7f1f5b
3 changed files with 54 additions and 2 deletions

View file

@ -92,3 +92,37 @@ function getKeyName(key: string, parentKey: string) {
export function objectToArray(obj: object) {
return Object.keys(obj).map(key => obj[key]);
}
export function flattenDynamicData(
data: { key: string; value: any; dataType: DynamicDataType }[],
): {
blobs: string[];
doubles: number[];
} {
const blobs: string[] = [];
const doubles: number[] = [];
data.forEach(({ value, dataType }) => {
switch (dataType) {
case DATA_TYPE.string:
blobs.push(value);
break;
case DATA_TYPE.number:
doubles.push(value);
break;
case DATA_TYPE.date:
doubles.push(new Date(value).getTime());
break;
case DATA_TYPE.boolean:
doubles.push(value ? 1 : 0);
break;
case DATA_TYPE.array:
blobs.push(JSON.stringify(value));
break;
default:
break;
}
});
return { blobs, doubles };
}