Ghost/core/server/services/url/index.js

27 lines
1.1 KiB
JavaScript
Raw Normal View History

const config = require('../../../shared/config');
const LocalFileCache = require('./LocalFileCache');
const UrlService = require('./UrlService');
// NOTE: instead of a path we could give UrlService a "data-resolver" of some sort
// so it doesn't have to contain the logic to read data at all. This would be
// a possible improvement in the future
let writeDisabled = false;
let storagePath = config.getContentPath('data');
// TODO: remove this hack in favor of loading from the content path when it's possible to do so
// by mocking content folders in pre-boot phase
if (process.env.NODE_ENV.match(/^testing/)){
storagePath = config.get('paths').urlCache;
// NOTE: prevents test suites from overwriting cache fixtures.
// A better solution would be injecting a different implementation of the
// cache based on the environment, this approach should do the trick for now
writeDisabled = true;
}
const cache = new LocalFileCache({storagePath, writeDisabled});
const urlService = new UrlService({cache});
// Singleton
module.exports = urlService;