Interface GroupDAO


  • public interface GroupDAO
    • Method Detail

      • getAllGroupsForOrganization

        List<Group> getAllGroupsForOrganization​(@Param("orgId")
                                                long orgId,
                                                @Param("keyword")
                                                String keyword,
                                                @Param("offset")
                                                int offset,
                                                @Param("limit")
                                                int limit,
                                                @Param("sort")
                                                String sort)
        Get all groups for given organization
        Parameters:
        orgId - organization identifier
        keyword - keyword to filter groups
        offset - offset fpr pagination
        limit - limit number of groups per page
        sort - sort order
        Returns:
        List of groups
      • getAllGroupsForOrganizationTotal

        int getAllGroupsForOrganizationTotal​(@Param("orgId")
                                             long orgId,
                                             @Param("keyword")
                                             String keyword)
        Get all groups for given organization
        Parameters:
        orgId - organization identifier
        keyword - keyword to filter groups
        Returns:
        List of groups
      • createGroup

        Integer createGroup​(@Param("orgId")
                            long orgId,
                            @Param("groupName")
                            String groupName,
                            @Param("groupDescription")
                            String groupDescription,
                            @Param("externallyManaged")
                            int externallyManaged)
        Create group
        Parameters:
        orgId - organization id
        groupName - group name
        groupDescription - group description
        externallyManaged - 1 if group is externally managed, 0 otherwise
        Returns:
        Number of affected rows in DB
      • updateGroup

        Integer updateGroup​(Group group)
        Update group
        Parameters:
        group - group to update
        Returns:
        Number of affected rows in DB
      • deleteGroup

        Integer deleteGroup​(@Param("groupId")
                            long groupId)
        Delete group
        Parameters:
        groupId - group identifier
        Returns:
        Number of affected rows in DB
      • deleteGroups

        Integer deleteGroups​(@Param("groupIds")
                             List<Long> groupIds)
        Delete groups
        Parameters:
        groupIds - ids of the groups to be deleted
        Returns:
        Number of affected rows in DB
      • getGroup

        Group getGroup​(@Param("groupId")
                       long groupId)
        Get group by group id
        Parameters:
        groupId - group identifier
        Returns:
        Group or null if not found
      • getGroups

        List<Group> getGroups​(@Param("groupIds")
                              List<Long> groupIds)
        Get groups by group ids
        Parameters:
        groupIds - list of group identifiers
        Returns:
        List of groups or null if not found
      • getGroupByName

        Group getGroupByName​(@Param("groupName")
                             String groupName)
        Get group by group name
        Parameters:
        groupName - group name
        Returns:
        Group or null if not found
      • getGroupMembers

        List<User> getGroupMembers​(@Param("groupId")
                                   long groupId,
                                   @Param("offset")
                                   int offset,
                                   @Param("limit")
                                   int limit,
                                   @Param("sort")
                                   String sort)
        Get group members
        Parameters:
        groupId - group identifier
        offset - offset for pagination
        limit - limit number of members per page
        sort - sort order
        Returns:
        List of users, group members
      • getGroupMembersTotal

        Integer getGroupMembersTotal​(@Param("groupId")
                                     long groupId)
        Get total number of group members.
        Parameters:
        groupId - group identifier
        Returns:
        Number of members
      • addGroupMembers

        Integer addGroupMembers​(@Param("groupId")
                                long groupId,
                                @Param("userIds")
                                List<Long> userIds)
        Add users to the group
        Parameters:
        groupId - group identifier
        userIds - list of user identifiers
        Returns:
        Number of rows affected in DB
      • removeGroupMembers

        Integer removeGroupMembers​(@Param("groupId")
                                   long groupId,
                                   @Param("userIds")
                                   List<Long> userIds)
        Remove users from the group
        Parameters:
        groupId - group identifier
        userIds - list of user identifiers
        Returns:
        Number of rows affected in DB
      • groupExists

        Integer groupExists​(@Param("groupId")
                            long groupId,
                            @Param("groupName")
                            String groupName)
        Check if group exists
        Parameters:
        groupId - group identifier
        groupName - group name
        Returns:
        Number of groups