1
0
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:
2021-07-19 21:53:58 +05:00
parent bec4180dcf
commit e1a76bc45a
2 changed files with 32 additions and 10 deletions

View File

@@ -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.`

View File

@@ -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
) )
}) })
} }