Сохранение связи Many to Many в Post запросе PostgreSQL TypeOrm NestJS

Всем доброго времени суток! Я новенький в TypeOrm и реляционных базах, поэтому возник следующий вопрос:

Есть такая JSON модель данных, которая приходит с админ панели Post запросом

{
"id": 0,
"imageUrl": "...imagePath",
"title": "Some title",
"types": [
  0,
  1
],
"sizes": [
  26,
  30,
  40
],
"price": 803,
"category": 2,
"rating": 4
},

Соответственно связи между типами и размерами предмета многие ко многим ( У каждого предмета есть несколько типов и размеров, и у каждого типа и размера есть множество предметов). У меня есть соответствующий ItemEntity:

    @Entity('item')
    export class ItemEntity extends Base {
    @Column()
    title: string

    @Column()
    price: number

    @Column()
    rating: number

    @Column({ name: 'image_url_path' })
    imageUrl: string

    @Column({ default: true, name: 'is_available' })
    isAvailable: boolean

    @ManyToMany(() => TypeEntity, type => type.item)
    @JoinTable()
    types: number[]

    @ManyToMany(() => SizeEntity, size => size.item)
    @JoinTable()
    sizes: number[]

    @ManyToOne(() => CategoryEntity, category => category.item)
    category: number
    }

SizeEntity аналогичный TypeEntity:

    @Entity('size')
    export class SizeEntity extends Base {
    @Column()
    title: number

    @ManyToMany(() => ItemEntity, item => item.sizes)
    item: ItemEntity[]
    }

И соответствующий сервис, где мы инжектим репозиторий

    @Injectable()
    export class ItemService {
    constructor(
       @InjectRepository(ItemEntity)
       private readonly ItemRepository: Repository<ItemEntity>,
    ) {}

Вопрос заключается в том, что я не очень понимаю как написать в сервисе функцию createItem, которая вешается на Post запрос с сохранением типов и размеров, при связи многие ко многим, ведь взаимодействуем мы с базой данных через репозиторий в сервисе, а в ItemRepository нет соответствующих столбцов, а промежуточная таблица создается автоматически при помощи декоратора @JoinTable() и заижектить в сервисе я ее не могу. Документация и примеры на GitHub от TypeOrm не смогли мне помочь в этой проблеме...(


Ответы (0 шт):