1
0
mirror of https://github.com/sasjs/adapter.git synced 2025-12-11 09:24:35 +00:00

Merge branch 'master' into issue-84

This commit is contained in:
Yury Shkoda
2020-09-14 15:21:59 +03:00
3 changed files with 12 additions and 2 deletions

View File

@@ -918,22 +918,26 @@ export class SASViyaApiClient {
const jobName = sasJob.split('/')[1]
const jobFolder = this.rootFolderMap.get(folderName)
const jobToExecute = jobFolder?.find((item) => item.name === jobName)
if (!jobToExecute) {
throw new Error('Job was not found.')
}
let code = jobToExecute?.code
if (!code) {
const jobDefinitionLink = jobToExecute?.links.find(
(l) => l.rel === 'getResource'
)
if (!jobDefinitionLink) {
console.error('Job definition URI was not found.')
throw new Error('Job definition URI was not found.')
}
const { result: jobDefinition } = await this.request<JobDefinition>(
`${this.serverUrl}${jobDefinitionLink.href}`,
headers
{ headers }
)
code = jobDefinition.code
@@ -941,6 +945,7 @@ export class SASViyaApiClient {
// Add code to existing job definition
jobToExecute.code = code
}
const linesToExecute = code.replace(/\r\n/g, '\n').split('\n')
return await this.executeScript(
sasJob,
@@ -993,6 +998,7 @@ export class SASViyaApiClient {
const jobName = path.basename(sasJob)
const jobFolder = sasJob.replace(`/${jobName}`, '')
const allJobsInFolder = this.rootFolderMap.get(jobFolder.replace('/', ''))
if (allJobsInFolder) {
const jobSpec = allJobsInFolder.find((j: Job) => j.name === jobName)
const jobDefinitionLink = jobSpec?.links.find(
@@ -1002,10 +1008,13 @@ export class SASViyaApiClient {
method: 'GET'
}
const headers: any = { 'Content-Type': 'application/json' }
if (!!accessToken) {
headers.Authorization = `Bearer ${accessToken}`
}
requestInfo.headers = headers
const { result: jobDefinition } = await this.request<Job>(
`${this.serverUrl}${jobDefinitionLink}`,
requestInfo

View File

@@ -728,7 +728,7 @@ export default class SASjs {
async (resolve, reject) => {
const session = await this.checkSession()
if (!session.isLoggedIn) {
if (!session.isLoggedIn && !accessToken) {
if (loginRequiredCallback) loginRequiredCallback(true)
sasjsWaitingRequest.requestPromise.resolve = resolve
sasjsWaitingRequest.requestPromise.reject = reject

View File

@@ -17,6 +17,7 @@ export async function makeRequest<T>(
? (res: Response) => res.json()
: (res: Response) => res.text()
let etag = null
const result = await fetch(url, request).then(async (response) => {
if (response.redirected && response.url.includes('SASLogon/login')) {
return Promise.reject({ status: 401 })