mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
ba8cdc8d2d
- There are two different types of function here 1. "helpers" are public API - config.something() that provide dynamic helpers on top of config 2. "utils" are internal methods used only by config itself - This commit makes this distinction clearer, although we should also change the code to enforce that utils are not exposed
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
const path = require('path');
|
|
|
|
const isPrivacyDisabled = function isPrivacyDisabled(privacyFlag) {
|
|
if (!this.get('privacy')) {
|
|
return false;
|
|
}
|
|
|
|
// CASE: disable all privacy features
|
|
if (this.get('privacy').useTinfoil === true) {
|
|
// CASE: you can still enable single features
|
|
if (this.get('privacy')[privacyFlag] === true) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return this.get('privacy')[privacyFlag] === false;
|
|
};
|
|
|
|
/**
|
|
* we can later support setting folder names via custom config values
|
|
*/
|
|
const getContentPath = function getContentPath(type) {
|
|
switch (type) {
|
|
case 'images':
|
|
return path.join(this.get('paths:contentPath'), 'images/');
|
|
case 'themes':
|
|
return path.join(this.get('paths:contentPath'), 'themes/');
|
|
case 'adapters':
|
|
return path.join(this.get('paths:contentPath'), 'adapters/');
|
|
case 'logs':
|
|
return path.join(this.get('paths:contentPath'), 'logs/');
|
|
case 'data':
|
|
return path.join(this.get('paths:contentPath'), 'data/');
|
|
case 'settings':
|
|
return path.join(this.get('paths:contentPath'), 'settings/');
|
|
default:
|
|
// new Error is allowed here, as we do not want config to depend on @tryghost/error
|
|
// @TODO: revisit this decision when @tryghost/error is no longer dependent on all of ghost-ignition
|
|
// eslint-disable-next-line no-restricted-syntax
|
|
throw new Error('getContentPath was called with: ' + type);
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
isPrivacyDisabled,
|
|
getContentPath
|
|
};
|