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;
|
package org.apache.guacamole.rest.connection;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
||||||
@@ -75,7 +76,13 @@ public class APIConnection {
|
|||||||
* The count of currently active connections using this connection.
|
* The count of currently active connections using this connection.
|
||||||
*/
|
*/
|
||||||
private int activeConnections;
|
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.
|
* Create an empty APIConnection.
|
||||||
*/
|
*/
|
||||||
@@ -97,6 +104,7 @@ public class APIConnection {
|
|||||||
this.identifier = connection.getIdentifier();
|
this.identifier = connection.getIdentifier();
|
||||||
this.parentIdentifier = connection.getParentIdentifier();
|
this.parentIdentifier = connection.getParentIdentifier();
|
||||||
this.activeConnections = connection.getActiveConnections();
|
this.activeConnections = connection.getActiveConnections();
|
||||||
|
this.lastActive = connection.getLastActive();
|
||||||
|
|
||||||
// Set protocol from configuration
|
// Set protocol from configuration
|
||||||
GuacamoleConfiguration configuration = connection.getConfiguration();
|
GuacamoleConfiguration configuration = connection.getConfiguration();
|
||||||
@@ -257,4 +265,27 @@ public class APIConnection {
|
|||||||
this.sharingProfiles = sharingProfiles;
|
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;
|
package org.apache.guacamole.rest.user;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
||||||
@@ -46,6 +47,12 @@ public class APIUser {
|
|||||||
*/
|
*/
|
||||||
private Map<String, String> attributes;
|
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.
|
* Construct a new empty APIUser.
|
||||||
*/
|
*/
|
||||||
@@ -60,6 +67,7 @@ public class APIUser {
|
|||||||
// Set user information
|
// Set user information
|
||||||
this.username = user.getIdentifier();
|
this.username = user.getIdentifier();
|
||||||
this.password = user.getPassword();
|
this.password = user.getPassword();
|
||||||
|
this.lastActive = user.getLastActive();
|
||||||
|
|
||||||
// Associate any attributes
|
// Associate any attributes
|
||||||
this.attributes = user.getAttributes();
|
this.attributes = user.getAttributes();
|
||||||
@@ -122,4 +130,27 @@ public class APIUser {
|
|||||||
this.attributes = attributes;
|
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;
|
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;
|
return Connection;
|
||||||
|
@@ -53,6 +53,15 @@ angular.module('rest').factory('User', [function defineUser() {
|
|||||||
*/
|
*/
|
||||||
this.password = template.password;
|
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
|
* Arbitrary name/value pairs which further describe this user. The
|
||||||
* semantics and validity of these attributes are dictated by the
|
* semantics and validity of these attributes are dictated by the
|
||||||
|
Reference in New Issue
Block a user