35%macro mv_deletejes(path=
37 ,access_token_var=ACCESS_TOKEN
38 ,grant_type=sas_services
41%
if &grant_type=detect %then %
do;
42 %
if %symexist(&access_token_var) %then %let grant_type=authorization_code;
43 %
else %let grant_type=sas_services;
45%
if &grant_type=sas_services %then %
do;
46 %let oauth_bearer=oauth_bearer=sas_services;
47 %let &access_token_var=;
50%mp_abort(iftrue=(&grant_type ne authorization_code and &grant_type ne password
51 and &grant_type ne sas_services
54 ,msg=%str(Invalid value
for grant_type: &grant_type)
56%mp_abort(iftrue=(%mf_isblank(&path)=1)
58 ,msg=%str(path value must be provided)
60%mp_abort(iftrue=(%mf_isblank(&name)=1)
62 ,msg=%str(name value must be provided)
64%mp_abort(iftrue=(%length(&path)=1)
66 ,msg=%str(path value must be provided)
71%let base_uri=%mf_getplatform(VIYARESTAPI);
74%let fname1=%mf_getuniquefileref();
75proc http method=
'GET' out=&fname1 &oauth_bearer
76 url=
"&base_uri/folders/folders/@item?path=&path";
77%
if &grant_type=authorization_code %then %
do;
78 headers
"Authorization"=
"Bearer &&&access_token_var";
81%
if &SYS_PROCHTTP_STATUS_CODE=404 %then %
do;
82 %put &sysmacroname: Folder &path NOT FOUND - nothing to delete!;
85%
else %
if &SYS_PROCHTTP_STATUS_CODE ne 200 %then %
do;
87 %mp_abort(mac=&sysmacroname
88 ,msg=%str(&SYS_PROCHTTP_STATUS_CODE &SYS_PROCHTTP_STATUS_PHRASE)
94%let libref1=%mf_getuniquelibref();
95libname &libref1 JSON fileref=&fname1;
98 if rel=
'members' then call symputx(
'mref',quote(
"&base_uri"!!trim(href)),
'l');
103%let fname1a=%mf_getuniquefileref();
104proc http method=
'GET' out=&fname1a &oauth_bearer
105 url=%unquote(%superq(mref));
106%
if &grant_type=authorization_code %then %
do;
107 headers
"Authorization"=
"Bearer &&&access_token_var";
110%
if &SYS_PROCHTTP_STATUS_CODE ne 200 %then %
do;
111 %put &=sysmacroname &=SYS_PROCHTTP_STATUS_CODE &=SYS_PROCHTTP_STATUS_PHRASE;
114%let libref1a=%mf_getuniquelibref();
115libname &libref1a JSON fileref=&fname1a;
120 length contenttype name uri $1000;
121 call missing(of _all_);
122 set &libref1a..items;
123 if contenttype=
'jobDefinition' and upcase(name)=
"%upcase(&name)" then
do;
124 call symputx(
'uri',cats(
"&base_uri",uri),
'l');
125 call symputx(
'found',1,
'l');
128%
if &found=0 %then %
do;
129 %put NOTE:;%put NOTE- &sysmacroname: &path/&name NOT FOUND;%put NOTE- ;
132proc http method=
"DELETE" url=
"&uri" &oauth_bearer;
134%
if &grant_type=authorization_code %then %
do;
135 "Authorization"=
"Bearer &&&access_token_var"
139%
if &SYS_PROCHTTP_STATUS_CODE ne 204 %then %
do;
140 data _null_; infile &fname2; input; putlog _infile_;run;
141 %mp_abort(mac=&sysmacroname
142 ,msg=%str(&SYS_PROCHTTP_STATUS_CODE &SYS_PROCHTTP_STATUS_PHRASE)
145%
else %put &sysmacroname: &path/&name deleted;
148filename &fname1 clear;
149libname &libref1 clear;
150filename &fname1a clear;
151libname &libref1a clear;