diff --git a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx index 8b6742556..113fa1614 100644 --- a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx @@ -155,22 +155,13 @@ export const SettingsObjectNewFieldStep2 = () => { }); }); } else { - const createdField = await createMetadataField({ + await createMetadataField({ description: validatedFormValues.description, icon: validatedFormValues.icon, label: validatedFormValues.label, objectMetadataId: activeObjectMetadataItem.id, type: validatedFormValues.type, }); - objectViews.forEach(async (view) => { - await createOneViewField?.({ - view: view.id, - fieldMetadataId: createdField.data?.createOneField.id, - position: activeObjectMetadataItem.fields.length, - isVisible: true, - size: 100, - }); - }); } navigate(`/settings/objects/${objectSlug}`); diff --git a/server/src/metadata/field-metadata/field-metadata.module.ts b/server/src/metadata/field-metadata/field-metadata.module.ts index 383581774..007b89608 100644 --- a/server/src/metadata/field-metadata/field-metadata.module.ts +++ b/server/src/metadata/field-metadata/field-metadata.module.ts @@ -11,6 +11,8 @@ import { WorkspaceMigrationRunnerModule } from 'src/workspace/workspace-migratio import { WorkspaceMigrationModule } from 'src/metadata/workspace-migration/workspace-migration.module'; import { ObjectMetadataModule } from 'src/metadata/object-metadata/object-metadata.module'; import { JwtAuthGuard } from 'src/guards/jwt.auth.guard'; +import { DataSourceModule } from 'src/metadata/data-source/data-source.module'; +import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; import { FieldMetadataService } from './field-metadata.service'; import { FieldMetadataEntity } from './field-metadata.entity'; @@ -27,6 +29,8 @@ import { UpdateFieldInput } from './dtos/update-field.input'; WorkspaceMigrationModule, WorkspaceMigrationRunnerModule, ObjectMetadataModule, + DataSourceModule, + TypeORMModule, ], services: [FieldMetadataService], resolvers: [ diff --git a/server/src/metadata/field-metadata/field-metadata.service.ts b/server/src/metadata/field-metadata/field-metadata.service.ts index 06aa31b5d..f50975a0f 100644 --- a/server/src/metadata/field-metadata/field-metadata.service.ts +++ b/server/src/metadata/field-metadata/field-metadata.service.ts @@ -15,6 +15,8 @@ import { CreateFieldInput } from 'src/metadata/field-metadata/dtos/create-field. import { WorkspaceMigrationTableAction } from 'src/metadata/workspace-migration/workspace-migration.entity'; import { generateTargetColumnMap } from 'src/metadata/field-metadata/utils/generate-target-column-map.util'; import { convertFieldMetadataToColumnActions } from 'src/metadata/field-metadata/utils/convert-field-metadata-to-column-action.util'; +import { TypeORMService } from 'src/database/typeorm/typeorm.service'; +import { DataSourceService } from 'src/metadata/data-source/data-source.service'; import { FieldMetadataEntity } from './field-metadata.entity'; @@ -27,6 +29,8 @@ export class FieldMetadataService extends TypeOrmQueryService viewField.position) + .reduce((acc, position) => { + if (position > acc) { + return position; + } + return acc; + }, -1); + + await workspaceDataSource?.query( + `INSERT INTO ${dataSourceMetadata.schema}."viewField" + ("fieldMetadataId", "position", "isVisible", "size", "viewId") + VALUES ('${createdFieldMetadata.id}', '${lastPosition + 1}', true, 180, '${ + view[0].id + }')`, + ); + return createdFieldMetadata; } diff --git a/server/src/metadata/object-metadata/object-metadata.service.ts b/server/src/metadata/object-metadata/object-metadata.service.ts index 20d58318b..9a244ad3d 100644 --- a/server/src/metadata/object-metadata/object-metadata.service.ts +++ b/server/src/metadata/object-metadata/object-metadata.service.ts @@ -54,6 +54,12 @@ export class ObjectMetadataService extends TypeOrmQueryService