mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-11-01 19:32:27 +08:00
47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
import { http_get, http_post, http_delete, appendShareToUrl } from "../helpers/";
|
|
|
|
class ShareModel {
|
|
constructor() {
|
|
}
|
|
|
|
all(path = "/") {
|
|
const url = `/api/share?path=${path}`;
|
|
return http_get(url).then((res) => res.results.map((el) => {
|
|
if (el.can_read === true && el.can_write === false && el.can_upload === false) {
|
|
el.role = "viewer";
|
|
} else if (el.can_read === false && el.can_write === false && el.can_upload === true) {
|
|
el.role = "uploader";
|
|
} else if (el.can_read === true && el.can_write === true && el.can_upload === true) {
|
|
el.role = "editor";
|
|
} else {
|
|
el.role = "n/a";
|
|
}
|
|
return el;
|
|
}));
|
|
}
|
|
|
|
get(id) {
|
|
const url = `/api/share/${id}`;
|
|
return http_get(url).then((res) => res.result);
|
|
}
|
|
|
|
upsert(obj) {
|
|
const url = appendShareToUrl(`/api/share/${obj.id}`);
|
|
const data = Object.assign({}, obj);
|
|
delete data.role;
|
|
return http_post(url, data);
|
|
}
|
|
|
|
remove(id) {
|
|
const url = appendShareToUrl(`/api/share/${id}`);
|
|
return http_delete(url);
|
|
}
|
|
|
|
proof(id, data) {
|
|
const url = `/api/share/${id}/proof`;
|
|
return http_post(url, data).then((res) => res.result);
|
|
}
|
|
}
|
|
|
|
export const Share = new ShareModel();
|