@@ -26,7 +26,53 @@ class CASManagement(Service):
26
26
list_servers , get_server , _ , _ = Service ._crud_funcs ("/servers" , "server" )
27
27
28
28
@classmethod
29
- def create_session (cls , properties : dict , server : str ):
29
+ def list_sessions (cls , qparams : dict = None , server : str = None ):
30
+ """
31
+ Returns a collection of sessions available on the CAS server.
32
+
33
+ Params
34
+ ------
35
+ queryParams : dict, optional
36
+ Query parameters.
37
+ Valid keys are `start`, `limit`, `filter`,
38
+ `sortBy`, `excludeItemLink`, `sessionId`.
39
+ server : str, optional
40
+ Name of the CAS server. Defaults to 'cas-shared-default'.
41
+
42
+ Returns
43
+ -------
44
+ list
45
+ A collection of :class:`.RestObj` instances.
46
+ """
47
+ server = server or DEFAULT_SERVER
48
+
49
+ if qparams is not None :
50
+ allowedQuery = [
51
+ "start" ,
52
+ "limit" ,
53
+ "filter" ,
54
+ "sortBy" ,
55
+ "excludeItemLink" ,
56
+ "sessionId" ,
57
+ ]
58
+
59
+ if not all (key in allowedQuery for key in qparams .keys ()):
60
+ raise ValueError (
61
+ "The only acceptable queries are %s." % (allowedQuery )
62
+ )
63
+ else :
64
+ query = qparams
65
+ else :
66
+ query = {}
67
+
68
+ sesslist = cls .get (
69
+ "/servers/%s/sessions" % (server ),
70
+ params = query
71
+ )
72
+ return sesslist
73
+
74
+ @classmethod
75
+ def create_session (cls , properties : dict , server : str = None ):
30
76
"""Creates a new session on the CAS server.
31
77
32
78
Params
@@ -65,7 +111,7 @@ def create_session(cls, properties: dict, server: str):
65
111
return sess
66
112
67
113
@classmethod
68
- def delete_session (cls , sess_id : str , server : str , qparams : dict = None ):
114
+ def delete_session (cls , sess_id : str , server : str = None , qparams : dict = None ):
69
115
"""Terminates a session on the CAS server.
70
116
71
117
Params
0 commit comments