Невозможно обновить поле в Medusa JS.
Я работаю над Medusa JS, и мне нужно добавить настраиваемое поле в базовую модель «Корзины», что означает расширение сущности. Итак, следуя руководству -> Расширение сущности, я смог сделать все. При обновлении значения вновь созданного поля корзины с помощью Store API я не получаю никаких ошибок, что означает, что проверка также работает нормально, но проблема в том, что поле не обновляется в БД.
Шаг 2 (согласно документации): Расширение модели тележки
import { Column, Entity } from "typeorm";
import {
// alias the core entity to not cause a naming conflict
Cart as MedusaCart,
} from "@medusajs/medusa";
@Entity()
export class Cart extends MedusaCart {
@Column()
is_subscribed?: boolean;
}
Шаг 3. Создание файла декларации машинописного текста
export declare module "@medusajs/medusa/dist/models/order" {
declare interface Order {
is_subscribed: boolean;
}
}
Расширение проверки (с использованием проверки корзины обновлений)
import { registerOverriddenValidators } from "@medusajs/medusa";
import { StorePostCartsCartReq as MedusaStorePostCartsCartReq } from "@medusajs/medusa/dist/api/routes/store/carts/update-cart";
import { IsBoolean, IsOptional } from "class-validator";
class StorePostCartsCartReq extends MedusaStorePostCartsCartReq {
@IsOptional()
@IsBoolean()
is_subscribed?: boolean;
}
registerOverriddenValidators(StorePostCartsCartReq);
Мне нужно обновить значение настраиваемого поля, чтобы я мог создать подписчика на основе этого значения. Это я могу сделать только тогда, когда смогу изменить значение этого атрибута с помощью API хранилища обновлений.