mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-394: Add history endpoint at user level (analogous to Connection).
This commit is contained in:
@@ -21,8 +21,11 @@ package org.apache.guacamole.rest.user;
|
|||||||
|
|
||||||
import com.google.inject.assistedinject.Assisted;
|
import com.google.inject.assistedinject.Assisted;
|
||||||
import com.google.inject.assistedinject.AssistedInject;
|
import com.google.inject.assistedinject.AssistedInject;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.PUT;
|
import javax.ws.rs.PUT;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
@@ -30,6 +33,7 @@ import javax.ws.rs.core.Context;
|
|||||||
import javax.ws.rs.core.MediaType;
|
import javax.ws.rs.core.MediaType;
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.GuacamoleSecurityException;
|
import org.apache.guacamole.GuacamoleSecurityException;
|
||||||
|
import org.apache.guacamole.net.auth.ActivityRecord;
|
||||||
import org.apache.guacamole.net.auth.AuthenticationProvider;
|
import org.apache.guacamole.net.auth.AuthenticationProvider;
|
||||||
import org.apache.guacamole.net.auth.Credentials;
|
import org.apache.guacamole.net.auth.Credentials;
|
||||||
import org.apache.guacamole.net.auth.User;
|
import org.apache.guacamole.net.auth.User;
|
||||||
@@ -38,6 +42,7 @@ import org.apache.guacamole.net.auth.UserContext;
|
|||||||
import org.apache.guacamole.net.auth.credentials.GuacamoleCredentialsException;
|
import org.apache.guacamole.net.auth.credentials.GuacamoleCredentialsException;
|
||||||
import org.apache.guacamole.rest.directory.DirectoryObjectResource;
|
import org.apache.guacamole.rest.directory.DirectoryObjectResource;
|
||||||
import org.apache.guacamole.rest.directory.DirectoryObjectTranslator;
|
import org.apache.guacamole.rest.directory.DirectoryObjectTranslator;
|
||||||
|
import org.apache.guacamole.rest.history.APIActivityRecord;
|
||||||
import org.apache.guacamole.rest.permission.PermissionSetResource;
|
import org.apache.guacamole.rest.permission.PermissionSetResource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -93,6 +98,31 @@ public class UserResource
|
|||||||
this.user = user;
|
this.user = user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the login (session) history of a single user.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* A list of activity records, describing the start and end times of
|
||||||
|
* this user's sessions.
|
||||||
|
*
|
||||||
|
* @throws GuacamoleException
|
||||||
|
* If an error occurs while retrieving the user history.
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Path("history")
|
||||||
|
public List<APIActivityRecord> getUserHistory()
|
||||||
|
throws GuacamoleException {
|
||||||
|
|
||||||
|
// Retrieve the requested user's history
|
||||||
|
List<APIActivityRecord> apiRecords = new ArrayList<APIActivityRecord>();
|
||||||
|
for (ActivityRecord record : user.getHistory())
|
||||||
|
apiRecords.add(new APIActivityRecord(record));
|
||||||
|
|
||||||
|
// Return the converted history
|
||||||
|
return apiRecords;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateObject(APIUser modifiedObject) throws GuacamoleException {
|
public void updateObject(APIUser modifiedObject) throws GuacamoleException {
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user