[ACS-5845] remove Alfresco Compatibility usage (#8822)

* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* fix security concerns for execSync

* security fix

* fixes as per code reviews

* code fixes for attach file widget dialog

* code fixes

* code fixes

* disable ACS storage check

* add the jira to the commented out block

* remove useless logger call

* code fixes

* code fixes

* code fixes

* code and typing fixes

* fix lint

* disable the code

* try other fixes, add missing headers

* dump error to console

* replace test file with in-memory stream

* code fixes

* simplify checks

* disable upload

* remove useless test and ng-mocks dependency
This commit is contained in:
Denys Vuika
2023-08-22 00:02:39 +01:00
committed by GitHub
parent d0c35c28ee
commit 29ec2fcc96
23 changed files with 682 additions and 676 deletions

View File

@@ -19,48 +19,38 @@
import { logger } from '../logger';
import { PluginInterface } from './plugin-model';
import { AlfrescoApi, GsSitesApi } from '@alfresco/js-api';
export class GovernanceHealth {
constructor(private pluginInfo: PluginInterface, private alfrescoJsApi: any) {}
constructor(private pluginInfo: PluginInterface, private alfrescoJsApi: AlfrescoApi) {}
async isRecordManagementAvailable() {
async isRecordManagementAvailable(): Promise<boolean> {
try {
const site = await this.alfrescoJsApi.gsCore.gsSitesApi.getRMSite();
logger.info(
`Record Management site is present: ${site.entry.title}`
);
const gsSitesApi = new GsSitesApi(this.alfrescoJsApi);
const site = await gsSitesApi.getRMSite();
logger.info(`Record Management site is present: ${site.entry.title}`);
console.table([{ PluginName: this.pluginInfo.name, Status: 'Active', RecordManagement: 'Available' }]);
return true;
} catch (error) {
logger.error(
`Record Management site get failed: ${
JSON.parse(error.message).error.errorKey
}`
);
console.table([{ PluginName: this.pluginInfo.name, Status: 'Inactive', RecordManagement: 'Not available'}]);
logger.error(`Record Management site get failed: ${JSON.parse(error.message).error.errorKey}`);
console.table([{ PluginName: this.pluginInfo.name, Status: 'Inactive', RecordManagement: 'Not available' }]);
return false;
}
}
async createRecordManagementSite() {
async createRecordManagementSite(): Promise<void> {
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 {
logger.info('Trying to create Record Management site...');
const site = await this.alfrescoJsApi.gsCore.gsSitesApi.createRMSite(
body,
opts
);
const gsSitesApi = new GsSitesApi(this.alfrescoJsApi);
const site = await gsSitesApi.createRMSite(body, opts);
logger.info('Record Management site: created' + site);
console.table([{ PluginName: this.pluginInfo.name, Status: 'Active', RecordManagement: 'Created'}]);
console.table([{ PluginName: this.pluginInfo.name, Status: 'Active', RecordManagement: 'Created' }]);
} catch (error) {
logger.error(
`Record Management site creation failed: ${
JSON.parse(error.message).error.errorKey
}`
);
console.table([{ PluginName: this.pluginInfo.name, Status: 'Inactive', RecordManagement: 'Not created'}]);
logger.error(`Record Management site creation failed: ${JSON.parse(error.message).error.errorKey}`);
console.table([{ PluginName: this.pluginInfo.name, Status: 'Inactive', RecordManagement: 'Not created' }]);
}
}
}