@devx-commerce/plugin-product-reviews
Version:
Product Reviews Plugin for Medusa
34 lines • 3.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProductReviewModel = void 0;
const utils_1 = require("@medusajs/framework/utils");
const review_associated_media_1 = require("./review-associated-media");
const product_review_response_1 = require("./product-review-response");
exports.ProductReviewModel = utils_1.model
.define("product_review", {
id: utils_1.model.id({ prefix: "prev" }).primaryKey(),
name: utils_1.model.text().searchable().nullable(),
email: utils_1.model.text().nullable(),
phone: utils_1.model.text().nullable(),
// Review details
rating: utils_1.model.number(),
title: utils_1.model.text().searchable().nullable(),
description: utils_1.model.text().searchable().nullable(),
product_id: utils_1.model.text().nullable(),
associated_medias: utils_1.model.hasMany(() => review_associated_media_1.ReviewAssociatedMediaModel, {
mappedBy: "product_review",
}),
response: utils_1.model.hasOne(() => product_review_response_1.ProductReviewResponseModel).nullable(),
is_verified_purchase: utils_1.model.boolean().default(false),
is_admin_verified: utils_1.model.boolean().default(false),
})
.checks([
{
name: "product_review_rating_check",
expression: (columns) => `${columns.rating} >= 1 AND ${columns.rating} <= 5`,
},
])
.cascades({
delete: ["associated_medias", "response"],
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1yZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LXJldmlldy9tb2RlbHMvcHJvZHVjdC1yZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtEO0FBQ2xELHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFFMUQsUUFBQSxrQkFBa0IsR0FBRyxhQUFLO0tBQ3BDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtJQUN4QixFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUU3QyxJQUFJLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxLQUFLLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixLQUFLLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUU5QixpQkFBaUI7SUFDakIsTUFBTSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdEIsS0FBSyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0MsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakQsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFbkMsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvREFBMEIsRUFBRTtRQUNqRSxRQUFRLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUM7SUFFRixRQUFRLEVBQUUsYUFBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvREFBMEIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUVuRSxvQkFBb0IsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUVwRCxpQkFBaUIsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztDQUNsRCxDQUFDO0tBQ0QsTUFBTSxDQUFDO0lBQ047UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3RCLEdBQUcsT0FBTyxDQUFDLE1BQU0sYUFBYSxPQUFPLENBQUMsTUFBTSxPQUFPO0tBQ3REO0NBQ0YsQ0FBQztLQUNELFFBQVEsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQztDQUMxQyxDQUFDLENBQUMifQ==