Fix retours PR

This commit is contained in:
Jim Laurie 2017-09-29 17:06:01 +02:00
parent 5b575ffac5
commit b58d11d18a
10 changed files with 21 additions and 23 deletions

View File

@ -277,17 +277,13 @@ const enableHookNestedDependencies = function (name, flattenHooksConfig) {
if (isEmpty(get(flattenHooksConfig, name, true))) { if (isEmpty(get(flattenHooksConfig, name, true))) {
// Check if database connector is used // Check if database connector is used
let isUsed = false; const modelUsed = Object.keys(this.api || {})
forEach(get(strapi, 'api', {}), api => { .filter(x => isObject(this.api[x].models)) // Filter API with models
if (!api.models) return; .map(x => this.api[x].models) // Keep models
.filter(model => get(this.connection, model.connection, {}).connector === name) || 0; // Filter model with the right connector
forEach(api.models, model => {
if (get(strapi.connection, model.connection, {}).connector === name) isUsed = true;
});
});
flattenHooksConfig[name] = { flattenHooksConfig[name] = {
enabled: isUsed enabled: modelUsed.length > 0 // Will return false if there is no model, else true.
}; };
// Enabled dependencies. // Enabled dependencies.

View File

@ -47,7 +47,7 @@ module.exports = strapi => {
initialize: function(cb) { initialize: function(cb) {
strapi.app.use( strapi.app.use(
async (ctx, next) => { async (ctx, next) => {
if (ctx.admin) return next(); if (ctx.request.admin) return next();
await strapi.koaMiddlewares.kcors({ await strapi.koaMiddlewares.kcors({
origin: strapi.config.middleware.settings.cors.origin, origin: strapi.config.middleware.settings.cors.origin,

View File

@ -27,7 +27,7 @@ module.exports = strapi => {
initialize: function(cb) { initialize: function(cb) {
strapi.app.use( strapi.app.use(
async (ctx, next) => { async (ctx, next) => {
if (ctx.admin) return next(); if (ctx.request.admin) return next();
strapi.koaMiddlewares.convert( strapi.koaMiddlewares.convert(
strapi.koaMiddlewares.lusca.csp(strapi.config.middleware.settings.csp) strapi.koaMiddlewares.lusca.csp(strapi.config.middleware.settings.csp)

View File

@ -29,7 +29,7 @@ module.exports = strapi => {
initialize: function(cb) { initialize: function(cb) {
strapi.app.use( strapi.app.use(
async (ctx, next) => { async (ctx, next) => {
if (ctx.admin) return next(); if (ctx.request.admin) return next();
await strapi.koaMiddlewares.convert( await strapi.koaMiddlewares.convert(
strapi.koaMiddlewares.lusca.csrf({ strapi.koaMiddlewares.lusca.csrf({

View File

@ -29,7 +29,7 @@ module.exports = strapi => {
initialize: function(cb) { initialize: function(cb) {
strapi.app.use( strapi.app.use(
async (ctx, next) => { async (ctx, next) => {
if (ctx.admin) return next(); if (ctx.request.admin) return next();
strapi.koaMiddlewares.convert( strapi.koaMiddlewares.convert(
strapi.koaMiddlewares.lusca.hsts({ strapi.koaMiddlewares.lusca.hsts({

View File

@ -3,18 +3,20 @@
const glob = require('glob'); const glob = require('glob');
const path = require('path'); const path = require('path');
const { parallel } = require('async'); const { parallel } = require('async');
const { after, includes, indexOf, drop, dropRight, uniq, defaultsDeep, get, set, isEmpty, isUndefined, union, keys } = require('lodash'); const { after, includes, indexOf, drop, dropRight, uniq, defaultsDeep, get, set, isEmpty, isUndefined, union } = require('lodash');
module.exports = function() { module.exports = function() {
// Set if is admin destination for middleware application. // Set if is admin destination for middleware application.
// TODO: Use dynamic config for admin url. // TODO: Use dynamic config for admin url.
strapi.app.use(async (ctx, next) => { strapi.app.use(async (ctx, next) => {
const accepted = keys(strapi.plugins).map(url => `^\/${url}`); const accepted = Object.keys(strapi.plugins).map(url => `^\/${url}`).concat(['^\/admin']);
accepted.push('^\/admin');
const isMatch = accepted.some(rx => new RegExp(rx).test(ctx.request.url)); strapi.app.use(async (ctx, next) => {
set(ctx, 'admin', isMatch); ctx.request.admin = accepted.some(rx => new RegExp(rx).test(ctx.request.url));
return next(); return next();
}); });
});
// Method to initialize middlewares and emit an event. // Method to initialize middlewares and emit an event.
const initialize = (module, middleware) => (resolve, reject) => { const initialize = (module, middleware) => (resolve, reject) => {

View File

@ -28,7 +28,7 @@ module.exports = strapi => {
initialize: function(cb) { initialize: function(cb) {
strapi.app.use( strapi.app.use(
async (ctx, next) => { async (ctx, next) => {
if (ctx.admin) return next(); if (ctx.request.admin) return next();
strapi.koaMiddlewares.convert( strapi.koaMiddlewares.convert(
strapi.koaMiddlewares.lusca.p3p({ strapi.koaMiddlewares.lusca.p3p({

View File

@ -28,7 +28,7 @@ module.exports = strapi => {
initialize: function(cb) { initialize: function(cb) {
strapi.app.use( strapi.app.use(
async (ctx, next) => { async (ctx, next) => {
if (ctx.admin) return next(); if (ctx.request.admin) return next();
strapi.koaMiddlewares.convert( strapi.koaMiddlewares.convert(
strapi.koaMiddlewares.lusca.xframe({ strapi.koaMiddlewares.lusca.xframe({

View File

@ -28,7 +28,7 @@ module.exports = strapi => {
initialize: function(cb) { initialize: function(cb) {
strapi.app.use( strapi.app.use(
async (ctx, next) => { async (ctx, next) => {
if (ctx.admin) return next(); if (ctx.request.admin) return next();
strapi.koaMiddlewares.convert( strapi.koaMiddlewares.convert(
strapi.koaMiddlewares.lusca.xssProtection({ strapi.koaMiddlewares.lusca.xssProtection({