Add missing FK on view tables (#14084)

## Context
View tables were missing some FK, we are also introducing delete cascade
on those tables when needed to leverage pg cascade deletion instead of
having to implement it.
Also renaming those classes with Entity suffix to follow repo
guidelines.
This commit is contained in:
Weiko
2025-08-26 18:59:20 +02:00
committed by GitHub
parent 6d4cae973f
commit f06786d603
59 changed files with 1171 additions and 452 deletions
@@ -1,6 +1,6 @@
import { type ViewField } from 'src/engine/core-modules/view/entities/view-field.entity';
import { type ViewFieldEntity } from 'src/engine/core-modules/view/entities/view-field.entity';
export type FlatViewField = Pick<
ViewField,
ViewFieldEntity,
'fieldMetadataId' | 'position' | 'isVisible' | 'size'
>;
@@ -1,8 +1,8 @@
import { type View } from 'src/engine/core-modules/view/entities/view.entity';
import { type ViewEntity } from 'src/engine/core-modules/view/entities/view.entity';
import { type FlatViewField } from 'src/engine/workspace-manager/workspace-migration-v2/types/flat-view-field.type';
export type FlatView = Pick<
View,
ViewEntity,
'name' | 'objectMetadataId' | 'type' | 'isCustom' | 'key' | 'icon'
> & {
viewFields: FlatViewField[];
@@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common';
import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface';
import { ViewField } from 'src/engine/core-modules/view/entities/view-field.entity';
import { View } from 'src/engine/core-modules/view/entities/view.entity';
import { ViewFieldEntity } from 'src/engine/core-modules/view/entities/view-field.entity';
import { ViewEntity } from 'src/engine/core-modules/view/entities/view.entity';
import { CreateViewAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-view-action-v2.type';
import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type';
@@ -23,9 +23,10 @@ export class CreateViewActionHandlerService extends WorkspaceMigrationRunnerActi
const { viewFields } = view;
const viewRepository = queryRunner.manager.getRepository<View>(View);
const viewRepository =
queryRunner.manager.getRepository<ViewEntity>(ViewEntity);
const viewFieldRepository =
queryRunner.manager.getRepository<ViewField>(ViewField);
queryRunner.manager.getRepository<ViewFieldEntity>(ViewFieldEntity);
const createdView = await viewRepository.save({
...view,