From 044b6a8d0f5fd0fcf3eaf0a16c44f45f199b78dc Mon Sep 17 00:00:00 2001 From: Thomas Hunter Date: Thu, 17 Dec 2020 09:57:10 +0000 Subject: [PATCH] ACA-4176 & ACA-4177 Show number of groups, sites and files during environment scan (#6461) * ACA-4176 & ACA-4177 Show number of groups, sites and files during environment scan * ACA-4176 & ACA-4177 Removed unnecessary call to main() --- lib/cli/scripts/scan-env.ts | 54 +++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/lib/cli/scripts/scan-env.ts b/lib/cli/scripts/scan-env.ts index 8037d84d54..c3b9aa114d 100644 --- a/lib/cli/scripts/scan-env.ts +++ b/lib/cli/scripts/scan-env.ts @@ -1,4 +1,4 @@ -const { AlfrescoApiCompatibility, PeopleApi, NodesApi } = require('@alfresco/js-api'); +const { AlfrescoApiCompatibility, PeopleApi, NodesApi, GroupsApi, SitesApi, SearchApi } = require('@alfresco/js-api'); const program = require('commander'); const MAX_ATTEMPTS = 10; @@ -27,6 +27,15 @@ export default async function main(_args: string[]) { const homeFoldersCount = await getHomeFoldersCount(); console.log("User's Home Folders :", homeFoldersCount); + const groupsCount = await getGroupsCount(); + console.log('Groups :', groupsCount); + + const sitesCount = await getSitesCount(); + console.log('Sites :', sitesCount); + + const filesCount = await getFilesCount(); + console.log('Files :', filesCount); + } async function attemptLogin() { @@ -77,13 +86,54 @@ async function getPeopleCount(skipCount: number = 0): Promise { async function getHomeFoldersCount(): Promise { try { const nodesApi = new NodesApi(jsApiConnection); - const homesFolderApiResult = await nodesApi.listNodeChildren('-root-', { relativePath: USERS_HOME_RELATIVE_PATH }); + const homesFolderApiResult = await nodesApi.listNodeChildren('-root-', { + maxItems: 1, + relativePath: USERS_HOME_RELATIVE_PATH + }); return homesFolderApiResult.list.pagination.totalItems; } catch (error) { console.log(error); } } +async function getGroupsCount(): Promise { + try { + const groupsApi = new GroupsApi(jsApiConnection); + const groupsApiResult = await groupsApi.listGroups({ maxItems: 1 }); + return groupsApiResult.list.pagination.totalItems; + } catch (error) { + console.log(error); + } +} + +async function getSitesCount(): Promise { + try { + const sitesApi = new SitesApi(jsApiConnection); + const sitesApiResult = await sitesApi.listSites({ maxItems: 1 }); + return sitesApiResult.list.pagination.totalItems; + } catch (error) { + console.log(error); + } +} + +async function getFilesCount(): Promise { + try { + const searchApi = new SearchApi(jsApiConnection); + const searchApiResult = await searchApi.search({ + query: { + query: "select * from cmis:document", + language: 'cmis' + }, + paging: { + maxItems: 1 + } + }); + return searchApiResult.list.pagination.totalItems; + } catch (error) { + console.log(error); + } +} + async function wait(ms: number) { return new Promise(resolve => { setTimeout(resolve, ms);