ProductCategory Entity
import {
Column,
Entity,
JoinColumn,
JoinTable,
ManyToMany,
TreeChildren,
TreeParent,
} from "typeorm";
import { ProductCategory as MedusaProductCategory } from "@medusajs/medusa";
import { Inspiration } from "./inspiration";
@Entity()
export class ProductCategory extends MedusaProductCategory {
static productCategoryInspirationJoinTable = "product_category_inspiration";
@TreeParent()
@JoinColumn({ name: "parent_category_id" })
parent_category: ProductCategory | null;
@TreeChildren({ cascade: true })
category_children: ProductCategory[];
@ManyToMany(() => Inspiration, { cascade: ["remove", "soft-remove"] })
@JoinTable({
name: ProductCategory.productCategoryInspirationJoinTable,
joinColumn: {
name: "product_category_id",
referencedColumnName: "id",
},
inverseJoinColumn: {
name: "inspiration_id",
referencedColumnName: "id",
},
})
inspirations: Inspiration[];
}