UNPKG

ghost

Version:

The professional publishing platform

38 lines (31 loc) 1.1 kB
const DynamicRedirectManager = require('../lib/DynamicRedirectManager'); const config = require('../../../shared/config'); const urlUtils = require('../../../shared/url-utils'); const models = require('../../models'); const OfferBookshelfRepository = require('./OfferBookshelfRepository'); const OffersModule = require('./OffersModule'); let redirectManager; module.exports = { async init() { redirectManager = new DynamicRedirectManager({ permanentMaxAge: config.get('caching:customRedirects:maxAge'), getSubdirectoryURL: (pathname) => { return urlUtils.urlJoin(urlUtils.getSubdir(), pathname); } }); const repository = new OfferBookshelfRepository( models.Offer, models.OfferRedemption ); const offersModule = OffersModule.create({ redirectManager, repository }); this.api = offersModule.api; await offersModule.init(); }, api: null, get middleware() { return redirectManager.handleRequest; } };