Skip to content

Workspace client service

The workspace client service is used to communicate with the back-end API. You may also want to check out the WorkspaceHub.

Basic Usage

Include the service using the web link above. If you are making a standard Dirigible editor, the workspace service is already included.

Add it to your app module and controller:

const exampleView = angular.module('example', [
  ...
  'WorkspaceService',
]);
exampleView.controller('ExampleViewController', ($scope, WorkspaceService) => {...});

Functions


Function Description Returns
setWorkspace(workspace) Saves the workspace name in localStorage. -
getCurrentWorkspace() Returns the currently selected workspace. -
listWorkspaceNames() Lists all available workspaces. Promise
list(resourcePath) List the contents of a path. Promise
resourceExists(resourcePath) Checkes if a resource exists. Promise
loadContent(resourcePath) Loades file content. Promise
saveContent(resourcePath) Saves content to a file. Promise
getMetadataByUrl(resourcePath) Get metadata, from a full URL path. Promise
getMetadata(resourcePath) Gets metadata, from a full resource path. Promise
rename(oldName, newName, resourcePath) Renames a file/folder. Promise
remove(resourcePath) Deletes a file/folder. Promise
copy(sourcePath, targetPath) Copies a file/folder. Promise
move(sourcePath, targetPath) Moves a file/folder. Promise
createFile(name, targetPath, content) Creates a new file. Promise
createFolder(name, targetPath) Creates a new folder. Promise
createWorkspace(workspace) Creates a new workspace. Promise
deleteWorkspace(workspace) Deletes a workspace. Promise
createProject(workspace, projectName) Creates a project inside a workspace. Promise
deleteProject(workspace, projectName) Deletes a project inside a workspace. Promise
search(searchPath, searchTerm) Performs a search. Promise
getFullURL(resourcePath) Creates a direct web path to a resource. Promise

Param definitions

Param Type Description
resourcePath string Full resource path, including workspace name.
oldName string Old name of the resource.
newName string New name of the resource.
sourcePath string Array.
targetPath string Full target path, including workspace name.
name string File/folder name.
content string File content.
workspace string Workspace name.
projectName string Project name.
searchPath string Full path, including the workspace name.
searchTerm string File content to search for.

Note

Params in square brackets are optional.

Example

let selectedWorkspace = WorkspaceService.getCurrentWorkspace();
console.log(selectedWorkspace);

WorkspaceService.list('/workspace/new-project').then((response) => {
    console.log(response.data.folders);
    console.log(response.data.files);
}, (error) => {
    console.error(error);
});

WorkspaceService.copy(
  ['/workspace/new-project/file1.js', '/workspace/new-project/file2.js'],
  '/workspace/old-project'
).then((response) => {
    for (let r = 0; r < response.data.length; r++) {
      console.log(`Moved ${response.data[r].from} to ${response.data[r].to}`);
    }
}, (error) => {
    console.error(error);
});