/*! * @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 { Observable } from 'rxjs'; import { IdentityGroupModel, IdentityGroupQueryResponse, IdentityGroupCountModel, IdentityGroupQueryCloudRequestModel, IdentityGroupSearchParam } from '../models/identity-group.model'; import { IdentityRoleModel } from '../models/identity-role.model'; export interface IdentityGroupServiceInterface { getGroups(): Observable; getAvailableRoles(groupId: string): Observable; getAssignedRoles(groupId: string): Observable; assignRoles(groupId: string, roles: IdentityRoleModel[]): Observable; removeRoles(groupId: string, roles: IdentityRoleModel[]): Observable; getEffectiveRoles(groupId: string): Observable; queryGroups(requestQuery: IdentityGroupQueryCloudRequestModel): Observable; getTotalGroupsCount(): Observable; createGroup(newGroup: IdentityGroupModel): Observable; updateGroup(groupId: string, updatedGroup: IdentityGroupModel); deleteGroup(groupId: string): Observable; findGroupsByName(searchParams: IdentityGroupSearchParam): Observable; getGroupRoles(groupId: string): Observable; checkGroupHasRole(groupId: string, roleNames: string[]): Observable; getClientIdByApplicationName(applicationName: string): Observable; getClientRoles(groupId: string, clientId: string): Observable; checkGroupHasClientApp(groupId: string, clientId: string): Observable; checkGroupHasAnyClientAppRole(groupId: string, clientId: string, roleNames: string[]): Observable; }