class Product extends VendureEntity implements Translatable, HasCustomFields, ChannelAware, SoftDeletable { constructor(input?: DeepPartial<Product>) @Column({ type: Date, nullable: true }) deletedAt: Date | null; name: LocaleString; slug: LocaleString; description: LocaleString; @Column({ default: true }) enabled: boolean; @Index() @ManyToOne(type => Asset, asset => asset.featuredInProducts, { onDelete: 'SET NULL' }) featuredAsset: Asset; @EntityId({ nullable: true }) featuredAssetId: ID; @OneToMany(type => ProductAsset, productAsset => productAsset.product) assets: ProductAsset[]; @OneToMany(type => ProductTranslation, translation => translation.base, { eager: true }) translations: Array<Translation<Product>>; @OneToMany(type => ProductVariant, variant => variant.product) variants: ProductVariant[]; @ManyToMany(type => ProductOptionGroup, optionGroup => optionGroup.products) @JoinTable() optionGroups: ProductOptionGroup[]; @ManyToMany(type => FacetValue, facetValue => facetValue.products) @JoinTable() facetValues: FacetValue[]; @ManyToMany(type => Channel, channel => channel.products) @JoinTable() channels: Channel[]; @Column(type => CustomProductFields) customFields: CustomProductFields;}