mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ACA-4229] [ADW-AGS] Move Governance plugin check script to ADF CLI (#6523)
* [ACA-4229] [ADW-AGS] Move Governance plugin check script to ADF CLI * * Added description
This commit is contained in:
26
lib/cli/scripts/plugins/governance-check-plugin.ts
Normal file
26
lib/cli/scripts/plugins/governance-check-plugin.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { PluginInterface } from './plugin-model';
|
||||
import { GovernanceHealth } from './governance-health';
|
||||
|
||||
export class GovernanceCheckPlugin {
|
||||
governanceHealth: GovernanceHealth;
|
||||
constructor(
|
||||
private pluginInfo: PluginInterface,
|
||||
private alfrescoJsApi: any
|
||||
) {
|
||||
this.governanceHealth = new GovernanceHealth(this.alfrescoJsApi);
|
||||
}
|
||||
|
||||
async checkRecordManagement() {
|
||||
let pluginStatus;
|
||||
|
||||
const isAvailable = await this.governanceHealth.isRecordManagementAvailable();
|
||||
if (!isAvailable) {
|
||||
await this.governanceHealth.createRecordManagementSite();
|
||||
pluginStatus = [{ PluginName: this.pluginInfo.name, Status: 'Active', RecordManagement: 'Created'}];
|
||||
console.table(pluginStatus);
|
||||
} else {
|
||||
pluginStatus = [{ PluginName: this.pluginInfo.name, Status: 'Active', RecordManagement: 'Available' }];
|
||||
console.table(pluginStatus);
|
||||
}
|
||||
}
|
||||
}
|
41
lib/cli/scripts/plugins/governance-health.ts
Normal file
41
lib/cli/scripts/plugins/governance-health.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { logger } from '../logger';
|
||||
|
||||
export class GovernanceHealth {
|
||||
constructor(private alfrescoJsApi: any) {}
|
||||
|
||||
async isRecordManagementAvailable() {
|
||||
try {
|
||||
const site = await this.alfrescoJsApi.gsCore.gsSitesApi.getRMSite();
|
||||
logger.info(
|
||||
`Record Management site is present: ${site.entry.title}`
|
||||
);
|
||||
return true;
|
||||
} catch (error) {
|
||||
logger.error(
|
||||
`Record Management site get failed: ${
|
||||
JSON.parse(error.message).error.errorKey
|
||||
}`
|
||||
);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async createRecordManagementSite() {
|
||||
const body = { title: 'Records Management' };
|
||||
const opts = { skipAddToFavorites: false }; // | Flag to indicate whether the RM site should not be added to the user's site favorites.
|
||||
|
||||
try {
|
||||
const site = await this.alfrescoJsApi.gsCore.gsSitesApi.createRMSite(
|
||||
body,
|
||||
opts
|
||||
);
|
||||
logger.info('Record Management site: created' + site);
|
||||
} catch (error) {
|
||||
logger.error(
|
||||
`Record Management site creation failed: ${
|
||||
JSON.parse(error.message).error.errorKey
|
||||
}`
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
@@ -7,6 +7,6 @@ export enum PluginTarget {
|
||||
export interface PluginInterface {
|
||||
name: string;
|
||||
host: string;
|
||||
appName: string;
|
||||
uiName: string;
|
||||
appName?: string;
|
||||
uiName?: string;
|
||||
}
|
||||
|
@@ -28,17 +28,17 @@ export class ProcessAutomationCheckPlugin {
|
||||
} has been correctly configured`
|
||||
);
|
||||
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Active', BE: 'Enabled', FE: 'Enabled' }];
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Active', BE: 'UP', FE: 'Enabled' }];
|
||||
console.table(pluginStatus);
|
||||
} else {
|
||||
this.logConfigurationError();
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: isBackendActive ? 'Enabled' : 'Disabled', FE: isPluginEnabled ? 'Enabled' : 'Disabled' }];
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: isBackendActive ? 'UP' : 'DOWN', FE: isPluginEnabled ? 'Enabled' : 'Disabled' }];
|
||||
console.table(pluginStatus);
|
||||
process.exit(1);
|
||||
}
|
||||
} catch (e) {
|
||||
this.logConfigurationError(e);
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: 'Disabled', FE: 'Disabled' }];
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: 'DOWN', FE: 'Disabled' }];
|
||||
console.table(pluginStatus);
|
||||
process.exit(1);
|
||||
}
|
||||
|
@@ -27,17 +27,17 @@ export class ProcessServiceCheckPlugin {
|
||||
this.plugInInfo.name
|
||||
} has been correctly configured`
|
||||
);
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: `${'Active'}`, BE: 'Enabled', FE: 'Enabled' }];
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: `${'Active'}`, BE: 'UP', FE: 'Enabled' }];
|
||||
console.table(pluginStatus);
|
||||
} else {
|
||||
this.logConfigurationError();
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: isBackendActive ? 'Enabled' : 'Disabled', FE: isPluginEnabled ? 'Enabled' : 'Disabled' }];
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: isBackendActive ? 'UP' : 'DOWN', FE: isPluginEnabled ? 'Enabled' : 'Disabled' }];
|
||||
console.table(pluginStatus);
|
||||
process.exit(1);
|
||||
}
|
||||
} catch (e) {
|
||||
this.logConfigurationError(e);
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: 'Disabled', FE: 'Disabled' }];
|
||||
pluginStatus = [{ PluginName: this.plugInInfo.name, Status: 'Inactive', BE: 'DOWN', FE: 'Disabled' }];
|
||||
console.table(pluginStatus);
|
||||
process.exit(1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user