0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Added new default free tier

refs https://github.com/TryGhost/Team/issues/1037

Free tier is now setup the same way as other tiers, to allow custom description/benefits. This change:

- adds a migration to add a default free tier for all sites
- adds a default fixture to insert a free tier for all new sites
This commit is contained in:
Rishabh 2022-01-11 19:24:51 +05:30 committed by Rishabh Garg
parent 761a330e16
commit e54395eab5
2 changed files with 44 additions and 1 deletions

View file

@ -0,0 +1,37 @@
const {createTransactionalMigration} = require('../../utils');
const ObjectID = require('bson-objectid');
const {slugify} = require('@tryghost/string');
const logging = require('@tryghost/logging');
module.exports = createTransactionalMigration(
async function up(knex) {
const [result] = await knex
.count('id', {as: 'total'})
.from('products')
.where('type', 'free');
if (result.total !== 0) {
logging.warn(`Not adding default free tier, a free tier already exists`);
return;
}
const name = 'Free';
const id = ObjectID().toHexString();
logging.info(`Adding tier "${name}"`);
await knex('products')
.insert({
id: id,
name: name,
type: 'free',
slug: slugify(id),
created_at: knex.raw(`CURRENT_TIMESTAMP`)
});
},
async function down(knex) {
logging.info('Removing free tier');
await knex('products')
.where('type', 'free')
.del();
}
);

View file

@ -3,9 +3,15 @@
{
"name": "Product",
"entries": [
{
"name": "Free",
"slug": "free",
"type": "free"
},
{
"name": "Default Product",
"slug": "default-product"
"slug": "default-product",
"type": "paid"
}
]
},