@tomei/product
Version:
NestJS package for product module
190 lines • 9.36 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProductModel = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const product_certificate_entity_1 = require("./product-certificate.entity");
const product_tag_entity_1 = require("./product-tag.entity");
const product_brand_entity_1 = require("./product-brand.entity");
const product_customize_option_entity_1 = require("./product-customize-option.entity");
const product_material_entity_1 = require("./product-material.entity");
const settings_collection_entity_1 = require("./settings-collection.entity");
const product_collection_entity_1 = require("./product-collection.entity");
const settings_category_entity_1 = require("./settings-category.entity");
const product_category_entity_1 = require("./product-category.entity");
const store_entity_1 = require("./store.entity");
const store_product_entity_1 = require("./store-product.entity");
const settings_group_entity_1 = require("./settings-group.entity");
const product_group_entity_1 = require("./product-group.entity");
const product_with_inventory_entity_1 = require("./product-with-inventory.entity");
let ProductModel = class ProductModel extends sequelize_typescript_1.Model {
};
exports.ProductModel = ProductModel;
__decorate([
(0, sequelize_typescript_1.Column)({
type: sequelize_typescript_1.DataType.STRING,
allowNull: false,
primaryKey: true,
}),
__metadata("design:type", String)
], ProductModel.prototype, "ProductId", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
allowNull: false,
unique: true,
type: sequelize_typescript_1.DataType.TEXT + ' CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci',
}),
__metadata("design:type", String)
], ProductModel.prototype, "Name", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
allowNull: true,
type: sequelize_typescript_1.DataType.TEXT + ' CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci',
}),
__metadata("design:type", String)
], ProductModel.prototype, "Description", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false, type: sequelize_typescript_1.DataType.INTEGER }),
__metadata("design:type", Number)
], ProductModel.prototype, "VariantLevels", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(30) }),
__metadata("design:type", String)
], ProductModel.prototype, "VariantTypeLevel1", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(30) }),
__metadata("design:type", String)
], ProductModel.prototype, "VariantTypeLevel2", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(30) }),
__metadata("design:type", String)
], ProductModel.prototype, "VariantTypeLevel3", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false, type: sequelize_typescript_1.DataType.CHAR(1), defaultValue: 'N' }),
__metadata("design:type", String)
], ProductModel.prototype, "UpdatedSSYN", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false, unique: true, type: sequelize_typescript_1.DataType.STRING(30) }),
__metadata("design:type", String)
], ProductModel.prototype, "SKU", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(30) }),
__metadata("design:type", String)
], ProductModel.prototype, "PreviousSKU", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
allowNull: false,
type: sequelize_typescript_1.DataType.STRING(30),
}),
__metadata("design:type", String)
], ProductModel.prototype, "Type", void 0);
__decorate([
sequelize_typescript_1.CreatedAt,
__metadata("design:type", Date)
], ProductModel.prototype, "CreatedAt", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false }),
__metadata("design:type", String)
], ProductModel.prototype, "CreatedById", void 0);
__decorate([
sequelize_typescript_1.UpdatedAt,
__metadata("design:type", Date)
], ProductModel.prototype, "UpdatedAt", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false }),
__metadata("design:type", String)
], ProductModel.prototype, "UpdatedById", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(5000) }),
__metadata("design:type", String)
], ProductModel.prototype, "Remark", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(1) }),
__metadata("design:type", String)
], ProductModel.prototype, "IsTaxableYN", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(10) }),
__metadata("design:type", String)
], ProductModel.prototype, "TaxCode", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: true, type: sequelize_typescript_1.DataType.STRING(1) }),
__metadata("design:type", String)
], ProductModel.prototype, "IsPriceInclusiveTaxYN", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
type: sequelize_typescript_1.DataType.ENUM('Active', 'Inactive', 'Deleted', 'Discontinued'),
defaultValue: 'Active',
}),
__metadata("design:type", String)
], ProductModel.prototype, "Status", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
type: sequelize_typescript_1.DataType.ENUM('Y', 'N'),
defaultValue: 'N',
}),
__metadata("design:type", String)
], ProductModel.prototype, "VerifiedYN", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
type: sequelize_typescript_1.DataType.STRING,
}),
__metadata("design:type", String)
], ProductModel.prototype, "VerifiedById", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
type: sequelize_typescript_1.DataType.DATE,
}),
__metadata("design:type", Date)
], ProductModel.prototype, "VerifiedAt", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => product_certificate_entity_1.ProductCertificateModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Certificates", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => product_tag_entity_1.ProductTagModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Tags", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => product_brand_entity_1.ProductBrandModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Brand", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => product_customize_option_entity_1.ProductCustomizeOptionModel),
__metadata("design:type", Array)
], ProductModel.prototype, "CustomizeOptions", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => product_material_entity_1.ProductMaterialModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Materials", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsToMany)(() => settings_collection_entity_1.SettingsCollectionModel, () => product_collection_entity_1.ProductCollectionsModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Collections", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsToMany)(() => settings_category_entity_1.SettingsCategoryModel, () => product_category_entity_1.ProductCategoriesModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Categories", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsToMany)(() => store_entity_1.StoreModel, () => store_product_entity_1.StoreProductModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Stores", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsToMany)(() => settings_group_entity_1.SettingsGroupModel, () => product_group_entity_1.ProductGroupModel),
__metadata("design:type", Array)
], ProductModel.prototype, "Groups", void 0);
__decorate([
(0, sequelize_typescript_1.HasOne)(() => product_with_inventory_entity_1.ProductWithInventoryModel),
__metadata("design:type", Array)
], ProductModel.prototype, "ProductWithInventory", void 0);
exports.ProductModel = ProductModel = __decorate([
(0, sequelize_typescript_1.Table)({ tableName: 'product_Product' })
], ProductModel);
//# sourceMappingURL=product.entity.js.map