DocSpace-buildtools/web/ASC.Web.Common/src/api/files/index.js

467 lines
10 KiB
JavaScript
Raw Normal View History

import { request } from "../client";
import axios from "axios";
2020-03-13 15:11:15 +00:00
import FilesFilter from "./filter";
export function openEdit(fileId) {
const options = {
method: "get",
url: `/files/file/${fileId}/openedit`
};
return request(options);
}
export function getFolderInfo(folderId) {
const options = {
method: "get",
url: `/files/folder/${folderId}`
};
return request(options);
}
export function getFolderPath(folderId) {
const options = {
method: "get",
url: `/files/folder/${folderId}/path`
};
return request(options);
}
2020-05-26 09:53:34 +00:00
export function getFolder(folderId, filter) {
2020-03-13 15:11:15 +00:00
const params =
filter && filter instanceof FilesFilter
? `${folderId}?${filter.toUrlParams()}`
: folderId;
2020-03-13 15:11:15 +00:00
const options = {
method: "get",
2020-03-13 15:11:15 +00:00
url: `/files/${params}`
};
return request(options);
}
export function getFoldersTree() {
const rootFoldersPaths = [
"@my",
"@share",
"@common",
/*'@projects',*/ "@trash"
]; //TODO: need get from settings
const requestsArray = rootFoldersPaths.map(path =>
request({ method: "get", url: `/files/${path}?filterType=2` })
);
return axios.all(requestsArray).then(
axios.spread((...responses) =>
responses.map((data, index) => {
const trashIndex = 3;
return {
id: data.current.id,
key: `0-${index}`,
title: data.current.title,
rootFolderName: rootFoldersPaths[index], folders:
index !== trashIndex
? data.folders.map(folder => {
return {
id: folder.id,
title: folder.title,
access: folder.access,
foldersCount: folder.foldersCount,
rootFolderType: folder.rootFolderType,
newItems: folder.new
};
})
: null,
pathParts: data.pathParts,
2020-06-26 12:52:46 +00:00
foldersCount: index !== trashIndex ? data.current.foldersCount : null,
newItems: data.new
};
})
)
);
}
2020-05-26 09:53:34 +00:00
export function getMyFolderList(filter = FilesFilter.getDefault()) {
const options = {
method: "get",
url: `/files/@my`
};
return request(options);
}
2020-05-26 09:53:34 +00:00
export function getCommonFolderList(filter = FilesFilter.getDefault()) {
const options = {
method: "get",
url: `/files/@common`
};
return request(options);
}
2020-05-26 09:53:34 +00:00
export function getProjectsFolderList(filter = FilesFilter.getDefault()) {
const options = {
method: "get",
url: `/files/@projects`
};
return request(options);
}
2020-05-26 09:53:34 +00:00
export function getTrashFolderList(filter = FilesFilter.getDefault()) {
const options = {
method: "get",
url: `/files/@trash`
};
return request(options);
}
2020-05-26 09:53:34 +00:00
export function getSharedFolderList(filter = FilesFilter.getDefault()) {
const options = {
method: "get",
url: `/files/@share`
};
return request(options);
}
export function createFolder(parentFolderId, title) {
const data = { title };
const options = {
method: "post",
url: `/files/folder/${parentFolderId}`,
data
};
return request(options);
}
export function renameFolder(folderId, title) {
const data = { title };
const options = {
method: "put",
url: `/files/folder/${folderId}`,
data
};
return request(options);
}
export function deleteFolder(folderId, deleteAfter, immediately) {
const data = { deleteAfter, immediately };
const options = {
method: "delete",
url: `/files/folder/${folderId}`,
data
};
return request(options);
}
export function createFile(folderId, title) {
const data = { title };
const options = {
method: "post",
url: `/files/${folderId}/file`,
data
};
return request(options);
}
export function createTextFile(folderId, title, content) {
const data = { title, content };
const options = {
method: "post",
url: `/files/${folderId}/text`,
data
};
return request(options);
}
export function createTextFileInMy(title) {
const data = { title };
const options = {
method: "post",
url: "/files/@my/file",
data
};
return request(options);
}
export function createTextFileInCommon(title) {
const data = { title };
const options = {
method: "post",
url: "/files/@common/file",
data
};
return request(options);
}
export function createHtmlFile(folderId, title, content) {
const data = { title, content };
const options = {
method: "post",
url: `/files/${folderId}/html`,
data
};
return request(options);
}
export function createHtmlFileInMy(title, content) {
const data = { title, content };
const options = {
method: "post",
url: "/files/@my/html",
data
};
return request(options);
}
export function createHtmlFileInCommon(title, content) {
const data = { title, content };
const options = {
method: "post",
url: "/files/@common/html",
data
};
return request(options);
}
export function getFileInfo(fileId) {
const options = {
method: "get",
url: `/files/file/${fileId}`
};
return request(options);
}
export function updateFile(fileId, title, lastVersion) {
const data = { title, lastVersion };
const options = {
method: "put",
url: `/files/file/${fileId}`,
data
};
return request(options);
}
export function deleteFile(fileId, deleteAfter, immediately) {
const data = { deleteAfter, immediately };
const options = {
method: "delete",
url: `/files/file/${fileId}`,
data
};
return request(options);
}
export function emptyTrash() {
return request({ method: "put", url: "/files/fileops/emptytrash" });
}
export function removeFiles(folderIds, fileIds, deleteAfter, immediately) {
const data = { folderIds, fileIds, deleteAfter, immediately };
return request({ method: "put", url: "/files/fileops/delete", data });
}
export function getShareFolders(folderId) {
return request({
method: "get",
url: `/files/folder/${folderId}/share`
});
}
export function getShareFiles(fileId) {
return request({
method: "get",
url: `/files/file/${fileId}/share`
});
}
2020-04-07 07:17:57 +00:00
2020-05-15 15:47:35 +00:00
export function setShareFolder(folderId, share, notify, sharingMessage) {
2020-04-07 07:17:57 +00:00
const data = { share, notify, sharingMessage };
return request({
method: "put",
url: `/files/folder/${folderId}/share`,
data
});
2020-04-07 07:17:57 +00:00
}
2020-05-15 15:47:35 +00:00
export function setShareFiles(fileId, share, notify, sharingMessage) {
2020-04-07 07:17:57 +00:00
const data = { share, notify, sharingMessage };
return request({ method: "put", url: `/files/file/${fileId}/share`, data });
}
2020-04-23 08:55:45 +00:00
export function startUploadSession(folderId, fileName, fileSize, relativePath) {
const data = { fileName, fileSize, relativePath };
return request({
method: "post",
url: `/files/${folderId}/upload/create_session.json`,
data
});
2020-04-23 08:55:45 +00:00
}
export function uploadFile(url, data) {
return axios.post(url, data);
}
export function downloadFiles(fileIds, folderIds) {
const data = { fileIds, folderIds };
return request({ method: "put", url: "/files/fileops/bulkdownload", data });
}
2020-05-15 18:25:31 +00:00
export function downloadFormatFiles(fileConvertIds, folderIds) {
const data = { folderIds, fileConvertIds };
return request({ method: "put", url: "/files/fileops/bulkdownload", data });
}
export function getProgress() {
return request({ method: "get", url: "/files/fileops" });
}
2020-05-20 07:55:26 +00:00
export function copyToFolder(
destFolderId,
folderIds,
fileIds,
conflictResolveType,
deleteAfter
) {
const data = {
destFolderId,
folderIds,
fileIds,
conflictResolveType,
deleteAfter
};
2020-05-20 07:55:26 +00:00
return request({ method: "put", url: "/files/fileops/copy", data });
}
export function moveToFolder(
destFolderId,
folderIds,
fileIds,
conflictResolveType,
deleteAfter
) {
const data = {
destFolderId,
folderIds,
fileIds,
conflictResolveType,
deleteAfter
};
2020-05-20 07:55:26 +00:00
return request({ method: "put", url: "/files/fileops/move", data });
}
2020-06-18 14:45:35 +00:00
export function getFileVersionInfo(fileId) {
return request({
method: "get",
url: `/files/file/${fileId}/history`
});
}
2020-06-26 12:52:46 +00:00
export function markAsRead(folderIds, fileIds) {
const data = { folderIds, fileIds };
2020-06-26 12:52:46 +00:00
return request({ method: "put", url: "/files/fileops/markasread", data });
}
export function getNewFiles(folderId) {
return request({
method: "get",
url: `/files/${folderId}/news`
});
}
2020-07-07 07:27:04 +00:00
export function convertFile(fileId) {
return request({
method: "put",
url: `/files/file/${fileId}/checkconversion`
});
2020-07-07 07:27:04 +00:00
}
export function getConvertFile(fileId) {
return request({
method: "get",
url: `/files/file/${fileId}/checkconversion`
});
2020-07-07 07:27:04 +00:00
}
export function finalizeVersion(fileId, version, continueVersion) {
const data = { fileId, version, continueVersion };
return request({
method: "put",
url: `/files/file/${fileId}/history`,
data
});
}
2020-08-12 08:08:04 +00:00
export function markAsVersion(fileId, continueVersion, version) {
const data = { continueVersion, version };
return request({ method: "put", url: `/files/file/${fileId}/history`, data });
}
export function versionEditComment(fileId, comment, version) {
const data = { comment, version };
return request({ method: "put", url: `/files/file/${fileId}/comment`, data });
}
2020-08-14 10:02:23 +00:00
export function versionRestore(fileId, lastversion) {
const data = { lastversion };
2020-08-12 08:08:04 +00:00
return request({ method: "put", url: `/files/file/${fileId}`, data });
}
2020-08-13 11:42:29 +00:00
export function lockFile(fileId, lockFile) {
const data = { lockFile };
return request({ method: "put", url: `/files/file/${fileId}/lock`, data });
}
export function updateIfExist(val) {
const data = { set: val };
return request({ method: "put", url: "files/updateifexist", data });
}
export function storeOriginal(val) {
const data = { set: val };
return request({ method: "put", url: "files/storeoriginal", data });
}
export function changeDeleteConfirm(val) {
const data = { set: val };
return request({ method: "put", url: "files/changedeleteconfrim", data });
}
export function storeForceSave(val) {
const data = { set: val };
return request({ method: "put", url: "files/storeforcesave", data });
2020-08-31 22:05:28 +00:00
}
export function forceSave(val) {
const data = { set: val };
return request({ method: "put", url: "files/forcesave", data });
}
2020-08-31 22:05:28 +00:00
export function thirdParty(val) {
const data = { set: val };
return request({ method: "put", url: "files/thirdparty", data });
}
export function getSettingsFiles() {
return request({ method: "get", url: `/files/settings` });
}