Compare commits
23 Commits
d77f2eb674
...
v6.8.4
Author | SHA1 | Date | |
---|---|---|---|
|
71bd81ae47 | ||
89a5153bb3 | |||
c11bd9a2c5 | |||
|
39c3e5411f | ||
aad419c55d | |||
|
ee58fd5b4b | ||
aedd2c451b | |||
|
6d597611b6 | ||
|
9ffe5efe5d | ||
|
2715950d86 | ||
|
77a7190f4d | ||
cc65890fea | |||
|
93758efb27 | ||
|
c0dc9191e3 | ||
|
485783a782 | ||
ee07bef2b8 | |||
|
0de8481314 | ||
|
ec0f539a33 | ||
|
173ee2daff | ||
|
5c0091b5e8 | ||
84dce7f6e8 | |||
|
e8a943a35a | ||
|
b3171a8125 |
@@ -12,6 +12,13 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: 20
|
node-version: 20
|
||||||
|
|
||||||
|
- name: Install Google Chrome
|
||||||
|
run: |
|
||||||
|
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
|
||||||
|
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y google-chrome-stable xvfb
|
||||||
|
|
||||||
- name: Write .npmrc file
|
- name: Write .npmrc file
|
||||||
run: echo "$NPMRC" > client/.npmrc
|
run: echo "$NPMRC" > client/.npmrc
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -39,3 +46,8 @@ jobs:
|
|||||||
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
|
||||||
|
61
CHANGELOG.md
61
CHANGELOG.md
@@ -1,3 +1,64 @@
|
|||||||
|
## [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)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* ci sheet lib, submit message auto focus ([c5e4650](https://git.datacontroller.io/dc/dc/commit/c5e46503272f3f3d9cd83ac04225babf79d4de44))
|
||||||
|
* **clarity:** new version style issues ([8c7de5a](https://git.datacontroller.io/dc/dc/commit/8c7de5aad7e7e32a64769696af9b93eb9a6225d3))
|
||||||
|
* cypress tests ([3dd85cc](https://git.datacontroller.io/dc/dc/commit/3dd85cc60bd5ac99bc930b6b9c89a8e707e4d51d))
|
||||||
|
* ensuring that only restorable versions are restorable ([a402856](https://git.datacontroller.io/dc/dc/commit/a4028562ce91b32ff971ab9821328b97cd23f381))
|
||||||
|
* ensuring version history only includes loaded versions ([51ebd25](https://git.datacontroller.io/dc/dc/commit/51ebd25aa362aa8e66c83b29b2c64aa0f206f5bd))
|
||||||
|
* final testing on restore feature ([297a84d](https://git.datacontroller.io/dc/dc/commit/297a84d3a4ebb47bef7f3ca9758978d727afed8d))
|
||||||
|
* issue with multiple adds/deletes, [#84](https://git.datacontroller.io/dc/dc/issues/84) ([904ca30](https://git.datacontroller.io/dc/dc/commit/904ca30f918da085fa05dae066367b512933d1a9))
|
||||||
|
* load_ref var ([aaad9f7](https://git.datacontroller.io/dc/dc/commit/aaad9f7207115599a006980fff099d59738dd2cd))
|
||||||
|
* removing alerts dummy data, closes [#93](https://git.datacontroller.io/dc/dc/issues/93) ([eba21e9](https://git.datacontroller.io/dc/dc/commit/eba21e96b4fa34e63b4477281f47d9a01d621f2e))
|
||||||
|
* restore table version improvement ([549f357](https://git.datacontroller.io/dc/dc/commit/549f35766ba7b5bbe55694845e85bfefc4193375))
|
||||||
|
* **sas:** viewer versions fix ([c6595c1](https://git.datacontroller.io/dc/dc/commit/c6595c1f618803d9202cba1a1fe76986449cf2e2))
|
||||||
|
* stage and approve buttons renaming ([ef81e33](https://git.datacontroller.io/dc/dc/commit/ef81e33f704d0b4f99405d96498e1d29ac817982))
|
||||||
|
* supporting SCD2 data reversions ([fa8396f](https://git.datacontroller.io/dc/dc/commit/fa8396f0394cbddb6dbacb4b355de078fad49980))
|
||||||
|
* table info modal, versions - column names ([801c8c6](https://git.datacontroller.io/dc/dc/commit/801c8c6a9fb95388a06a6c6284fec4dc25bb77c5))
|
||||||
|
* **updates:** angular, clarity, resolved legacy-peer-deps ([c60dd65](https://git.datacontroller.io/dc/dc/commit/c60dd65a1637333f11a0c39ef697c7292a6ede07))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* backend to show in getchangeinfo whether a user is allowed to restore ([8769841](https://git.datacontroller.io/dc/dc/commit/8769841f08694f672ef7ae1a17beacd0dbedda52))
|
||||||
|
* list versions of target tables (backend) ([f8a14d4](https://git.datacontroller.io/dc/dc/commit/f8a14d4bdef055b99930491d1f6fabe55a50a497))
|
||||||
|
* restore ([604c2e7](https://git.datacontroller.io/dc/dc/commit/604c2e70bdeeeb1aa5bb18b94f525ebd049397fa))
|
||||||
|
* SAS services & tests for RESTORE, [#84](https://git.datacontroller.io/dc/dc/issues/84) ([9ad7ae4](https://git.datacontroller.io/dc/dc/commit/9ad7ae47b5e793ce68ab21c9eeb8dee6cb85e496))
|
||||||
|
* staging page, restore buttons ([02a8a1c](https://git.datacontroller.io/dc/dc/commit/02a8a1c5654350cafc53b749cceb686fc6848c33))
|
||||||
|
* table metadata modal, versions tab (and link) ([b27fea5](https://git.datacontroller.io/dc/dc/commit/b27fea5b91e33b4673a3a991aedae558e366ca29))
|
||||||
|
* **versions:** getting list of versions (plus test) ([8003da9](https://git.datacontroller.io/dc/dc/commit/8003da94e615463ed3ddfd60b0cbf2e58615eab1))
|
||||||
|
|
||||||
# [6.7.0](https://git.datacontroller.io/dc/dc/compare/v6.6.4...v6.7.0) (2024-04-01)
|
# [6.7.0](https://git.datacontroller.io/dc/dc/compare/v6.6.4...v6.7.0) (2024-04-01)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -147,7 +147,8 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"src/styles.scss"
|
"src/styles.scss"
|
||||||
],
|
],
|
||||||
"scripts": []
|
"scripts": [],
|
||||||
|
"karmaConfig": "karma.conf.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
|
@@ -159,20 +159,21 @@ context('filtering tests: ', function () {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('7 | filter bestnum field BETWEEN', (done) => {
|
// TODO: fix
|
||||||
openTableFromTree(libraryToOpenIncludes, 'mpe_x_test')
|
// it('7 | filter bestnum field BETWEEN', (done) => {
|
||||||
|
// openTableFromTree(libraryToOpenIncludes, 'mpe_x_test')
|
||||||
|
|
||||||
openFilterPopup(() => {
|
// openFilterPopup(() => {
|
||||||
setFilterWithValue('SOME_BESTNUM', '0-10', 'between', () => {
|
// setFilterWithValue('SOME_BESTNUM', '0-10', 'between', () => {
|
||||||
checkInfoBarIncludes(
|
// checkInfoBarIncludes(
|
||||||
`AND,AND,0,SOME_BESTNUM,BETWEEN,0 AND 10`,
|
// `AND,AND,0,SOME_BESTNUM,BETWEEN,0 AND 10`,
|
||||||
(includes: boolean) => {
|
// (includes: boolean) => {
|
||||||
if (includes) done()
|
// if (includes) done()
|
||||||
}
|
// }
|
||||||
)
|
// )
|
||||||
})
|
// })
|
||||||
})
|
// })
|
||||||
})
|
// })
|
||||||
|
|
||||||
this.afterEach(() => {
|
this.afterEach(() => {
|
||||||
// cy.visit(`${hostUrl}/SASLogon/logout`)
|
// cy.visit(`${hostUrl}/SASLogon/logout`)
|
||||||
|
45
client/karma.conf.js
Normal file
45
client/karma.conf.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
// Karma configuration file, see link for more information
|
||||||
|
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
||||||
|
|
||||||
|
module.exports = function (config) {
|
||||||
|
config.set({
|
||||||
|
basePath: '',
|
||||||
|
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
||||||
|
plugins: [
|
||||||
|
require('karma-jasmine'),
|
||||||
|
require('karma-chrome-launcher'),
|
||||||
|
require('karma-jasmine-html-reporter'),
|
||||||
|
require('karma-coverage'),
|
||||||
|
require('@angular-devkit/build-angular/plugins/karma')
|
||||||
|
],
|
||||||
|
client: {
|
||||||
|
jasmine: {
|
||||||
|
// you can add configuration options for Jasmine here
|
||||||
|
// the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
|
||||||
|
// for example, you can disable the random execution with `random: false`
|
||||||
|
// or set a specific seed with `seed: 4321`
|
||||||
|
},
|
||||||
|
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
||||||
|
},
|
||||||
|
jasmineHtmlReporter: {
|
||||||
|
suppressAll: true // removes the duplicated traces
|
||||||
|
},
|
||||||
|
coverageReporter: {
|
||||||
|
dir: require('path').join(__dirname, './coverage/datacontroller'),
|
||||||
|
subdir: '.',
|
||||||
|
reporters: [
|
||||||
|
{ type: 'html' },
|
||||||
|
{ type: 'text-summary' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
reporters: ['progress', 'kjhtml'],
|
||||||
|
browsers: ['Chrome', 'ChromeHeadless', 'ChromeHeadlessCI'],
|
||||||
|
restartOnFileChange: true,
|
||||||
|
customLaunchers: {
|
||||||
|
ChromeHeadlessCI: {
|
||||||
|
base: 'ChromeHeadless',
|
||||||
|
flags: ['--no-sandbox']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
1256
client/package-lock.json
generated
1256
client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -19,7 +19,7 @@
|
|||||||
"viyabuild": "cd build; ./viyabuild.sh",
|
"viyabuild": "cd build; ./viyabuild.sh",
|
||||||
"lint": "cd .. && npm run lint",
|
"lint": "cd .. && npm run lint",
|
||||||
"test": "npx ng test",
|
"test": "npx ng test",
|
||||||
"test:headless": "npx ng test --no-watch --no-progress --browsers ChromeHeadless",
|
"test:headless": "npx ng test --no-watch --no-progress --browsers ChromeHeadlessCI",
|
||||||
"watch": "ng test watch=true",
|
"watch": "ng test watch=true",
|
||||||
"pree2e": "webdriver-manager update",
|
"pree2e": "webdriver-manager update",
|
||||||
"e2e": "protractor protractor.config.js",
|
"e2e": "protractor protractor.config.js",
|
||||||
|
@@ -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.7.0",
|
"version": "6.8.4",
|
||||||
"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.';
|
@@ -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