From 9b1d295b823dba1e158d95949ce44cf6f7b66269 Mon Sep 17 00:00:00 2001 From: Yury Shkoda Date: Sat, 26 Sep 2020 11:41:18 +0300 Subject: [PATCH] feat(folder): made 'deleteFolder' method public --- src/SASViyaApiClient.ts | 2 ++ src/SASjs.ts | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/SASViyaApiClient.ts b/src/SASViyaApiClient.ts index 3dcf583..a248e9c 100644 --- a/src/SASViyaApiClient.ts +++ b/src/SASViyaApiClient.ts @@ -1508,6 +1508,8 @@ export class SASViyaApiClient { `${this.serverUrl}${url}`, requestInfo ).catch((err) => { + // FIXME: handle 'code: 'ENOTFOUND'' properly + throw err }) diff --git a/src/SASjs.ts b/src/SASjs.ts index 6ecc4fa..fd46024 100644 --- a/src/SASjs.ts +++ b/src/SASjs.ts @@ -243,8 +243,6 @@ export default class SASjs { sasApiClient?: SASViyaApiClient, isForced?: boolean ) { - this.isMethodSupported('createFolder', ServerType.SASViya) - if (sasApiClient) return await sasApiClient.createFolder( folderName, @@ -261,6 +259,17 @@ export default class SASjs { ) } + /** + * For performance (and in case of accidental error) the `deleteFolder` function does not actually delete the folder (and all its content and subfolder content). Instead the folder is simply moved to the recycle bin. Deletion time will be added to the folder name. + * @param folderPath - the full path (eg `/Public/example/deleteThis`) of the folder to be deleted. + * @param accessToken - an access token for authorizing the request. + */ + public async deleteFolder(folderPath: string, accessToken: string) { + this.isMethodSupported('deleteFolder', ServerType.SASViya) + + return await this.sasViyaApiClient?.deleteFolder(folderPath, accessToken) + } + public async createJobDefinition( jobName: string, code: string,