mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-17 15:53:28 +00:00
optimize code and structure
This commit is contained in:
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
|
||||
import { Utils } from '../../utils/utils';
|
||||
import { gettext } from '../../utils/constants';
|
||||
import toaster from '../../components/toast';
|
||||
import seahubManageAPI from './seahub-manage-api';
|
||||
import seahubMetadataAPI from './seahub-metadata-api';
|
||||
|
||||
const propTypes = {
|
||||
repoID: PropTypes.string.isRequired,
|
||||
@@ -48,11 +48,11 @@ class MetadataManageView extends React.Component {
|
||||
};
|
||||
|
||||
onClick = () => {
|
||||
seahubManageAPI.getMetadataManagementEnabledStatus(this.props.repoID).then((res) => {
|
||||
seahubMetadataAPI.getMetadataManagementEnabledStatus(this.props.repoID).then((res) => {
|
||||
if (res.data.enabled){
|
||||
this.viewMetadata();
|
||||
} else if (confirm(gettext('Enable-Metadata-Manage?'))){
|
||||
seahubManageAPI.enableMetadataManagement(this.props.repoID).then((res) => {
|
||||
seahubMetadataAPI.enableMetadataManagement(this.props.repoID).then((res) => {
|
||||
this.viewMetadata();
|
||||
}).catch((error) => {
|
||||
let errMessage = Utils.getErrorMsg(error);
|
||||
|
@@ -2,7 +2,7 @@ import axios from 'axios';
|
||||
import cookie from 'react-cookies';
|
||||
import { siteRoot } from '../../utils/constants';
|
||||
|
||||
class SeahubManageAPI {
|
||||
class SeahubMetadataAPI {
|
||||
init({ server, username, password, token }) {
|
||||
this.server = server;
|
||||
this.username = username;
|
||||
@@ -50,7 +50,7 @@ class SeahubManageAPI {
|
||||
|
||||
enableMetadataManagement(repoID) {
|
||||
const url = this.server + '/api/v2.1/repos/' + repoID + '/metadata/';
|
||||
return this.req.post(url);
|
||||
return this.req.put(url);
|
||||
}
|
||||
|
||||
disableMetadataManagement(repoID) {
|
||||
@@ -91,8 +91,8 @@ class SeahubManageAPI {
|
||||
}
|
||||
}
|
||||
|
||||
const seahubManageAPI = new SeahubManageAPI();
|
||||
const seahubMetadataAPI = new SeahubMetadataAPI();
|
||||
const xcsrfHeaders = cookie.load('sfcsrftoken');
|
||||
seahubManageAPI.initForSeahubUsage({ siteRoot, xcsrfHeaders });
|
||||
seahubMetadataAPI.initForSeahubUsage({ siteRoot, xcsrfHeaders });
|
||||
|
||||
export default seahubManageAPI;
|
||||
export default seahubMetadataAPI;
|
@@ -218,7 +218,7 @@ class MetadataManage(APIView):
|
||||
error_msg = 'Internal Server Error'
|
||||
return api_error(status.HTTP_500_INTERNAL_SERVER_ERROR, error_msg)
|
||||
|
||||
def post(self, request, repo_id):
|
||||
def put(self, request, repo_id):
|
||||
'''
|
||||
enable a new repo's metadata manage
|
||||
'''
|
||||
@@ -309,7 +309,7 @@ class MetadataManage(APIView):
|
||||
error_msg = 'Internal Server Error'
|
||||
return api_error(status.HTTP_500_INTERNAL_SERVER_ERROR, error_msg)
|
||||
|
||||
class MetadataManageRecords(APIView):
|
||||
class MetadataRecords(APIView):
|
||||
authentication_classes = (TokenAuthentication, SessionAuthentication)
|
||||
permission_classes = (IsAuthenticated, )
|
||||
throttle_classes = (UserRateThrottle, )
|
||||
@@ -321,7 +321,7 @@ class MetadataManageRecords(APIView):
|
||||
parent_dir: optional, if not specify, search from all dirs
|
||||
name: optional, if not specify, search from all objects
|
||||
page: optional, the current page
|
||||
perpage: optional, if use page, default is 25
|
||||
per_page: optional, if use page, default is 25
|
||||
is_dir: optional, True or False
|
||||
'''
|
||||
if not ENABLE_METADATA_MANAGEMENT or not MATEDATA_SERVER_URL:
|
||||
@@ -333,7 +333,7 @@ class MetadataManageRecords(APIView):
|
||||
parent_dir = request.GET.get('parent_dir')
|
||||
name = request.GET.get('name')
|
||||
page = request.GET.get('page')
|
||||
perpage = request.GET.get('perpage')
|
||||
per_page = request.GET.get('per_page')
|
||||
is_dir = request.GET.get('is_dir')
|
||||
|
||||
if page:
|
||||
@@ -343,15 +343,15 @@ class MetadataManageRecords(APIView):
|
||||
error_msg = 'Page is not vaild.'
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||
|
||||
if perpage:
|
||||
if per_page:
|
||||
try:
|
||||
perpage = int(perpage)
|
||||
per_page = int(per_page)
|
||||
except ValueError:
|
||||
error_msg = 'Perpage is not vaild.'
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||
|
||||
else:
|
||||
perpage = 25
|
||||
per_page = 25
|
||||
|
||||
if is_dir:
|
||||
try:
|
||||
@@ -405,7 +405,7 @@ class MetadataManageRecords(APIView):
|
||||
sql += f' ORDER BY `{COLUMN_CURRENT_DIR.name}` ASC, `{COLUMN_IS_DIR.name}` DESC, `{COLUMN_NAME.name}` ASC'
|
||||
|
||||
if page:
|
||||
sql += f' LIMIT {(page - 1) * perpage}, {page * perpage}'
|
||||
sql += f' LIMIT {(page - 1) * per_page}, {page * per_page}'
|
||||
|
||||
sql += ';'
|
||||
|
||||
@@ -537,7 +537,7 @@ class MetadataManageRecords(APIView):
|
||||
else:
|
||||
return api_error(status.HTTP_503_SERVICE_UNAVAILABLE, f'error from metadata server with code {response.status_code}: {response.reason}')
|
||||
|
||||
class MetadataManageRecord(APIView):
|
||||
class MetadataRecord(APIView):
|
||||
#authentication_classes = (TokenAuthentication, SessionAuthentication)
|
||||
#permission_classes = (IsAuthenticated, )
|
||||
throttle_classes = (UserRateThrottle, )
|
||||
|
@@ -206,7 +206,7 @@ from seahub.ai.apis import LibrarySdocIndexes, Search, LibrarySdocIndex, TaskSta
|
||||
from seahub.wiki2.views import wiki_view
|
||||
from seahub.api2.endpoints.wiki2 import Wikis2View, Wiki2View, Wiki2ConfigView, Wiki2PagesView, Wiki2PageView
|
||||
from seahub.api2.endpoints.subscription import SubscriptionView, SubscriptionPlansView, SubscriptionLogsView
|
||||
from seahub.api2.endpoints.metadata_manager import MetadataManageRecords, MetadataManage, MetadataManageRecord
|
||||
from seahub.api2.endpoints.metadata_manager import MetadataRecords, MetadataManage, MetadataRecord
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
@@ -437,8 +437,8 @@ urlpatterns = [
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/file/participant/$', FileParticipantView.as_view(), name='api-v2.1-file-participant'),
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/related-users/$', RepoRelatedUsersView.as_view(), name='api-v2.1-related-user'),
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/metadata/$', MetadataManage.as_view(), name='api-v2.1-metadata'),
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/metadata/records/$', MetadataManageRecords.as_view(), name='api-v2.1-metadata-records'),
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/metadata/records/(?P<record_id>[A-Za-z0-9_]+)/$', MetadataManageRecord.as_view(), name='api-v2.1-metadata-record'),
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/metadata/records/$', MetadataRecords.as_view(), name='api-v2.1-metadata-records'),
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/metadata/records/(?P<record_id>[A-Za-z0-9_]+)/$', MetadataRecord.as_view(), name='api-v2.1-metadata-record'),
|
||||
|
||||
## user:file:extended-props
|
||||
re_path(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/extended-properties/$', ExtendedPropertiesView.as_view(), name='api-v2.1-extended-properties'),
|
||||
|
Reference in New Issue
Block a user