Типорм | Расширяющаяся сущность как отношение

#typescript #typeorm

Вопрос:

Допустим, у меня есть два типа информационных схем, и одна из них является подмножеством другой:

 type BasicInformation = {
  code: string;
  basicInfo1: string;
}

type DetailedInformation = {
  code: string;
  basicInfo1: string;
  detailedInfo1: string;
  detailedInfo2: string;
}
 

Я хочу использовать наследование для создания сущностей, но Typeorm разрешает это только в том случае, если базовый класс абстрактен. Я также хочу иметь возможность использовать базовый класс. Как я могу достичь чего — то подобного:

 @Entity()
class BasicInformation {
  @PrimaryColumn()
  code: string;

  @Column()
  basicInfo1: string;
}

@Entity()
class DetailedInformation extends BasicInformation  {
  @Column()
  detailedInfo1: string;

  @Column()
  detailedInfo2: string;
}
 

Я могу использовать отношения, но тогда я не смогу использовать класс сущностей в качестве интерфейса в Typescript. Кроме того, он изменяет форму объекта при запросе.

 // Query result when using relations
{
  basicInformation: {
    code: string;
    basicInfo1: string;  
  }
  detailedInfo1: string;
  detailedInfo2: string;
}

// I want this result
{
  code: string;
  basicInfo1: string;
  detailedInfo1: string;
  detailedInfo2: string;
}