medusa-plugin-product-reviews-kvy
Version:
Plugins Product Reviews for Medusa ecommerce server.
167 lines (166 loc) • 6.54 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ProductReviewMigration1679451097821 = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _typeorm = require("typeorm");
var ProductReviewMigration1679451097821 = exports.ProductReviewMigration1679451097821 = /*#__PURE__*/function () {
function ProductReviewMigration1679451097821() {
(0, _classCallCheck2["default"])(this, ProductReviewMigration1679451097821);
}
(0, _createClass2["default"])(ProductReviewMigration1679451097821, [{
key: "up",
value: function () {
var _up = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(queryRunner) {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return queryRunner.createTable(new _typeorm.Table({
name: "product_review",
columns: [{
name: "id",
type: "varchar",
isPrimary: true
}, {
name: "product_id",
type: "varchar",
isNullable: false
}, {
name: "customer_id",
type: "varchar",
isNullable: false
}, {
name: "order_id",
type: "varchar",
isNullable: false
}, {
name: "name",
type: "varchar",
isNullable: false
}, {
name: "stars",
type: "integer",
isNullable: false
}, {
name: "content",
type: "text",
isNullable: false
}, {
name: "medias",
type: "jsonb",
isNullable: true
}, {
name: "approved",
type: "boolean",
"default": false
}, {
name: "deleted_at",
type: "timestamptz",
isNullable: true,
"default": null
}, {
name: "created_at",
type: "timestamptz",
"default": "now()"
}, {
name: "updated_at",
type: "timestamptz",
"default": "now()"
}]
}), true);
case 2:
_context.next = 4;
return queryRunner.createForeignKey("product_review", new _typeorm.TableForeignKey({
columnNames: ["product_id"],
referencedColumnNames: ["id"],
referencedTableName: "product",
onDelete: "CASCADE"
}));
case 4:
_context.next = 6;
return queryRunner.createForeignKey("product_review", new _typeorm.TableForeignKey({
columnNames: ["customer_id"],
referencedColumnNames: ["id"],
referencedTableName: "customer",
onDelete: "CASCADE"
}));
case 6:
_context.next = 8;
return queryRunner.createForeignKey("product_review", new _typeorm.TableForeignKey({
columnNames: ["order_id"],
referencedColumnNames: ["id"],
referencedTableName: "order",
onDelete: "CASCADE"
}));
case 8:
case "end":
return _context.stop();
}
}, _callee);
}));
function up(_x) {
return _up.apply(this, arguments);
}
return up;
}()
}, {
key: "down",
value: function () {
var _down = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(queryRunner) {
var table, foreignKeysProduct, foreignKeysCustomer, foreignKeysOrder;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return queryRunner.getTable("product_review");
case 2:
table = _context2.sent;
foreignKeysProduct = table.foreignKeys.find(function (fk) {
return fk.columnNames.includes("product_id");
});
foreignKeysCustomer = table.foreignKeys.find(function (fk) {
return fk.columnNames.includes("customer_id");
});
foreignKeysOrder = table.foreignKeys.find(function (fk) {
return fk.columnNames.includes("order_id");
});
_context2.next = 8;
return queryRunner.dropForeignKey("product_review", foreignKeysProduct);
case 8:
_context2.next = 10;
return queryRunner.dropForeignKey("product_review", foreignKeysCustomer);
case 10:
_context2.next = 12;
return queryRunner.dropForeignKey("product_review", foreignKeysOrder);
case 12:
_context2.next = 14;
return queryRunner.dropColumn("product_review", "product_id");
case 14:
_context2.next = 16;
return queryRunner.dropColumn("product_review", "customer_id");
case 16:
_context2.next = 18;
return queryRunner.dropColumn("product_review", "order_id");
case 18:
_context2.next = 20;
return queryRunner.dropTable("product_review");
case 20:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function down(_x2) {
return _down.apply(this, arguments);
}
return down;
}()
}]);
return ProductReviewMigration1679451097821;
}();