@nestjs/graphql работа с типом или пользовательским отношением «многие ко многим»

#graphql #nestjs #typeorm

Вопрос:

У меня проблема с получением пользователя с ролями и добавлением ролей пользователю с помощью @nestjs/graphql. У нас есть пользовательское свойство в usersToRoles(объект соединения).

Сущность пользователя:

 @Entity()
export class Users {
  @PrimaryColumn()
  user_id: string;
  ...
  @OneToMany(() => UsersToRoles, (usersToRoles) => usersToRoles.user)
  usersToRoles!: UsersToRoles[];
}
 

Ролевая сущность:

 @Entity()
export class Roles {
  @PrimaryColumn()
  role_id: string;
  ...

  @OneToMany(() => UsersToRoles, (usersToRoles) => usersToRoles.role)
  usersToRoles!: UsersToRoles[];
}
 

UsersToRoles(объект соединения)

 @Entity()
export class UsersToRoles {
  @PrimaryGeneratedColumn()
  public userToRolesId!: number;

  @Column()
  public user_id!: string;

  @Column()
  public role_id!: string;

  @Column()
  public app_id!: string; // this needs to be polymorphic

  @ManyToOne(() => Users, (user) => user.usersToRoles)
  @JoinColumn({name: 'user_id'})
  public user!: Users;

  @ManyToOne(() => Roles, (roles) => roles.usersToRoles)
  @JoinColumn({name: 'role_id'})
  public role!: Roles;
}
 

Как я могу добавить addRolesToUser с помощью graphql и выбрать пользователя с его/ее ролями?

Комментарии:

1. Что это за часть, которую вы не понимаете? Это запрос GraphQL или запрос typeorm?

2. Для типа, можем ли мы иметь полиморфизм? Для graphql после достижения полиморфизма typeorm поддерживает ли nestjs-graphql добавление и удаление этих полиморфных отношений?