Files
twenty/packages/twenty-server/src/engine/twenty-orm/entity-manager/entity.manager.ts
T
Jérémy M 8b5f79ddbf fix: multiple twenty orm issues & show an example of use (#5439)
This PR is fixing some issues and adding enhancement in TwentyORM:

- [x] Composite fields in nested relations are not formatted properly
- [x] Passing operators like `Any` in `where` condition is breaking the
query
- [x] Ability to auto load workspace-entities based on a regex path

I've also introduced an example of use for `CalendarEventService`:


https://github.com/twentyhq/twenty/pull/5439/files#diff-3a7dffc0dea57345d10e70c648e911f98fe237248bcea124dafa9c8deb1db748R15
2024-05-20 11:01:47 +02:00

27 lines
764 B
TypeScript

import { EntityManager, EntityTarget, ObjectLiteral } from 'typeorm';
import { WorkspaceRepository } from 'src/engine/twenty-orm/repository/workspace.repository';
export class WorkspaceEntityManager extends EntityManager {
override getRepository<Entity extends ObjectLiteral>(
target: EntityTarget<Entity>,
): WorkspaceRepository<Entity> {
// find already created repository instance and return it if found
const repoFromMap = this.repositories.get(target);
if (repoFromMap) {
return repoFromMap as WorkspaceRepository<Entity>;
}
const newRepository = new WorkspaceRepository<Entity>(
target,
this,
this.queryRunner,
);
this.repositories.set(target, newRepository);
return newRepository;
}
}