package org.secureauth.sarestapi.interfaces;

import org.secureauth.sarestapi.SAAccess;
import org.secureauth.sarestapi.data.Response.GroupAssociationResponse;
import org.secureauth.sarestapi.data.Response.ResponseObject;
import org.secureauth.sarestapi.data.Response.UserProfileResponse;
import org.secureauth.sarestapi.data.UserProfile.NewUserProfile;
import org.secureauth.sarestapi.data.UserProfile.UserToGroups;
import org.secureauth.sarestapi.data.UserProfile.UsersToGroup;

/**
 * Created by rrowcliffe on 5/8/16.
 */
public interface IDMInterface {

    ResponseObject createUser(SAAccess saAccess, NewUserProfile newUserProfile);

    ResponseObject updateUser(SAAccess saAccess, NewUserProfile newUserProfile);

    GroupAssociationResponse addUserToGroup(SAAccess saAccess, String userid, String groupName);

    GroupAssociationResponse addUserToGroup(SAAccess saAccess, UsersToGroup usersToGroup, String groupName);

    GroupAssociationResponse addGroupToUser(SAAccess saAccess, String groupName, String userid);

    GroupAssociationResponse addUserToGroups(SAAccess saAccess, String userId, UserToGroups userToGroups);

    UserProfileResponse getUserProfile(SAAccess saAccess, String userid);

    ResponseObject passwordReset(SAAccess saAccess, String userid, String password);

    ResponseObject passwordChange(SAAccess saAccess, String userid, String currentPassword, String newPassword);


}

@@ -347,16 +347,78 @@
 rofile;%0A
+import org.secureauth.sarestapi.data.UserProfile.UserProfile;%0A
 import o
@@ -735,32 +735,47 @@
 Access saAccess,
+ String userId,
  NewUserProfile 
@@ -800,32 +800,16 @@
     
-GroupAssociation
 Response
  add
@@ -796,32 +796,38 @@
 );%0A%0A    Response
+Object
  addUserToGroup(
@@ -908,32 +908,33 @@
 Response addUser
+s
 ToGroup(SAAccess

Update Method Signatures