Logs show page (#4611)

* Being implementing events on the frontend

* Rename JSON to RAW JSON

* Fix handling of json field on frontend

* Log user id

* Add frontend tests

* Update packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/save-event-to-db.job.ts

Co-authored-by: Weiko <corentin@twenty.com>

* Move db calls to a dedicated repository

* Add server-side tests

---------

Co-authored-by: Weiko <corentin@twenty.com>
This commit is contained in:
Félix Malfait
2024-03-22 14:01:16 +01:00
committed by GitHub
parent aee6d49ea9
commit d876b40056
38 changed files with 488 additions and 95 deletions

View File

@ -17,7 +17,7 @@ export class FieldMetadataDefaultValueString {
value: string | null;
}
export class FieldMetadataDefaultValueJson {
export class FieldMetadataDefaultValueRawJson {
@ValidateIf((_object, value) => value !== null)
@IsJSON()
value: JSON | null;

View File

@ -36,7 +36,7 @@ export enum FieldMetadataType {
MULTI_SELECT = 'MULTI_SELECT',
RELATION = 'RELATION',
POSITION = 'POSITION',
JSON = 'JSON',
RAW_JSON = 'RAW_JSON',
}
@Entity('fieldMetadata')

View File

@ -3,7 +3,7 @@ import {
FieldMetadataDefaultValueCurrency,
FieldMetadataDefaultValueDateTime,
FieldMetadataDefaultValueFullName,
FieldMetadataDefaultValueJson,
FieldMetadataDefaultValueRawJson,
FieldMetadataDefaultValueLink,
FieldMetadataDefaultValueNumber,
FieldMetadataDefaultValueString,
@ -51,7 +51,7 @@ type FieldMetadataDefaultValueMapping = {
[FieldMetadataType.RATING]: FieldMetadataDefaultValueString;
[FieldMetadataType.SELECT]: FieldMetadataDefaultValueString;
[FieldMetadataType.MULTI_SELECT]: FieldMetadataDefaultValueStringArray;
[FieldMetadataType.JSON]: FieldMetadataDefaultValueJson;
[FieldMetadataType.RAW_JSON]: FieldMetadataDefaultValueRawJson;
};
type DefaultValueByFieldMetadata<T extends FieldMetadataType | 'default'> = [

View File

@ -35,7 +35,7 @@ export function generateTargetColumnMap(
case FieldMetadataType.SELECT:
case FieldMetadataType.MULTI_SELECT:
case FieldMetadataType.POSITION:
case FieldMetadataType.JSON:
case FieldMetadataType.RAW_JSON:
return {
value: columnName,
};

View File

@ -9,7 +9,7 @@ import {
FieldMetadataDefaultValueCurrency,
FieldMetadataDefaultValueDateTime,
FieldMetadataDefaultValueFullName,
FieldMetadataDefaultValueJson,
FieldMetadataDefaultValueRawJson,
FieldMetadataDefaultValueLink,
FieldMetadataDefaultValueNumber,
FieldMetadataDefaultValueString,
@ -40,7 +40,7 @@ export const defaultValueValidatorsMap = {
[FieldMetadataType.RATING]: [FieldMetadataDefaultValueString],
[FieldMetadataType.SELECT]: [FieldMetadataDefaultValueString],
[FieldMetadataType.MULTI_SELECT]: [FieldMetadataDefaultValueStringArray],
[FieldMetadataType.JSON]: [FieldMetadataDefaultValueJson],
[FieldMetadataType.RAW_JSON]: [FieldMetadataDefaultValueRawJson],
};
export const validateDefaultValueForType = (

View File

@ -29,7 +29,7 @@ export const fieldMetadataTypeToColumnType = <Type extends FieldMetadataType>(
case FieldMetadataType.SELECT:
case FieldMetadataType.MULTI_SELECT:
return 'enum';
case FieldMetadataType.JSON:
case FieldMetadataType.RAW_JSON:
return 'jsonb';
default:
throw new Error(`Cannot convert ${fieldMetadataType} to column type.`);

View File

@ -67,7 +67,7 @@ export class WorkspaceMigrationFactory {
[FieldMetadataType.NUMERIC, { factory: this.basicColumnActionFactory }],
[FieldMetadataType.NUMBER, { factory: this.basicColumnActionFactory }],
[FieldMetadataType.POSITION, { factory: this.basicColumnActionFactory }],
[FieldMetadataType.JSON, { factory: this.basicColumnActionFactory }],
[FieldMetadataType.RAW_JSON, { factory: this.basicColumnActionFactory }],
[
FieldMetadataType.PROBABILITY,
{ factory: this.basicColumnActionFactory },