Skip to content

Commit f10e848

Browse files
add list_sessions method
1 parent 2d026f9 commit f10e848

File tree

1 file changed

+48
-2
lines changed

1 file changed

+48
-2
lines changed

src/sasctl/_services/cas_management.py

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,53 @@ class CASManagement(Service):
2626
list_servers, get_server, _, _ = Service._crud_funcs("/servers", "server")
2727

2828
@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):
3076
"""Creates a new session on the CAS server.
3177
3278
Params
@@ -65,7 +111,7 @@ def create_session(cls, properties: dict, server: str):
65111
return sess
66112

67113
@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):
69115
"""Terminates a session on the CAS server.
70116
71117
Params

0 commit comments

Comments
 (0)