From 1eb6d8cec9ec37609da55dab781ca5f516e5c026 Mon Sep 17 00:00:00 2001 From: Allan Bowe Date: Fri, 17 Jun 2022 07:16:57 +0000 Subject: [PATCH] feat: enabling user list by group id as well as name --- all.sas | 17 +++++++++++------ server/ms_getusers.sas | 17 +++++++++++------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/all.sas b/all.sas index 10109be..fded7fb 100644 --- a/all.sas +++ b/all.sas @@ -20416,12 +20416,17 @@ options &optval; %ms_getusers(outds=userlist) - Filtering for a group: + Filtering for a group by group name: %ms_getusers(outds=work.groupmembers, group=GROUPNAME) + Filtering for a group by group id: + + %ms_getusers(outds=work.groupmembers, gid=1) + @param [in] mdebug= (0) Set to 1 to enable DEBUG messages @param [in] group= (0) Set to a group name to filter members for that group + @param [in] gid= (0) Set to a group id to filter members for that group @param [out] outds= (work.ms_getusers) This output dataset will contain the list of user accounts. Format: |DISPLAYNAME:$60.|USERNAME:$30.|ID:best.| @@ -20433,7 +20438,6 @@ options &optval; |`New User `|`newuser `|`5`| -

SAS Macros

@li mf_getuniquefileref.sas @li mf_getuniquelibref.sas @@ -20449,6 +20453,7 @@ options &optval; %macro ms_getusers( outds=work.ms_getusers, group=0, + gid=0, mdebug=0 ); @@ -20483,9 +20488,9 @@ run; run; %end; -%if "&group"="0" %then %let url=/SASjsApi/user; -%else %let url=/SASjsApi/group/by/groupname/&group; - +%if "&group" ne "0" %then %let url=/SASjsApi/group/by/groupname/&group; +%else %if "&gid" ne "0" %then %let url=/SASjsApi/group/&gid; +%else %let url=/SASjsApi/user; proc http method='GET' headerin=&fref0 out=&fref1 url="&_sasjs_apiserverurl.&url"; @@ -20503,7 +20508,7 @@ run; libname &libref JSON fileref=&fref1; -%if "&group"="0" %then %do; +%if "&group"="0" and "&gid"="0" %then %do; data &outds; length DISPLAYNAME $60 USERNAME:$30 ID 8; set &libref..root; diff --git a/server/ms_getusers.sas b/server/ms_getusers.sas index 17e5f86..e911037 100644 --- a/server/ms_getusers.sas +++ b/server/ms_getusers.sas @@ -8,12 +8,17 @@ %ms_getusers(outds=userlist) - Filtering for a group: + Filtering for a group by group name: %ms_getusers(outds=work.groupmembers, group=GROUPNAME) + Filtering for a group by group id: + + %ms_getusers(outds=work.groupmembers, gid=1) + @param [in] mdebug= (0) Set to 1 to enable DEBUG messages @param [in] group= (0) Set to a group name to filter members for that group + @param [in] gid= (0) Set to a group id to filter members for that group @param [out] outds= (work.ms_getusers) This output dataset will contain the list of user accounts. Format: |DISPLAYNAME:$60.|USERNAME:$30.|ID:best.| @@ -25,7 +30,6 @@ |`New User `|`newuser `|`5`| -

SAS Macros

@li mf_getuniquefileref.sas @li mf_getuniquelibref.sas @@ -41,6 +45,7 @@ %macro ms_getusers( outds=work.ms_getusers, group=0, + gid=0, mdebug=0 ); @@ -75,9 +80,9 @@ run; run; %end; -%if "&group"="0" %then %let url=/SASjsApi/user; -%else %let url=/SASjsApi/group/by/groupname/&group; - +%if "&group" ne "0" %then %let url=/SASjsApi/group/by/groupname/&group; +%else %if "&gid" ne "0" %then %let url=/SASjsApi/group/&gid; +%else %let url=/SASjsApi/user; proc http method='GET' headerin=&fref0 out=&fref1 url="&_sasjs_apiserverurl.&url"; @@ -95,7 +100,7 @@ run; libname &libref JSON fileref=&fref1; -%if "&group"="0" %then %do; +%if "&group"="0" and "&gid"="0" %then %do; data &outds; length DISPLAYNAME $60 USERNAME:$30 ID 8; set &libref..root;