Skip to content

Polymorphic Inheritance #18

@Gonzalo9823

Description

@Gonzalo9823

Hi! I have a question regarding inheritance.

I have a Organization class (not an entity) and many entities that inherit from this class such as Grower, Company, Client, etc.

What I wan't to do is to have a UserOrganizationRole entity that polymorphically points to this different entities but when I add the PolymorphicChildren decorator to Organization it gives me the error "Class extends value undefined is not a constructor or null" this doesn't happen if a I add the decorator separately in every entity.

I'm doing something wrong or the library doesn't support the heritage of the PolymorphicChildren decorator?

Example:

This works:

export class Organization extends CustomBaseEntity {
  @Column({ unique: true })
  name!: string;
}
@Entity({ name: 'companies' })
export class Company extends Organization {
  @PolymorphicChildren(() => UserOrganizationRole, {
    eager: false,
  })
  users!: UserOrganizationRole[];
}
@Entity({ name: 'clients' })
export class Client extends Organization {
  @PolymorphicChildren(() => UserOrganizationRole, {
    eager: false,
  })
  users!: UserOrganizationRole[];
}

This doesn't works:

export class Organization extends CustomBaseEntity {
  @Column({ unique: true })
  name!: string;

  @PolymorphicChildren(() => UserOrganizationRole, {
    eager: false,
  })
  users!: UserOrganizationRole[];
}
@Entity({ name: 'companies' })
export class Company extends Organization {}
@Entity({ name: 'clients' })
export class Client extends Organization {}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions