import { Collection, Entity, ManyToMany, Property } from '@mikro-orm/core'; import { SoftDeletable } from 'mikro-orm-soft-delete'; import User from './user.entity'; import Permission from './permission.entity'; import { CommonEntity } from './common-entity.entity'; @SoftDeletable(() => Role, 'deletedAt', () => new Date()) @Entity() export default class Role extends CommonEntity { @Property() name: string; @ManyToMany(() => User, 'roles', { owner: true }) users = new Collection(this); @ManyToMany(() => Permission, 'roles', { owner: true }) permissions = new Collection(this); }