mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-394: Expose "last active" time for connections and users via REST API.
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
package org.apache.guacamole.rest.connection;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
||||
@@ -76,6 +77,12 @@ public class APIConnection {
|
||||
*/
|
||||
private int activeConnections;
|
||||
|
||||
/**
|
||||
* The date and time that this connection was last used, or null if this
|
||||
* connection has never been used or this information is unavailable.
|
||||
*/
|
||||
private Date lastActive;
|
||||
|
||||
/**
|
||||
* Create an empty APIConnection.
|
||||
*/
|
||||
@@ -97,6 +104,7 @@ public class APIConnection {
|
||||
this.identifier = connection.getIdentifier();
|
||||
this.parentIdentifier = connection.getParentIdentifier();
|
||||
this.activeConnections = connection.getActiveConnections();
|
||||
this.lastActive = connection.getLastActive();
|
||||
|
||||
// Set protocol from configuration
|
||||
GuacamoleConfiguration configuration = connection.getConfiguration();
|
||||
@@ -257,4 +265,27 @@ public class APIConnection {
|
||||
this.sharingProfiles = sharingProfiles;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the date and time that this connection was last used, or null if
|
||||
* this connection has never been used or this information is unavailable.
|
||||
*
|
||||
* @return
|
||||
* The date and time that this connection was last used, or null if this
|
||||
* connection has never been used or this information is unavailable.
|
||||
*/
|
||||
public Date getLastActive() {
|
||||
return lastActive;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the date and time that this connection was last used.
|
||||
*
|
||||
* @param lastActive
|
||||
* The date and time that this connection was last used, or null if this
|
||||
* connection has never been used or this information is unavailable.
|
||||
*/
|
||||
public void setLastActive(Date lastActive) {
|
||||
this.lastActive = lastActive;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -19,6 +19,7 @@
|
||||
|
||||
package org.apache.guacamole.rest.user;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
||||
@@ -46,6 +47,12 @@ public class APIUser {
|
||||
*/
|
||||
private Map<String, String> attributes;
|
||||
|
||||
/**
|
||||
* The date and time that this user was last logged in, or null if this user
|
||||
* has never logged in or this information is unavailable.
|
||||
*/
|
||||
private Date lastActive;
|
||||
|
||||
/**
|
||||
* Construct a new empty APIUser.
|
||||
*/
|
||||
@@ -60,6 +67,7 @@ public class APIUser {
|
||||
// Set user information
|
||||
this.username = user.getIdentifier();
|
||||
this.password = user.getPassword();
|
||||
this.lastActive = user.getLastActive();
|
||||
|
||||
// Associate any attributes
|
||||
this.attributes = user.getAttributes();
|
||||
@@ -122,4 +130,27 @@ public class APIUser {
|
||||
this.attributes = attributes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the date and time that this user was last logged in, or null if
|
||||
* this user has never logged in or this information is unavailable.
|
||||
*
|
||||
* @return
|
||||
* The date and time that this user was last logged in, or null if this
|
||||
* user has never logged in or this information is unavailable.
|
||||
*/
|
||||
public Date getLastActive() {
|
||||
return lastActive;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the date and time that this user was last logged in.
|
||||
*
|
||||
* @param lastActive
|
||||
* The date and time that this user was last logged in, or null if this
|
||||
* user has never logged in or this information is unavailable.
|
||||
*/
|
||||
public void setLastActive(Date lastActive) {
|
||||
this.lastActive = lastActive;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -104,6 +104,15 @@ angular.module('rest').factory('Connection', [function defineConnection() {
|
||||
*/
|
||||
this.sharingProfiles = template.sharingProfiles;
|
||||
|
||||
/**
|
||||
* The time that this connection was last used, in seconds since
|
||||
* 1970-01-01 00:00:00 UTC. If this information is unknown or
|
||||
* unavailable, this will be null.
|
||||
*
|
||||
* @type Number
|
||||
*/
|
||||
this.lastActive = template.lastActive;
|
||||
|
||||
};
|
||||
|
||||
return Connection;
|
||||
|
@@ -53,6 +53,15 @@ angular.module('rest').factory('User', [function defineUser() {
|
||||
*/
|
||||
this.password = template.password;
|
||||
|
||||
/**
|
||||
* The time that this user was last logged in, in seconds since
|
||||
* 1970-01-01 00:00:00 UTC. If this information is unknown or
|
||||
* unavailable, this will be null.
|
||||
*
|
||||
* @type Number
|
||||
*/
|
||||
this.lastActive = template.lastActive;
|
||||
|
||||
/**
|
||||
* Arbitrary name/value pairs which further describe this user. The
|
||||
* semantics and validity of these attributes are dictated by the
|
||||
|
Reference in New Issue
Block a user