41 lines
2.0 KiB
JavaScript

'use strict';
const { features } = require('@strapi/strapi/lib/utils/ee');
const executeCERegister = require('../../server/register');
const migrateAuditLogsTable = require('./migrations/audit-logs-table');
const migrateReviewWorkflowStagesColor = require('./migrations/review-workflows-stages-color');
const migrateReviewWorkflowName = require('./migrations/review-workflows-workflow-name');
const migrateWorkflowsContentTypes = require('./migrations/review-workflows-content-types');
const migrateStageAttribute = require('./migrations/review-workflows-stage-attribute');
const migrateDeletedCTInWorkflows = require('./migrations/review-workflows-deleted-ct-in-workflows');
const createAuditLogsService = require('./services/audit-logs');
const reviewWorkflowsMiddlewares = require('./middlewares/review-workflows');
const { getService } = require('./utils');
const migrateWorkflowsFilterUsersContentType = require('./migrations/review-workflows-filter-user-content-type');
module.exports = async ({ strapi }) => {
const auditLogsIsEnabled = strapi.config.get('admin.auditLogs.enabled', true);
if (auditLogsIsEnabled) {
strapi.hook('strapi::content-types.beforeSync').register(migrateAuditLogsTable);
const auditLogsService = createAuditLogsService(strapi);
strapi.container.register('audit-logs', auditLogsService);
await auditLogsService.register();
}
if (features.isEnabled('review-workflows')) {
strapi.hook('strapi::content-types.beforeSync').register(migrateStageAttribute);
strapi
.hook('strapi::content-types.afterSync')
.register(migrateReviewWorkflowStagesColor)
.register(migrateReviewWorkflowName)
.register(migrateWorkflowsContentTypes)
.register(migrateDeletedCTInWorkflows)
.register(migrateWorkflowsFilterUsersContentType);
const reviewWorkflowService = getService('review-workflows');
reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi);
await reviewWorkflowService.register(features.get('review-workflows'));
}
await executeCERegister({ strapi });
};