diff --git a/frontend/src/components/dialog/org-add-admin-dialog.js b/frontend/src/components/dialog/org-add-admin-dialog.js index b62030d876..2b75641a61 100644 --- a/frontend/src/components/dialog/org-add-admin-dialog.js +++ b/frontend/src/components/dialog/org-add-admin-dialog.js @@ -5,7 +5,7 @@ import { gettext, orgID } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; import UserSelect from '../user-select'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import OrgUserInfo from '../../models/org-user'; const propTypes = { @@ -34,7 +34,7 @@ class AddOrgAdminDialog extends React.Component { addOrgAdmin = () => { if (!this.state.selectedOption) return; const userEmail = this.state.selectedOption.email; - seafileAPI.orgAdminSetOrgAdmin(orgID, userEmail, true).then(res => { + orgAdminAPI.orgAdminSetOrgAdmin(orgID, userEmail, true).then(res => { let userInfo = new OrgUserInfo(res.data); this.props.onAddedOrgAdmin(userInfo); }).catch(error => { diff --git a/frontend/src/components/dialog/org-add-department-dialog.js b/frontend/src/components/dialog/org-add-department-dialog.js index 34cd3a324e..ad5bf38f5c 100644 --- a/frontend/src/components/dialog/org-add-department-dialog.js +++ b/frontend/src/components/dialog/org-add-department-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Form, FormGroup, Label } from 'reactstrap'; import { gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; const propTypes = { groupID: PropTypes.string, @@ -28,7 +28,7 @@ class AddDepartmentDialog extends React.Component { if (this.props.parentGroupID) { parentGroup = this.props.parentGroupID; } - seafileAPI.orgAdminAddDepartGroup(orgID, parentGroup, this.state.departmentName.trim()).then((res) => { + orgAdminAPI.orgAdminAddDepartGroup(orgID, parentGroup, this.state.departmentName.trim()).then((res) => { this.props.toggle(); this.props.onAddNewDepartment(res.data); }).catch(error => { diff --git a/frontend/src/components/dialog/org-add-member-dialog.js b/frontend/src/components/dialog/org-add-member-dialog.js index ba40a265ea..c0504a348c 100644 --- a/frontend/src/components/dialog/org-add-member-dialog.js +++ b/frontend/src/components/dialog/org-add-member-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Alert } from 'reactstrap'; import { gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; import UserSelect from '../user-select'; @@ -32,7 +32,7 @@ class AddMemberDialog extends React.Component { const email = this.state.selectedOption[0].email; this.refs.orgSelect.clearSelect(); this.setState({ errMessage: [] }); - seafileAPI.orgAdminAddGroupMember(orgID, this.props.groupID, email).then((res) => { + orgAdminAPI.orgAdminAddGroupMember(orgID, this.props.groupID, email).then((res) => { this.setState({ selectedOption: null }); if (res.data.failed.length > 0) { this.setState({ errMessage: res.data.failed[0].error_msg }); diff --git a/frontend/src/components/dialog/org-add-repo-dialog.js b/frontend/src/components/dialog/org-add-repo-dialog.js index 89375fed50..f4a77d4fe3 100644 --- a/frontend/src/components/dialog/org-add-repo-dialog.js +++ b/frontend/src/components/dialog/org-add-repo-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Form, FormGroup, Label, Alert } from 'reactstrap'; import { gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; const propTypes = { @@ -24,7 +24,7 @@ class AddRepoDialog extends React.Component { handleSubmit = () => { let isValid = this.validateName(); if (isValid) { - seafileAPI.orgAdminAddDepartmentRepo(orgID, this.props.groupID, this.state.repoName.trim()).then((res) => { + orgAdminAPI.orgAdminAddDepartmentRepo(orgID, this.props.groupID, this.state.repoName.trim()).then((res) => { this.props.toggle(); this.props.onAddNewRepo(res.data); }).catch(error => { diff --git a/frontend/src/components/dialog/org-delete-department-dialog.js b/frontend/src/components/dialog/org-delete-department-dialog.js index 07bb14711f..cbd0537274 100644 --- a/frontend/src/components/dialog/org-delete-department-dialog.js +++ b/frontend/src/components/dialog/org-delete-department-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../../components/toast'; @@ -22,7 +22,7 @@ class DeleteDepartDialog extends React.Component { deleteDepart = () => { const { groupID } = this.props; this.props.toggle(); - seafileAPI.orgAdminDeleteDepartGroup(orgID, groupID).then((res) => { + orgAdminAPI.orgAdminDeleteDepartGroup(orgID, groupID).then((res) => { this.props.onDeleteDepartment(groupID); }).catch(error => { let errMessage = Utils.getErrorMsg(error); diff --git a/frontend/src/components/dialog/org-delete-member-dialog.js b/frontend/src/components/dialog/org-delete-member-dialog.js index c1163b836d..2424907b9b 100644 --- a/frontend/src/components/dialog/org-delete-member-dialog.js +++ b/frontend/src/components/dialog/org-delete-member-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; @@ -21,7 +21,7 @@ class DeleteMemberDialog extends React.Component { deleteMember = () => { const userEmail = this.props.member.email; - seafileAPI.orgAdminDeleteGroupMember(orgID, this.props.groupID, userEmail).then((res) => { + orgAdminAPI.orgAdminDeleteGroupMember(orgID, this.props.groupID, userEmail).then((res) => { if (res.data.success) { this.props.onMemberChanged(); this.props.toggle(); diff --git a/frontend/src/components/dialog/org-delete-repo-dialog.js b/frontend/src/components/dialog/org-delete-repo-dialog.js index 39b39ec812..5f007cccf1 100644 --- a/frontend/src/components/dialog/org-delete-repo-dialog.js +++ b/frontend/src/components/dialog/org-delete-repo-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; @@ -14,7 +14,7 @@ class DeleteRepoDialog extends React.Component { deleteRepo = () => { const { repo } = this.props; - seafileAPI.orgAdminDeleteDepartmentRepo(orgID, this.props.groupID, this.props.repo.repo_id).then((res) => { + orgAdminAPI.orgAdminDeleteDepartmentRepo(orgID, this.props.groupID, this.props.repo.repo_id).then((res) => { if (res.data.success) { this.props.onDeleteRepo(repo.repo_id); this.props.toggle(); diff --git a/frontend/src/components/dialog/org-logs-file-update-detail.js b/frontend/src/components/dialog/org-logs-file-update-detail.js index 587ee9e0e3..97e489b456 100644 --- a/frontend/src/components/dialog/org-logs-file-update-detail.js +++ b/frontend/src/components/dialog/org-logs-file-update-detail.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody } from 'reactstrap'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; @@ -28,7 +28,7 @@ class FileUpdateDetailDialog extends React.Component { } componentDidMount() { - seafileAPI.orgAdminGetFileUpdateDetail(this.props.repoID, this.props.commitID).then(res => { + orgAdminAPI.orgAdminGetFileUpdateDetail(this.props.repoID, this.props.commitID).then(res => { this.setState({ time: res.data.date_time, renamed: this.state.renamed.concat(res.data.renamed), diff --git a/frontend/src/components/dialog/org-rename-department-dialog.js b/frontend/src/components/dialog/org-rename-department-dialog.js index b7534827ce..9893951670 100644 --- a/frontend/src/components/dialog/org-rename-department-dialog.js +++ b/frontend/src/components/dialog/org-rename-department-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Form, FormGroup, Label } from 'reactstrap'; import { gettext } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; @@ -35,7 +35,7 @@ class RenameDepartmentDialog extends React.Component { let isValid = this.validateName(); const { orgID, groupID } = this.props; if (isValid) { - seafileAPI.orgAdminUpdateDepartGroup(orgID, groupID, this.state.departmentName.trim()).then((res) => { + orgAdminAPI.orgAdminUpdateDepartGroup(orgID, groupID, this.state.departmentName.trim()).then((res) => { this.props.toggle(); this.props.onDepartmentNameChanged(res.data); toaster.success(gettext('Name updated')); diff --git a/frontend/src/components/dialog/org-set-group-quota-dialog.js b/frontend/src/components/dialog/org-set-group-quota-dialog.js index a45b7bafd7..8265f1da8b 100644 --- a/frontend/src/components/dialog/org-set-group-quota-dialog.js +++ b/frontend/src/components/dialog/org-set-group-quota-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, InputGroupAddon, InputGroup } from 'reactstrap'; import { gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; @@ -28,7 +28,7 @@ class SetGroupQuotaDialog extends React.Component { if ((quota.length && myReg.test(quota)) || quota == -2) { this.setState({ errMessage: '' }); let newQuota = this.state.quota == -2 ? this.state.quota : this.state.quota * 1000000; - seafileAPI.orgAdminSetGroupQuota(orgID, this.props.groupID, newQuota).then((res) => { + orgAdminAPI.orgAdminSetGroupQuota(orgID, this.props.groupID, newQuota).then((res) => { this.props.toggle(); this.props.onSetQuota(res.data); }).catch(error => { diff --git a/frontend/src/components/dialog/set-org-user-contact-email.js b/frontend/src/components/dialog/set-org-user-contact-email.js index 271a372be3..6f0de47018 100644 --- a/frontend/src/components/dialog/set-org-user-contact-email.js +++ b/frontend/src/components/dialog/set-org-user-contact-email.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; const propTypes = { @@ -37,7 +37,7 @@ class SetOrgUserContactEmail extends React.Component { submitBtnDisabled: true }); - seafileAPI.orgAdminSetOrgUserContactEmail(orgID, email, contactEmail).then((res) => { + orgAdminAPI.orgAdminSetOrgUserContactEmail(orgID, email, contactEmail).then((res) => { const newContactEmail = contactEmail ? res.data.contact_email : ''; this.props.updateContactEmail(newContactEmail); this.props.toggleDialog(); diff --git a/frontend/src/components/dialog/set-org-user-default-quota.js b/frontend/src/components/dialog/set-org-user-default-quota.js index 7af424fe34..63971645af 100644 --- a/frontend/src/components/dialog/set-org-user-default-quota.js +++ b/frontend/src/components/dialog/set-org-user-default-quota.js @@ -1,9 +1,8 @@ import React from 'react'; - import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter, InputGroup, InputGroupAddon, InputGroupText } from 'reactstrap'; import { gettext } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; const propTypes = { @@ -45,7 +44,7 @@ class SetOrgUserDefaultQuota extends React.Component { submitBtnDisabled: true }); - seafileAPI.orgAdminSetOrgUserDefaultQuota(orgID, quota).then((res) => { + orgAdminAPI.orgAdminSetOrgUserDefaultQuota(orgID, quota).then((res) => { this.props.updateQuota(res.data.user_default_quota); this.props.toggleDialog(); }).catch((error) => { diff --git a/frontend/src/components/dialog/set-org-user-name.js b/frontend/src/components/dialog/set-org-user-name.js index 12cb110594..f4548c1de9 100644 --- a/frontend/src/components/dialog/set-org-user-name.js +++ b/frontend/src/components/dialog/set-org-user-name.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; const propTypes = { @@ -39,7 +39,7 @@ class SetOrgUserName extends React.Component { // when name is '', api returns the previous name // but newName needs to be '' - seafileAPI.orgAdminSetOrgUserName(orgID, email, name).then((res) => { + orgAdminAPI.orgAdminSetOrgUserName(orgID, email, name).then((res) => { const newName = name ? res.data.name : ''; this.props.updateName(newName); this.props.toggleDialog(); diff --git a/frontend/src/components/dialog/set-org-user-quota.js b/frontend/src/components/dialog/set-org-user-quota.js index ca5b86e2ba..5ecb02b064 100644 --- a/frontend/src/components/dialog/set-org-user-quota.js +++ b/frontend/src/components/dialog/set-org-user-quota.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter, InputGroup, InputGroupAddon, InputGroupText } from 'reactstrap'; import { gettext } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; const propTypes = { @@ -46,7 +46,7 @@ class SetOrgUserQuota extends React.Component { submitBtnDisabled: true }); - seafileAPI.orgAdminSetOrgUserQuota(orgID, email, quota).then((res) => { + orgAdminAPI.orgAdminSetOrgUserQuota(orgID, email, quota).then((res) => { this.props.updateQuota(res.data.quota_total); this.props.toggleDialog(); }).catch((error) => { diff --git a/frontend/src/components/dialog/transfer-dialog.js b/frontend/src/components/dialog/transfer-dialog.js index d5f7a43c16..a200063e6f 100644 --- a/frontend/src/components/dialog/transfer-dialog.js +++ b/frontend/src/components/dialog/transfer-dialog.js @@ -5,6 +5,7 @@ import { Button, Modal, ModalHeader, ModalBody, ModalFooter, import makeAnimated from 'react-select/animated'; import { seafileAPI } from '../../utils/seafile-api'; import { systemAdminAPI } from '../../utils/system-admin-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext, isPro, orgID } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import toaster from '../toast'; @@ -61,7 +62,7 @@ class TransferDialog extends React.Component { componentDidMount() { if (this.props.isOrgAdmin) { - seafileAPI.orgAdminListDepartments(orgID).then((res) => { + orgAdminAPI.orgAdminListDepartments(orgID).then((res) => { this.updateOptions(res); }).catch(error => { let errMessage = Utils.getErrorMsg(error); diff --git a/frontend/src/pages/org-admin/departments/department-libraries.js b/frontend/src/pages/org-admin/departments/department-libraries.js index 3ca7785fbc..415ced3270 100644 --- a/frontend/src/pages/org-admin/departments/department-libraries.js +++ b/frontend/src/pages/org-admin/departments/department-libraries.js @@ -1,7 +1,7 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { Utils } from '../../../utils/utils'; import toaster from '../../../components/toast'; import ModalPortal from '../../../components/modal-portal'; @@ -34,7 +34,7 @@ class OrgDepartmentItem extends React.Component { } listOrgGroupRepo = (groupID) => { - seafileAPI.orgAdminListGroupRepos(orgID, groupID).then(res => { + orgAdminAPI.orgAdminListGroupRepos(orgID, groupID).then(res => { this.setState({ repos: res.data.libraries }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); diff --git a/frontend/src/pages/org-admin/departments/department-list.js b/frontend/src/pages/org-admin/departments/department-list.js index 50124064d0..af3c00584e 100644 --- a/frontend/src/pages/org-admin/departments/department-list.js +++ b/frontend/src/pages/org-admin/departments/department-list.js @@ -1,6 +1,6 @@ import React, { Fragment } from 'react'; import dayjs from 'dayjs'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import MainPanelTopbar from '../main-panel-topbar'; import ModalPortal from '../../../components/modal-portal'; import AddDepartDialog from '../../../components/dialog/org-add-department-dialog'; @@ -30,7 +30,7 @@ class OrgDepartmentsList extends React.Component { } listDepartGroups = () => { - seafileAPI.orgAdminListDepartGroups(orgID).then(res => { + orgAdminAPI.orgAdminListDepartGroups(orgID).then(res => { this.setState({ groups: res.data.data }); }); }; diff --git a/frontend/src/pages/org-admin/departments/department-members.js b/frontend/src/pages/org-admin/departments/department-members.js index 89fbeb2a08..ffc7554353 100644 --- a/frontend/src/pages/org-admin/departments/department-members.js +++ b/frontend/src/pages/org-admin/departments/department-members.js @@ -1,7 +1,7 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { Utils } from '../../../utils/utils'; import toaster from '../../../components/toast'; import ModalPortal from '../../../components/modal-portal'; @@ -52,7 +52,7 @@ class OrgDepartmentItem extends React.Component { } listOrgGroupRepo = (groupID) => { - seafileAPI.orgAdminListGroupRepos(orgID, groupID).then(res => { + orgAdminAPI.orgAdminListGroupRepos(orgID, groupID).then(res => { this.setState({ repos: res.data.libraries }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -61,7 +61,7 @@ class OrgDepartmentItem extends React.Component { }; listOrgMembers = (groupID) => { - seafileAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { + orgAdminAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { this.setState({ members: res.data.members, groups: res.data.groups, @@ -75,7 +75,7 @@ class OrgDepartmentItem extends React.Component { }; listSubDepartGroups = (groupID) => { - seafileAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { + orgAdminAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { this.setState({ groups: res.data.groups }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -240,7 +240,7 @@ class MemberItem extends React.Component { onChangeUserRole = (roleOption) => { let isAdmin = roleOption.value === 'Admin' ? true : false; - seafileAPI.orgAdminSetGroupMemberRole(orgID, this.props.groupID, this.props.member.email, isAdmin).then((res) => { + orgAdminAPI.orgAdminSetGroupMemberRole(orgID, this.props.groupID, this.props.member.email, isAdmin).then((res) => { this.props.onMemberChanged(); }).catch(error => { let errMessage = Utils.getErrorMsg(error); diff --git a/frontend/src/pages/org-admin/departments/department.js b/frontend/src/pages/org-admin/departments/department.js index e9748f500c..c382c11963 100644 --- a/frontend/src/pages/org-admin/departments/department.js +++ b/frontend/src/pages/org-admin/departments/department.js @@ -2,7 +2,7 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; import { Link } from '@gatsbyjs/reach-router'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { Utils } from '../../../utils/utils'; import toaster from '../../../components/toast'; import MainPanelTopbar from '../main-panel-topbar'; @@ -57,7 +57,7 @@ class OrgDepartmentItem extends React.Component { } listOrgMembers = (groupID) => { - seafileAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { + orgAdminAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { this.setState({ members: res.data.members, groups: res.data.groups, diff --git a/frontend/src/pages/org-admin/departments/sub-departments.js b/frontend/src/pages/org-admin/departments/sub-departments.js index 4d8dfd02da..df353441ff 100644 --- a/frontend/src/pages/org-admin/departments/sub-departments.js +++ b/frontend/src/pages/org-admin/departments/sub-departments.js @@ -1,7 +1,7 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { Utils } from '../../../utils/utils'; import toaster from '../../../components/toast'; import { gettext, orgID, lang } from '../../../utils/constants'; @@ -41,7 +41,7 @@ class OrgDepartmentItem extends React.Component { } listOrgMembers = (groupID) => { - seafileAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { + orgAdminAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { this.setState({ members: res.data.members, groups: res.data.groups, @@ -55,7 +55,7 @@ class OrgDepartmentItem extends React.Component { }; listSubDepartGroups = (groupID) => { - seafileAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { + orgAdminAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => { this.setState({ groups: res.data.groups }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); diff --git a/frontend/src/pages/org-admin/devices/devices-by-platform.js b/frontend/src/pages/org-admin/devices/devices-by-platform.js index ef8e5732a4..ebf2fcfffb 100644 --- a/frontend/src/pages/org-admin/devices/devices-by-platform.js +++ b/frontend/src/pages/org-admin/devices/devices-by-platform.js @@ -2,7 +2,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { orgID, gettext } from '../../../utils/constants'; import toaster from '../../../components/toast'; import { Utils } from '../../../utils/utils'; @@ -117,7 +117,7 @@ class Item extends Component { unlinkDevice = (deleteFiles) => { const { platform, device_id, user } = this.props.item; - seafileAPI.orgAdminUnlinkDevice(orgID, platform, device_id, user, deleteFiles).then((res) => { + orgAdminAPI.orgAdminUnlinkDevice(orgID, platform, device_id, user, deleteFiles).then((res) => { this.setState({ unlinked: true }); let message = gettext('Successfully unlinked the device.'); toaster.success(message); @@ -191,7 +191,7 @@ class DevicesByPlatform extends Component { getDevicesListByPage = (page) => { let platform = this.props.devicesPlatform; let per_page = this.state.perPage; - seafileAPI.orgAdminListDevices(orgID, platform, page, per_page).then((res) => { + orgAdminAPI.orgAdminListDevices(orgID, platform, page, per_page).then((res) => { this.setState({ devicesData: res.data.devices, pageInfo: res.data.page_info, diff --git a/frontend/src/pages/org-admin/devices/devices-errors.js b/frontend/src/pages/org-admin/devices/devices-errors.js index b02f520b22..0963fd1a60 100644 --- a/frontend/src/pages/org-admin/devices/devices-errors.js +++ b/frontend/src/pages/org-admin/devices/devices-errors.js @@ -4,7 +4,7 @@ import { Button } from 'reactstrap'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; import { Link } from '@gatsbyjs/reach-router'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { siteRoot, gettext, orgID } from '../../../utils/constants'; import toaster from '../../../components/toast'; import { Utils } from '../../../utils/utils'; @@ -150,7 +150,7 @@ class OrgDevicesErrors extends Component { getDeviceErrorsListByPage = (page) => { let per_page = this.state.perPage; - seafileAPI.orgAdminListDevicesErrors(orgID, page, per_page).then((res) => { + orgAdminAPI.orgAdminListDevicesErrors(orgID, page, per_page).then((res) => { this.setState({ loading: false, devicesErrors: res.data.device_errors, @@ -166,7 +166,7 @@ class OrgDevicesErrors extends Component { }; clean = () => { - seafileAPI.orgAdminClearDeviceErrors(orgID).then((res) => { + orgAdminAPI.orgAdminClearDeviceErrors(orgID).then((res) => { this.setState({ devicesErrors: [], isCleanBtnShown: false diff --git a/frontend/src/pages/org-admin/libraries/org-all-repos.js b/frontend/src/pages/org-admin/libraries/org-all-repos.js index 5b67e56356..59dbfd281e 100644 --- a/frontend/src/pages/org-admin/libraries/org-all-repos.js +++ b/frontend/src/pages/org-admin/libraries/org-all-repos.js @@ -2,7 +2,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; import { Utils } from '../../../utils/utils'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { gettext, siteRoot, mediaUrl, orgID } from '../../../utils/constants'; import toaster from '../../../components/toast/index'; import EmptyTip from '../../../components/empty-tip'; @@ -14,7 +14,6 @@ import { navigate } from '@gatsbyjs/reach-router'; import OrgAdminRepo from '../../../models/org-admin-repo'; import MainPanelTopbar from '../main-panel-topbar'; import ReposNav from './org-repo-nav'; -import { orgAdminAPI } from '../../../utils/org-admin-api'; class Content extends Component { @@ -315,7 +314,7 @@ class OrgAllRepos extends Component { getReposByPage = (page) => { let { perPage } = this.state; - seafileAPI.orgAdminListOrgRepos(orgID, page, perPage, this.state.sortBy).then((res) => { + orgAdminAPI.orgAdminListOrgRepos(orgID, page, perPage, this.state.sortBy).then((res) => { let orgRepos = res.data.repo_list.map(item => { return new OrgAdminRepo(item); }); @@ -369,7 +368,7 @@ class OrgAllRepos extends Component { deleteRepoItem = (repo) => { - seafileAPI.orgAdminDeleteOrgRepo(orgID, repo.repoID).then(res => { + orgAdminAPI.orgAdminDeleteOrgRepo(orgID, repo.repoID).then(res => { this.setState({ repos: this.state.repos.filter(item => item.repoID !== repo.repoID) }); diff --git a/frontend/src/pages/org-admin/libraries/org-repo-trash.js b/frontend/src/pages/org-admin/libraries/org-repo-trash.js index 72722719fd..17aef5c966 100644 --- a/frontend/src/pages/org-admin/libraries/org-repo-trash.js +++ b/frontend/src/pages/org-admin/libraries/org-repo-trash.js @@ -4,7 +4,7 @@ import { Button } from 'reactstrap'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; import { Utils } from '../../../utils/utils'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { gettext, orgID } from '../../../utils/constants'; import toaster from '../../../components/toast/index'; import EmptyTip from '../../../components/empty-tip'; @@ -152,7 +152,7 @@ class Item extends Component { onDeleteRepo = () => { const repo = this.props.repo; - seafileAPI.orgAdminDeleteTrashRepo(orgID, repo.id).then((res) => { + orgAdminAPI.orgAdminDeleteTrashRepo(orgID, repo.id).then((res) => { this.props.onDeleteRepo(repo); const msg = gettext('Successfully deleted {name}.').replace('{name}', repo.name); toaster.success(msg); @@ -164,7 +164,7 @@ class Item extends Component { onRestoreRepo = () => { const repo = this.props.repo; - seafileAPI.orgAdminRestoreTrashRepo(orgID, repo.id).then((res) => { + orgAdminAPI.orgAdminRestoreTrashRepo(orgID, repo.id).then((res) => { this.props.onRestoreRepo(repo); let message = gettext('Successfully restored the library.'); toaster.success(message); @@ -314,7 +314,7 @@ class TrashRepos extends Component { getReposByPage = (page) => { let { perPage } = this.state; - seafileAPI.orgAdminListTrashRepos(orgID, page, perPage).then((res) => { + orgAdminAPI.orgAdminListTrashRepos(orgID, page, perPage).then((res) => { this.setState({ repos: res.data.repos, pageInfo: res.data.page_info, @@ -355,7 +355,7 @@ class TrashRepos extends Component { }; cleanTrash = () => { - seafileAPI.orgAdminCleanTrashRepo(orgID).then(res => { + orgAdminAPI.orgAdminCleanTrashRepo(orgID).then(res => { this.setState({ repos: [] }); toaster.success(gettext('Successfully cleared trash.')); }).catch(error => { diff --git a/frontend/src/pages/org-admin/org-group-info.js b/frontend/src/pages/org-admin/org-group-info.js index f9841c2fb5..1b30d96825 100644 --- a/frontend/src/pages/org-admin/org-group-info.js +++ b/frontend/src/pages/org-admin/org-group-info.js @@ -1,7 +1,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Link } from '@gatsbyjs/reach-router'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext, siteRoot } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import Loading from '../../components/loading'; @@ -23,7 +23,7 @@ class OrgGroupInfo extends Component { } componentDidMount() { - seafileAPI.orgAdminGetGroup(orgID, this.props.groupID).then((res) => { + orgAdminAPI.orgAdminGetGroup(orgID, this.props.groupID).then((res) => { this.setState(Object.assign({ loading: false }, res.data)); diff --git a/frontend/src/pages/org-admin/org-group-members.js b/frontend/src/pages/org-admin/org-group-members.js index 8d766d477b..1b9e3ebc86 100644 --- a/frontend/src/pages/org-admin/org-group-members.js +++ b/frontend/src/pages/org-admin/org-group-members.js @@ -1,7 +1,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Link } from '@gatsbyjs/reach-router'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext, siteRoot } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import Loading from '../../components/loading'; @@ -23,7 +23,7 @@ class OrgGroupMembers extends Component { } componentDidMount() { - seafileAPI.orgAdminListGroupMembers(orgID, this.props.groupID).then((res) => { + orgAdminAPI.orgAdminListGroupMembers(orgID, this.props.groupID).then((res) => { this.setState(Object.assign({ loading: false }, res.data)); diff --git a/frontend/src/pages/org-admin/org-group-repos.js b/frontend/src/pages/org-admin/org-group-repos.js index 5705927f9b..2dbbb5150a 100644 --- a/frontend/src/pages/org-admin/org-group-repos.js +++ b/frontend/src/pages/org-admin/org-group-repos.js @@ -1,7 +1,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Link } from '@gatsbyjs/reach-router'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext, siteRoot } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import Loading from '../../components/loading'; @@ -25,7 +25,7 @@ class OrgGroupRepos extends Component { } componentDidMount() { - seafileAPI.orgAdminListGroupRepos(orgID, this.props.groupID).then((res) => { + orgAdminAPI.orgAdminListGroupRepos(orgID, this.props.groupID).then((res) => { this.setState(Object.assign({ loading: false }, res.data)); @@ -138,7 +138,7 @@ class Item extends Component { deleteRepo = () => { const repo = this.props.data; - seafileAPI.orgAdminDeleteOrgRepo(orgID, repo.repo_id).then((res) => { + orgAdminAPI.orgAdminDeleteOrgRepo(orgID, repo.repo_id).then((res) => { this.setState({ deleted: true, isRepoDeleted: true, diff --git a/frontend/src/pages/org-admin/org-groups-search-groups.js b/frontend/src/pages/org-admin/org-groups-search-groups.js index 94b2ba78e3..8b98ca5b8a 100644 --- a/frontend/src/pages/org-admin/org-groups-search-groups.js +++ b/frontend/src/pages/org-admin/org-groups-search-groups.js @@ -2,7 +2,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem, Form, FormGroup, Input, Col } from 'reactstrap'; import { Utils } from '../../utils/utils'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext, orgID, siteRoot } from '../../utils/constants'; import toaster from '../../components/toast'; import OrgGroupInfo from '../../models/org-group'; @@ -205,7 +205,7 @@ class OrgGroupsSearchGroups extends Component { } getItems = () => { - seafileAPI.orgAdminSearchGroup(orgID, this.state.query.trim()).then(res => { + orgAdminAPI.orgAdminSearchGroup(orgID, this.state.query.trim()).then(res => { let groupList = res.data.group_list.map(item => { return new OrgGroupInfo(item); }); @@ -222,7 +222,7 @@ class OrgGroupsSearchGroups extends Component { }; deleteGroupItem = (group) => { - seafileAPI.orgAdminDeleteOrgGroup(orgID, group.id).then(res => { + orgAdminAPI.orgAdminDeleteOrgGroup(orgID, group.id).then(res => { this.setState({ orgGroups: this.state.orgGroups.filter(item => item.id != group.id) }); diff --git a/frontend/src/pages/org-admin/org-groups.js b/frontend/src/pages/org-admin/org-groups.js index 7022898836..d380b78f82 100644 --- a/frontend/src/pages/org-admin/org-groups.js +++ b/frontend/src/pages/org-admin/org-groups.js @@ -3,13 +3,12 @@ import PropTypes from 'prop-types'; import { navigate } from '@gatsbyjs/reach-router'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; import { siteRoot, gettext, orgID } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../../components/toast'; import OrgGroupInfo from '../../models/org-group'; import MainPanelTopbar from './main-panel-topbar'; import ChangeGroupDialog from '../../components/dialog/change-group-dialog'; -import { orgAdminAPI } from '../../utils/org-admin-api'; class Search extends React.Component { @@ -83,7 +82,7 @@ class OrgGroups extends Component { } initData = (page) => { - seafileAPI.orgAdminListOrgGroups(orgID, page).then(res => { + orgAdminAPI.orgAdminListOrgGroups(orgID, page).then(res => { let orgGroups = res.data.groups.map(item => { return new OrgGroupInfo(item); }); @@ -121,7 +120,7 @@ class OrgGroups extends Component { }; deleteGroupItem = (group) => { - seafileAPI.orgAdminDeleteOrgGroup(orgID, group.id).then(res => { + orgAdminAPI.orgAdminDeleteOrgGroup(orgID, group.id).then(res => { this.setState({ orgGroups: this.state.orgGroups.filter(item => item.id != group.id) }); diff --git a/frontend/src/pages/org-admin/org-info.js b/frontend/src/pages/org-admin/org-info.js index d4081b779b..10a941064b 100644 --- a/frontend/src/pages/org-admin/org-info.js +++ b/frontend/src/pages/org-admin/org-info.js @@ -1,5 +1,5 @@ import React, { Component, Fragment } from 'react'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { mediaUrl, gettext, orgMemberQuotaEnabled } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import MainPanelTopbar from './main-panel-topbar'; @@ -25,7 +25,7 @@ class OrgInfo extends Component { } componentDidMount() { - seafileAPI.orgAdminGetOrgInfo().then(res => { + orgAdminAPI.orgAdminGetOrgInfo().then(res => { const { org_id, org_name, member_quota, member_usage, active_members, diff --git a/frontend/src/pages/org-admin/org-links.js b/frontend/src/pages/org-admin/org-links.js index b847801254..2489497dff 100644 --- a/frontend/src/pages/org-admin/org-links.js +++ b/frontend/src/pages/org-admin/org-links.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { siteRoot, gettext, serviceURL } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import toaster from '../../components/toast'; @@ -27,7 +27,7 @@ class OrgLinks extends React.Component { } listOrgLinks = (page) => { - seafileAPI.orgAdminListOrgLinks(page).then(res => { + orgAdminAPI.orgAdminListOrgLinks(page).then(res => { const data = res.data; this.setState({ linkList: data.link_list, @@ -57,7 +57,7 @@ class OrgLinks extends React.Component { }; deleteOrgLink = (token) => { - seafileAPI.orgAdminDeleteOrgLink(token).then(res => { + orgAdminAPI.orgAdminDeleteOrgLink(token).then(res => { if (res.data.success === true) { this.listOrgLinks(this.state.page); } diff --git a/frontend/src/pages/org-admin/org-logs-file-audit.js b/frontend/src/pages/org-admin/org-logs-file-audit.js index e0d201de38..4acb63fce3 100644 --- a/frontend/src/pages/org-admin/org-logs-file-audit.js +++ b/frontend/src/pages/org-admin/org-logs-file-audit.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { siteRoot, gettext, lang } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import toaster from '../../components/toast'; @@ -33,7 +33,7 @@ class OrgLogsFileAudit extends React.Component { } initData = (email, repoID, page) => { - seafileAPI.orgAdminListFileAudit(email, repoID, page).then(res => { + orgAdminAPI.orgAdminListFileAudit(email, repoID, page).then(res => { let eventList = res.data.log_list.map(item => { return new OrgLogsFileAuditEvent(item); }); diff --git a/frontend/src/pages/org-admin/org-logs-file-update.js b/frontend/src/pages/org-admin/org-logs-file-update.js index 869b8fe8a2..6417c791f1 100644 --- a/frontend/src/pages/org-admin/org-logs-file-update.js +++ b/frontend/src/pages/org-admin/org-logs-file-update.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { siteRoot, gettext, lang } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import toaster from '../../components/toast'; @@ -38,7 +38,7 @@ class OrgLogsFileUpdate extends Component { } initData = (email, repoID, page) => { - seafileAPI.orgAdminListFileUpdate(email, repoID, page).then(res => { + orgAdminAPI.orgAdminListFileUpdate(email, repoID, page).then(res => { let eventList = res.data.log_list.map(item => { return new OrgLogsFileUpdateEvent(item); }); diff --git a/frontend/src/pages/org-admin/org-logs-perm-audit.js b/frontend/src/pages/org-admin/org-logs-perm-audit.js index 392128231f..9a7c4682a9 100644 --- a/frontend/src/pages/org-admin/org-logs-perm-audit.js +++ b/frontend/src/pages/org-admin/org-logs-perm-audit.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { siteRoot, gettext, lang } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import toaster from '../../components/toast'; @@ -33,7 +33,7 @@ class OrgLogsFileUpdate extends Component { } initData = (email, repoID, page) => { - seafileAPI.orgAdminListPermAudit(email, repoID, page).then(res => { + orgAdminAPI.orgAdminListPermAudit(email, repoID, page).then(res => { let eventList = res.data.log_list.map(item => { return new OrgLogsFilePermEvent(item); }); diff --git a/frontend/src/pages/org-admin/org-saml-config.js b/frontend/src/pages/org-admin/org-saml-config.js index 8e84e28cc8..a23afb3d6a 100644 --- a/frontend/src/pages/org-admin/org-saml-config.js +++ b/frontend/src/pages/org-admin/org-saml-config.js @@ -5,7 +5,7 @@ import MainPanelTopbar from './main-panel-topbar'; import toaster from '../../components/toast'; import Loading from '../../components/loading'; import { gettext, orgID, serviceURL } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import Section from './section'; import OrgSamlConfigInput from './input-item'; @@ -27,7 +27,7 @@ class OrgSAMLConfig extends Component { } componentDidMount() { - seafileAPI.orgAdminGetSamlConfig(orgID).then((res) => { + orgAdminAPI.orgAdminGetSamlConfig(orgID).then((res) => { this.setState({ loading: false, samlConfigID: res.data.saml_config.id, @@ -53,7 +53,7 @@ class OrgSAMLConfig extends Component { if (changeType === 'domain') domain = value; if (changeType === 'idpCertificate') idpCertificate = value; - seafileAPI.orgAdminUpdateSamlConfig(orgID, metadataUrl, domain, idpCertificate).then((res) => { + orgAdminAPI.orgAdminUpdateSamlConfig(orgID, metadataUrl, domain, idpCertificate).then((res) => { this.setState({ samlConfigID: res.data.saml_config.id, metadataUrl: res.data.saml_config.metadata_url, @@ -71,7 +71,7 @@ class OrgSAMLConfig extends Component { verifyDomain = () => { const { domain } = this.state; - seafileAPI.orgAdminVerifyDomain(orgID, domain).then((res) => { + orgAdminAPI.orgAdminVerifyDomain(orgID, domain).then((res) => { this.setState({ domainVerified: res.data.domain_verified }); toaster.success(gettext('Domain verified')); }).catch((error) => { diff --git a/frontend/src/pages/org-admin/org-user-item.js b/frontend/src/pages/org-admin/org-user-item.js index 3bf4a4b68d..239d6533d5 100644 --- a/frontend/src/pages/org-admin/org-user-item.js +++ b/frontend/src/pages/org-admin/org-user-item.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; import { gettext, siteRoot, orgID, username } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { Utils } from '../../utils/utils'; import toaster from '../../components/toast'; import Selector from '../../components/single-selector'; @@ -58,7 +58,7 @@ class UserItem extends React.Component { toggleResetPW = () => { const { email } = this.props.user; toaster.success(gettext('Resetting user\'s password, please wait for a moment.')); - seafileAPI.orgAdminResetOrgUserPassword(orgID, email).then(res => { + orgAdminAPI.orgAdminResetOrgUserPassword(orgID, email).then(res => { toaster.success(res.data.reset_tip); }).catch(error => { let errMessage = Utils.getErrorMsg(error); diff --git a/frontend/src/pages/org-admin/org-user-profile.js b/frontend/src/pages/org-admin/org-user-profile.js index 9ec43a37ab..abf2164858 100644 --- a/frontend/src/pages/org-admin/org-user-profile.js +++ b/frontend/src/pages/org-admin/org-user-profile.js @@ -1,6 +1,6 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import Loading from '../../components/loading'; @@ -26,7 +26,7 @@ class OrgUserProfile extends Component { componentDidMount() { const email = decodeURIComponent(this.props.email); - seafileAPI.orgAdminGetOrgUserInfo(orgID, email).then((res) => { + orgAdminAPI.orgAdminGetOrgUserInfo(orgID, email).then((res) => { this.setState(Object.assign({ loading: false }, res.data)); diff --git a/frontend/src/pages/org-admin/org-user-repos.js b/frontend/src/pages/org-admin/org-user-repos.js index 402150f526..c7f9207c83 100644 --- a/frontend/src/pages/org-admin/org-user-repos.js +++ b/frontend/src/pages/org-admin/org-user-repos.js @@ -1,7 +1,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import Loading from '../../components/loading'; @@ -26,7 +26,7 @@ class OrgUserOwnedRepos extends Component { componentDidMount() { const email = decodeURIComponent(this.props.email); - seafileAPI.orgAdminGetOrgUserOwnedRepos(orgID, email).then((res) => { + orgAdminAPI.orgAdminGetOrgUserOwnedRepos(orgID, email).then((res) => { this.setState(Object.assign({ loading: false }, res.data)); @@ -134,7 +134,7 @@ class Item extends Component { deleteRepo = () => { const repo = this.props.data; - seafileAPI.orgAdminDeleteOrgRepo(orgID, repo.repo_id).then((res) => { + orgAdminAPI.orgAdminDeleteOrgRepo(orgID, repo.repo_id).then((res) => { this.setState({ deleted: true, isRepoDeleted: true, diff --git a/frontend/src/pages/org-admin/org-user-shared-repos.js b/frontend/src/pages/org-admin/org-user-shared-repos.js index 6ff37c752d..9d6bd575ab 100644 --- a/frontend/src/pages/org-admin/org-user-shared-repos.js +++ b/frontend/src/pages/org-admin/org-user-shared-repos.js @@ -1,7 +1,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import dayjs from 'dayjs'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import Loading from '../../components/loading'; @@ -24,7 +24,7 @@ class OrgUserSharedRepos extends Component { componentDidMount() { const email = decodeURIComponent(this.props.email); - seafileAPI.orgAdminGetOrgUserBesharedRepos(orgID, email).then((res) => { + orgAdminAPI.orgAdminGetOrgUserBesharedRepos(orgID, email).then((res) => { this.setState(Object.assign({ loading: false }, res.data)); diff --git a/frontend/src/pages/org-admin/org-users-admins.js b/frontend/src/pages/org-admin/org-users-admins.js index c3157ea0ec..1477d6948e 100644 --- a/frontend/src/pages/org-admin/org-users-admins.js +++ b/frontend/src/pages/org-admin/org-users-admins.js @@ -5,7 +5,7 @@ import MainPanelTopbar from './main-panel-topbar'; import AddOrgAdminDialog from '../../components/dialog/org-add-admin-dialog'; import ModalPortal from '../../components/modal-portal'; import toaster from '../../components/toast'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import OrgUserInfo from '../../models/org-user'; import { gettext, orgID } from '../../utils/constants'; import { Utils } from '../../utils/utils'; @@ -25,7 +25,7 @@ class OrgUsers extends Component { }; initOrgAdmin = () => { - seafileAPI.orgAdminListOrgUsers(orgID, true).then(res => { + orgAdminAPI.orgAdminListOrgUsers(orgID, true).then(res => { let userList = res.data.user_list.map(item => { return new OrgUserInfo(item); }); @@ -37,7 +37,7 @@ class OrgUsers extends Component { }; toggleOrgAdminDelete = (email, username) => { - seafileAPI.orgAdminDeleteOrgUser(orgID, email).then(res => { + orgAdminAPI.orgAdminDeleteOrgUser(orgID, email).then(res => { this.setState({ orgAdminUsers: this.state.orgAdminUsers.filter(item => item.email != email) }); @@ -51,7 +51,7 @@ class OrgUsers extends Component { }; toggleRevokeAdmin = (email) => { - seafileAPI.orgAdminSetOrgAdmin(orgID, email, false).then(res => { + orgAdminAPI.orgAdminSetOrgAdmin(orgID, email, false).then(res => { this.setState({ orgAdminUsers: this.state.orgAdminUsers.filter(item => item.email != email) }); @@ -76,7 +76,7 @@ class OrgUsers extends Component { }; changeStatus = (email, isActive) => { - seafileAPI.orgAdminChangeOrgUserStatus(orgID, email, isActive).then(res => { + orgAdminAPI.orgAdminChangeOrgUserStatus(orgID, email, isActive).then(res => { let users = this.state.orgAdminUsers.map(item => { if (item.email == email) { item['is_active'] = res.data['is_active']; diff --git a/frontend/src/pages/org-admin/org-users-search-users.js b/frontend/src/pages/org-admin/org-users-search-users.js index a694020e07..8fcd3b0a6f 100644 --- a/frontend/src/pages/org-admin/org-users-search-users.js +++ b/frontend/src/pages/org-admin/org-users-search-users.js @@ -2,7 +2,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Form, FormGroup, Input, Col } from 'reactstrap'; import { Utils } from '../../utils/utils'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import { gettext, orgID } from '../../utils/constants'; import toaster from '../../components/toast'; import UserItem from './org-user-item'; @@ -90,7 +90,7 @@ class OrgUsersSearchUsers extends Component { } getItems = () => { - seafileAPI.orgAdminSearchUser(orgID, this.state.query.trim()).then(res => { + orgAdminAPI.orgAdminSearchUser(orgID, this.state.query.trim()).then(res => { let userList = res.data.user_list.map(item => { return new OrgUserInfo(item); }); @@ -107,7 +107,7 @@ class OrgUsersSearchUsers extends Component { }; deleteUser = (email, username) => { - seafileAPI.orgAdminDeleteOrgUser(orgID, email).then(res => { + orgAdminAPI.orgAdminDeleteOrgUser(orgID, email).then(res => { let newUserList = this.state.orgUsers.filter(item => { return item.email != email; }); @@ -144,7 +144,7 @@ class OrgUsersSearchUsers extends Component { }; changeStatus = (email, isActive) => { - seafileAPI.orgAdminChangeOrgUserStatus(orgID, email, isActive).then(res => { + orgAdminAPI.orgAdminChangeOrgUserStatus(orgID, email, isActive).then(res => { let users = this.state.orgUsers.map(item => { if (item.email == email) { item['is_active'] = res.data['is_active']; diff --git a/frontend/src/pages/org-admin/org-users-users.js b/frontend/src/pages/org-admin/org-users-users.js index f8c6697da4..e18dfe9c51 100644 --- a/frontend/src/pages/org-admin/org-users-users.js +++ b/frontend/src/pages/org-admin/org-users-users.js @@ -10,7 +10,7 @@ import AddOrgUserDialog from '../../components/dialog/org-add-user-dialog'; import InviteUserDialog from '../../components/dialog/org-admin-invite-user-dialog'; import InviteUserViaWeiXinDialog from '../../components/dialog/org-admin-invite-user-via-weixin-dialog'; import toaster from '../../components/toast'; -import { seafileAPI } from '../../utils/seafile-api'; +import { orgAdminAPI } from '../../utils/org-admin-api'; import OrgUserInfo from '../../models/org-user'; import { gettext, invitationLink, orgID, siteRoot, orgEnableAdminInviteUser } from '../../utils/constants'; import { Utils } from '../../utils/utils'; @@ -138,7 +138,7 @@ class OrgUsers extends Component { initOrgUsersData = (page) => { const { sortBy, sortOrder } = this.state; - seafileAPI.orgAdminListOrgUsers(orgID, '', page, sortBy, sortOrder).then(res => { + orgAdminAPI.orgAdminListOrgUsers(orgID, '', page, sortBy, sortOrder).then(res => { let userList = res.data.user_list.map(item => { return new OrgUserInfo(item); }); @@ -155,7 +155,7 @@ class OrgUsers extends Component { importOrgUsers = (file) => { toaster.notify(gettext('It may take some time, please wait.')); - seafileAPI.orgAdminImportUsersViaFile(orgID, file).then((res) => { + orgAdminAPI.orgAdminImportUsersViaFile(orgID, file).then((res) => { if (res.data.success.length) { const users = res.data.success.map(item => { if (item.institution == undefined) { @@ -178,7 +178,7 @@ class OrgUsers extends Component { }; addOrgUser = (email, name, password) => { - seafileAPI.orgAdminAddOrgUser(orgID, email, name, password).then(res => { + orgAdminAPI.orgAdminAddOrgUser(orgID, email, name, password).then(res => { let userInfo = new OrgUserInfo(res.data); this.state.orgUsers.unshift(userInfo); this.setState({ @@ -196,7 +196,7 @@ class OrgUsers extends Component { }; toggleOrgUsersDelete = (email, username) => { - seafileAPI.orgAdminDeleteOrgUser(orgID, email).then(res => { + orgAdminAPI.orgAdminDeleteOrgUser(orgID, email).then(res => { let users = this.state.orgUsers.filter(item => item.email != email); this.setState({ orgUsers: users }); let msg = gettext('Deleted user %s'); @@ -209,7 +209,7 @@ class OrgUsers extends Component { }; inviteOrgUser = (emails) => { - seafileAPI.orgAdminInviteOrgUsers(orgID, emails.split(',')).then(res => { + orgAdminAPI.orgAdminInviteOrgUsers(orgID, emails.split(',')).then(res => { this.toggleInviteUserDialog(); let users = res.data.success.map(user => { return new OrgUserInfo(user); @@ -236,7 +236,7 @@ class OrgUsers extends Component { }; changeStatus = (email, isActive) => { - seafileAPI.orgAdminChangeOrgUserStatus(orgID, email, isActive).then(res => { + orgAdminAPI.orgAdminChangeOrgUserStatus(orgID, email, isActive).then(res => { let users = this.state.orgUsers.map(item => { if (item.email == email) { item['is_active'] = res.data['is_active']; diff --git a/frontend/src/pages/org-admin/statistic/statistic-file.js b/frontend/src/pages/org-admin/statistic/statistic-file.js index 3a754dbfdb..31d8d31904 100644 --- a/frontend/src/pages/org-admin/statistic/statistic-file.js +++ b/frontend/src/pages/org-admin/statistic/statistic-file.js @@ -3,7 +3,7 @@ import dayjs from 'dayjs'; import MainPanelTopbar from '../main-panel-topbar'; import StatisticNav from './statistic-nav'; import StatisticCommonTool from './statistic-common-tool'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import StatisticChart from './statistic-chart'; import Loading from '../../../components/loading'; import { gettext, orgID } from '../../../utils/constants'; @@ -26,7 +26,7 @@ class OrgStatisticFile extends React.Component { getActiviesFiles = (startTime, endTime, groupBy) => { let { filesData } = this.state; - seafileAPI.orgAdminStatisticFiles(orgID, startTime, endTime, groupBy).then((res) => { + orgAdminAPI.orgAdminStatisticFiles(orgID, startTime, endTime, groupBy).then((res) => { let labels = []; let added = []; let deleted = []; diff --git a/frontend/src/pages/org-admin/statistic/statistic-storage.js b/frontend/src/pages/org-admin/statistic/statistic-storage.js index d41889867d..4394b13e6b 100644 --- a/frontend/src/pages/org-admin/statistic/statistic-storage.js +++ b/frontend/src/pages/org-admin/statistic/statistic-storage.js @@ -3,7 +3,7 @@ import dayjs from 'dayjs'; import MainPanelTopbar from '../main-panel-topbar'; import StatisticNav from './statistic-nav'; import StatisticCommonTool from './statistic-common-tool'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import StatisticChart from './statistic-chart'; import Loading from '../../../components/loading'; import { gettext, orgID } from '../../../utils/constants'; @@ -23,7 +23,7 @@ class OrgStatisticStorage extends React.Component { getActiviesFiles = (startTime, endTime, groupBy) => { let { filesData } = this.state; - seafileAPI.orgAdminStatisticStorages(orgID, startTime, endTime, groupBy).then((res) => { + orgAdminAPI.orgAdminStatisticStorages(orgID, startTime, endTime, groupBy).then((res) => { let labels = []; let totalStorage = []; let data = res.data; diff --git a/frontend/src/pages/org-admin/statistic/statistic-traffic-users.js b/frontend/src/pages/org-admin/statistic/statistic-traffic-users.js index 3092136993..ed0efdaf5e 100644 --- a/frontend/src/pages/org-admin/statistic/statistic-traffic-users.js +++ b/frontend/src/pages/org-admin/statistic/statistic-traffic-users.js @@ -3,7 +3,7 @@ import { Input } from 'reactstrap'; import dayjs from 'dayjs'; import TrafficTable from './traffic-table'; import TrafficTableBody from './traffic-table-body'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import Paginator from '../../../components/paginator'; import Loading from '../../../components/loading'; import { gettext, orgID } from '../../../utils/constants'; @@ -79,7 +79,7 @@ class UsersTraffic extends React.Component { isLoading: true, errorMessage: '' }); - seafileAPI.orgAdminListUserTraffic(orgID, month, page, perPage, orderBy).then(res => { + orgAdminAPI.orgAdminListUserTraffic(orgID, month, page, perPage, orderBy).then(res => { let userTrafficList = res.data.user_monthly_traffic_list.slice(0); this.setState({ month: month, diff --git a/frontend/src/pages/org-admin/statistic/statistic-traffic.js b/frontend/src/pages/org-admin/statistic/statistic-traffic.js index 6034ed0ca0..782778559e 100644 --- a/frontend/src/pages/org-admin/statistic/statistic-traffic.js +++ b/frontend/src/pages/org-admin/statistic/statistic-traffic.js @@ -1,7 +1,7 @@ import React, { Fragment } from 'react'; import dayjs from 'dayjs'; import { gettext, orgID } from '../../../utils/constants'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import MainPanelTopbar from '../main-panel-topbar'; import StatisticNav from './statistic-nav'; import StatisticCommonTool from './statistic-common-tool'; @@ -31,7 +31,7 @@ class OrgStatisticTraffic extends React.Component { }; getActiviesFiles = (startTime, endTime, groupBy) => { - seafileAPI.orgAdminStatisticSystemTraffic(orgID, startTime, endTime, groupBy).then((res) => { + orgAdminAPI.orgAdminStatisticSystemTraffic(orgID, startTime, endTime, groupBy).then((res) => { let labels = []; let total_upload = []; let total_download = []; diff --git a/frontend/src/pages/org-admin/statistic/statistic-users.js b/frontend/src/pages/org-admin/statistic/statistic-users.js index 8e24476f7e..86c82672d1 100644 --- a/frontend/src/pages/org-admin/statistic/statistic-users.js +++ b/frontend/src/pages/org-admin/statistic/statistic-users.js @@ -4,7 +4,7 @@ import { gettext, orgID } from '../../../utils/constants'; import MainPanelTopbar from '../main-panel-topbar'; import StatisticNav from './statistic-nav'; import StatisticCommonTool from './statistic-common-tool'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import StatisticChart from './statistic-chart'; import Loading from '../../../components/loading'; import { Utils } from '../../../utils/utils'; @@ -23,7 +23,7 @@ class OrgStatisticUsers extends React.Component { getActiviesFiles = (startTime, endTime, groupBy) => { let { filesData } = this.state; - seafileAPI.orgAdminStatisticActiveUsers(orgID, startTime, endTime, groupBy).then((res) => { + orgAdminAPI.orgAdminStatisticActiveUsers(orgID, startTime, endTime, groupBy).then((res) => { let labels = []; let count = []; let data = res.data; diff --git a/frontend/src/pages/org-admin/web-settings/web-settings.js b/frontend/src/pages/org-admin/web-settings/web-settings.js index 8bea8dac75..c706d096b3 100644 --- a/frontend/src/pages/org-admin/web-settings/web-settings.js +++ b/frontend/src/pages/org-admin/web-settings/web-settings.js @@ -1,6 +1,6 @@ import React, { Component, Fragment } from 'react'; import { Utils } from '../../../utils/utils'; -import { seafileAPI } from '../../../utils/seafile-api'; +import { orgAdminAPI } from '../../../utils/org-admin-api'; import { gettext, mediaUrl, logoPath, orgID, orgEnableAdminCustomLogo, orgEnableAdminCustomName, enableMultiADFS } from '../../../utils/constants'; import Loading from '../../../components/loading'; import toaster from '../../../components/toast'; @@ -32,7 +32,7 @@ class OrgWebSettings extends Component { } componentDidMount() { - seafileAPI.orgAdminGetOrgInfo().then((res) => { + orgAdminAPI.orgAdminGetOrgInfo().then((res) => { this.setState({ loading: false, config_dict: res.data, @@ -50,7 +50,7 @@ class OrgWebSettings extends Component { } updateName = (key, newOrgName) => { - seafileAPI.orgAdminUpdateName(orgID, newOrgName).then((res) => { + orgAdminAPI.orgAdminUpdateName(orgID, newOrgName).then((res) => { this.setState({ config_dict: res.data }); @@ -62,7 +62,7 @@ class OrgWebSettings extends Component { }; updateLogo = (file) => { - seafileAPI.orgAdminUpdateLogo(orgID, file).then((res) => { + orgAdminAPI.orgAdminUpdateLogo(orgID, file).then((res) => { this.setState({ logoPath: res.data.logo_path }); @@ -74,7 +74,7 @@ class OrgWebSettings extends Component { }; orgSaveSetting = (key, value) => { - seafileAPI.orgAdminSetSysSettingInfo(orgID, key, value).then((res) => { + orgAdminAPI.orgAdminSetSysSettingInfo(orgID, key, value).then((res) => { toaster.success(gettext('System settings updated')); }).catch((error) => { let errMessage = Utils.getErrorMsg(error); diff --git a/frontend/src/utils/org-admin-api.js b/frontend/src/utils/org-admin-api.js index a6765b9134..9e77c69cc5 100644 --- a/frontend/src/utils/org-admin-api.js +++ b/frontend/src/utils/org-admin-api.js @@ -1,5 +1,6 @@ import axios from 'axios'; import cookie from 'react-cookies'; +import FormData from 'form-data'; import { siteRoot } from './constants'; class OrgAdminAPI { @@ -8,7 +9,7 @@ class OrgAdminAPI { this.server = server; this.username = username; this.password = password; - this.token = token; + this.token = token; // none if (this.token && this.server) { this.req = axios.create({ baseURL: this.server, @@ -44,6 +45,478 @@ class OrgAdminAPI { } } + orgAdminGetOrgInfo() { + const url = this.server + '/api/v2.1/org/admin/info/'; + return this.req.get(url); + } + + orgAdminGetSysSettingInfo(orgID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/web-settings/'; + return this.req.get(url); + } + + orgAdminSetSysSettingInfo(orgID, key, value) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/web-settings/'; + let formData = new FormData(); + formData.append(key, value); + return this.req.put(url, formData); + } + + orgAdminUpdateName(orgID, orgName) { + const url = this.server + '/api/v2.1/org/admin/info/'; + let form = new FormData(); + form.append('org_name', orgName); + return this.req.put(url, form); + } + + orgAdminSetOrgUserDefaultQuota(orgID, quota) { + const url = this.server + '/api/v2.1/org/admin/info/'; + let form = new FormData(); + form.append('user_default_quota', quota); + return this.req.put(url, form); + } + + orgAdminUpdateLogo(orgID, file) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/logo/'; + let form = new FormData(); + form.append('file', file); + return this._sendPostRequest(url, form); + } + + orgAdminGetSamlConfig(orgID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/saml-config/'; + return this.req.get(url); + } + + orgAdminUpdateSamlConfig(orgID, metadataUrl, domain, idpCertificate) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/saml-config/'; + let formData = new FormData(); + if (metadataUrl) { + formData.append('metadata_url', metadataUrl); + } + if (domain) { + formData.append('domain', domain); + } + if (idpCertificate) { + formData.append('idp_certificate', idpCertificate); + } + return this.req.put(url, formData); + } + + orgAdminVerifyDomain(orgID, domain) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/verify-domain/'; + let data = { + domain: domain + }; + return this.req.put(url, data); + } + + orgAdminStatisticFiles(orgID, startTime, endTime, groupBy) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/statistics/file-operations/'; + let params = { + start: startTime, + end: endTime, + group_by: groupBy + }; + return this.req.get(url, { params: params }); + } + + orgAdminStatisticStorages(orgID, startTime, endTime, groupBy) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/statistics/total-storage/'; + let params = { + start: startTime, + end: endTime, + group_by: groupBy + }; + return this.req.get(url, { params: params }); + } + + orgAdminStatisticActiveUsers(orgID, startTime, endTime, groupBy) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/statistics/active-users/'; + let params = { + start: startTime, + end: endTime, + group_by: groupBy + }; + return this.req.get(url, { params: params }); + } + + orgAdminStatisticSystemTraffic(orgID, startTime, endTime, groupBy) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/statistics/system-traffic/'; + let params = { + start: startTime, + end: endTime, + group_by: groupBy + }; + return this.req.get(url, { params: params }); + } + + orgAdminListUserTraffic(orgID, month, page, perPage, orderBy) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/statistics/user-traffic/'; + let params = { + month: month, + page: page, + per_page: perPage, + order_by: orderBy + }; + return this.req.get(url, { params: params }); + } + + orgAdminListDevices(orgID, platform, page, per_page) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/devices/'; + let params = { + platform: platform, + page: page, + per_page: per_page + }; + return this.req.get(url, { params: params }); + } + + orgAdminUnlinkDevice(orgID, platform, deviceID, user, wipeDevice) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/devices/'; + let params = { + wipe_device: wipeDevice ? 'true' : 'false', + platform: platform, + device_id: deviceID, + user: user + }; + return this.req.delete(url, { data: params }); + } + + orgAdminListDevicesErrors(orgID, page, per_page) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/devices-errors/'; + let params = { + page: page, + per_page: per_page + }; + return this.req.get(url, { params: params }); + } + + orgAdminClearDeviceErrors(orgID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/devices-errors/'; + return this.req.delete(url); + } + + orgAdminListOrgUsers(orgID, isStaff, page, sortBy, sortOrder) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/'; + let params = { + is_staff: isStaff, + page: page + }; + if (sortBy) { + params.order_by = sortBy; + params.direction = sortOrder; + } + return this.req.get(url, { params: params }); + } + + orgAdminSearchUser(orgID, query) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/search-user/'; + let params = { + query: query, + }; + return this.req.get(url, { params: params }); + } + + orgAdminGetOrgUserBesharedRepos(orgID, email) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/beshared-repos/'; + return this.req.get(url); + } + + orgAdminGetOrgUserOwnedRepos(orgID, email) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/repos/'; + return this.req.get(url); + } + + orgAdminGetOrgUserInfo(orgID, email) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/'; + return this.req.get(url); + } + + orgAdminSetOrgUserName(orgID, email, name) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/'; + const data = { + name: name + }; + return this.req.put(url, data); + } + + orgAdminSetOrgUserContactEmail(orgID, email, contactEmail) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/'; + const data = { + contact_email: contactEmail + }; + return this.req.put(url, data); + } + + orgAdminSetOrgUserQuota(orgID, email, quota) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/'; + const data = { + quota_total: quota + }; + return this.req.put(url, data); + } + + orgAdminDeleteOrgUser(orgID, email) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/'; + return this.req.delete(url); + } + + orgAdminResetOrgUserPassword(orgID, email) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/set-password/'; + return this.req.put(url); + } + + orgAdminChangeOrgUserStatus(orgID, email, isActive) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/'; + let form = new FormData(); + form.append('is_active', isActive); + return this.req.put(url, form); + } + + orgAdminAddOrgUser(orgID, email, name, password) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/'; + let form = new FormData(); + form.append('email', email); + form.append('name', name); + form.append('password', password); + return this._sendPostRequest(url, form); + } + + orgAdminImportUsersViaFile(orgID, file) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/import-users/'; + let formData = new FormData(); + formData.append('file', file); + return this._sendPostRequest(url, formData); + } + + orgAdminInviteOrgUsers(orgID, email) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/invite-users/'; + let form = new FormData(); + if (Array.isArray(email)) { + email.forEach(item => { + form.append('email', item); + }); + } else { + form.append('email', email); + } + return this._sendPostRequest(url, form); + } + + orgAdminSetOrgAdmin(orgID, email, isStaff) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/users/' + encodeURIComponent(email) + '/'; + let form = new FormData(); + form.append('is_staff', isStaff); + return this.req.put(url, form); + } + + orgAdminListOrgGroups(orgID, page) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/?page=' + page; + return this.req.get(url); + } + + orgAdminSearchGroup(orgID, query) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/search-group/'; + let params = { + query: query, + }; + return this.req.get(url, { params: params }); + } + + orgAdminGetGroup(orgID, groupID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/'; + return this.req.get(url); + } + + orgAdminDeleteOrgGroup(orgID, groupID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/'; + return this.req.delete(url); + } + + + orgAdminListDepartments(orgID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/departments/'; + return this.req.get(url); + } + + orgAdminListOrgRepos(orgID, page, perPage, orderBy) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/repos/'; + let params = { + page: page, + per_page: perPage + }; + if (orderBy) { + params.order_by = orderBy; + } + return this.req.get(url, { params: params }); + } + + orgAdminDeleteOrgRepo(orgID, repoID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/repos/' + repoID + '/'; + return this.req.delete(url); + } + + orgAdminListTrashRepos(orgID, page, perPage) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/trash-libraries/'; + let params = { + page: page, + per_page: perPage + }; + return this.req.get(url, { + params: params + }); + } + + orgAdminDeleteTrashRepo(orgID, repoID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/trash-libraries/' + repoID + '/'; + return this.req.delete(url); + } + + orgAdminRestoreTrashRepo(orgID, repoID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/trash-libraries/' + repoID + '/'; + return this.req.put(url); + } + + orgAdminCleanTrashRepo(orgID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/trash-libraries/'; + return this.req.delete(url); + } + + // org links + orgAdminListOrgLinks(page) { + const url = this.server + '/api/v2.1/org/admin/links/?page=' + page; + return this.req.get(url); + } + + orgAdminDeleteOrgLink(token) { + const url = this.server + '/api/v2.1/org/admin/links/' + token + '/'; + return this.req.delete(url); + } + + // org depart group + orgAdminListDepartGroups(orgID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/address-book/groups/'; + return this.req.get(url); + } + + orgAdminListGroupInfo(orgID, groupID, showAncestors) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/address-book/groups/' + groupID + '/?return_ancestors=' + showAncestors; + return this.req.get(url); + } + + orgAdminAddDepartGroup(orgID, parentGroup, groupName, groupOwner, groupStaff) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/address-book/groups/'; + let form = new FormData(); + form.append('parent_group', parentGroup); + form.append('group_name', groupName); + if (groupOwner) { + form.append('group_owner', groupOwner); + } + if (groupStaff) { + form.append('group_staff', groupStaff.join(',')); + } + return this._sendPostRequest(url, form); + } + + orgAdminUpdateDepartGroup(orgID, groupID, groupName) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/address-book/groups/' + groupID + '/'; + let form = new FormData(); + form.append('group_name', groupName); + return this.req.put(url, form); + } + + orgAdminDeleteDepartGroup(orgID, groupID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/address-book/groups/' + groupID + '/'; + return this.req.delete(url); + } + + orgAdminSetGroupQuota(orgID, groupID, quota) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/'; + let form = new FormData(); + form.append('quota', quota); + return this.req.put(url, form); + } + + orgAdminListGroupRepos(orgID, groupID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/libraries/'; + return this.req.get(url); + } + + orgAdminAddDepartmentRepo(orgID, groupID, repoName) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/group-owned-libraries/'; + let form = new FormData(); + form.append('repo_name', repoName); + return this._sendPostRequest(url, form); + } + + orgAdminDeleteDepartmentRepo(orgID, groupID, repoID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/group-owned-libraries/' + repoID + '/'; + return this.req.delete(url); + } + + orgAdminListGroupMembers(orgID, groupID) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/members/'; + return this.req.get(url); + } + + orgAdminDeleteGroupMember(orgID, groupID, userEmail) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/members/' + encodeURIComponent(userEmail) + '/'; + return this.req.delete(url); + } + + orgAdminAddGroupMember(orgID, groupID, userEmail) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/members/'; + let form = new FormData(); + form.append('email', userEmail); + return this._sendPostRequest(url, form); + } + + orgAdminSetGroupMemberRole(orgID, groupID, userEmail, isAdmin) { + const url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/members/' + encodeURIComponent(userEmail) + '/'; + let form = new FormData(); + form.append('is_admin', isAdmin); + return this.req.put(url, form); + } + + // org admin logs + orgAdminListFileAudit(email, repoID, page) { + let url = this.server + '/api/v2.1/org/admin/logs/file-access/?page=' + page; + if (email) { + url = url + '&email=' + encodeURIComponent(email); + } + if (repoID) { + url = url + '&repo_id=' + repoID; + } + return this.req.get(url); + } + + orgAdminListFileUpdate(email, repoID, page) { + let url = this.server + '/api/v2.1/org/admin/logs/file-update/?page=' + page; + if (email) { + url = url + '&email=' + encodeURIComponent(email); + } + if (repoID) { + url = url + '&repo_id=' + repoID; + } + return this.req.get(url); + } + + orgAdminListPermAudit(email, repoID, page) { + let url = this.server + '/api/v2.1/org/admin/logs/repo-permission/?page=' + page; + if (email) { + url = url + '&email=' + encodeURIComponent(email); + } + if (repoID) { + url = url + '&repo_id=' + repoID; + } + return this.req.get(url); + } + + orgAdminGetFileUpdateDetail(repoID, commitID) { + let url = this.server + '/ajax/repo/' + repoID + '/history/changes/?commit_id=' + commitID; + return this.req.get(url, { headers: { 'X-Requested-With': 'XMLHttpRequest' } }); + } + orgAdminGroup2Department(orgID, groupID) { var url = this.server + '/api/v2.1/org/' + orgID + '/admin/groups/' + groupID + '/group-to-department/'; return this.req.post(url);