1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-03 07:55:36 +00:00
Files
seahub/frontend/src/utils/url-decorator.js

38 lines
1.2 KiB
JavaScript
Raw Normal View History

import {siteRoot, historyRepoID, fileServerRoot } from './constants';
import { Utils } from './utils';
2018-09-12 17:01:48 +08:00
class URLDecorator {
static getUrl(options) {
let url = '';
let params = '';
switch (options.type) {
case 'download_historic_file':
params = 'p=' + options.filePath;
url = siteRoot + 'repo/' + historyRepoID + '/' + options.objID + '/download?' + params;
break;
case 'download_dir_zip_url':
url = fileServerRoot + 'zip/' + options.token;
break;
case 'download_file_url':
url = siteRoot + 'lib/' + options.repoID + '/file' + Utils.encodePath(options.filePath) + '?dl=1';
break;
case 'file_revisions':
params = 'p=' + Utils.encodePath(options.filePath);
url = siteRoot + 'repo/file_revisions/' + options.repoID + '/?' + params;
break;
case 'open_via_client':
url = 'seafile://openfile?repo_id=' + options.repoID + '&path=' + Utils.encodePath(options.filePath);
break;
case 'draft_view':
url = siteRoot + 'lib/' + options.repoID + '/file' + options.filePath + '?mode=edit&draft_id=' + options.draftId;
break;
default:
url = '';
break;
2018-09-12 17:01:48 +08:00
}
return url;
}
}
export default URLDecorator;