Multiple errors on field input transpilation improvement (#13774)
# Introduction - ~~returning deleted field on deleteOneField~~ postponed for later cannot build dto from flat atm - refactor createFieldInput transpilation to handle multiple errors instead of throwing - renamed extract function
This commit is contained in:
-5
@@ -1,5 +0,0 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow should throw when extracting twice the same object 1`] = `"addFlatObjectMetadataWithFlatFieldMapsToFlatObjectMetadataMapsOrThrow: flat object metadata with fields maps to add already exists"`;
|
||||
|
||||
exports[`extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow should throw when object metadata id is not found 1`] = `"extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow object metadata not found"`;
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`getSubFlatObjectMetadataMapsOrThrow should throw when extracting twice the same object 1`] = `"addFlatObjectMetadataWithFlatFieldMapsToFlatObjectMetadataMapsOrThrow: flat object metadata with fields maps to add already exists"`;
|
||||
|
||||
exports[`getSubFlatObjectMetadataMapsOrThrow should throw when object metadata id is not found 1`] = `"getSubFlatObjectMetadataMapsOrThrow object metadata not found"`;
|
||||
+13
-14
@@ -1,27 +1,27 @@
|
||||
import { jestExpectToBeDefined } from 'test/utils/expect-to-be-defined.util.test';
|
||||
import {
|
||||
type EachTestingContext,
|
||||
eachTestingContextFilter,
|
||||
type EachTestingContext,
|
||||
} from 'twenty-shared/testing';
|
||||
|
||||
import { FLAT_OBJECT_METADATA_MAPS_MOCKS } from 'src/engine/metadata-modules/flat-object-metadata-maps/mocks/flat-object-metadata-maps.mock';
|
||||
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
|
||||
import {
|
||||
type ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs,
|
||||
extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow,
|
||||
} from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/extract-flat-object-metadata-maps-out-of-flat-object-metadata-maps-or-throw.util';
|
||||
getSubFlatObjectMetadataMapsOrThrow,
|
||||
type GetSubFlatObjectMetadataMapsOrThrowArgs,
|
||||
} from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/get-sub-flat-object-metadata-maps-or-throw.util';
|
||||
import { PET_FLAT_OBJECT_MOCK } from 'src/engine/metadata-modules/flat-object-metadata/__mocks__/pet-flat-object.mock';
|
||||
import { ROCKET_FLAT_OBJECT_MOCK } from 'src/engine/metadata-modules/flat-object-metadata/__mocks__/rocket-flat-object.mock';
|
||||
import { fromFlatObjectMetadatasToFlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata/utils/from-flat-object-metadatas-to-flat-object-metadata-maps.util';
|
||||
|
||||
type ExtractFlatObjectMetadataMapsTestCase = {
|
||||
input: ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs;
|
||||
type GetSubObjectMetadataMapsOrThrowTestCase = {
|
||||
input: GetSubFlatObjectMetadataMapsOrThrowArgs;
|
||||
shouldThrow?: true;
|
||||
expected?: FlatObjectMetadataMaps;
|
||||
};
|
||||
|
||||
describe('extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow', () => {
|
||||
const testCases: EachTestingContext<ExtractFlatObjectMetadataMapsTestCase>[] =
|
||||
describe('getSubFlatObjectMetadataMapsOrThrow', () => {
|
||||
const testCases: EachTestingContext<GetSubObjectMetadataMapsOrThrowTestCase>[] =
|
||||
[
|
||||
{
|
||||
title: 'should throw when object metadata id is not found',
|
||||
@@ -89,18 +89,17 @@ describe('extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow', () =
|
||||
}) => {
|
||||
if (shouldThrow) {
|
||||
expect(() =>
|
||||
extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow({
|
||||
getSubFlatObjectMetadataMapsOrThrow({
|
||||
objectMetadataIds,
|
||||
flatObjectMetadataMaps,
|
||||
}),
|
||||
).toThrowErrorMatchingSnapshot();
|
||||
} else {
|
||||
jestExpectToBeDefined(expected);
|
||||
const result =
|
||||
extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow({
|
||||
objectMetadataIds,
|
||||
flatObjectMetadataMaps,
|
||||
});
|
||||
const result = getSubFlatObjectMetadataMapsOrThrow({
|
||||
objectMetadataIds,
|
||||
flatObjectMetadataMaps,
|
||||
});
|
||||
|
||||
expect(result).toEqual(expected);
|
||||
}
|
||||
+8
-8
@@ -1,19 +1,19 @@
|
||||
import {
|
||||
type EachTestingContext,
|
||||
eachTestingContextFilter,
|
||||
type EachTestingContext,
|
||||
} from 'twenty-shared/testing';
|
||||
|
||||
import { FLAT_OBJECT_METADATA_MAPS_MOCKS } from 'src/engine/metadata-modules/flat-object-metadata-maps/mocks/flat-object-metadata-maps.mock';
|
||||
import { type ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/extract-flat-object-metadata-maps-out-of-flat-object-metadata-maps-or-throw.util';
|
||||
import { extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/extract-flat-object-metadata-maps-out-of-flat-object-metadata-maps.util';
|
||||
import { type GetSubFlatObjectMetadataMapsOrThrowArgs } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/get-sub-flat-object-metadata-maps-or-throw.util';
|
||||
import { getSubFlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/get-sub-flat-object-metadata-maps.util';
|
||||
import { PET_FLAT_OBJECT_MOCK } from 'src/engine/metadata-modules/flat-object-metadata/__mocks__/pet-flat-object.mock';
|
||||
|
||||
type ExtractFlatObjectMetadataMapsTestCase = {
|
||||
input: ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs;
|
||||
type GetSubFlatObjectMetadataMapsTestCase = {
|
||||
input: GetSubFlatObjectMetadataMapsOrThrowArgs;
|
||||
};
|
||||
|
||||
describe('extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMaps', () => {
|
||||
const testCases: EachTestingContext<ExtractFlatObjectMetadataMapsTestCase>[] =
|
||||
describe('getSubFlatObjectMetadataMaps', () => {
|
||||
const testCases: EachTestingContext<GetSubFlatObjectMetadataMapsTestCase>[] =
|
||||
[
|
||||
{
|
||||
title: 'should throw when object metadata id is not found',
|
||||
@@ -47,7 +47,7 @@ describe('extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMaps', () => {
|
||||
input: { objectMetadataIds, flatObjectMetadataMaps },
|
||||
},
|
||||
}) => {
|
||||
const result = extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMaps({
|
||||
const result = getSubFlatObjectMetadataMaps({
|
||||
objectMetadataIds,
|
||||
flatObjectMetadataMaps,
|
||||
});
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { EMPTY_FLAT_OBJECT_METADATA_MAPS } from 'src/engine/metadata-modules/flat-object-metadata-maps/constant/empty-flat-object-metadata-maps.constant';
|
||||
import {
|
||||
FlatObjectMetadataMapsException,
|
||||
FlatObjectMetadataMapsExceptionCode,
|
||||
} from 'src/engine/metadata-modules/flat-object-metadata-maps/flat-object-metadata-maps.exception';
|
||||
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
|
||||
import { addFlatObjectMetadataWithFlatFieldMapsToFlatObjectMetadataMapsOrThrow } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/add-flat-object-metadata-with-field-maps-to-flat-object-metadata-maps-or-throw.util';
|
||||
|
||||
export type ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs =
|
||||
{
|
||||
objectMetadataIds: string[];
|
||||
flatObjectMetadataMaps: FlatObjectMetadataMaps;
|
||||
};
|
||||
export const extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow =
|
||||
({
|
||||
flatObjectMetadataMaps: sourceFlatObjectMetadataMaps,
|
||||
objectMetadataIds,
|
||||
}: ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs): FlatObjectMetadataMaps => {
|
||||
return objectMetadataIds.reduce(
|
||||
(flatObjectMetadataMaps, objectMetadataId) => {
|
||||
const flatObjectMetadataWithFlatFieldMaps =
|
||||
sourceFlatObjectMetadataMaps.byId[objectMetadataId];
|
||||
|
||||
if (!isDefined(flatObjectMetadataWithFlatFieldMaps)) {
|
||||
throw new FlatObjectMetadataMapsException(
|
||||
'extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow object metadata not found',
|
||||
FlatObjectMetadataMapsExceptionCode.OBJECT_METADATA_NOT_FOUND,
|
||||
);
|
||||
}
|
||||
|
||||
return addFlatObjectMetadataWithFlatFieldMapsToFlatObjectMetadataMapsOrThrow(
|
||||
{
|
||||
flatObjectMetadataMaps,
|
||||
flatObjectMetadataWithFlatFieldMaps,
|
||||
},
|
||||
);
|
||||
},
|
||||
EMPTY_FLAT_OBJECT_METADATA_MAPS,
|
||||
);
|
||||
};
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
|
||||
import {
|
||||
type ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs,
|
||||
extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow,
|
||||
} from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/extract-flat-object-metadata-maps-out-of-flat-object-metadata-maps-or-throw.util';
|
||||
|
||||
export const extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMaps = (
|
||||
args: ExtractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrowArgs,
|
||||
): FlatObjectMetadataMaps | undefined => {
|
||||
try {
|
||||
return extractFlatObjectMetadataMapsOutOfFlatObjectMetadataMapsOrThrow(
|
||||
args,
|
||||
);
|
||||
} catch {
|
||||
return undefined;
|
||||
}
|
||||
};
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { EMPTY_FLAT_OBJECT_METADATA_MAPS } from 'src/engine/metadata-modules/flat-object-metadata-maps/constant/empty-flat-object-metadata-maps.constant';
|
||||
import {
|
||||
FlatObjectMetadataMapsException,
|
||||
FlatObjectMetadataMapsExceptionCode,
|
||||
} from 'src/engine/metadata-modules/flat-object-metadata-maps/flat-object-metadata-maps.exception';
|
||||
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
|
||||
import { addFlatObjectMetadataWithFlatFieldMapsToFlatObjectMetadataMapsOrThrow } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/add-flat-object-metadata-with-field-maps-to-flat-object-metadata-maps-or-throw.util';
|
||||
|
||||
export type GetSubFlatObjectMetadataMapsOrThrowArgs = {
|
||||
objectMetadataIds: string[];
|
||||
flatObjectMetadataMaps: FlatObjectMetadataMaps;
|
||||
};
|
||||
export const getSubFlatObjectMetadataMapsOrThrow = ({
|
||||
flatObjectMetadataMaps: sourceFlatObjectMetadataMaps,
|
||||
objectMetadataIds,
|
||||
}: GetSubFlatObjectMetadataMapsOrThrowArgs): FlatObjectMetadataMaps => {
|
||||
return objectMetadataIds.reduce(
|
||||
(flatObjectMetadataMaps, objectMetadataId) => {
|
||||
const flatObjectMetadataWithFlatFieldMaps =
|
||||
sourceFlatObjectMetadataMaps.byId[objectMetadataId];
|
||||
|
||||
if (!isDefined(flatObjectMetadataWithFlatFieldMaps)) {
|
||||
throw new FlatObjectMetadataMapsException(
|
||||
'getSubFlatObjectMetadataMapsOrThrow object metadata not found',
|
||||
FlatObjectMetadataMapsExceptionCode.OBJECT_METADATA_NOT_FOUND,
|
||||
);
|
||||
}
|
||||
|
||||
return addFlatObjectMetadataWithFlatFieldMapsToFlatObjectMetadataMapsOrThrow(
|
||||
{
|
||||
flatObjectMetadataMaps,
|
||||
flatObjectMetadataWithFlatFieldMaps,
|
||||
},
|
||||
);
|
||||
},
|
||||
EMPTY_FLAT_OBJECT_METADATA_MAPS,
|
||||
);
|
||||
};
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
|
||||
import {
|
||||
getSubFlatObjectMetadataMapsOrThrow,
|
||||
type GetSubFlatObjectMetadataMapsOrThrowArgs,
|
||||
} from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/get-sub-flat-object-metadata-maps-or-throw.util';
|
||||
|
||||
export const getSubFlatObjectMetadataMaps = (
|
||||
args: GetSubFlatObjectMetadataMapsOrThrowArgs,
|
||||
): FlatObjectMetadataMaps | undefined => {
|
||||
try {
|
||||
return getSubFlatObjectMetadataMapsOrThrow(args);
|
||||
} catch {
|
||||
return undefined;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user