mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-07 12:30:06 +00:00
feat: add method for executing scripts on sasjs server
This commit is contained in:
11
src/SASjs.ts
11
src/SASjs.ts
@@ -97,6 +97,17 @@ export default class SASjs {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes code against a SAS JS server
|
||||||
|
* @param code - a string of code from the file to run.
|
||||||
|
* @param authConfig - (optional) a valid client, secret, refresh and access tokens that are authorised to execute scripts.
|
||||||
|
*/
|
||||||
|
public async executeScriptSASjs(code: string, authConfig?: AuthConfig) {
|
||||||
|
this.isMethodSupported('executeScriptSASJS', [ServerType.Sasjs])
|
||||||
|
|
||||||
|
return await this.sasJSApiClient?.executeScript(code, authConfig)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Executes sas code in a SAS Viya compute session.
|
* Executes sas code in a SAS Viya compute session.
|
||||||
* @param fileName - name of the file to run. It will be converted to path to the file being submitted for execution.
|
* @param fileName - name of the file to run. It will be converted to path to the file being submitted for execution.
|
||||||
|
|||||||
@@ -60,6 +60,28 @@ export class SASjsApiClient {
|
|||||||
return Promise.resolve(result)
|
return Promise.resolve(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes code on a SASJS server.
|
||||||
|
* @param serverUrl - a server url to execute code.
|
||||||
|
* @param code - a string of code to execute.
|
||||||
|
*/
|
||||||
|
public async executeScript(code: string, authConfig?: AuthConfig) {
|
||||||
|
let access_token = (authConfig || {}).access_token
|
||||||
|
if (authConfig) {
|
||||||
|
;({ access_token } = await getTokens(
|
||||||
|
this.requestClient,
|
||||||
|
authConfig,
|
||||||
|
ServerType.Sasjs
|
||||||
|
))
|
||||||
|
}
|
||||||
|
const response = await this.requestClient.post(
|
||||||
|
'SASjsApi/code/execute',
|
||||||
|
{ code },
|
||||||
|
access_token
|
||||||
|
)
|
||||||
|
return response.result as string
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exchanges the auth code for an access token for the given client.
|
* Exchanges the auth code for an access token for the given client.
|
||||||
* @param clientId - the client ID to authenticate with.
|
* @param clientId - the client ID to authenticate with.
|
||||||
|
|||||||
Reference in New Issue
Block a user