Немного сложно перевести такой запрос в typeorm. Самый близкий пример, который я мог бы привести, был бы что-то вроде этого
@Injectable()
export class UserService {
constructor(@InjectRepository(User) private readonly userRepository: Repository<User>) {}
async findUserByEmail(email: string): Promise<User | null> {
return await this.userRepository({
relations: ['roles', 'groups'],
where: {
email,
},
});
}
}
Где ваша UserEntity выглядит так
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column({
unique: true,
})
email: string;
@ManyToMany(type => Group, group => group.users)
groups: Group[];
@ManyToOne(type => Role, role => role.users)
role: Role;
}
Это не точное совпадение, но, надеюсь, даст вам некоторое представление о том, как вы можете выполнить свой запрос.