/*
* Copyright (c) 2008 TouK.pl
*
* 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.
*/
package pl.touk.wonderfulsecurity.gwt.client.rpc;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.user.client.rpc.AsyncCallback;
import pl.touk.wonderfulsecurity.beans.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Map;
import pl.touk.wonderfulsecurity.exceptions.PermissionCollisionException;
/**
* Asynchronous version of {@link pl.touk.wonderfulsecurity.gwt.client.rpc.ISecurityManagerRpcAsync} for gwt RPC
*
* @author Lukasz Kucharski - lkc@touk.pl
*/
public interface ISecurityManagerRpcAsync {
// -------------------------- OTHER METHODS --------------------------
public RequestBuilder assignPermissionToUser(String caller, Long permissionId, Long userId, AsyncCallback callback) throws PermissionCollisionException;
public RequestBuilder deassignPermissionFromUser(String caller, Long permissionId, Long userId, AsyncCallback callback);
public RequestBuilder assignPermissionToRole(String caller, Long permissionId, Long roleId, AsyncCallback callback) throws PermissionCollisionException;
public RequestBuilder deassignPermissionFromRole(String caller, Long permissionId, Long roleId, AsyncCallback callback);
public RequestBuilder assignGroupToUser(String caller, Long groupId, Long userId, AsyncCallback callback) throws PermissionCollisionException;
public RequestBuilder assignRoleToGroup(String caller, Long roleId, Long groupId, AsyncCallback callback) throws PermissionCollisionException;
public RequestBuilder assignRoleToUser(String caller, Long roleId, Long userId, AsyncCallback callback) throws PermissionCollisionException;
public RequestBuilder deassignGroupFromUser(String caller, Long groupId, Long userId, AsyncCallback callback);
public RequestBuilder deassignRoleFromGroup(String caller, Long roleId, Long groupId, AsyncCallback callback);
public RequestBuilder deassignRoleFromUser(String caller, Long roleId, Long userId, AsyncCallback callback);
public void doNotImplement(WsecUser user, AsyncCallback callback);
public RequestBuilder fetchAllAvailableGroups(String caller, AsyncCallback<ArrayList<WsecGroup>> callback);
public RequestBuilder fetchAllAvailablePermissions(String caller, AsyncCallback<ArrayList<WsecPermission>> callback);
public RequestBuilder fetchAllAvailableGroupsMarkAssignedToUser(String caller, Long userId, AsyncCallback<ArrayList<GroupView>> callback);
public RequestBuilder fetchAllAvailableRoles(String caller, AsyncCallback<ArrayList<WsecRole>> callback);
public RequestBuilder fetchAllAvailableRolesMarkAssignedToGroup(String caller, Long groupId, AsyncCallback<ArrayList<RoleView>> callback);
public RequestBuilder fetchAllAvailableRolesMarkAssignedToUser(String caller, Long userId, AsyncCallback<ArrayList<RoleView>> callback);
public RequestBuilder fetchDomainObjectById(String caller, Long userId, String clazzName, AsyncCallback<Serializable> callback);
public RequestBuilder fetchInheritedRolesForUser(String caller, Long userId, AsyncCallback<ArrayList<RoleView>> callback);
public RequestBuilder fetchPagedListWithOverallCount(String caller, Map<String, Object> queryParameters, Integer offset, Integer howMany,
String sortColumn, Boolean desc, String clazz,
AsyncCallback<PagedQueryResult<ArrayList<? extends Serializable>>> callback);
public RequestBuilder saveUser(String caller, WsecUser user, AsyncCallback<WsecUser> callback);
public RequestBuilder updateUser(String caller, WsecUser user, AsyncCallback<WsecUser> callback);
public RequestBuilder fetchAllAvailablePermissionsMarkAssignedToUser(String caller, Long userId, AsyncCallback<ArrayList<PermissionView>> callback);
public RequestBuilder assignPermissionToGroup(String caller, Long permissionId, Long groupId, AsyncCallback callback) throws PermissionCollisionException;
public RequestBuilder deassignPermissionFromGroup(String caller, Long permissionId, Long groupId, AsyncCallback callback);
public RequestBuilder fetchInheritedPermissionsFromGroupForUser(String caller, Long userId, AsyncCallback<ArrayList<PermissionView>> callback);
public RequestBuilder fetchInheritedPermissionsFromRoleForUser(String caller, Long userId, AsyncCallback<ArrayList<PermissionView>> callback);
public RequestBuilder fetchAllAvailablePermissionsMarkAssignedToGroup(String caller, Long groupId, AsyncCallback<ArrayList<PermissionView>> callback);
public RequestBuilder fetchAllAvailablePermissionsMarkAssignedToRole(String caller, Long roleId, AsyncCallback<ArrayList<PermissionView>> callback);
public RequestBuilder fetchInheritedPermissionsFromRoleForGroup(String caller, Long groupId, AsyncCallback<ArrayList<PermissionView>> callback);
public RequestBuilder saveGroup(String caller, WsecGroup group, AsyncCallback<WsecGroup> callback);
public RequestBuilder updateGroup(String caller, WsecGroup group, AsyncCallback<WsecGroup> callback);
public RequestBuilder saveRole(String caller, WsecRole role, AsyncCallback<WsecRole> callback);
public RequestBuilder updateRole(String caller, WsecRole role, AsyncCallback<WsecRole> callback);
public void fetchLoggedInUser(AsyncCallback<WsecUser> callback);
public RequestBuilder fetchInheritedPermissionsFromInhetiredRolesForUser(String caller, Long userId, AsyncCallback<WsecUser> callback);
public RequestBuilder deletePermission(String caller, WsecPermission permission, AsyncCallback<WsecUser> callback);
public RequestBuilder getPermissionsAssignedToRole(String caller, String roleName, AsyncCallback<WsecUser> callback);
}