@digicms/cms
Version:
An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite
30 lines (22 loc) • 766 B
JavaScript
;
const { join, extname, basename } = require('path');
const fse = require('fs-extra');
const { importDefault } = require('@strapi/utils');
// TODO:: allow folders with index.js inside for bigger policies
module.exports = async function loadPolicies(strapi) {
const dir = strapi.dirs.dist.policies;
if (!(await fse.pathExists(dir))) {
return;
}
const policies = {};
const paths = await fse.readdir(dir, { withFileTypes: true });
for (const fd of paths) {
const { name } = fd;
const fullPath = join(dir, name);
if (fd.isFile() && extname(name) === '.js') {
const key = basename(name, '.js');
policies[key] = importDefault(fullPath);
}
}
strapi.container.get('policies').add(`global::`, policies);
};