Compare commits
22 Commits
Author | SHA1 | Date | |
---|---|---|---|
20255c69c2 | |||
74f1c5416b | |||
feed7f1ded | |||
967698e4ce | |||
71bd81ae47 | |||
89a5153bb3 | |||
c11bd9a2c5 | |||
39c3e5411f | |||
aad419c55d | |||
ee58fd5b4b | |||
aedd2c451b | |||
6d597611b6 | |||
9ffe5efe5d | |||
2715950d86 | |||
77a7190f4d | |||
cc65890fea | |||
93758efb27 | |||
c0dc9191e3 | |||
485783a782 | |||
ee07bef2b8 | |||
0de8481314 | |||
ec0f539a33 |
@ -45,4 +45,9 @@ jobs:
|
|||||||
- name: Angular Tests
|
- name: Angular Tests
|
||||||
run: |
|
run: |
|
||||||
cd client
|
cd client
|
||||||
npm run test:headless
|
npm run test:headless
|
||||||
|
|
||||||
|
- name: Production Build
|
||||||
|
run: |
|
||||||
|
cd client
|
||||||
|
npm run build
|
@ -184,6 +184,18 @@ jobs:
|
|||||||
apt-get update
|
apt-get update
|
||||||
apt-get install doxygen -y
|
apt-get install doxygen -y
|
||||||
|
|
||||||
|
- name: Frontend Preliminary Build
|
||||||
|
description: We want to prevent creating empty release if frontend fails
|
||||||
|
run: |
|
||||||
|
cd client
|
||||||
|
npm ci
|
||||||
|
# Decrypt and Install sheet
|
||||||
|
echo ${{ secrets.SHEET_PWD }} | gpg --batch --yes --passphrase-fd 0 ./libraries/sheet-crypto.tgz.gpg
|
||||||
|
npm i ./libraries/sheet-crypto.tgz
|
||||||
|
# End
|
||||||
|
npm i webpack
|
||||||
|
npm run build
|
||||||
|
|
||||||
- name: Create Empty Release (assets are posted later)
|
- name: Create Empty Release (assets are posted later)
|
||||||
run: |
|
run: |
|
||||||
npm i
|
npm i
|
||||||
@ -196,11 +208,6 @@ jobs:
|
|||||||
description: Must be created AFTER the release as the version (git tag) is used in the interface
|
description: Must be created AFTER the release as the version (git tag) is used in the interface
|
||||||
run: |
|
run: |
|
||||||
cd client
|
cd client
|
||||||
npm ci
|
|
||||||
# Decrypt and Install sheet
|
|
||||||
echo ${{ secrets.SHEET_PWD }} | gpg --batch --yes --passphrase-fd 0 ./libraries/sheet-crypto.tgz.gpg
|
|
||||||
npm i ./libraries/sheet-crypto.tgz
|
|
||||||
# End
|
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
- name: Build SAS9 EBI Release
|
- name: Build SAS9 EBI Release
|
||||||
@ -244,6 +251,7 @@ jobs:
|
|||||||
rm sasjsbuild/services/clickme.html
|
rm sasjsbuild/services/clickme.html
|
||||||
sasjs b -t viya
|
sasjs b -t viya
|
||||||
cp sasjsbuild/viya.sas ./viya.sas
|
cp sasjsbuild/viya.sas ./viya.sas
|
||||||
|
cp sasjsbuild/viya.json ./viya.json
|
||||||
|
|
||||||
- name: Zip Frontend (including viya.json for full viya deploy)
|
- name: Zip Frontend (including viya.json for full viya deploy)
|
||||||
run: |
|
run: |
|
||||||
@ -279,3 +287,4 @@ jobs:
|
|||||||
curl -k $URL -F attachment=@sas/sasjs_server.json.zip
|
curl -k $URL -F attachment=@sas/sasjs_server.json.zip
|
||||||
curl -k $URL -F attachment=@sas/sas9.sas
|
curl -k $URL -F attachment=@sas/sas9.sas
|
||||||
curl -k $URL -F attachment=@sas/viya.sas
|
curl -k $URL -F attachment=@sas/viya.sas
|
||||||
|
curl -k $URL -F attachment=@sas/viya.json
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,6 +12,7 @@ client/cypress/results
|
|||||||
client/cypress/videos
|
client/cypress/videos
|
||||||
client/documentation
|
client/documentation
|
||||||
client/sheet-crypto*
|
client/sheet-crypto*
|
||||||
|
client/.nx
|
||||||
cypress.env.json
|
cypress.env.json
|
||||||
sasjsbuild
|
sasjsbuild
|
||||||
sasjsresults
|
sasjsresults
|
||||||
|
36
CHANGELOG.md
36
CHANGELOG.md
@ -1,3 +1,39 @@
|
|||||||
|
## [6.8.5](https://git.datacontroller.io/dc/dc/compare/v6.8.4...v6.8.5) (2024-05-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* bitemporal load issue [#105](https://git.datacontroller.io/dc/dc/issues/105) ([967698e](https://git.datacontroller.io/dc/dc/commit/967698e4ce1e0abcbc6f0aff8a4be6c512dee93c))
|
||||||
|
|
||||||
|
## [6.8.4](https://git.datacontroller.io/dc/dc/compare/v6.8.3...v6.8.4) (2024-05-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* new approach to fixing [#105](https://git.datacontroller.io/dc/dc/issues/105) ([c11bd9a](https://git.datacontroller.io/dc/dc/commit/c11bd9a2c55e49f10451962cb2e222c21206bce5))
|
||||||
|
|
||||||
|
## [6.8.3](https://git.datacontroller.io/dc/dc/compare/v6.8.2...v6.8.3) (2024-05-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* updating core to increase filename length, closes [#103](https://git.datacontroller.io/dc/dc/issues/103) ([ee58fd5](https://git.datacontroller.io/dc/dc/commit/ee58fd5b4bc0dd3e3f232c4f26bb85b2e7fe2b54))
|
||||||
|
|
||||||
|
## [6.8.2](https://git.datacontroller.io/dc/dc/compare/v6.8.1...v6.8.2) (2024-05-03)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* dc_request_logs option feature ([93758ef](https://git.datacontroller.io/dc/dc/commit/93758efb275966c181f1ee8b6c752010909a0282))
|
||||||
|
* release process ([c0dc919](https://git.datacontroller.io/dc/dc/commit/c0dc9191e3b95ea6f7e5021fc0bdbcab0af4cc64))
|
||||||
|
|
||||||
|
## [6.8.1](https://git.datacontroller.io/dc/dc/compare/v6.8.0...v6.8.1) (2024-05-02)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* hide approve button when table revertable ([ec0f539](https://git.datacontroller.io/dc/dc/commit/ec0f539a337b176c83a661ff520a6892d47efa02))
|
||||||
|
|
||||||
# [6.8.0](https://git.datacontroller.io/dc/dc/compare/v6.7.0...v6.8.0) (2024-05-02)
|
# [6.8.0](https://git.datacontroller.io/dc/dc/compare/v6.7.0...v6.8.0) (2024-05-02)
|
||||||
|
|
||||||
|
|
||||||
|
1256
client/package-lock.json
generated
1256
client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -65,6 +65,7 @@
|
|||||||
View base table
|
View base table
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
|
*ngIf="!(tableDetails?.['ALLOW_RESTORE'] === 'YES')"
|
||||||
id="approval-btn"
|
id="approval-btn"
|
||||||
class="btn btn-sm btn-success-outline text-center mr-5i"
|
class="btn btn-sm btn-success-outline text-center mr-5i"
|
||||||
[disabled]="
|
[disabled]="
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "dcfrontend",
|
"name": "dcfrontend",
|
||||||
"version": "6.8.0",
|
"version": "6.8.5",
|
||||||
"description": "Data Controller",
|
"description": "Data Controller",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@saithodev/semantic-release-gitea": "^2.1.0",
|
"@saithodev/semantic-release-gitea": "^2.1.0",
|
||||||
|
29
sas/package-lock.json
generated
29
sas/package-lock.json
generated
@ -7,7 +7,7 @@
|
|||||||
"name": "dc-sas",
|
"name": "dc-sas",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sasjs/cli": "^4.11.1",
|
"@sasjs/cli": "^4.11.1",
|
||||||
"@sasjs/core": "^4.52.0"
|
"@sasjs/core": "^4.52.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@coolaj86/urequest": {
|
"node_modules/@coolaj86/urequest": {
|
||||||
@ -116,9 +116,9 @@
|
|||||||
"integrity": "sha512-Grwydm5GxBsYk238PZw41XPjXVVQ9vWcvfZ06L2P0bQbvK0sGn7l69JA7H5MGr3QcaLpiD4Kg70cAh7PgE+JOw=="
|
"integrity": "sha512-Grwydm5GxBsYk238PZw41XPjXVVQ9vWcvfZ06L2P0bQbvK0sGn7l69JA7H5MGr3QcaLpiD4Kg70cAh7PgE+JOw=="
|
||||||
},
|
},
|
||||||
"node_modules/@sasjs/core": {
|
"node_modules/@sasjs/core": {
|
||||||
"version": "4.52.0",
|
"version": "4.52.1",
|
||||||
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.52.1.tgz",
|
||||||
"integrity": "sha512-r+yQYSTYdvNPJ82n2xW/rbJd/cJpk3HuFhCa49RTDlDWjXMXJlymvGB0ltv3/L8rNk4+TwoyMzb7cJYnILi6ag=="
|
"integrity": "sha512-XPNuKD1T5XLGMKg4Ll3KggOTjhHgnjdbefpwajpfro/8/9bJK7lyNehzUCcmbhJnijJbbChE7drIOF+uSaVxVg=="
|
||||||
},
|
},
|
||||||
"node_modules/@sasjs/lint": {
|
"node_modules/@sasjs/lint": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
@ -229,6 +229,12 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/tough-cookie": {
|
||||||
|
"version": "4.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
|
||||||
|
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/abab": {
|
"node_modules/abab": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
|
||||||
@ -1828,9 +1834,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@sasjs/core": {
|
"@sasjs/core": {
|
||||||
"version": "4.52.0",
|
"version": "4.52.1",
|
||||||
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.52.1.tgz",
|
||||||
"integrity": "sha512-r+yQYSTYdvNPJ82n2xW/rbJd/cJpk3HuFhCa49RTDlDWjXMXJlymvGB0ltv3/L8rNk4+TwoyMzb7cJYnILi6ag=="
|
"integrity": "sha512-XPNuKD1T5XLGMKg4Ll3KggOTjhHgnjdbefpwajpfro/8/9bJK7lyNehzUCcmbhJnijJbbChE7drIOF+uSaVxVg=="
|
||||||
},
|
},
|
||||||
"@sasjs/lint": {
|
"@sasjs/lint": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
@ -1927,6 +1933,12 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@types/tough-cookie": {
|
||||||
|
"version": "4.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
|
||||||
|
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"abab": {
|
"abab": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
|
||||||
@ -2953,7 +2965,8 @@
|
|||||||
"ws": {
|
"ws": {
|
||||||
"version": "8.13.0",
|
"version": "8.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
|
||||||
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA=="
|
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"xml": {
|
"xml": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
|
@ -29,6 +29,6 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sasjs/cli": "^4.11.1",
|
"@sasjs/cli": "^4.11.1",
|
||||||
"@sasjs/core": "^4.52.0"
|
"@sasjs/core": "^4.52.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
24
sas/sasjs/db/migrations/20230115_v6.8.2_release.sas
Normal file
24
sas/sasjs/db/migrations/20230115_v6.8.2_release.sas
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief migration script to move from v6.5 to 6.8.2 of data controller
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
%let dclib=YOURDCLIB;
|
||||||
|
|
||||||
|
libname &dclib "/your/dc/path";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change 1
|
||||||
|
* New MPE_SUBMIT table
|
||||||
|
*/
|
||||||
|
proc sql;
|
||||||
|
insert into &dclib..mpe_config set
|
||||||
|
tx_from=0
|
||||||
|
,tx_to='31DEC9999:23:59:59'dt
|
||||||
|
,var_scope="DC"
|
||||||
|
,var_name="DC_REQUEST_LOGS"
|
||||||
|
,var_value="YES"
|
||||||
|
,var_active=1
|
||||||
|
,var_desc='Setting to NO will prevent each request being logged to the'
|
||||||
|
!!' MPE_REQUESTS table Default=YES.';
|
@ -1048,8 +1048,12 @@ run;
|
|||||||
%if &loadtype=BITEMPORAL %then %do;
|
%if &loadtype=BITEMPORAL %then %do;
|
||||||
%let cat_string=catx('|' ,&bus_from,&bus_to);
|
%let cat_string=catx('|' ,&bus_from,&bus_to);
|
||||||
|
|
||||||
data bitemp5a_lkp (keep=&md5_col);
|
data work.bitemp5a_lkp (keep=&md5_col)
|
||||||
set bitemp0_base;
|
%if "%substr(&sysver,1,1)" ne "4" and "%substr(&sysver,1,1)" ne "5" %then %do;
|
||||||
|
/nonote2err
|
||||||
|
%end;
|
||||||
|
;
|
||||||
|
set work.bitemp0_base;
|
||||||
/* for BITEMPORAL we need to compare business dates also */
|
/* for BITEMPORAL we need to compare business dates also */
|
||||||
&md5_col=put(md5(&cat_string!!'|'!!&stripcols),$hex32.);
|
&md5_col=put(md5(&cat_string!!'|'!!&stripcols),$hex32.);
|
||||||
run;
|
run;
|
||||||
|
@ -341,7 +341,7 @@ data work.STAGING_DS;
|
|||||||
&droplist;
|
&droplist;
|
||||||
infile "&csv_dir/&fname" dsd dlm="&dlm" lrecl=32767
|
infile "&csv_dir/&fname" dsd dlm="&dlm" lrecl=32767
|
||||||
firstobs=2 missover termstr=&termstr encoding='utf-8';
|
firstobs=2 missover termstr=&termstr encoding='utf-8';
|
||||||
attrib &attrib ;
|
attrib _____DELETE__THIS__RECORD_____ length=$3 &attrib ;
|
||||||
if _n_=1 then call missing (of _all_);
|
if _n_=1 then call missing (of _all_);
|
||||||
missing a b c d e f g h i j k l m n o p q r s t u v w x y z _;
|
missing a b c d e f g h i j k l m n o p q r s t u v w x y z _;
|
||||||
input
|
input
|
||||||
|
@ -78,6 +78,15 @@ insert into &lib..mpe_config set
|
|||||||
!!' into the browser for editing in the EDIT screen. A higher number'
|
!!' into the browser for editing in the EDIT screen. A higher number'
|
||||||
!!' will require a decent browser (ie, not IE) and more memory on the'
|
!!' will require a decent browser (ie, not IE) and more memory on the'
|
||||||
!!' client side.';
|
!!' client side.';
|
||||||
|
insert into &lib..mpe_config set
|
||||||
|
tx_from=0
|
||||||
|
,tx_to='31DEC9999:23:59:59'dt
|
||||||
|
,var_scope="DC"
|
||||||
|
,var_name="DC_REQUEST_LOGS"
|
||||||
|
,var_value="YES"
|
||||||
|
,var_active=1
|
||||||
|
,var_desc='Setting to NO will prevent each request being logged to the'
|
||||||
|
!!' MPE_REQUESTS table Default=YES.';
|
||||||
insert into &lib..mpe_config set
|
insert into &lib..mpe_config set
|
||||||
tx_from=0
|
tx_from=0
|
||||||
,tx_to='31DEC9999:23:59:59'dt
|
,tx_to='31DEC9999:23:59:59'dt
|
||||||
|
@ -29,9 +29,12 @@
|
|||||||
mpelocapprovals /* location for landing and staging files */
|
mpelocapprovals /* location for landing and staging files */
|
||||||
mpelib /* location of configuration tables for DC */
|
mpelib /* location of configuration tables for DC */
|
||||||
dc_repo_users /* location of user / group metadata */
|
dc_repo_users /* location of user / group metadata */
|
||||||
dc_licence_key /* extracted in dc_getsettings */
|
/* extracted in dc_getsettings */
|
||||||
dc_activation_key /* extracted in dc_getsettings */
|
dc_activation_key
|
||||||
dc_locale /* extracted in dc_getsettings */
|
dc_licence_key
|
||||||
|
dc_locale
|
||||||
|
dc_request_logs
|
||||||
|
dc_restrict_viewer
|
||||||
dc_dttmtfmt /* can be overridden in dc_getsettings */
|
dc_dttmtfmt /* can be overridden in dc_getsettings */
|
||||||
_debug /* automatic variable when provided in URL */
|
_debug /* automatic variable when provided in URL */
|
||||||
sasjs_mdebug /* used to show extra info when _debug is enabled */
|
sasjs_mdebug /* used to show extra info when _debug is enabled */
|
||||||
|
@ -35,6 +35,7 @@ run;
|
|||||||
run;
|
run;
|
||||||
%end;
|
%end;
|
||||||
%if %sysfunc(exist(&dc_libref..mpe_requests)) and %mf_getplatform() ne SASVIYA
|
%if %sysfunc(exist(&dc_libref..mpe_requests)) and %mf_getplatform() ne SASVIYA
|
||||||
|
and &DC_REQUEST_LOGS ne NO
|
||||||
%then %do;
|
%then %do;
|
||||||
data ;
|
data ;
|
||||||
if 0 then set &dc_libref..mpe_requests;
|
if 0 then set &dc_libref..mpe_requests;
|
||||||
@ -42,6 +43,8 @@ run;
|
|||||||
request_user="%mf_getuser()";
|
request_user="%mf_getuser()";
|
||||||
request_service="%scan(&_program,-2,/)/%scan(&_program,-1,/)";
|
request_service="%scan(&_program,-2,/)/%scan(&_program,-1,/)";
|
||||||
request_params='';
|
request_params='';
|
||||||
|
/* sleep random amount to avoid parallel update attempts */
|
||||||
|
call sleep(ranuni(0)*0.1,1);
|
||||||
output;stop;
|
output;stop;
|
||||||
proc append base=&dc_libref..mpe_requests data=&syslast force nowarn;
|
proc append base=&dc_libref..mpe_requests data=&syslast force nowarn;
|
||||||
run;
|
run;
|
||||||
|
Reference in New Issue
Block a user