mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-16 16:40:06 +00:00
Compare commits
9 Commits
v3.9.2
...
snyk-upgra
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59195e6379 | ||
|
|
72ed5e3fab | ||
|
|
6bfd7024ce | ||
| fdc3e1cce8 | |||
| fc47222830 | |||
|
|
0a5de21386 | ||
|
|
1cbe57d512 | ||
| 936e4f8c0a | |||
|
|
3a820c56a9 |
@@ -65,7 +65,7 @@ The below services need to be created on your SAS server, at the location specif
|
||||
```sas
|
||||
filename mc url "https://raw.githubusercontent.com/sasjs/core/main/all.sas";
|
||||
%inc mc;
|
||||
filename ft15f001 temp;
|
||||
filename ft15f001 temp lrecl=1000;
|
||||
parmcards4;
|
||||
%webout(FETCH)
|
||||
%webout(OPEN)
|
||||
@@ -113,7 +113,7 @@ data _null_;
|
||||
```sas
|
||||
filename mc url "https://raw.githubusercontent.com/sasjs/core/main/all.sas";
|
||||
%inc mc;
|
||||
filename ft15f001 temp;
|
||||
filename ft15f001 temp lrecl=1000;
|
||||
parmcards4;
|
||||
%webout(FETCH)
|
||||
%webout(OPEN)
|
||||
|
||||
@@ -916,8 +916,8 @@ export default class SASjs {
|
||||
return await this.sasJSApiClient?.deploy(dataJson, appLoc, authConfig)
|
||||
}
|
||||
|
||||
public async executeJobSASjs(query: ExecutionQuery) {
|
||||
return await this.sasJSApiClient?.executeJob(query)
|
||||
public async executeJobSASjs(query: ExecutionQuery, authConfig?: AuthConfig) {
|
||||
return await this.sasJSApiClient?.executeJob(query, authConfig)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -43,7 +43,9 @@ export class SASjsApiClient {
|
||||
return Promise.resolve(result)
|
||||
}
|
||||
|
||||
public async executeJob(query: ExecutionQuery) {
|
||||
public async executeJob(query: ExecutionQuery, authConfig?: AuthConfig) {
|
||||
const access_token = authConfig ? authConfig.access_token : undefined
|
||||
|
||||
const { result } = await this.requestClient.post<{
|
||||
status: string
|
||||
message: string
|
||||
@@ -51,7 +53,7 @@ export class SASjsApiClient {
|
||||
logPath?: string
|
||||
error?: {}
|
||||
_webout?: string
|
||||
}>('SASjsApi/stp/execute', query, undefined)
|
||||
}>('SASjsApi/stp/execute', query, access_token)
|
||||
|
||||
if (Object.keys(result).includes('_webout')) {
|
||||
result._webout = parseWeboutResponse(result._webout!)
|
||||
|
||||
@@ -21,6 +21,7 @@ import {
|
||||
} from '../utils'
|
||||
import { BaseJobExecutor } from './JobExecutor'
|
||||
import { parseWeboutResponse } from '../utils/parseWeboutResponse'
|
||||
import { Server } from 'https'
|
||||
|
||||
export interface WaitingRequstPromise {
|
||||
promise: Promise<any> | null
|
||||
@@ -46,7 +47,7 @@ export class WebJobExecutor extends BaseJobExecutor {
|
||||
authConfig?: AuthConfig,
|
||||
extraResponseAttributes: ExtraResponseAttributes[] = []
|
||||
) {
|
||||
const loginCallback = loginRequiredCallback || (() => Promise.resolve())
|
||||
const loginCallback = loginRequiredCallback
|
||||
const program = isRelativePath(sasJob)
|
||||
? config.appLoc
|
||||
? config.appLoc.replace(/\/?$/, '/') + sasJob.replace(/^\//, '')
|
||||
@@ -79,7 +80,7 @@ export class WebJobExecutor extends BaseJobExecutor {
|
||||
)
|
||||
})
|
||||
|
||||
await loginCallback()
|
||||
if (loginCallback) await loginCallback()
|
||||
} else {
|
||||
reject(new ErrorResponse(e?.message, e))
|
||||
}
|
||||
@@ -220,6 +221,15 @@ export class WebJobExecutor extends BaseJobExecutor {
|
||||
}
|
||||
|
||||
if (e instanceof LoginRequiredError) {
|
||||
if (!loginRequiredCallback) {
|
||||
reject(
|
||||
new ErrorResponse(
|
||||
'Request is not authenticated. Make sure .env file exists with valid credentials.',
|
||||
e
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
this.appendWaitingRequest(() => {
|
||||
return this.execute(
|
||||
sasJob,
|
||||
@@ -238,7 +248,7 @@ export class WebJobExecutor extends BaseJobExecutor {
|
||||
)
|
||||
})
|
||||
|
||||
await loginCallback()
|
||||
if (loginCallback) await loginCallback()
|
||||
} else {
|
||||
reject(new ErrorResponse(e?.message, e))
|
||||
}
|
||||
|
||||
@@ -132,7 +132,6 @@ export const convertToCSV = (
|
||||
|
||||
if (formats && formats[fieldName] === 'best.') {
|
||||
if (value && !isSpecialMissing(value)) {
|
||||
console.log(`🤖[value]🤖`, value)
|
||||
throw new Error(
|
||||
`A Special missing value can only be a single character from 'A' to 'Z', '_', '.[a-z]', '._'`
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user