Spaces:
Build error
Build error
twenty / packages /twenty-server /src /engine /twenty-orm /utils /get-object-metadata-from-entity-target.util.ts
| import { type EntityTarget, type ObjectLiteral } from 'typeorm'; | |
| import { type WorkspaceInternalContext } from 'src/engine/twenty-orm/interfaces/workspace-internal-context.interface'; | |
| import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; | |
| import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; | |
| import { | |
| TwentyORMException, | |
| TwentyORMExceptionCode, | |
| } from 'src/engine/twenty-orm/exceptions/twenty-orm.exception'; | |
| export const getObjectMetadataFromEntityTarget = <T extends ObjectLiteral>( | |
| entityTarget: EntityTarget<T>, | |
| internalContext: WorkspaceInternalContext, | |
| ): FlatObjectMetadata => { | |
| if (typeof entityTarget !== 'string') { | |
| throw new TwentyORMException( | |
| 'Entity target must be a string', | |
| TwentyORMExceptionCode.MALFORMED_METADATA, | |
| ); | |
| } | |
| const objectMetadataName = entityTarget; | |
| const objectMetadataId = | |
| internalContext.objectIdByNameSingular[objectMetadataName]; | |
| if (!objectMetadataId) { | |
| throw new TwentyORMException( | |
| `Object metadata for object "${objectMetadataName}" is missing ` + | |
| `in workspace "${internalContext.workspaceId}" ` + | |
| `with object metadata collection length: ${ | |
| Object.keys(internalContext.objectIdByNameSingular).length | |
| }`, | |
| TwentyORMExceptionCode.MALFORMED_METADATA, | |
| ); | |
| } | |
| const objectMetadata = findFlatEntityByIdInFlatEntityMaps({ | |
| flatEntityId: objectMetadataId, | |
| flatEntityMaps: internalContext.flatObjectMetadataMaps, | |
| }); | |
| if (!objectMetadata) { | |
| throw new TwentyORMException( | |
| `Object metadata for object "${objectMetadataName}" (id: ${objectMetadataId}) is missing`, | |
| TwentyORMExceptionCode.MALFORMED_METADATA, | |
| ); | |
| } | |
| return objectMetadata; | |
| }; | |