Search in sources :

Example 6 with PermissionQuery

use of org.sonar.db.permission.PermissionQuery in project sonarqube by SonarSource.

the class AddUserToTemplateAction method isUserAlreadyAdded.

private boolean isUserAlreadyAdded(DbSession dbSession, long templateId, String userLogin, String permission) {
    PermissionQuery permissionQuery = PermissionQuery.builder().setPermission(permission).build();
    List<String> usersWithPermission = dbClient.permissionTemplateDao().selectUserLoginsByQueryAndTemplate(dbSession, permissionQuery, templateId);
    return usersWithPermission.stream().anyMatch(s -> s.equals(userLogin));
}
Also used : PermissionQuery(org.sonar.db.permission.PermissionQuery)

Example 7 with PermissionQuery

use of org.sonar.db.permission.PermissionQuery in project sonarqube by SonarSource.

the class GroupsAction method handle.

@Override
public void handle(Request request, Response response) throws Exception {
    try (DbSession dbSession = dbClient.openSession(false)) {
        OrganizationDto org = support.findOrganization(dbSession, request.param(PARAM_ORGANIZATION));
        Optional<ProjectId> projectId = support.findProjectId(dbSession, request);
        checkProjectAdmin(userSession, org.getUuid(), projectId);
        PermissionQuery query = buildPermissionQuery(request, projectId);
        // TODO validatePermission(groupsRequest.getPermission(), wsProjectRef);
        List<GroupDto> groups = findGroups(dbSession, org, query);
        int total = dbClient.groupPermissionDao().countGroupsByQuery(dbSession, org.getUuid(), query);
        List<GroupPermissionDto> groupsWithPermission = findGroupPermissions(dbSession, org, groups, projectId);
        Paging paging = Paging.forPageIndex(request.mandatoryParamAsInt(Param.PAGE)).withPageSize(query.getPageSize()).andTotal(total);
        WsGroupsResponse groupsResponse = buildResponse(groups, groupsWithPermission, paging);
        writeProtobuf(groupsResponse, request, response);
    }
}
Also used : DbSession(org.sonar.db.DbSession) Paging(org.sonar.api.utils.Paging) ProjectId(org.sonar.server.permission.ProjectId) GroupDto(org.sonar.db.user.GroupDto) WsGroupsResponse(org.sonarqube.ws.WsPermissions.WsGroupsResponse) OrganizationDto(org.sonar.db.organization.OrganizationDto) PermissionQuery(org.sonar.db.permission.PermissionQuery) GroupPermissionDto(org.sonar.db.permission.GroupPermissionDto)

Aggregations

PermissionQuery (org.sonar.db.permission.PermissionQuery)7 Paging (org.sonar.api.utils.Paging)4 DbSession (org.sonar.db.DbSession)4 OrganizationDto (org.sonar.db.organization.OrganizationDto)2 PermissionTemplateDto (org.sonar.db.permission.template.PermissionTemplateDto)2 GroupDto (org.sonar.db.user.GroupDto)2 UserDto (org.sonar.db.user.UserDto)2 ProjectId (org.sonar.server.permission.ProjectId)2 WsPermissions (org.sonarqube.ws.WsPermissions)2 UsersWsResponse (org.sonarqube.ws.WsPermissions.UsersWsResponse)2 GroupPermissionDto (org.sonar.db.permission.GroupPermissionDto)1 OrganizationPermission (org.sonar.db.permission.OrganizationPermission)1 UserPermissionDto (org.sonar.db.permission.UserPermissionDto)1 PermissionTemplateGroupDto (org.sonar.db.permission.template.PermissionTemplateGroupDto)1 PermissionTemplateUserDto (org.sonar.db.permission.template.PermissionTemplateUserDto)1 Permission (org.sonarqube.ws.WsPermissions.Permission)1 WsGroupsResponse (org.sonarqube.ws.WsPermissions.WsGroupsResponse)1 WsSearchGlobalPermissionsResponse (org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse)1