1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-03 02:30:06 +00:00

Compare commits

..

36 Commits

Author SHA1 Message Date
Krishna Acondy
85a530ae5a Merge pull request #231 from sasjs/insecure-connection
feat: enable insecure connection for accessToken
2021-01-29 12:10:41 +00:00
Saad Jutt
1fc6db114d chore: docs updated 2021-01-27 15:57:21 +05:00
Saad Jutt
8d203b8df4 chore: annotation added 2021-01-27 15:47:15 +05:00
Saad Jutt
39924ff078 chore: added 'https' 2021-01-26 18:45:21 +05:00
Saad Jutt
de25f106ec feat: enable insecure connection for accessToken 2021-01-26 17:17:46 +05:00
Yury Shkoda
c0b82c5125 Merge pull request #211 from sasjs/deps-fix
chore(deps): rolled back isomorphic-fetch
2021-01-13 15:38:27 +03:00
Yury Shkoda
1c1b5baefe chore(deps): rolled back isomorphic-fetch 2021-01-13 15:22:07 +03:00
Yury Shkoda
8b17aeaea2 Merge pull request #121 from sasjs/dependabot/npm_and_yarn/isomorphic-fetch-3.0.0
chore(deps): bump isomorphic-fetch from 2.2.1 to 3.0.0
2021-01-13 12:36:28 +03:00
Yury Shkoda
cb0d03c965 Merge branch 'master' into dependabot/npm_and_yarn/isomorphic-fetch-3.0.0 2021-01-13 12:34:40 +03:00
Yury Shkoda
9e77f3d64e Merge pull request #191 from sasjs/dependabot/npm_and_yarn/typedoc-0.19.2
chore(deps-dev): bump typedoc from 0.17.8 to 0.19.2
2021-01-13 12:34:03 +03:00
Yury Shkoda
25f61815dc Merge branch 'master' into dependabot/npm_and_yarn/typedoc-0.19.2 2021-01-13 12:30:51 +03:00
dependabot-preview[bot]
3a2252e69c chore(deps-dev): bump typedoc from 0.17.8 to 0.19.2
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.17.8 to 0.19.2.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/0.17.8...v0.19.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 09:30:42 +00:00
dependabot-preview[bot]
8a08980e6a chore(deps): bump isomorphic-fetch from 2.2.1 to 3.0.0
Bumps [isomorphic-fetch](https://github.com/matthew-andrews/isomorphic-fetch) from 2.2.1 to 3.0.0.
- [Release notes](https://github.com/matthew-andrews/isomorphic-fetch/releases)
- [Commits](https://github.com/matthew-andrews/isomorphic-fetch/compare/v2.2.1...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 09:30:40 +00:00
Yury Shkoda
d0f31771ad Merge pull request #194 from sasjs/dependabot/npm_and_yarn/semantic-release-17.3.1
chore(deps-dev): bump semantic-release from 17.3.0 to 17.3.1
2021-01-13 12:30:22 +03:00
Yury Shkoda
e9e2c9372d Merge branch 'master' into dependabot/npm_and_yarn/semantic-release-17.3.1 2021-01-13 12:28:50 +03:00
Yury Shkoda
70c4a095a0 Merge pull request #199 from sasjs/dependabot/npm_and_yarn/webpack-cli-4.3.1
chore(deps-dev): bump webpack-cli from 4.2.0 to 4.3.1
2021-01-13 12:28:29 +03:00
Yury Shkoda
82e2fc4445 Merge branch 'master' into dependabot/npm_and_yarn/webpack-cli-4.3.1 2021-01-13 12:26:22 +03:00
dependabot-preview[bot]
6661d81fdf chore(deps-dev): bump semantic-release from 17.3.0 to 17.3.1
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 17.3.0 to 17.3.1.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v17.3.0...v17.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 09:26:20 +00:00
dependabot-preview[bot]
e76abaafa8 chore(deps-dev): bump webpack-cli from 4.2.0 to 4.3.1
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.2.0 to 4.3.1.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.2.0...webpack-cli@4.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 09:26:13 +00:00
Yury Shkoda
fbfc1c05d6 Merge pull request #200 from sasjs/dependabot/npm_and_yarn/typedoc-plugin-external-module-name-4.0.6
chore(deps-dev): bump typedoc-plugin-external-module-name from 4.0.5 to 4.0.6
2021-01-13 12:25:47 +03:00
Yury Shkoda
839c211c64 Merge branch 'master' into dependabot/npm_and_yarn/typedoc-plugin-external-module-name-4.0.6 2021-01-13 12:24:19 +03:00
Yury Shkoda
f3ff82143a Merge pull request #204 from sasjs/dependabot/npm_and_yarn/ts-loader-8.0.14
chore(deps-dev): bump ts-loader from 8.0.12 to 8.0.14
2021-01-13 12:24:02 +03:00
dependabot-preview[bot]
0dd0abae87 chore(deps-dev): bump typedoc-plugin-external-module-name
Bumps [typedoc-plugin-external-module-name](https://github.com/christopherthielen/typedoc-plugin-external-module-name) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/christopherthielen/typedoc-plugin-external-module-name/releases)
- [Changelog](https://github.com/christopherthielen/typedoc-plugin-external-module-name/blob/master/CHANGELOG.md)
- [Commits](https://github.com/christopherthielen/typedoc-plugin-external-module-name/compare/4.0.5...4.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 09:23:15 +00:00
Yury Shkoda
13781c993e Merge branch 'master' into dependabot/npm_and_yarn/ts-loader-8.0.14 2021-01-13 12:21:25 +03:00
Yury Shkoda
7616cacbec Merge pull request #205 from sasjs/dependabot/npm_and_yarn/types/jest-26.0.20
chore(deps-dev): bump @types/jest from 26.0.19 to 26.0.20
2021-01-13 12:21:01 +03:00
dependabot-preview[bot]
cab7d3c012 chore(deps-dev): bump ts-loader from 8.0.12 to 8.0.14
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.12 to 8.0.14.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.12...v8.0.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 09:20:57 +00:00
Yury Shkoda
dfce676fdf Merge branch 'master' into dependabot/npm_and_yarn/types/jest-26.0.20 2021-01-13 12:18:53 +03:00
dependabot-preview[bot]
1890cab623 chore(deps-dev): bump @types/jest from 26.0.19 to 26.0.20
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 26.0.19 to 26.0.20.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 09:18:44 +00:00
Yury Shkoda
4307d8fe43 Merge pull request #207 from sasjs/dependabot/npm_and_yarn/webpack-5.13.0
chore(deps-dev): bump webpack from 4.44.2 to 5.13.0
2021-01-13 12:18:17 +03:00
Yury Shkoda
8df6fdbee6 Merge branch 'master' into dependabot/npm_and_yarn/webpack-5.13.0 2021-01-13 12:16:49 +03:00
Yury Shkoda
ac5c2a3088 Merge pull request #210 from sasjs/dependabot/npm_and_yarn/sasjs/utils-2.0.2
chore(deps): bump @sasjs/utils from 1.5.0 to 2.0.2
2021-01-13 12:16:18 +03:00
dependabot-preview[bot]
0212b677ae chore(deps): bump @sasjs/utils from 1.5.0 to 2.0.2
Bumps [@sasjs/utils](https://github.com/sasjs/utils) from 1.5.0 to 2.0.2.
- [Release notes](https://github.com/sasjs/utils/releases)
- [Commits](https://github.com/sasjs/utils/compare/v1.5.0...v2.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 08:03:31 +00:00
Yury Shkoda
1a0d62d8f3 Merge pull request #209 from sasjs/job-status-fix
feat(*): improved session and job logging
2021-01-12 17:53:25 +03:00
Yury Shkoda
8f4d1c7aea chore(*): improved session and job state logging 2021-01-12 17:26:57 +03:00
dependabot-preview[bot]
2a4735c6f2 chore(deps-dev): bump webpack from 4.44.2 to 5.13.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.2 to 5.13.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.2...v5.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-12 08:21:08 +00:00
Yury Shkoda
5a2ee88cbc fix(job-status): print job status only if it changes 2021-01-11 13:52:38 +03:00
35 changed files with 1088 additions and 2997 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

3772
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -37,30 +37,31 @@
"license": "ISC",
"devDependencies": {
"@types/isomorphic-fetch": "0.0.35",
"@types/jest": "^26.0.15",
"@types/jest": "^26.0.20",
"cp": "^0.2.0",
"dotenv": "^8.2.0",
"jest": "^25.5.4",
"path": "^0.12.7",
"rimraf": "^3.0.2",
"semantic-release": "^17.3.0",
"semantic-release": "^17.3.1",
"terser-webpack-plugin": "^4.2.3",
"ts-jest": "^25.5.1",
"ts-loader": "^8.0.11",
"ts-loader": "^8.0.14",
"tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0",
"typedoc": "^0.17.8",
"typedoc": "^0.19.2",
"typedoc-neo-theme": "^1.0.10",
"typedoc-plugin-external-module-name": "^4.0.3",
"typedoc-plugin-external-module-name": "^4.0.6",
"typescript": "^3.9.7",
"webpack": "^4.44.2",
"webpack-cli": "^4.2.0"
"webpack": "^5.13.0",
"webpack-cli": "^4.3.1"
},
"main": "index.js",
"dependencies": {
"@sasjs/utils": "^1.5.0",
"@sasjs/utils": "^2.0.2",
"es6-promise": "^4.2.8",
"form-data": "^3.0.0",
"https": "^1.0.0",
"isomorphic-fetch": "^2.2.1"
}
}

View File

@@ -701,11 +701,13 @@ export class SASViyaApiClient {
* @param clientId - the client ID to authenticate with.
* @param clientSecret - the client secret to authenticate with.
* @param authCode - the auth code received from the server.
* @param insecure - this boolean tells adapter to ignore SSL errors. [Not Recommended]
*/
public async getAccessToken(
clientId: string,
clientSecret: string,
authCode: string
authCode: string,
insecure: boolean = false
) {
const url = this.serverUrl + '/SASLogon/oauth/token'
let token
@@ -729,12 +731,23 @@ export class SASViyaApiClient {
formData.append('code', authCode)
}
let moreOptions = {}
if (insecure) {
const https = require('https')
moreOptions = {
agent: new https.Agent({
rejectUnauthorized: false
})
}
}
const authResponse = await fetch(url, {
method: 'POST',
credentials: 'include',
headers,
body: formData as any,
referrerPolicy: 'same-origin'
referrerPolicy: 'same-origin',
...moreOptions
}).then((res) => res.json())
return authResponse
@@ -1107,6 +1120,8 @@ export class SASViyaApiClient {
}
return new Promise(async (resolve, _) => {
let printedState = ''
const interval = setInterval(async () => {
if (
postedJobState === 'running' ||
@@ -1114,9 +1129,6 @@ export class SASViyaApiClient {
postedJobState === 'pending'
) {
if (stateLink) {
if (this.debug) {
console.log('Polling job status... \n')
}
const { result: jobState } = await this.request<string>(
`${this.serverUrl}${stateLink.href}?_action=wait&wait=30`,
{
@@ -1126,10 +1138,16 @@ export class SASViyaApiClient {
)
postedJobState = jobState.trim()
if (this.debug) {
console.log(`Current state: ${postedJobState}\n`)
if (this.debug && printedState !== postedJobState) {
console.log('Polling job status...')
console.log(`Current job state: ${postedJobState}`)
printedState = postedJobState
}
pollCount++
if (pollCount >= MAX_POLL_COUNT) {
resolve(postedJobState)
}

View File

@@ -386,17 +386,26 @@ export default class SASjs {
return await this.sasViyaApiClient!.getAuthCode(clientId)
}
/**
* Exchanges the auth code for an access token for the given client.
* @param clientId - the client ID to authenticate with.
* @param clientSecret - the client secret to authenticate with.
* @param authCode - the auth code received from the server.
* @param insecure - this boolean tells adapter to ignore SSL errors. [Not Recommended]
*/
public async getAccessToken(
clientId: string,
clientSecret: string,
authCode: string
authCode: string,
insecure: boolean = false
) {
this.isMethodSupported('getAccessToken', ServerType.SASViya)
return await this.sasViyaApiClient!.getAccessToken(
clientId,
clientSecret,
authCode
authCode,
insecure
)
}

View File

@@ -23,6 +23,10 @@ export class SessionManager {
private currentContext: Context | null = null
private csrfToken: CsrfToken | null = null
private _debug: boolean = false
private printedSessionState = {
printed: false,
state: ''
}
public get debug() {
return this._debug
@@ -175,8 +179,10 @@ export class SessionManager {
sessionState === ''
) {
if (stateLink) {
if (this.debug) {
console.log('Polling session status... \n')
if (this.debug && !this.printedSessionState.printed) {
console.log('Polling session status...')
this.printedSessionState.printed = true
}
const { result: state } = await this.requestSessionStatus<string>(
@@ -191,8 +197,11 @@ export class SessionManager {
sessionState = state.trim()
if (this.debug) {
console.log(`Current state is '${sessionState}'\n`)
if (this.debug && this.printedSessionState.state !== sessionState) {
console.log(`Current session state is '${sessionState}'`)
this.printedSessionState.state = sessionState
this.printedSessionState.printed = false
}
// There is an internal error present in SAS Viya 3.5

View File

@@ -26,7 +26,8 @@ const browserConfig = {
]
},
resolve: {
extensions: ['.ts', '.js']
extensions: ['.ts', '.js'],
fallback: { https: false }
},
output: {
filename: 'index.js',