[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:
siva kumar
2021-01-22 14:58:18 +05:30
committed by GitHub
parent 5712b50d62
commit cf1bb700ae
7 changed files with 106 additions and 14 deletions

View 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);
}
}
}

View 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
}`
);
}
}
}

View File

@@ -7,6 +7,6 @@ export enum PluginTarget {
export interface PluginInterface {
name: string;
host: string;
appName: string;
uiName: string;
appName?: string;
uiName?: string;
}

View File

@@ -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);
}

View File

@@ -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);
}