diff --git a/src/SASjs.ts b/src/SASjs.ts index 2610612..54f05b7 100644 --- a/src/SASjs.ts +++ b/src/SASjs.ts @@ -5,9 +5,8 @@ import { EditContextInput, PollOptions, LoginMechanism, - FolderMember, - ServiceMember, - ExecutionQuery + ExecutionQuery, + FileTree } from './types' import { SASViyaApiClient } from './SASViyaApiClient' import { SAS9ApiClient } from './SAS9ApiClient' @@ -865,15 +864,22 @@ export default class SASjs { ) } + /** + * Creates the folders and services at the given location `appLoc` on the given server `serverUrl`. + * @param members - the JSON specifying the folders and services to be created. + * @param appLoc - the base folder in which to create the new folders and + * services. If not provided, is taken from SASjsConfig. + * @param authConfig - a valid client, secret, refresh and access tokens that are authorised to execute compute jobs. + */ public async deployToSASjs( - members: [FolderMember, ServiceMember], + members: FileTree, + appLoc?: string, authConfig?: AuthConfig ) { - return await this.sasJSApiClient?.deploy( - members, - this.sasjsConfig.appLoc, - authConfig - ) + if (!appLoc) { + appLoc = this.sasjsConfig.appLoc + } + return await this.sasJSApiClient?.deploy(members, appLoc, authConfig) } public async executeJobSASjs(query: ExecutionQuery) { diff --git a/src/SASjsApiClient.ts b/src/SASjsApiClient.ts index 4b60e54..2706e94 100644 --- a/src/SASjsApiClient.ts +++ b/src/SASjsApiClient.ts @@ -1,5 +1,5 @@ import { AuthConfig, ServerType } from '@sasjs/utils/types' -import { FolderMember, ServiceMember, ExecutionQuery } from './types' +import { FileTree, ExecutionQuery } from './types' import { RequestClient } from './request/RequestClient' import { getAccessTokenForSasjs } from './auth/getAccessTokenForSasjs' import { refreshTokensForSasjs } from './auth/refreshTokensForSasjs' @@ -17,7 +17,7 @@ export class SASjsApiClient { } public async deploy( - members: [FolderMember, ServiceMember], + members: FileTree, appLoc: string, authConfig?: AuthConfig ) {