mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-14 23:50:06 +00:00
fix: update error message when folder not found
This commit is contained in:
@@ -36,6 +36,7 @@ import { isAuthorizeFormRequired } from './auth/isAuthorizeFormRequired'
|
|||||||
import { RequestClient } from './request/RequestClient'
|
import { RequestClient } from './request/RequestClient'
|
||||||
import { prefixMessage } from '@sasjs/utils/error'
|
import { prefixMessage } from '@sasjs/utils/error'
|
||||||
import * as mime from 'mime'
|
import * as mime from 'mime'
|
||||||
|
import jwtDecode from 'jwt-decode'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A client for interfacing with the SAS Viya REST API.
|
* A client for interfacing with the SAS Viya REST API.
|
||||||
@@ -610,7 +611,8 @@ export class SASViyaApiClient {
|
|||||||
parentFolderPath?: string,
|
parentFolderPath?: string,
|
||||||
parentFolderUri?: string,
|
parentFolderUri?: string,
|
||||||
accessToken?: string,
|
accessToken?: string,
|
||||||
isForced?: boolean
|
isForced?: boolean,
|
||||||
|
serverUrl?: string
|
||||||
): Promise<Folder> {
|
): Promise<Folder> {
|
||||||
const logger = process.logger || console
|
const logger = process.logger || console
|
||||||
if (!parentFolderPath && !parentFolderUri) {
|
if (!parentFolderPath && !parentFolderUri) {
|
||||||
@@ -630,7 +632,17 @@ export class SASViyaApiClient {
|
|||||||
)
|
)
|
||||||
const newFolderName = `${parentFolderPath.split('/').pop()}`
|
const newFolderName = `${parentFolderPath.split('/').pop()}`
|
||||||
if (newParentFolderPath === '') {
|
if (newParentFolderPath === '') {
|
||||||
throw new Error('Root folder has to be present on the server.')
|
let error: string = `Root folder ${parentFolderPath} was not found\nPlease check ${serverUrl}/SASDrive\nIf folder DOES exist then it is likely a permission problem\n`
|
||||||
|
if (accessToken) {
|
||||||
|
const tokenResponse: any = jwtDecode(accessToken)
|
||||||
|
const scope = tokenResponse.scope
|
||||||
|
error =
|
||||||
|
error + `The following scopes are contained in client/secret:\n`
|
||||||
|
scope.forEach((element: any) => {
|
||||||
|
error = error + `* ${element}\n`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
throw new Error(error)
|
||||||
}
|
}
|
||||||
logger.info(
|
logger.info(
|
||||||
`Creating parent folder:\n'${newFolderName}' in '${newParentFolderPath}'`
|
`Creating parent folder:\n'${newFolderName}' in '${newParentFolderPath}'`
|
||||||
@@ -639,7 +651,9 @@ export class SASViyaApiClient {
|
|||||||
newFolderName,
|
newFolderName,
|
||||||
newParentFolderPath,
|
newParentFolderPath,
|
||||||
undefined,
|
undefined,
|
||||||
accessToken
|
accessToken,
|
||||||
|
isForced,
|
||||||
|
serverUrl
|
||||||
)
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
`Parent folder '${newFolderName}' has been successfully created.`
|
`Parent folder '${newFolderName}' has been successfully created.`
|
||||||
|
|||||||
22
src/SASjs.ts
22
src/SASjs.ts
@@ -282,21 +282,25 @@ export default class SASjs {
|
|||||||
parentFolderUri?: string,
|
parentFolderUri?: string,
|
||||||
accessToken?: string,
|
accessToken?: string,
|
||||||
sasApiClient?: SASViyaApiClient,
|
sasApiClient?: SASViyaApiClient,
|
||||||
isForced?: boolean
|
isForced?: boolean,
|
||||||
|
serverUrl?: string
|
||||||
) {
|
) {
|
||||||
if (sasApiClient)
|
if (sasApiClient)
|
||||||
return await sasApiClient.createFolder(
|
return await sasApiClient.createFolder(
|
||||||
folderName,
|
folderName,
|
||||||
parentFolderPath,
|
parentFolderPath,
|
||||||
parentFolderUri,
|
parentFolderUri,
|
||||||
accessToken
|
accessToken,
|
||||||
|
isForced,
|
||||||
|
serverUrl
|
||||||
)
|
)
|
||||||
return await this.sasViyaApiClient!.createFolder(
|
return await this.sasViyaApiClient!.createFolder(
|
||||||
folderName,
|
folderName,
|
||||||
parentFolderPath,
|
parentFolderPath,
|
||||||
parentFolderUri,
|
parentFolderUri,
|
||||||
accessToken,
|
accessToken,
|
||||||
isForced
|
isForced,
|
||||||
|
serverUrl
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -761,7 +765,8 @@ export default class SASjs {
|
|||||||
members,
|
members,
|
||||||
accessToken,
|
accessToken,
|
||||||
sasApiClient,
|
sasApiClient,
|
||||||
isForced
|
isForced,
|
||||||
|
serverUrl
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -969,7 +974,8 @@ export default class SASjs {
|
|||||||
membersJson: any[],
|
membersJson: any[],
|
||||||
accessToken?: string,
|
accessToken?: string,
|
||||||
sasApiClient?: SASViyaApiClient,
|
sasApiClient?: SASViyaApiClient,
|
||||||
isForced?: boolean
|
isForced?: boolean,
|
||||||
|
serverUrl?: string
|
||||||
) {
|
) {
|
||||||
await asyncForEach(membersJson, async (member: any) => {
|
await asyncForEach(membersJson, async (member: any) => {
|
||||||
switch (member.type) {
|
switch (member.type) {
|
||||||
@@ -980,7 +986,8 @@ export default class SASjs {
|
|||||||
undefined,
|
undefined,
|
||||||
accessToken,
|
accessToken,
|
||||||
sasApiClient,
|
sasApiClient,
|
||||||
isForced
|
isForced,
|
||||||
|
serverUrl
|
||||||
)
|
)
|
||||||
break
|
break
|
||||||
case 'file':
|
case 'file':
|
||||||
@@ -1012,7 +1019,8 @@ export default class SASjs {
|
|||||||
member.members,
|
member.members,
|
||||||
accessToken,
|
accessToken,
|
||||||
sasApiClient,
|
sasApiClient,
|
||||||
isForced
|
isForced,
|
||||||
|
serverUrl
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user