Compare commits

...

1 Commits

Author SHA1 Message Date
prastoin 9bfd0362b0 wip 2026-02-10 15:10:58 +01:00
16 changed files with 99 additions and 90 deletions
@@ -1,4 +1,3 @@
import { type FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { type FlatAgentMaps } from 'src/engine/metadata-modules/flat-agent/types/flat-agent-maps.type';
import { type FlatAgent } from 'src/engine/metadata-modules/flat-agent/types/flat-agent.type';
import { type FlatCommandMenuItemMaps } from 'src/engine/metadata-modules/flat-command-menu-item/types/flat-command-menu-item-maps.type';
@@ -43,19 +42,19 @@ import { type FlatRowLevelPermissionPredicateMaps } from 'src/engine/metadata-mo
import { type FlatRowLevelPermissionPredicate } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate.type';
import { type UniversalFlatAgent } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-agent.type';
import { type UniversalFlatCommandMenuItem } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-command-menu-item.type';
import { type UniversalFlatEntityFrom } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-entity-from.type';
import { UniversalFlatFieldMetadata } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-field-metadata.type';
import { type UniversalFlatFrontComponent } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-front-component.type';
import { type UniversalFlatIndexMetadata } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-index-metadata.type';
import { type UniversalFlatLogicFunction } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-logic-function.type';
import { type UniversalFlatNavigationMenuItem } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-navigation-menu-item.type';
import { type UniversalFlatObjectMetadata } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-object-metadata.type';
import { type UniversalFlatPageLayout } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-page-layout.type';
import { type UniversalFlatPageLayoutTab } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-page-layout-tab.type';
import { type UniversalFlatPageLayoutWidget } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-page-layout-widget.type';
import { type UniversalFlatRole } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-role.type';
import { type UniversalFlatPageLayout } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-page-layout.type';
import { type UniversalFlatRoleTarget } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-role-target.type';
import { type UniversalFlatRowLevelPermissionPredicate } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-row-level-permission-predicate.type';
import { type UniversalFlatRole } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-role.type';
import { type UniversalFlatRowLevelPermissionPredicateGroup } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-row-level-permission-predicate-group.type';
import { type UniversalFlatRowLevelPermissionPredicate } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-row-level-permission-predicate.type';
import { type UniversalFlatSkill } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-skill.type';
import { type UniversalFlatViewField } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-view-field.type';
import { type UniversalFlatViewFilterGroup } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-view-filter-group.type';
@@ -96,10 +95,10 @@ import {
type UniversalUpdateFrontComponentAction,
} from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/front-component/types/workspace-migration-front-component-action.type';
import {
type UniversalCreateIndexAction,
type FlatCreateIndexAction,
type FlatDeleteIndexAction,
type FlatUpdateIndexAction,
type UniversalCreateIndexAction,
type UniversalDeleteIndexAction,
type UniversalUpdateIndexAction,
} from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/index/types/workspace-migration-index-action';
@@ -254,10 +253,7 @@ export type AllFlatEntityTypesByMetadataName = {
delete: FlatDeleteFieldAction;
};
flatEntity: FlatFieldMetadata;
universalFlatEntity: UniversalFlatEntityFrom<
FieldMetadataEntity,
'fieldMetadata'
>;
universalFlatEntity: UniversalFlatFieldMetadata;
entity: MetadataEntity<'fieldMetadata'>;
};
objectMetadata: {
@@ -1,43 +1,39 @@
import { trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties } from 'twenty-shared/utils';
import { v4 } from 'uuid';
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { type FlatFrontComponent } from 'src/engine/metadata-modules/flat-front-component/types/flat-front-component.type';
import { type CreateFrontComponentInput } from 'src/engine/metadata-modules/front-component/dtos/create-front-component.input';
import { type UniversalFlatFrontComponent } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-front-component.type';
export const fromCreateFrontComponentInputToFlatFrontComponentToCreate = ({
createFrontComponentInput,
workspaceId,
flatApplication,
applicationUniversalIdentifier,
}: {
createFrontComponentInput: CreateFrontComponentInput;
workspaceId: string;
flatApplication: FlatApplication;
}): FlatFrontComponent => {
applicationUniversalIdentifier: string;
}): UniversalFlatFrontComponent & { id: string } => {
const now = new Date().toISOString();
const frontComponentId = createFrontComponentInput.id ?? v4();
const { name } = trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties(
createFrontComponentInput,
['name'],
);
const { name } =
trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties(
createFrontComponentInput,
['name'],
);
const id = createFrontComponentInput.id ?? v4();
const universalIdentifier =
createFrontComponentInput.universalIdentifier ?? v4();
return {
id,
id: frontComponentId,
name: name ?? createFrontComponentInput.componentName,
description: createFrontComponentInput.description ?? null,
sourceComponentPath: createFrontComponentInput.sourceComponentPath,
builtComponentPath: createFrontComponentInput.builtComponentPath,
componentName: createFrontComponentInput.componentName,
builtComponentChecksum: createFrontComponentInput.builtComponentChecksum,
workspaceId,
createdAt: now,
updatedAt: now,
universalIdentifier,
applicationId: flatApplication.id,
applicationUniversalIdentifier: flatApplication.universalIdentifier,
applicationUniversalIdentifier,
};
};
@@ -1,7 +1,6 @@
import { trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties } from 'twenty-shared/utils';
import { v4 } from 'uuid';
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type';
import { resolveEntityRelationUniversalIdentifiers } from 'src/engine/metadata-modules/flat-entity/utils/resolve-entity-relation-universal-identifiers.util';
import { DEFAULT_VIEW_FIELD_SIZE } from 'src/engine/metadata-modules/flat-view-field/constants/default-view-field-size.constant';
@@ -10,12 +9,12 @@ import { type UniversalFlatViewField } from 'src/engine/workspace-manager/worksp
export type FromCreateViewFieldInputToFlatViewFieldToCreateArgs = {
createViewFieldInput: CreateViewFieldInput;
flatApplication: FlatApplication;
applicationUniversalIdentifier: string;
} & Pick<AllFlatEntityMaps, 'flatFieldMetadataMaps' | 'flatViewMaps'>;
export const fromCreateViewFieldInputToFlatViewFieldToCreate = ({
createViewFieldInput: rawCreateViewFieldInput,
flatApplication,
applicationUniversalIdentifier,
flatFieldMetadataMaps,
flatViewMaps,
}: FromCreateViewFieldInputToFlatViewFieldToCreateArgs): UniversalFlatViewField & {
@@ -49,6 +48,6 @@ export const fromCreateViewFieldInputToFlatViewFieldToCreate = ({
size: createViewFieldInput.size ?? DEFAULT_VIEW_FIELD_SIZE,
position: createViewFieldInput.position ?? 0,
aggregateOperation: createViewFieldInput.aggregateOperation ?? null,
applicationUniversalIdentifier: flatApplication.universalIdentifier,
applicationUniversalIdentifier,
};
};
@@ -1,7 +1,6 @@
import { trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties } from 'twenty-shared/utils';
import { v4 } from 'uuid';
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type';
import { resolveEntityRelationUniversalIdentifiers } from 'src/engine/metadata-modules/flat-entity/utils/resolve-entity-relation-universal-identifiers.util';
import { type CreateViewFilterGroupInput } from 'src/engine/metadata-modules/view-filter-group/dtos/inputs/create-view-filter-group.input';
@@ -10,12 +9,12 @@ import { type UniversalFlatViewFilterGroup } from 'src/engine/workspace-manager/
export const fromCreateViewFilterGroupInputToFlatViewFilterGroupToCreate = ({
createViewFilterGroupInput: rawCreateViewFilterGroupInput,
flatApplication,
applicationUniversalIdentifier,
flatViewMaps,
flatViewFilterGroupMaps,
}: {
createViewFilterGroupInput: CreateViewFilterGroupInput;
flatApplication: FlatApplication;
applicationUniversalIdentifier: string;
} & Pick<
AllFlatEntityMaps,
'flatViewMaps' | 'flatViewFilterGroupMaps'
@@ -46,14 +45,14 @@ export const fromCreateViewFilterGroupInputToFlatViewFilterGroupToCreate = ({
createdAt,
updatedAt: createdAt,
deletedAt: null,
universalIdentifier: viewFilterGroupId,
universalIdentifier: v4(),
logicalOperator:
createViewFilterGroupInput.logicalOperator ??
ViewFilterGroupLogicalOperator.AND,
parentViewFilterGroupUniversalIdentifier,
positionInViewFilterGroup:
createViewFilterGroupInput.positionInViewFilterGroup ?? null,
applicationUniversalIdentifier: flatApplication.universalIdentifier,
applicationUniversalIdentifier,
viewFilterUniversalIdentifiers: [],
childViewFilterGroupUniversalIdentifiers: [],
};
@@ -2,7 +2,6 @@ import { ViewFilterOperand } from 'twenty-shared/types';
import { trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties } from 'twenty-shared/utils';
import { v4 } from 'uuid';
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type';
import { resolveEntityRelationUniversalIdentifiers } from 'src/engine/metadata-modules/flat-entity/utils/resolve-entity-relation-universal-identifiers.util';
import { type CreateViewFilterInput } from 'src/engine/metadata-modules/view-filter/dtos/inputs/create-view-filter.input';
@@ -10,13 +9,13 @@ import { type UniversalFlatViewFilter } from 'src/engine/workspace-manager/works
export const fromCreateViewFilterInputToFlatViewFilterToCreate = ({
createViewFilterInput: rawCreateViewFilterInput,
flatApplication,
applicationUniversalIdentifier,
flatFieldMetadataMaps,
flatViewMaps,
flatViewFilterGroupMaps,
}: {
createViewFilterInput: CreateViewFilterInput;
flatApplication: FlatApplication;
applicationUniversalIdentifier: string;
} & Pick<
AllFlatEntityMaps,
'flatFieldMetadataMaps' | 'flatViewMaps' | 'flatViewFilterGroupMaps'
@@ -69,6 +68,6 @@ export const fromCreateViewFilterInputToFlatViewFilterToCreate = ({
positionInViewFilterGroup:
createViewFilterInput.positionInViewFilterGroup ?? null,
subFieldName: createViewFilterInput.subFieldName ?? null,
applicationUniversalIdentifier: flatApplication.universalIdentifier,
applicationUniversalIdentifier,
};
};
@@ -1,7 +1,6 @@
import { trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties } from 'twenty-shared/utils';
import { v4 } from 'uuid';
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type';
import { resolveEntityRelationUniversalIdentifiers } from 'src/engine/metadata-modules/flat-entity/utils/resolve-entity-relation-universal-identifiers.util';
import { type CreateViewGroupInput } from 'src/engine/metadata-modules/view-group/dtos/inputs/create-view-group.input';
@@ -9,11 +8,11 @@ import { type UniversalFlatViewGroup } from 'src/engine/workspace-manager/worksp
export const fromCreateViewGroupInputToFlatViewGroupToCreate = ({
createViewGroupInput: rawCreateViewGroupInput,
flatApplication,
applicationUniversalIdentifier,
flatViewMaps,
}: {
createViewGroupInput: CreateViewGroupInput;
flatApplication: FlatApplication;
applicationUniversalIdentifier: string;
} & Pick<AllFlatEntityMaps, 'flatViewMaps'>): UniversalFlatViewGroup & {
id: string;
} => {
@@ -44,6 +43,6 @@ export const fromCreateViewGroupInputToFlatViewGroupToCreate = ({
isVisible: createViewGroupInput.isVisible ?? true,
fieldValue: createViewGroupInput.fieldValue,
position: createViewGroupInput.position ?? 0,
applicationUniversalIdentifier: flatApplication.universalIdentifier,
applicationUniversalIdentifier,
};
};
@@ -4,7 +4,6 @@ import {
} from 'twenty-shared/utils';
import { v4 } from 'uuid';
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type';
import { resolveEntityRelationUniversalIdentifiers } from 'src/engine/metadata-modules/flat-entity/utils/resolve-entity-relation-universal-identifiers.util';
import { computeFlatViewGroupsOnViewCreate } from 'src/engine/metadata-modules/flat-view-group/utils/compute-flat-view-groups-on-view-create.util';
@@ -18,13 +17,13 @@ import { type UniversalFlatView } from 'src/engine/workspace-manager/workspace-m
export const fromCreateViewInputToFlatViewToCreate = ({
createViewInput: rawCreateViewInput,
createdByUserWorkspaceId,
flatApplication,
applicationUniversalIdentifier,
flatFieldMetadataMaps,
flatObjectMetadataMaps,
}: {
createViewInput: CreateViewInput;
createdByUserWorkspaceId?: string;
flatApplication: FlatApplication;
applicationUniversalIdentifier: string;
flatFieldMetadataMaps: AllFlatEntityMaps['flatFieldMetadataMaps'];
flatObjectMetadataMaps: AllFlatEntityMaps['flatObjectMetadataMaps'];
}): {
@@ -88,7 +87,7 @@ export const fromCreateViewInputToFlatViewToCreate = ({
viewFilterUniversalIdentifiers: [],
viewGroupUniversalIdentifiers: [],
viewFilterGroupUniversalIdentifiers: [],
applicationUniversalIdentifier: flatApplication.universalIdentifier,
applicationUniversalIdentifier,
};
let flatViewGroupsToCreate: UniversalFlatViewGroup[] = [];
@@ -9,8 +9,9 @@ import { ApplicationService } from 'src/engine/core-modules/application/services
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { FileStorageService } from 'src/engine/core-modules/file-storage/file-storage.service';
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util';
import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util';
import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util';
import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util';
import { type FlatFrontComponent } from 'src/engine/metadata-modules/flat-front-component/types/flat-front-component.type';
import { fromCreateFrontComponentInputToFlatFrontComponentToCreate } from 'src/engine/metadata-modules/flat-front-component/utils/from-create-front-component-input-to-flat-front-component-to-create.util';
import { fromFlatFrontComponentToFrontComponentDto } from 'src/engine/metadata-modules/flat-front-component/utils/from-flat-front-component-to-front-component-dto.util';
@@ -93,8 +94,8 @@ export class FrontComponentService {
const flatFrontComponentToCreate =
fromCreateFrontComponentInputToFlatFrontComponentToCreate({
createFrontComponentInput: input,
workspaceId,
flatApplication: resolvedOwnerFlatApplication,
applicationUniversalIdentifier:
resolvedOwnerFlatApplication.universalIdentifier,
});
const validateAndBuildResult =
@@ -129,8 +130,8 @@ export class FrontComponentService {
},
);
return findFlatEntityByIdInFlatEntityMapsOrThrow({
flatEntityId: flatFrontComponentToCreate.id,
return findFlatEntityByUniversalIdentifierOrThrow({
universalIdentifier: flatFrontComponentToCreate.universalIdentifier,
flatEntityMaps: recomputedFlatFrontComponentMaps,
});
}
@@ -7,6 +7,7 @@ import { type FlatApplication } from 'src/engine/core-modules/application/types/
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util';
import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util';
import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util';
import type { CreateLogicFunctionInput } from 'src/engine/metadata-modules/logic-function/dtos/create-logic-function.input';
import type { UpdateLogicFunctionSourceInput } from 'src/engine/metadata-modules/logic-function/dtos/update-logic-function.input';
import {
@@ -48,8 +49,8 @@ export class LogicFunctionMetadataService {
const flatLogicFunctionToCreate =
fromCreateLogicFunctionInputToFlatLogicFunction({
createLogicFunctionInput: input,
workspaceId,
ownerFlatApplication: resolvedOwnerFlatApplication,
applicationUniversalIdentifier:
resolvedOwnerFlatApplication.universalIdentifier,
});
const validateAndBuildResult =
@@ -76,7 +77,18 @@ export class LogicFunctionMetadataService {
);
}
return flatLogicFunctionToCreate;
const { flatLogicFunctionMaps: recomputedFlatLogicFunctionMaps } =
await this.flatEntityMapsCacheService.getOrRecomputeManyOrAllFlatEntityMaps(
{
workspaceId,
flatMapsKeys: ['flatLogicFunctionMaps'],
},
);
return findFlatEntityByUniversalIdentifierOrThrow({
universalIdentifier: flatLogicFunctionToCreate.universalIdentifier,
flatEntityMaps: recomputedFlatLogicFunctionMaps,
});
}
async updateOne({
@@ -1,24 +1,23 @@
import { v4 } from 'uuid';
import { type FlatApplication } from 'src/engine/core-modules/application/types/flat-application.type';
import { type CreateLogicFunctionInput } from 'src/engine/metadata-modules/logic-function/dtos/create-logic-function.input';
import {
DEFAULT_HANDLER_NAME,
LogicFunctionRuntime,
} from 'src/engine/metadata-modules/logic-function/logic-function.entity';
import { type FlatLogicFunction } from 'src/engine/metadata-modules/logic-function/types/flat-logic-function.type';
import { type UniversalFlatLogicFunction } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-logic-function.type';
export type FromCreateLogicFunctionInputToFlatLogicFunctionArgs = {
createLogicFunctionInput: Omit<CreateLogicFunctionInput, 'applicationId'>;
workspaceId: string;
ownerFlatApplication: FlatApplication;
applicationUniversalIdentifier: string;
};
export const fromCreateLogicFunctionInputToFlatLogicFunction = ({
createLogicFunctionInput: rawCreateLogicFunctionInput,
workspaceId,
ownerFlatApplication,
}: FromCreateLogicFunctionInputToFlatLogicFunctionArgs): FlatLogicFunction => {
applicationUniversalIdentifier,
}: FromCreateLogicFunctionInputToFlatLogicFunctionArgs): UniversalFlatLogicFunction & {
id: string;
} => {
const id = rawCreateLogicFunctionInput.id ?? v4();
const currentDate = new Date();
@@ -48,13 +47,11 @@ export const fromCreateLogicFunctionInputToFlatLogicFunction = ({
createdAt: currentDate.toISOString(),
updatedAt: currentDate.toISOString(),
deletedAt: null,
applicationId: ownerFlatApplication.id,
runtime: LogicFunctionRuntime.NODE22,
timeoutSeconds: rawCreateLogicFunctionInput.timeoutSeconds ?? 300,
workspaceId,
checksum,
toolInputSchema: rawCreateLogicFunctionInput.toolInputSchema ?? null,
isTool: rawCreateLogicFunctionInput?.isTool ?? false,
applicationUniversalIdentifier: ownerFlatApplication.universalIdentifier,
applicationUniversalIdentifier,
};
};
@@ -7,7 +7,7 @@ import { IsNull, Repository } from 'typeorm';
import { ApplicationService } from 'src/engine/core-modules/application/services/application.service';
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util';
import { findManyFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-id-in-flat-entity-maps-or-throw.util';
import { findManyFlatEntityByUniversalIdentifierInUniversalFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-universal-identifier-in-universal-flat-entity-maps-or-throw.util';
import { fromCreateViewFieldInputToFlatViewFieldToCreate } from 'src/engine/metadata-modules/flat-view-field/utils/from-create-view-field-input-to-flat-view-field-to-create.util';
import { fromDeleteViewFieldInputToFlatViewFieldOrThrow } from 'src/engine/metadata-modules/flat-view-field/utils/from-delete-view-field-input-to-flat-view-field-or-throw.util';
import { fromDestroyViewFieldInputToFlatViewFieldOrThrow } from 'src/engine/metadata-modules/flat-view-field/utils/from-destroy-view-field-input-to-flat-view-field-or-throw.util';
@@ -88,7 +88,8 @@ export class ViewFieldV2Service {
(createViewFieldInput) =>
fromCreateViewFieldInputToFlatViewFieldToCreate({
createViewFieldInput,
flatApplication: workspaceCustomFlatApplication,
applicationUniversalIdentifier:
workspaceCustomFlatApplication.universalIdentifier,
flatFieldMetadataMaps,
flatViewMaps,
}),
@@ -126,10 +127,14 @@ export class ViewFieldV2Service {
},
);
return findManyFlatEntityByIdInFlatEntityMapsOrThrow({
flatEntityIds: flatViewFieldsToCreate.map((el) => el.id),
flatEntityMaps: recomputedExistingFlatViewFieldMaps,
}).map(fromFlatViewFieldToViewFieldDto);
return findManyFlatEntityByUniversalIdentifierInUniversalFlatEntityMapsOrThrow(
{
universalIdentifiers: flatViewFieldsToCreate.map(
(flatViewField) => flatViewField.universalIdentifier,
),
flatEntityMaps: recomputedExistingFlatViewFieldMaps,
},
).map(fromFlatViewFieldToViewFieldDto);
}
async updateOne({
@@ -6,7 +6,6 @@ import { IsNull, type Repository } from 'typeorm';
import { ApplicationService } from 'src/engine/core-modules/application/services/application.service';
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util';
import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util';
import { fromCreateViewFilterGroupInputToFlatViewFilterGroupToCreate } from 'src/engine/metadata-modules/flat-view-filter-group/utils/from-create-view-filter-group-input-to-flat-view-filter-group-to-create.util';
import { fromDeleteViewFilterGroupInputToFlatViewFilterGroupOrThrow } from 'src/engine/metadata-modules/flat-view-filter-group/utils/from-delete-view-filter-group-input-to-flat-view-filter-group-or-throw.util';
@@ -60,7 +59,8 @@ export class ViewFilterGroupService {
const flatViewFilterGroupToCreate =
fromCreateViewFilterGroupInputToFlatViewFilterGroupToCreate({
createViewFilterGroupInput,
flatApplication: workspaceCustomFlatApplication,
applicationUniversalIdentifier:
workspaceCustomFlatApplication.universalIdentifier,
flatViewMaps: existingFlatViewMaps,
flatViewFilterGroupMaps: existingFlatViewFilterGroupMaps,
});
@@ -100,8 +100,9 @@ export class ViewFilterGroupService {
);
return fromFlatViewFilterGroupToViewFilterGroupDto(
findFlatEntityByIdInFlatEntityMapsOrThrow({
flatEntityId: flatViewFilterGroupToCreate.id,
findFlatEntityByUniversalIdentifierOrThrow({
universalIdentifier:
flatViewFilterGroupToCreate.universalIdentifier,
flatEntityMaps: recomputedExistingFlatViewFilterGroupMaps,
}),
);
@@ -6,7 +6,6 @@ import { IsNull, Repository } from 'typeorm';
import { ApplicationService } from 'src/engine/core-modules/application/services/application.service';
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util';
import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util';
import { fromCreateViewFilterInputToFlatViewFilterToCreate } from 'src/engine/metadata-modules/flat-view-filter/utils/from-create-view-filter-input-to-flat-view-filter-to-create.util';
import { fromDeleteViewFilterInputToFlatViewFilterOrThrow } from 'src/engine/metadata-modules/flat-view-filter/utils/from-delete-view-filter-input-to-flat-view-filter-or-throw.util';
@@ -61,7 +60,8 @@ export class ViewFilterService {
const flatViewFilterToCreate =
fromCreateViewFilterInputToFlatViewFilterToCreate({
createViewFilterInput,
flatApplication: workspaceCustomFlatApplication,
applicationUniversalIdentifier:
workspaceCustomFlatApplication.universalIdentifier,
flatFieldMetadataMaps,
flatViewMaps,
flatViewFilterGroupMaps,
@@ -100,8 +100,8 @@ export class ViewFilterService {
);
return fromFlatViewFilterToViewFilterDto(
findFlatEntityByIdInFlatEntityMapsOrThrow({
flatEntityId: flatViewFilterToCreate.id,
findFlatEntityByUniversalIdentifierOrThrow({
universalIdentifier: flatViewFilterToCreate.universalIdentifier,
flatEntityMaps: recomputedExistingFlatViewFilterMaps,
}),
);
@@ -8,7 +8,7 @@ import { ApplicationService } from 'src/engine/core-modules/application/services
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util';
import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util';
import { findManyFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-id-in-flat-entity-maps-or-throw.util';
import { findManyFlatEntityByUniversalIdentifierInUniversalFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-universal-identifier-in-universal-flat-entity-maps-or-throw.util';
import { fromCreateViewGroupInputToFlatViewGroupToCreate } from 'src/engine/metadata-modules/flat-view-group/utils/from-create-view-group-input-to-flat-view-group-to-create.util';
import { fromDeleteViewGroupInputToFlatViewGroupOrThrow } from 'src/engine/metadata-modules/flat-view-group/utils/from-delete-view-group-input-to-flat-view-group-or-throw.util';
import { fromDestroyViewGroupInputToFlatViewGroupOrThrow } from 'src/engine/metadata-modules/flat-view-group/utils/from-destroy-view-group-input-to-flat-view-group-or-throw.util';
@@ -101,7 +101,8 @@ export class ViewGroupService {
return fromCreateViewGroupInputToFlatViewGroupToCreate({
createViewGroupInput,
flatApplication: workspaceCustomFlatApplication,
applicationUniversalIdentifier:
workspaceCustomFlatApplication.universalIdentifier,
flatViewMaps,
});
},
@@ -139,10 +140,14 @@ export class ViewGroupService {
},
);
return findManyFlatEntityByIdInFlatEntityMapsOrThrow({
flatEntityIds: flatViewGroupsToCreate.map((el) => el.id),
flatEntityMaps: recomputedExistingFlatViewGroupMaps,
}).map(fromFlatViewGroupToViewGroupDto);
return findManyFlatEntityByUniversalIdentifierInUniversalFlatEntityMapsOrThrow(
{
universalIdentifiers: flatViewGroupsToCreate.map(
(flatViewGroup) => flatViewGroup.universalIdentifier,
),
flatEntityMaps: recomputedExistingFlatViewGroupMaps,
},
).map(fromFlatViewGroupToViewGroupDto);
}
async updateOne({
@@ -68,7 +68,8 @@ export class ViewService {
fromCreateViewInputToFlatViewToCreate({
createViewInput,
createdByUserWorkspaceId,
flatApplication: workspaceCustomFlatApplication,
applicationUniversalIdentifier:
workspaceCustomFlatApplication.universalIdentifier,
flatFieldMetadataMaps: existingFlatFieldMetadataMaps,
flatObjectMetadataMaps: existingFlatObjectMetadataMaps,
});
@@ -112,8 +113,8 @@ export class ViewService {
);
return fromFlatViewToViewDto(
findFlatEntityByIdInFlatEntityMapsOrThrow({
flatEntityId: flatViewToCreate.id,
findFlatEntityByUniversalIdentifierOrThrow({
universalIdentifier: flatViewToCreate.universalIdentifier,
flatEntityMaps: recomputedExistingFlatViewMaps,
}),
);
@@ -152,8 +152,8 @@ export class CodeStepBuildService {
| JsonbProperty<HttpRouteTriggerSettings>
| undefined,
},
workspaceId,
ownerFlatApplication: resolvedOwnerFlatApplication,
applicationUniversalIdentifier:
resolvedOwnerFlatApplication.universalIdentifier,
});
const created = await this.logicFunctionMetadataService.createOne({