feat: using ALL libraries as validation in MPE_SECURITY. Closes #279
Build / Build-and-ng-test (pull_request) Successful in 5m20s
Build / Build-and-test-development (pull_request) Successful in 15m19s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m50s

This commit is contained in:
4gl
2026-07-21 18:08:42 +01:00
parent 3ed7cfdbee
commit 62ff0aee4a
3 changed files with 82 additions and 35 deletions
+54 -34
View File
@@ -6,7 +6,7 @@
"": {
"name": "dc-sas",
"dependencies": {
"@sasjs/cli": "4.18.0",
"@sasjs/cli": "4.18.4",
"@sasjs/core": "4.68.1"
}
},
@@ -200,13 +200,13 @@
}
},
"node_modules/@sasjs/adapter": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/@sasjs/adapter/-/adapter-4.17.1.tgz",
"integrity": "sha512-MxTvAoVnr+sBmKtB+CHxDiwvsqfzBqQ3BT/Q2Of6g7WWzJRBvpJcpf6C9R80Uq/cxvEie9JAM3EfExtFEYlcLg==",
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@sasjs/adapter/-/adapter-4.17.2.tgz",
"integrity": "sha512-VfQgTPgHxfnuGyXyPW1VaVwqY3KaUnllte212F2cxceXcUGfCVT6CpDn1GlYQgOyF7W1fsrmnrzc7j+xLxjlyA==",
"license": "ISC",
"dependencies": {
"@sasjs/utils": "^3.5.6",
"axios": "1.16.0",
"axios": "1.18.1",
"axios-cookiejar-support": "5.0.5",
"form-data": "4.0.6",
"https": "1.0.0",
@@ -214,9 +214,9 @@
}
},
"node_modules/@sasjs/adapter/node_modules/@sasjs/utils": {
"version": "3.5.8",
"resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-3.5.8.tgz",
"integrity": "sha512-rR2nCJG5AsuLj+nonpVO4PvA5OW8pUhDivY/25E4PCrQYLAmOaWQyIRne1gvSLL5ELzsOwRZWz6Zf6a02uNayA==",
"version": "3.5.9",
"resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-3.5.9.tgz",
"integrity": "sha512-Qg4N8LoR51vN8WyYUap2OyvJi+6woJk7ph5ylbFVomO9CM+7KIvkMJLFAtwmKSccWPn+FSy2Lhi39pQ/HA1dug==",
"license": "ISC",
"dependencies": {
"@fast-csv/format": "4.3.5",
@@ -249,16 +249,16 @@
}
},
"node_modules/@sasjs/cli": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@sasjs/cli/-/cli-4.18.0.tgz",
"integrity": "sha512-QFsLS9XXF64x9w51kYkmx3ZUWCA9ycVDeLIaNJpHcaTu6jgPRAVHQ61ShXBKlYp/Vrze9pNapW43iaXt7o6VEA==",
"version": "4.18.4",
"resolved": "https://registry.npmjs.org/@sasjs/cli/-/cli-4.18.4.tgz",
"integrity": "sha512-ZxAycth1GDqTsWPjDIx0uifdhmXsgC5LFx4SdujpThPK1bf5MNGLn4h2zqlBKlLTEWKn5UPXVXMDD8ktVn9wtg==",
"license": "ISC",
"dependencies": {
"@sasjs/adapter": "4.17.1",
"@sasjs/core": "4.67.3",
"@sasjs/adapter": "4.17.2",
"@sasjs/core": "4.68.1",
"@sasjs/lint": "2.4.3",
"@sasjs/utils": "3.5.8",
"adm-zip": "0.5.10",
"@sasjs/utils": "3.5.9",
"adm-zip": "0.6.0",
"chalk": "4.1.2",
"dotenv": "16.0.3",
"find": "0.3.0",
@@ -279,16 +279,10 @@
"sasjs": "build/index.js"
}
},
"node_modules/@sasjs/cli/node_modules/@sasjs/core": {
"version": "4.67.3",
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.67.3.tgz",
"integrity": "sha512-7s4UeVN4slF1URo1C5/UnNVv+TonUg+vBktFRiFhcbFYr3RnfXyClBPED6nQOF8AFd2xdXEss58hsCeIebr4lg==",
"license": "MIT"
},
"node_modules/@sasjs/cli/node_modules/@sasjs/utils": {
"version": "3.5.8",
"resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-3.5.8.tgz",
"integrity": "sha512-rR2nCJG5AsuLj+nonpVO4PvA5OW8pUhDivY/25E4PCrQYLAmOaWQyIRne1gvSLL5ELzsOwRZWz6Zf6a02uNayA==",
"version": "3.5.9",
"resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-3.5.9.tgz",
"integrity": "sha512-Qg4N8LoR51vN8WyYUap2OyvJi+6woJk7ph5ylbFVomO9CM+7KIvkMJLFAtwmKSccWPn+FSy2Lhi39pQ/HA1dug==",
"license": "ISC",
"dependencies": {
"@fast-csv/format": "4.3.5",
@@ -418,12 +412,12 @@
}
},
"node_modules/adm-zip": {
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
"integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.6.0.tgz",
"integrity": "sha512-XleryMhbuksdKtofnWZ9Sk+4CUTbms4Mb/EU32SZwToAyZ5RgVos/ki8n+yr0LWHOGKuakbXTuuYNHLQjhddgg==",
"license": "MIT",
"engines": {
"node": ">=6.0"
"node": ">=14.0"
}
},
"node_modules/agent-base": {
@@ -466,13 +460,14 @@
"license": "MIT"
},
"node_modules/axios": {
"version": "1.16.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz",
"integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==",
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz",
"integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.16.0",
"form-data": "^4.0.5",
"https-proxy-agent": "^5.0.1",
"proxy-from-env": "^2.1.0"
}
},
@@ -495,6 +490,31 @@
"tough-cookie": ">=4.0.0"
}
},
"node_modules/axios/node_modules/agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"license": "MIT",
"dependencies": {
"debug": "4"
},
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/axios/node_modules/https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"license": "MIT",
"dependencies": {
"agent-base": "6",
"debug": "4"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -2330,9 +2350,9 @@
}
},
"node_modules/ws": {
"version": "8.20.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
"integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
"version": "8.21.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.1.tgz",
"integrity": "sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
+1 -1
View File
@@ -28,7 +28,7 @@
},
"private": true,
"dependencies": {
"@sasjs/cli": "4.18.0",
"@sasjs/cli": "4.18.4",
"@sasjs/core": "4.68.1"
}
}
@@ -35,3 +35,30 @@ insert into &dclib..mpe_selectbox set
,selectbox_order=14
,ver_to_dttm='31DEC5999:23:59:59'dt;
quit;
/*
Update the MPE_SECURITY LIBREF validation from HARDSELECT on MPE_TABLES
(EDITABLE libraries only) to the SOFTSELECT_HOOK, which lists ALL libraries
(services/validations/libraries_all)
*/
proc sql noprint;
/* close out the current record */
update &dclib..mpe_validations set
tx_to=%sysfunc(datetime())
where base_lib="&dclib"
and base_ds="MPE_SECURITY"
and base_col="LIBREF"
and rule_type='HARDSELECT'
and tx_to='31DEC5999:23:59:59'dt;
/* insert the new version */
insert into &dclib..mpe_validations set
tx_from=%sysfunc(datetime())
,base_lib="&dclib"
,base_ds="MPE_SECURITY"
,base_col="LIBREF"
,rule_type='SOFTSELECT_HOOK'
,rule_value="services/validations/libraries_all"
,rule_active=1
,tx_to='31DEC5999:23:59:59'dt;
quit;