@BladeHeroku

Как определить массив объектов в Sequelize.js в NestJS для Postgres?

Как определить поле массива объектов в модели Sequelize.js в NestJS для Postgres? мне нужно что-то вроде этого

{
    userId: { type: String, required: true},
    products: [
        {
            productId: {
                type: String
            },
            quantity: {
                type: Number,
                default: 1
            }
        }
    ]
}


Я попытался перевести приведенный выше код в NestJS с помощью Sequelize.js, но с помощью Postman я отправил post запрос и получил нетипизированный объект в массиве продуктов. И я не понимаю, как решить эту проблему.

import {Column, DataType, Model, Table} from "sequelize-typescript";

export interface IProductItem {
    productId: string
    quantity: number
}

interface ICartsCreationAttrs {
    userId: number
    products: Array<IProductItem>
}

@Table({tableName: 'carts'})
export class CartsModel extends Model<CartsModel, ICartsCreationAttrs> {

    @Column({type: DataType.INTEGER, unique: true, autoIncrement: true, primaryKey: true})
    id: number

    @Column({type: DataType.INTEGER, unique: true, allowNull: false})
    userId: number

    @Column({type: DataType.ARRAY(DataType.JSON), allowNull: false})
    products: Array<IProductItem>

}


63d0ff2d411fa697361083.png
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы