mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
[MNT-21595] Content - Expose a group service for content (#5833)
* Expose a group service for content * Use nx command and remove smart-build
This commit is contained in:
parent
179ce2e8eb
commit
42d88fdaa9
18
lib/content-services/src/lib/group/index.ts
Normal file
18
lib/content-services/src/lib/group/index.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2019 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export * from './public-api';
|
18
lib/content-services/src/lib/group/public-api.ts
Normal file
18
lib/content-services/src/lib/group/public-api.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2019 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export * from './services/group.service';
|
43
lib/content-services/src/lib/group/services/group.service.ts
Normal file
43
lib/content-services/src/lib/group/services/group.service.ts
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2019 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { GroupEntry } from '@alfresco/js-api';
|
||||||
|
import { AlfrescoApiService } from '@alfresco/adf-core';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class GroupService {
|
||||||
|
constructor(
|
||||||
|
private alfrescoApiService: AlfrescoApiService
|
||||||
|
) {}
|
||||||
|
|
||||||
|
async listAllGroupMembershipsForPerson(personId: string, opts?: any, accumulator = []): Promise<GroupEntry[]> {
|
||||||
|
const groupsPaginated = await this.alfrescoApiService.groupsApi.listGroupMembershipsForPerson(personId, opts);
|
||||||
|
accumulator = [...accumulator, ...groupsPaginated.list.entries];
|
||||||
|
if (groupsPaginated.list.pagination.hasMoreItems) {
|
||||||
|
const skip = groupsPaginated.list.pagination.skipCount + groupsPaginated.list.pagination.count;
|
||||||
|
return this.listAllGroupMembershipsForPerson(personId, {
|
||||||
|
maxItems: opts.maxItems,
|
||||||
|
skipCount: skip
|
||||||
|
}, accumulator);
|
||||||
|
} else {
|
||||||
|
return accumulator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -179,7 +179,7 @@ export class NodePermissionService {
|
|||||||
* @returns List of members
|
* @returns List of members
|
||||||
*/
|
*/
|
||||||
getGroupMemberByGroupName(groupName: string, opts?: any): Observable<GroupMemberPaging> {
|
getGroupMemberByGroupName(groupName: string, opts?: any): Observable<GroupMemberPaging> {
|
||||||
return from(this.apiService.groupsApi.getGroupMembers(groupName, opts));
|
return from(this.apiService.groupsApi.listGroupMemberships(groupName, opts));
|
||||||
}
|
}
|
||||||
|
|
||||||
private formattedRoleName(displayName, siteName): string {
|
private formattedRoleName(displayName, siteName): string {
|
||||||
|
@ -32,5 +32,6 @@ export * from './lib/content-metadata/index';
|
|||||||
export * from './lib/permission-manager/index';
|
export * from './lib/permission-manager/index';
|
||||||
export * from './lib/content-node-share/index';
|
export * from './lib/content-node-share/index';
|
||||||
export * from './lib/tree-view/index';
|
export * from './lib/tree-view/index';
|
||||||
|
export * from './lib/group/index';
|
||||||
|
|
||||||
export * from './lib/content.module';
|
export * from './lib/content.module';
|
||||||
|
@ -22,6 +22,7 @@ import {
|
|||||||
Activiti,
|
Activiti,
|
||||||
SearchApi,
|
SearchApi,
|
||||||
Node,
|
Node,
|
||||||
|
GroupsApi,
|
||||||
AlfrescoApiCompatibility, AlfrescoApiConfig
|
AlfrescoApiCompatibility, AlfrescoApiConfig
|
||||||
} from '@alfresco/js-api';
|
} from '@alfresco/js-api';
|
||||||
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
|
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
|
||||||
@ -95,8 +96,8 @@ export class AlfrescoApiService {
|
|||||||
return this.getInstance().core.classesApi;
|
return this.getInstance().core.classesApi;
|
||||||
}
|
}
|
||||||
|
|
||||||
get groupsApi(): Core.GroupsApi {
|
get groupsApi(): GroupsApi {
|
||||||
return this.getInstance().core.groupsApi;
|
return new GroupsApi(this.getInstance());
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -1,87 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
eval GNU=false
|
|
||||||
|
|
||||||
show_help() {
|
|
||||||
echo "Usage: smart-build.sh"
|
|
||||||
echo ""
|
|
||||||
echo "-gnu for gnu"
|
|
||||||
}
|
|
||||||
|
|
||||||
gnu_mode() {
|
|
||||||
echo "====== GNU MODE ====="
|
|
||||||
GNU=true
|
|
||||||
}
|
|
||||||
|
|
||||||
while [[ $1 == -* ]]; do
|
|
||||||
case "$1" in
|
|
||||||
-gnu) gnu_mode; shift;;
|
|
||||||
-*) echo "invalid option: $1" 1>&2; show_help; exit 0;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if $GNU; then
|
|
||||||
gnu='-gnu'
|
|
||||||
else
|
|
||||||
gnu=''
|
|
||||||
fi
|
|
||||||
|
|
||||||
affected="$(nx affected:libs --base=$BASE_HASH --head=$HEAD_HASH --plain)"
|
|
||||||
echo $affected
|
|
||||||
libs=(`echo $affected | sed 's/^$/\n/g'`)
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "extensions" ] ; then
|
|
||||||
./scripts/build/build-extensions.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "core" ] ; then
|
|
||||||
./scripts/build/build-core.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "content-services" ] ; then
|
|
||||||
./scripts/build/build-content-services.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "process-services" ] ; then
|
|
||||||
./scripts/build/build-process-services.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "process-services-cloud" ] ; then
|
|
||||||
./scripts/build/build-process-services-cloud.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "insights" ] ; then
|
|
||||||
./scripts/build/build-insights.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "testing" ] ; then
|
|
||||||
./scripts/build/build-testing.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in "${libs[@]}"
|
|
||||||
do
|
|
||||||
if [ "$i" == "cli" ] ; then
|
|
||||||
./scripts/build/build-cli.sh || exit 1;
|
|
||||||
fi
|
|
||||||
done
|
|
@ -29,9 +29,6 @@ else
|
|||||||
echo "====== Update the package.json with latest ADW deps ====="
|
echo "====== Update the package.json with latest ADW deps ====="
|
||||||
npx @alfresco/adf-cli@alpha update-version --alpha --pathPackage "$(pwd)"
|
npx @alfresco/adf-cli@alpha update-version --alpha --pathPackage "$(pwd)"
|
||||||
npm install;
|
npm install;
|
||||||
|
|
||||||
./scripts/smart-build.sh -gnu || exit 1;
|
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
echo "====== Build Demo shell for production ====="
|
nx affected --target=build --base=$BASE_HASH --head=$HEAD_HASH --exclude=cli --prod --with-deps
|
||||||
npm run build:prod || exit 1;
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user