package org.joget.directory.dao; import java.util.Collection; import org.joget.directory.model.User; public interface UserDao { Boolean addUser(User user); Boolean updateUser(User user); Boolean deleteUser(String username); Boolean assignUserToGroup(String userId, String groupId); Boolean unassignUserFromGroup(String userId, String groupId); User getUser(String username); User getUserById(String id); User getHodByDepartmentId(String departmentId); Collection<User> getUsers(String filterString, String organizationId, String departmentId, String gardeId, String groupId, String roleId, String active, String sort, Boolean desc, Integer start, Integer rows); Long getTotalUsers(String filterString, String organizationId, String departmentId, String gardeId, String groupId, String roleId, String active); Collection<User> getUsersNotInGroup(String filterString, String groupId, String sort, Boolean desc, Integer start, Integer rows); Long getTotalUsersNotInGroup(String filterString, String groupId); Collection<User> findUsers(String condition, Object[] params, String sort, Boolean desc, Integer start, Integer rows); Long countUsers(String condition, Object[] params); Collection<User> getUsersSubordinate(String username, String sort, Boolean desc, Integer start, Integer rows); Long getTotalUsersSubordinate(String username); }