/******************************************************************************* * Copyright (c) 2012 Dmitry Tikhomirov. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: * Dmitry Tikhomirov - initial API and implementation ******************************************************************************/ package org.opensheet.client.services; import java.util.List; import org.opensheet.client.dto.AuthmethodDTO; import org.opensheet.client.dto.UserDTO; import org.springframework.security.access.annotation.Secured; import com.extjs.gxt.ui.client.data.BaseModel; import com.extjs.gxt.ui.client.data.PagingLoadConfig; import com.extjs.gxt.ui.client.data.PagingLoadResult; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; @RemoteServiceRelativePath("service/UserService") public interface UserService extends RemoteService { @Secured("ROLE_USER") public List<UserDTO> getUsers(String criteria); @Secured("ROLE_ADMIN") public List<UserDTO> getUsersByBranch(String criteria,Integer selectedBranch); public List<UserDTO> getUsersByBranchAndByDepartment(String criteria,Integer selectedBranch,Integer selectedDepartment); public UserDTO getUser(Integer id); public List<UserDTO> getUsersAccordingOfAskersRoleByStatusAndByBranch(String status, Integer id); @Secured("ROLE_USER") public UserDTO whoAmI(); public List<UserDTO> getUsersByRole(String criteria); public PagingLoadResult<BaseModel> getUsersPermissions(PagingLoadConfig loadConfig); public void addUser(UserDTO user); public void updateUser(UserDTO user); public void updateUserPermission(UserDTO user); public UserDTO getUserPermission(UserDTO user); public List<BaseModel> getUsersFromExternalStore(AuthmethodDTO storeType); public void setUsersFromExternalStore(List<BaseModel> users,AuthmethodDTO storeType); public void setUserInternalRate(Integer userId,Integer rate); public Integer getUserSessionTimeout(); public void setLang(UserDTO userDTO); }