mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-15 16:10:06 +00:00
refactor(error): refactoring errors and fixing spelling
This commit is contained in:
@@ -21,7 +21,7 @@ import { formatDataForRequest } from './utils/formatDataForRequest'
|
||||
import { SessionManager } from './SessionManager'
|
||||
|
||||
/**
|
||||
* A client for interfacing with the SAS Viya REST API
|
||||
* A client for interfacing with the SAS Viya REST API.
|
||||
*
|
||||
*/
|
||||
export class SASViyaApiClient {
|
||||
@@ -61,7 +61,7 @@ export class SASViyaApiClient {
|
||||
}
|
||||
|
||||
/**
|
||||
* returns an object containing the Server URL and root folder name
|
||||
* Returns an object containing the server URL and root folder name.
|
||||
*/
|
||||
public getConfig() {
|
||||
return {
|
||||
@@ -71,9 +71,9 @@ export class SASViyaApiClient {
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates server URL or root folder name when not null
|
||||
* Updates server URL and root folder name, if it was not set.
|
||||
* @param serverUrl - the URL of the server.
|
||||
* @param rootFolderName - the name for rootFolderName.
|
||||
* @param rootFolderName - the name for root folder.
|
||||
*/
|
||||
public setConfig(serverUrl: string, rootFolderName: string) {
|
||||
if (serverUrl) this.serverUrl = serverUrl
|
||||
@@ -222,7 +222,7 @@ export class SASViyaApiClient {
|
||||
* Creates a compute context on the given server.
|
||||
* @param contextName - the name of the context to be created.
|
||||
* @param launchContextName - the name of the launcher context used by the compute service.
|
||||
* @param sharedAccountId - the ID of the account to run the servers for this context as.
|
||||
* @param sharedAccountId - the ID of the account to run the servers for this context.
|
||||
* @param autoExecLines - the lines of code to execute during session initialization.
|
||||
* @param authorizedUsers - an optional list of authorized user IDs.
|
||||
* @param accessToken - an access token for an authorized user.
|
||||
@@ -236,15 +236,15 @@ export class SASViyaApiClient {
|
||||
accessToken?: string
|
||||
) {
|
||||
if (!contextName) {
|
||||
throw new Error('Missing context name.')
|
||||
throw new Error('Context name is required.')
|
||||
}
|
||||
|
||||
if (!launchContextName) {
|
||||
throw new Error('Missing launch context name.')
|
||||
throw new Error('Launch context name is required.')
|
||||
}
|
||||
|
||||
if (!sharedAccountId) {
|
||||
throw new Error('Missing shared account ID.')
|
||||
throw new Error('Shared account ID is required.')
|
||||
}
|
||||
|
||||
const headers: any = {
|
||||
@@ -328,11 +328,11 @@ export class SASViyaApiClient {
|
||||
|
||||
if (e && e.status === 404) {
|
||||
throw new Error(
|
||||
`The context ${contextName} was not found on this server.`
|
||||
`The context '${contextName}' was not found on this server.`
|
||||
)
|
||||
}
|
||||
throw new Error(
|
||||
`An error occurred when fetching the context ${contextName}`
|
||||
`An error occurred when fetching the context '${contextName}'.`
|
||||
)
|
||||
})
|
||||
|
||||
@@ -364,7 +364,7 @@ export class SASViyaApiClient {
|
||||
*/
|
||||
public async deleteContext(contextName: string, accessToken?: string) {
|
||||
if (!contextName) {
|
||||
throw new Error('Invalid context Name.')
|
||||
throw new Error('Invalid context name.')
|
||||
}
|
||||
|
||||
const headers: any = {
|
||||
@@ -391,13 +391,13 @@ export class SASViyaApiClient {
|
||||
/**
|
||||
* Executes code on the current SAS Viya server.
|
||||
* @param fileName - a name for the file being submitted for execution.
|
||||
* @param linesOfCode - an array of lines of code to execute.
|
||||
* @param linesOfCode - an array of code lines to execute.
|
||||
* @param contextName - the context to execute the code in.
|
||||
* @param accessToken - an access token for an authorized user.
|
||||
* @param sessionId - optional session ID to reuse.
|
||||
* @param silent - optional flag to turn of logging.
|
||||
* @param silent - optional flag to disable logging.
|
||||
* @param data - execution data.
|
||||
* @param debug - flag taht indicates debug mode.
|
||||
* @param debug - flag that indicates debug mode.
|
||||
* @param expectWebout - flag that indicates that web output is expected
|
||||
*/
|
||||
public async executeScript(
|
||||
@@ -486,11 +486,11 @@ export class SASViyaApiClient {
|
||||
)
|
||||
|
||||
if (!silent) {
|
||||
console.log(`Job has been submitted for ${fileName}`)
|
||||
console.log(`Job has been submitted for '${fileName}'.`)
|
||||
console.log(
|
||||
`You can monitor the job progress at ${this.serverUrl}${
|
||||
`You can monitor the job progress at '${this.serverUrl}${
|
||||
postedJob.links.find((l: any) => l.rel === 'state')!.href
|
||||
}`
|
||||
}'.`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -581,7 +581,7 @@ export class SASViyaApiClient {
|
||||
isForced?: boolean
|
||||
): Promise<Folder> {
|
||||
if (!parentFolderPath && !parentFolderUri) {
|
||||
throw new Error('Parent folder path or uri is required')
|
||||
throw new Error('Path or URI of the parent folder is required.')
|
||||
}
|
||||
|
||||
if (!parentFolderUri && parentFolderPath) {
|
||||
@@ -589,7 +589,9 @@ export class SASViyaApiClient {
|
||||
if (!parentFolderUri) {
|
||||
if (isForced) this.isForceDeploy = true
|
||||
|
||||
console.log(`Parent folder is not present: ${parentFolderPath}`)
|
||||
console.log(
|
||||
`Parent folder at path '${parentFolderPath}' is not present.`
|
||||
)
|
||||
|
||||
const newParentFolderPath = parentFolderPath.substring(
|
||||
0,
|
||||
@@ -597,10 +599,10 @@ export class SASViyaApiClient {
|
||||
)
|
||||
const newFolderName = `${parentFolderPath.split('/').pop()}`
|
||||
if (newParentFolderPath === '') {
|
||||
throw new Error('Root Folder should have been present on server')
|
||||
throw new Error('Root folder has to be present on the server.')
|
||||
}
|
||||
console.log(
|
||||
`Creating Parent Folder:\n${newFolderName} in ${newParentFolderPath}`
|
||||
`Creating parent folder:\n'${newFolderName}' in '${newParentFolderPath}'`
|
||||
)
|
||||
const parentFolder = await this.createFolder(
|
||||
newFolderName,
|
||||
@@ -608,7 +610,9 @@ export class SASViyaApiClient {
|
||||
undefined,
|
||||
accessToken
|
||||
)
|
||||
console.log(`Parent Folder "${newFolderName}" successfully created.`)
|
||||
console.log(
|
||||
`Parent folder '${newFolderName}' has been successfully created.`
|
||||
)
|
||||
parentFolderUri = `/folders/folders/${parentFolder.id}`
|
||||
} else if (isForced && accessToken && !this.isForceDeploy) {
|
||||
this.isForceDeploy = true
|
||||
@@ -622,11 +626,11 @@ export class SASViyaApiClient {
|
||||
const newFolderName = `${parentFolderPath.split('/').pop()}`
|
||||
|
||||
if (newParentFolderPath === '') {
|
||||
throw new Error('Root Folder should have been present on server')
|
||||
throw new Error(`Root folder has to be present on the server.`)
|
||||
}
|
||||
|
||||
console.log(
|
||||
`Creating Parent Folder:\n${newFolderName} in ${newParentFolderPath}`
|
||||
`Creating parent folder:\n'${newFolderName}' in '${newParentFolderPath}'`
|
||||
)
|
||||
|
||||
const parentFolder = await this.createFolder(
|
||||
@@ -636,7 +640,9 @@ export class SASViyaApiClient {
|
||||
accessToken
|
||||
)
|
||||
|
||||
console.log(`Parent Folder "${newFolderName}" successfully created.`)
|
||||
console.log(
|
||||
`Parent folder '${newFolderName}' has been successfully created.`
|
||||
)
|
||||
|
||||
parentFolderUri = `/folders/folders/${parentFolder.id}`
|
||||
}
|
||||
@@ -681,9 +687,7 @@ export class SASViyaApiClient {
|
||||
accessToken?: string
|
||||
) {
|
||||
if (!parentFolderPath && !parentFolderUri) {
|
||||
throw new Error(
|
||||
'Either parentFolderPath or parentFolderUri must be provided'
|
||||
)
|
||||
throw new Error(`Path to or URI of the parent folder is required.`)
|
||||
}
|
||||
|
||||
if (!parentFolderUri && parentFolderPath) {
|
||||
@@ -896,16 +900,14 @@ export class SASViyaApiClient {
|
||||
await this.populateRootFolder(accessToken)
|
||||
}
|
||||
if (!this.rootFolder) {
|
||||
console.error('Root folder was not found')
|
||||
throw new Error('Root folder was not found')
|
||||
throw new Error(`Root folder was not found.`)
|
||||
}
|
||||
if (!this.rootFolderMap.size) {
|
||||
await this.populateRootFolderMap(accessToken)
|
||||
}
|
||||
if (!this.rootFolderMap.size) {
|
||||
console.error(`The job ${sasJob} was not found in ${this.rootFolderName}`)
|
||||
throw new Error(
|
||||
`The job ${sasJob} was not found in ${this.rootFolderName}`
|
||||
`The job '${sasJob}' was not found in '${this.rootFolderName}'.`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -920,7 +922,7 @@ export class SASViyaApiClient {
|
||||
const jobToExecute = jobFolder?.find((item) => item.name === jobName)
|
||||
|
||||
if (!jobToExecute) {
|
||||
throw new Error('Job was not found.')
|
||||
throw new Error(`Job was not found.`)
|
||||
}
|
||||
|
||||
let code = jobToExecute?.code
|
||||
@@ -931,8 +933,7 @@ export class SASViyaApiClient {
|
||||
)
|
||||
|
||||
if (!jobDefinitionLink) {
|
||||
console.error('Job definition URI was not found.')
|
||||
throw new Error('Job definition URI was not found.')
|
||||
throw new Error(`URI of job definition was not found.`)
|
||||
}
|
||||
|
||||
const { result: jobDefinition } = await this.request<JobDefinition>(
|
||||
@@ -979,14 +980,14 @@ export class SASViyaApiClient {
|
||||
}
|
||||
|
||||
if (!this.rootFolder) {
|
||||
throw new Error('Root folder was not found')
|
||||
throw new Error(`Root folder was not found.`)
|
||||
}
|
||||
if (!this.rootFolderMap.size) {
|
||||
await this.populateRootFolderMap(accessToken)
|
||||
}
|
||||
if (!this.rootFolderMap.size) {
|
||||
throw new Error(
|
||||
`The job ${sasJob} was not found in ${this.rootFolderName}`
|
||||
`The job '${sasJob}' was not found in folder '${this.rootFolderName}'.`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1095,7 +1096,7 @@ export class SASViyaApiClient {
|
||||
return { result: jobResult?.result, log }
|
||||
} else {
|
||||
throw new Error(
|
||||
`The job ${sasJob} was not found at the location ${this.rootFolderName}`
|
||||
`The job '${sasJob}' was not found in folder '${this.rootFolderName}'.`
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1114,7 +1115,9 @@ export class SASViyaApiClient {
|
||||
requestInfo
|
||||
)
|
||||
if (!folder) {
|
||||
throw new Error('Cannot populate RootFolderMap unless rootFolder exists')
|
||||
throw new Error(
|
||||
`Not able to populate root folder map, because folder '${this.rootFolderName}' does not exist.`
|
||||
)
|
||||
}
|
||||
const { result: members } = await this.request<{ items: any[] }>(
|
||||
`${this.serverUrl}/folders/folders/${folder.id}/members`,
|
||||
@@ -1192,7 +1195,7 @@ export class SASViyaApiClient {
|
||||
}
|
||||
const stateLink = postedJob.links.find((l: any) => l.rel === 'state')
|
||||
if (!stateLink) {
|
||||
Promise.reject('Job state link was not found.')
|
||||
Promise.reject(`Job state link was not found.`)
|
||||
}
|
||||
|
||||
const { result: state } = await this.request<string>(
|
||||
@@ -1380,13 +1383,13 @@ export class SASViyaApiClient {
|
||||
console.error(e)
|
||||
|
||||
throw new Error(
|
||||
`An error occurred when fetching the context with ID ${contextName}`
|
||||
`An error occurred when fetching the context '${contextName}'.`
|
||||
)
|
||||
})
|
||||
|
||||
if (!contexts || !(contexts.items && contexts.items.length)) {
|
||||
throw new Error(
|
||||
`The context ${contextName} was not found on ${this.serverUrl}.`
|
||||
`The context '${contextName}' was not found at '${this.serverUrl}'.`
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user