Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions migrations/20190418_productTemplates_isAddOn.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--
-- UPDATE EXISTING TABLES:
-- product_templates:
-- added column `isAddOn`

--
-- product_templates

-- Add new column
ALTER TABLE product_templates ADD COLUMN "isAddOn" boolean DEFAULT false;
-- Update new column
UPDATE product_templates SET "isAddOn"='true' WHERE "subCategory" != "category";
1 change: 1 addition & 0 deletions src/models/productTemplate.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ module.exports = (sequelize, DataTypes) => {
deletedAt: DataTypes.DATE,
disabled: { type: DataTypes.BOOLEAN, defaultValue: false },
hidden: { type: DataTypes.BOOLEAN, defaultValue: false },
isAddOn: { type: DataTypes.BOOLEAN, defaultValue: false },
createdAt: { type: DataTypes.DATE, defaultValue: DataTypes.NOW },
updatedAt: { type: DataTypes.DATE, defaultValue: DataTypes.NOW },
deletedBy: DataTypes.BIGINT,
Expand Down
1 change: 1 addition & 0 deletions src/routes/productTemplates/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ const schema = {
template: Joi.object().required(),
disabled: Joi.boolean().optional(),
hidden: Joi.boolean().optional(),
isAddOn: Joi.boolean().optional(),
createdAt: Joi.any().strip(),
updatedAt: Joi.any().strip(),
deletedAt: Joi.any().strip(),
Expand Down
1 change: 1 addition & 0 deletions src/routes/productTemplates/create.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ describe('CREATE product template', () => {
aliases: ['product key 1', 'product_key_1'],
disabled: true,
hidden: true,
isAddOn: true,
template: {
template1: {
name: 'template 1',
Expand Down
4 changes: 3 additions & 1 deletion src/routes/productTemplates/list.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const validateProductTemplates = (count, resJson, expectedTemplates) => {
resJson.should.have.length(count);
resJson.forEach((pt, idx) => {
pt.should.have.all.keys('id', 'name', 'productKey', 'category', 'subCategory', 'icon', 'brief', 'details',
'aliases', 'template', 'disabled', 'hidden', 'createdBy', 'createdAt', 'updatedBy', 'updatedAt');
'aliases', 'template', 'disabled', 'hidden', 'isAddOn', 'createdBy', 'createdAt', 'updatedBy', 'updatedAt');
pt.should.not.have.all.keys('deletedAt', 'deletedBy');
pt.name.should.be.eql(expectedTemplates[idx].name);
pt.productKey.should.be.eql(expectedTemplates[idx].productKey);
Expand All @@ -30,6 +30,7 @@ const validateProductTemplates = (count, resJson, expectedTemplates) => {
pt.updatedBy.should.be.eql(expectedTemplates[idx].updatedBy);
pt.disabled.should.be.eql(_.get(expectedTemplates[idx], 'disabled', false));
pt.hidden.should.be.eql(_.get(expectedTemplates[idx], 'hidden', false));
pt.isAddOn.should.be.eql(_.get(expectedTemplates[idx], 'isAddOn', false));
});
};

Expand All @@ -52,6 +53,7 @@ describe('LIST product templates', () => {
},
disabled: true,
hidden: true,
isAddOn: true,
template: {
template1: {
name: 'template 1',
Expand Down
1 change: 1 addition & 0 deletions src/routes/productTemplates/update.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ const schema = {
template: Joi.object(),
disabled: Joi.boolean().optional(),
hidden: Joi.boolean().optional(),
isAddOn: Joi.boolean().optional(),
createdAt: Joi.any().strip(),
updatedAt: Joi.any().strip(),
deletedAt: Joi.any().strip(),
Expand Down
1 change: 1 addition & 0 deletions src/routes/productTemplates/update.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ describe('UPDATE product template', () => {
aliases: ['productTemplate-1', 'productTemplate_1'],
disabled: true,
hidden: true,
isAddOn: true,
template: {
template1: {
name: 'template 1',
Expand Down
3 changes: 3 additions & 0 deletions swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3703,6 +3703,9 @@ definitions:
template:
type: object
description: the product template template
isAddOn:
type: boolean
description: the flag that shows if the product template is an add on
ProductTemplateBodyParam:
title: Product template body param
type: object
Expand Down