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,9 +1,9 @@
import { type ViewField } from 'src/engine/core-modules/view/entities/view-field.entity';
import { type ViewFilterGroup } from 'src/engine/core-modules/view/entities/view-filter-group.entity';
import { type ViewFilter } from 'src/engine/core-modules/view/entities/view-filter.entity';
import { type ViewGroup } from 'src/engine/core-modules/view/entities/view-group.entity';
import { type ViewSort } from 'src/engine/core-modules/view/entities/view-sort.entity';
import { type View } from 'src/engine/core-modules/view/entities/view.entity';
import { type ViewFieldEntity } from 'src/engine/core-modules/view/entities/view-field.entity';
import { type ViewFilterGroupEntity } from 'src/engine/core-modules/view/entities/view-filter-group.entity';
import { type ViewFilterEntity } from 'src/engine/core-modules/view/entities/view-filter.entity';
import { type ViewGroupEntity } from 'src/engine/core-modules/view/entities/view-group.entity';
import { type ViewSortEntity } from 'src/engine/core-modules/view/entities/view-sort.entity';
import { type ViewEntity } from 'src/engine/core-modules/view/entities/view.entity';
import { ViewFilterGroupLogicalOperator } from 'src/modules/view/standard-objects/view-filter-group.workspace-entity';
export const cleanupViewRecords = async (): Promise<void> => {
@@ -12,8 +12,8 @@ export const cleanupViewRecords = async (): Promise<void> => {
};
export const assertViewStructure = (
view: View,
expectedFields?: Partial<View>,
view: ViewEntity,
expectedFields?: Partial<ViewEntity>,
) => {
expect(view).toBeDefined();
expect(view.id).toBeDefined();
@@ -29,8 +29,8 @@ export const assertViewStructure = (
};
export const assertViewFieldStructure = (
viewField: ViewField,
expectedFields?: Partial<ViewField>,
viewField: ViewFieldEntity,
expectedFields?: Partial<ViewFieldEntity>,
) => {
expect(viewField).toBeDefined();
expect(viewField.id).toBeDefined();
@@ -46,8 +46,8 @@ export const assertViewFieldStructure = (
};
export const assertViewSortStructure = (
viewSort: ViewSort,
expectedFields?: Partial<ViewSort>,
viewSort: ViewSortEntity,
expectedFields?: Partial<ViewSortEntity>,
) => {
expect(viewSort).toBeDefined();
expect(viewSort.id).toBeDefined();
@@ -62,8 +62,8 @@ export const assertViewSortStructure = (
};
export const assertViewFilterStructure = (
viewFilter: ViewFilter,
expectedFields?: Partial<ViewFilter>,
viewFilter: ViewFilterEntity,
expectedFields?: Partial<ViewFilterEntity>,
) => {
expect(viewFilter).toBeDefined();
expect(viewFilter.id).toBeDefined();
@@ -78,8 +78,8 @@ export const assertViewFilterStructure = (
};
export const assertViewGroupStructure = (
viewGroup: ViewGroup,
expectedFields?: Partial<ViewGroup>,
viewGroup: ViewGroupEntity,
expectedFields?: Partial<ViewGroupEntity>,
) => {
expect(viewGroup).toBeDefined();
expect(viewGroup.id).toBeDefined();
@@ -95,8 +95,8 @@ export const assertViewGroupStructure = (
};
export const assertViewFilterGroupStructure = (
viewFilterGroup: ViewFilterGroup,
expectedFields?: Partial<ViewFilterGroup>,
viewFilterGroup: ViewFilterGroupEntity,
expectedFields?: Partial<ViewFilterGroupEntity>,
validLogicalOperators: string[] = [
ViewFilterGroupLogicalOperator.AND,
ViewFilterGroupLogicalOperator.OR,