Skip to content

Commit 039caa1

Browse files
support workspace structure
1 parent 01fb583 commit 039caa1

File tree

1 file changed

+71
-2
lines changed

1 file changed

+71
-2
lines changed

src/dtable-web-api.js

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,74 @@ class DTableWebAPI {
195195
return this.req.delete(url);
196196
}
197197

198+
// folder structure api
199+
listFolderStructure(workspaceID, path) {
200+
const url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/folders/?path=' + path;
201+
return this.req.get(url);
202+
}
203+
204+
createFolderStructure(workspaceID, parentFolderPath, newFolderName) {
205+
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/folders/';
206+
let form = new FormData();
207+
form.append('dst_parent_folder', parentFolderPath);
208+
form.append('new_folder_name', newFolderName);
209+
return this._sendPostRequest(url, form);
210+
}
211+
212+
renameFolderStructure(workspaceID, folderName, newFolderName, parentFolderPath) {
213+
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/folders/';
214+
let form = new FormData();
215+
form.append('folder_name', folderName);
216+
form.append('new_folder_name', newFolderName);
217+
form.append('src_parent_folder', parentFolderPath);
218+
return this.req.put(url, form);
219+
}
220+
221+
moveFolderStructure(workspaceID, folderName, srcParentFolder, dstParentFolder) {
222+
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/folders/';
223+
let form = new FormData();
224+
form.append('folder_name', folderName);
225+
form.append('src_parent_folder', srcParentFolder);
226+
form.append('dst_parent_folder', dstParentFolder);
227+
return this.req.put(url, form);
228+
}
229+
230+
deleteFolderStructure(workspaceID, folderName, parentFolderPath) {
231+
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/folders/';
232+
let params = {
233+
folder_name: folderName,
234+
src_parent_folder: parentFolderPath,
235+
};
236+
return this.req.delete(url, {data: params});
237+
}
238+
239+
// base structure api
240+
createBaseStructure(workspaceID, baseName, parentFolderName) {
241+
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/bases/';
242+
let form = new FormData();
243+
form.append('base_name', baseName);
244+
form.append('dst_parent_folder', parentFolderName);
245+
return this._sendPostRequest(url, form);
246+
}
247+
248+
moveBaseStructure(workspaceID, baseName, srcParentFolder, dstParentFolder) {
249+
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/bases/';
250+
let form = new FormData();
251+
form.append('base_name', baseName);
252+
form.append('src_parent_folder', srcParentFolder);
253+
form.append('dst_parent_folder', dstParentFolder);
254+
return this.req.put(url, form);
255+
}
256+
257+
deleteBaseStructure(workspaceID, baseName, srcParentFolder) {
258+
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/structure/bases/';
259+
let params = {
260+
base_name: baseName,
261+
src_parent_folder: srcParentFolder,
262+
};
263+
return this.req.delete(url, {data: params});
264+
}
265+
198266
// ---- dTable api
199267
createTable(name, owner, dtableIcon, dtableColor, textColor, folderID) {
200268
const url = this.server + '/api/v2.1/dtables/';
@@ -961,9 +1029,10 @@ class DTableWebAPI {
9611029
return this.req.put(url, form);
9621030
}
9631031

964-
deleteFolder(workspaceID, folderID) {
1032+
deleteFolder(workspaceID, folderID, srcParentFolder) {
9651033
let url = this.server + '/api/v2.1/workspace/' + workspaceID + '/folders/' + folderID +'/';
966-
return this.req.delete(url);
1034+
let params = {src_parent_folder: srcParentFolder};
1035+
return this.req.delete(url, {data: params});
9671036
}
9681037

9691038
moveFolderItem(workspaceID, itemType, itemID, moveFrom, moveTo) {

0 commit comments

Comments
 (0)