From cfab64cfa0601fb79bc9010417cdcb2cc49418d1 Mon Sep 17 00:00:00 2001 From: Saad Jutt Date: Thu, 17 Jun 2021 08:31:40 +0500 Subject: [PATCH 1/5] fix: first request after login redirects from server --- src/job-execution/WebJobExecutor.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/job-execution/WebJobExecutor.ts b/src/job-execution/WebJobExecutor.ts index 61f215c..9640824 100644 --- a/src/job-execution/WebJobExecutor.ts +++ b/src/job-execution/WebJobExecutor.ts @@ -110,6 +110,11 @@ export class WebJobExecutor extends BaseJobExecutor { if (e instanceof LoginRequiredError) { await loginCallback() + if (config.serverType === ServerType.Sas9) + this.appendWaitingRequest(() => { + return this.execute(sasJob, data, config) + }) + this.appendWaitingRequest(() => { return this.execute( sasJob, From bc6f109c48ced993b9bd10f35fe2bdb6efb87634 Mon Sep 17 00:00:00 2001 From: Saad Jutt Date: Thu, 17 Jun 2021 14:37:46 +0500 Subject: [PATCH 2/5] fix: make duplicate request only if payload is present --- src/job-execution/WebJobExecutor.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/job-execution/WebJobExecutor.ts b/src/job-execution/WebJobExecutor.ts index 9640824..887a348 100644 --- a/src/job-execution/WebJobExecutor.ts +++ b/src/job-execution/WebJobExecutor.ts @@ -110,10 +110,10 @@ export class WebJobExecutor extends BaseJobExecutor { if (e instanceof LoginRequiredError) { await loginCallback() - if (config.serverType === ServerType.Sas9) - this.appendWaitingRequest(() => { - return this.execute(sasJob, data, config) - }) + if (config.serverType === ServerType.Sas9 && data) + this.appendWaitingRequest(() => + this.execute(sasJob, data, config) + ) this.appendWaitingRequest(() => { return this.execute( From cdc0c12ec45d0bab16cdb53d55c6ae92a62737ce Mon Sep 17 00:00:00 2001 From: Yury Shkoda Date: Thu, 17 Jun 2021 15:35:36 +0300 Subject: [PATCH 3/5] chore(lint): fixed lint scriptes on Windows --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0c38e15..b554c6b 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "build": "rimraf build && rimraf node && mkdir node && cp -r src/* node && webpack && rimraf build/src && rimraf node", "package:lib": "npm run build && cp ./package.json build && cd build && npm version \"5.0.0\" && npm pack", "publish:lib": "npm run build && cd build && npm publish", - "lint:fix": "npx prettier --write 'src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}' && npx prettier --write 'sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}'", - "lint": "npx prettier --check 'src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}' && npx prettier --check 'sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}'", + "lint:fix": "npx prettier --write \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --write \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"", + "lint": "npx prettier --check \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --check \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"", "test": "jest --silent --coverage", "prepublishOnly": "cp -r ./build/* . && rm -rf ./build", "postpublish": "git clean -fd", From f4cdd2d607886a1554dbf5dfdc309840ac37e1dd Mon Sep 17 00:00:00 2001 From: Saad Jutt Date: Thu, 17 Jun 2021 19:33:58 +0500 Subject: [PATCH 4/5] fix: CAS Authentication upon SAS9 login --- src/auth/AuthManager.ts | 9 +++++++++ src/job-execution/WebJobExecutor.ts | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/auth/AuthManager.ts b/src/auth/AuthManager.ts index 6da6967..c7a3a73 100644 --- a/src/auth/AuthManager.ts +++ b/src/auth/AuthManager.ts @@ -61,6 +61,15 @@ export class AuthManager { } if (loggedIn) { + if (this.serverType === ServerType.Sas9) { + const casAuthenticationUrl = `${this.serverUrl}/SASStoredProcess/j_spring_cas_security_check` + + await this.requestClient.get( + `/SASLogon/login?service=${casAuthenticationUrl}`, + undefined + ) + } + this.loginCallback() } diff --git a/src/job-execution/WebJobExecutor.ts b/src/job-execution/WebJobExecutor.ts index 887a348..61f215c 100644 --- a/src/job-execution/WebJobExecutor.ts +++ b/src/job-execution/WebJobExecutor.ts @@ -110,11 +110,6 @@ export class WebJobExecutor extends BaseJobExecutor { if (e instanceof LoginRequiredError) { await loginCallback() - if (config.serverType === ServerType.Sas9 && data) - this.appendWaitingRequest(() => - this.execute(sasJob, data, config) - ) - this.appendWaitingRequest(() => { return this.execute( sasJob, From 00b19de4971acf8a16c7f6976e8fc9f4bf325dfa Mon Sep 17 00:00:00 2001 From: Saad Jutt Date: Thu, 17 Jun 2021 19:35:24 +0500 Subject: [PATCH 5/5] chore: sasjs-tests package-lock.json updated --- sasjs-tests/package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sasjs-tests/package-lock.json b/sasjs-tests/package-lock.json index f61ec08..ecf26ff 100644 --- a/sasjs-tests/package-lock.json +++ b/sasjs-tests/package-lock.json @@ -2005,9 +2005,9 @@ }, "@sasjs/adapter": { "version": "file:../build/sasjs-adapter-5.0.0.tgz", - "integrity": "sha512-nP9O64IslMipxSKAG8PV/X2fRr+0E4/RqwD8jXP2bqZ/QraiKZG0bQPC5hSKqEp7bho8+XpZ4HaXW3Vr9kEZ8Q==", + "integrity": "sha512-QV4fy09Cp5FvweEULkPev60EJNyylDr2T5SN0mkp7j6wr7i08pMwyAHi8jKboTfpn3pCFrBz/DtOzylbVmttrA==", "requires": { - "@sasjs/utils": "^2.14.0", + "@sasjs/utils": "^2.20.1", "axios": "^0.21.1", "axios-cookiejar-support": "^1.0.1", "form-data": "^4.0.0", @@ -2064,11 +2064,11 @@ } }, "@sasjs/utils": { - "version": "2.15.5", - "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.15.5.tgz", - "integrity": "sha512-5HSWX5fy8D0Zy+Le+LgeRZG4vb5quLqhNiHw3dl0MS2hpsWACSRKia060jZk9LNHayKwBuusjlz5Ba0SyyaiEQ==", + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.20.1.tgz", + "integrity": "sha512-Wer6RrGPowBgvgJ2Hdk2nrdA9mIsG4AKI50s/cEWKfzMnQRQVrCNmVUyZlM5I8/pZRzsMzwq7PLaxjAADYUCuQ==", "requires": { - "@types/prompts": "^2.0.11", + "@types/prompts": "^2.0.13", "chalk": "^4.1.1", "cli-table": "^0.3.6", "consola": "^2.15.0", @@ -2451,9 +2451,9 @@ "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==" }, "@types/prompts": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.12.tgz", - "integrity": "sha512-Hr6osqfNg3IcQT3pJDXCsSnb0KnldY/hXeJCKJriwbZLnedN9n1e8kcZwLc25GIWULDb6h5aEyOBbf33XpZBXQ==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.13.tgz", + "integrity": "sha512-jwMOIGy49VruR/gYehhJYgpVzB+EVpEE7t7j9m1oTo4HMpOe7KmsyqdBuoxAzA5B4caUgx0cKrWr7wUEqMXJ7Q==", "requires": { "@types/node": "*" } @@ -5736,11 +5736,6 @@ "is-obj": "^2.0.0" } }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" - }, "dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", @@ -14292,6 +14287,11 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, "resolve": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",