seafile-js 0.2.216 → 0.2.217

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,29 @@
1
1
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
+
2
3
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
4
+
3
5
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
6
+
4
7
  import axios from 'axios';
5
8
  import FormData from 'form-data';
9
+
6
10
  var SeafileAPI = /*#__PURE__*/function () {
7
11
  function SeafileAPI() {
8
12
  _classCallCheck(this, SeafileAPI);
9
13
  }
14
+
10
15
  _createClass(SeafileAPI, [{
11
16
  key: "init",
12
17
  value: function init(_ref) {
13
18
  var server = _ref.server,
14
- username = _ref.username,
15
- password = _ref.password,
16
- token = _ref.token;
19
+ username = _ref.username,
20
+ password = _ref.password,
21
+ token = _ref.token;
17
22
  this.server = server;
18
23
  this.username = username;
19
24
  this.password = password;
20
25
  this.token = token; //none
26
+
21
27
  if (this.token && this.server) {
22
28
  this.req = axios.create({
23
29
  baseURL: this.server,
@@ -26,19 +32,22 @@ var SeafileAPI = /*#__PURE__*/function () {
26
32
  }
27
33
  });
28
34
  }
35
+
29
36
  return this;
30
37
  }
31
38
  }, {
32
39
  key: "initForSeahubUsage",
33
40
  value: function initForSeahubUsage(_ref2) {
34
41
  var siteRoot = _ref2.siteRoot,
35
- xcsrfHeaders = _ref2.xcsrfHeaders;
42
+ xcsrfHeaders = _ref2.xcsrfHeaders;
43
+
36
44
  if (siteRoot && siteRoot.charAt(siteRoot.length - 1) === '/') {
37
45
  var server = siteRoot.substring(0, siteRoot.length - 1);
38
46
  this.server = server;
39
47
  } else {
40
48
  this.server = siteRoot;
41
49
  }
50
+
42
51
  this.req = axios.create({
43
52
  headers: {
44
53
  'X-CSRFToken': xcsrfHeaders
@@ -61,6 +70,7 @@ var SeafileAPI = /*#__PURE__*/function () {
61
70
  key: "getToken",
62
71
  value: function getToken() {
63
72
  var _this = this;
73
+
64
74
  var url = this.server + '/api2/auth-token/';
65
75
  axios.post(url, {
66
76
  username: this.username,
@@ -88,14 +98,15 @@ var SeafileAPI = /*#__PURE__*/function () {
88
98
  var url = this.server + '/api/v2.1/auth-token-by-session/';
89
99
  return this.req["delete"](url);
90
100
  }
91
-
92
101
  /**
93
102
  * Login to server and create axios instance for future usage
94
103
  */
104
+
95
105
  }, {
96
106
  key: "login",
97
107
  value: function login() {
98
108
  var _this2 = this;
109
+
99
110
  var url = this.server + '/api2/auth-token/';
100
111
  return axios.post(url, {
101
112
  username: this.username,
@@ -115,17 +126,15 @@ var SeafileAPI = /*#__PURE__*/function () {
115
126
  value: function authPing() {
116
127
  var url = this.server + '/api2/auth/ping/';
117
128
  return this.req.get(url);
118
- }
129
+ } //---- Account API
119
130
 
120
- //---- Account API
121
131
  }, {
122
132
  key: "getAccountInfo",
123
133
  value: function getAccountInfo() {
124
134
  var url = this.server + '/api2/account/info/';
125
135
  return this.req.get(url);
126
- }
136
+ } //---- Group operation
127
137
 
128
- //---- Group operation
129
138
  }, {
130
139
  key: "listDepartments",
131
140
  value: function listDepartments() {
@@ -149,12 +158,15 @@ var SeafileAPI = /*#__PURE__*/function () {
149
158
  value: function listGroupRepos(groupID, page, perPage) {
150
159
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
151
160
  var params = {};
161
+
152
162
  if (page != undefined) {
153
163
  params.page = page;
154
164
  }
165
+
155
166
  if (perPage != undefined) {
156
167
  params.per_page = perPage;
157
168
  }
169
+
158
170
  return this.req.get(url, {
159
171
  params: params
160
172
  });
@@ -281,13 +293,17 @@ var SeafileAPI = /*#__PURE__*/function () {
281
293
  var url = this.server + '/api/v2.1/groups/' + groupID + '/group-owned-libraries/';
282
294
  var form = new FormData();
283
295
  form.append('name', repoName); // need to modify endpoint api;
296
+
284
297
  if (repo.passwd) {
285
298
  form.append('passwd', repo.passwd);
286
299
  }
300
+
287
301
  form.append('permission', permission);
302
+
288
303
  if (repo.library_template) {
289
304
  form.append('library_template', repo.library_template);
290
305
  }
306
+
291
307
  return this._sendPostRequest(url, form);
292
308
  }
293
309
  }, {
@@ -311,6 +327,7 @@ var SeafileAPI = /*#__PURE__*/function () {
311
327
  var form = new FormData();
312
328
  form.append('permission', permission);
313
329
  form.append('path', path);
330
+
314
331
  if (Array.isArray(username)) {
315
332
  username.forEach(function (item) {
316
333
  form.append('username', item);
@@ -318,6 +335,7 @@ var SeafileAPI = /*#__PURE__*/function () {
318
335
  } else {
319
336
  form.append('username', username);
320
337
  }
338
+
321
339
  return this._sendPostRequest(url, form);
322
340
  }
323
341
  }, {
@@ -350,6 +368,7 @@ var SeafileAPI = /*#__PURE__*/function () {
350
368
  var form = new FormData();
351
369
  form.append('permission', permission);
352
370
  form.append('path', path);
371
+
353
372
  if (Array.isArray(groupID)) {
354
373
  groupID.forEach(function (item) {
355
374
  form.append('group_id', item);
@@ -357,6 +376,7 @@ var SeafileAPI = /*#__PURE__*/function () {
357
376
  } else {
358
377
  form.append('group_id', groupID);
359
378
  }
379
+
360
380
  return this._sendPostRequest(url, form);
361
381
  }
362
382
  }, {
@@ -381,11 +401,9 @@ var SeafileAPI = /*#__PURE__*/function () {
381
401
  return this.req["delete"](url, {
382
402
  data: params
383
403
  });
384
- }
385
-
386
- //---- share operation
387
-
404
+ } //---- share operation
388
405
  // share-link
406
+
389
407
  }, {
390
408
  key: "listUserShareLinks",
391
409
  value: function listUserShareLinks() {
@@ -407,15 +425,19 @@ var SeafileAPI = /*#__PURE__*/function () {
407
425
  var form = new FormData();
408
426
  form.append('path', path);
409
427
  form.append('repo_id', repoID);
428
+
410
429
  if (permissions) {
411
430
  form.append('permissions', permissions);
412
431
  }
432
+
413
433
  if (password) {
414
434
  form.append('password', password);
415
435
  }
436
+
416
437
  if (expirationTime) {
417
438
  form.append('expiration_time', expirationTime);
418
439
  }
440
+
419
441
  return this._sendPostRequest(url, form);
420
442
  }
421
443
  }, {
@@ -427,12 +449,15 @@ var SeafileAPI = /*#__PURE__*/function () {
427
449
  form.append('repo_id', repoID);
428
450
  form.append('number', shareLinkNum);
429
451
  form.append('auto_generate_password', autoGeneratePassword);
452
+
430
453
  if (permissions) {
431
454
  form.append('permissions', permissions);
432
455
  }
456
+
433
457
  if (expirationTime) {
434
458
  form.append('expiration_time', expirationTime);
435
459
  }
460
+
436
461
  return this._sendPostRequest(url, form);
437
462
  }
438
463
  }, {
@@ -442,15 +467,19 @@ var SeafileAPI = /*#__PURE__*/function () {
442
467
  var form = new FormData();
443
468
  form.append('path', path);
444
469
  form.append('repo_id', repoID);
470
+
445
471
  if (permissions) {
446
472
  form.append('permissions', permissions);
447
473
  }
474
+
448
475
  if (password) {
449
476
  form.append('password', password);
450
477
  }
478
+
451
479
  if (expirationTime) {
452
480
  form.append('expiration_time', expirationTime);
453
481
  }
482
+
454
483
  return this._sendPostRequest(url, form);
455
484
  }
456
485
  }, {
@@ -459,12 +488,15 @@ var SeafileAPI = /*#__PURE__*/function () {
459
488
  var expirationTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
460
489
  var url = this.server + '/api/v2.1/share-links/' + token + '/';
461
490
  var form = new FormData();
491
+
462
492
  if (permissions) {
463
493
  form.append('permissions', permissions);
464
494
  }
495
+
465
496
  if (expirationTime) {
466
497
  form.append('expiration_time', expirationTime);
467
498
  }
499
+
468
500
  return this.req.put(url, form);
469
501
  }
470
502
  }, {
@@ -497,21 +529,24 @@ var SeafileAPI = /*#__PURE__*/function () {
497
529
  var form = new FormData();
498
530
  form.append('token', token);
499
531
  form.append('email', email);
532
+
500
533
  if (extraMsg) {
501
534
  form.append('extra_msg', extraMsg);
502
535
  }
536
+
503
537
  return this._sendPostRequest(url, form);
504
- }
538
+ } // for repo & folder
505
539
 
506
- // for repo & folder
507
540
  }, {
508
541
  key: "getRepoFolderShareInfo",
509
542
  value: function getRepoFolderShareInfo(repoID, path) {
510
543
  var url = this.server + '/api/v2.1/repos/' + repoID + '/share-info/';
511
544
  var params = {};
545
+
512
546
  if (path != undefined) {
513
547
  params.path = path;
514
548
  }
549
+
515
550
  return this.req.get(url, {
516
551
  params: params
517
552
  });
@@ -553,15 +588,16 @@ var SeafileAPI = /*#__PURE__*/function () {
553
588
  var params = {
554
589
  repo_id: repoID
555
590
  };
591
+
556
592
  if (shareTo) {
557
593
  params.share_to = shareTo;
558
594
  }
595
+
559
596
  return this.req.get(url, {
560
597
  params: params
561
598
  });
562
- }
599
+ } // upload-link
563
600
 
564
- // upload-link
565
601
  }, {
566
602
  key: "listUserUploadLinks",
567
603
  value: function listUserUploadLinks() {
@@ -581,12 +617,15 @@ var SeafileAPI = /*#__PURE__*/function () {
581
617
  var form = new FormData();
582
618
  form.append('path', path);
583
619
  form.append('repo_id', repoID);
620
+
584
621
  if (password) {
585
622
  form.append('password', password);
586
623
  }
624
+
587
625
  if (expirationTime) {
588
626
  form.append('expiration_time', expirationTime);
589
627
  }
628
+
590
629
  return this._sendPostRequest(url, form);
591
630
  }
592
631
  }, {
@@ -616,9 +655,11 @@ var SeafileAPI = /*#__PURE__*/function () {
616
655
  var form = new FormData();
617
656
  form.append('token', token);
618
657
  form.append('email', email);
658
+
619
659
  if (extraMsg) {
620
660
  form.append('extra_msg', extraMsg);
621
661
  }
662
+
622
663
  return this._sendPostRequest(url, form);
623
664
  }
624
665
  }, {
@@ -632,11 +673,9 @@ var SeafileAPI = /*#__PURE__*/function () {
632
673
  value: function deleteRepoUploadLink(repoID, token) {
633
674
  var url = this.server + '/api/v2.1/repos/' + repoID + '/upload-links/' + token + '/';
634
675
  return this.req["delete"](url);
635
- }
636
-
637
- // todo send upload link email
638
-
676
+ } // todo send upload link email
639
677
  // shared-libraries
678
+
640
679
  }, {
641
680
  key: "listSharedItems",
642
681
  value: function listSharedItems(repoID, path, shareType) {
@@ -660,11 +699,9 @@ var SeafileAPI = /*#__PURE__*/function () {
660
699
  return this.req["delete"](url, {
661
700
  params: options
662
701
  });
663
- }
664
-
665
- // share repo to user is same to share Folder
666
-
702
+ } // share repo to user is same to share Folder
667
703
  // unshare repo to user is same to unshare Folder
704
+
668
705
  }, {
669
706
  key: "deleteShareToUserItem",
670
707
  value: function deleteShareToUserItem(repoID, path, shareType, username) {
@@ -680,11 +717,9 @@ var SeafileAPI = /*#__PURE__*/function () {
680
717
  var form = new FormData();
681
718
  form.append('permission', permission);
682
719
  return this._sendPostRequest(url, form);
683
- }
684
-
685
- // share repo to group is same to share folder
686
-
720
+ } // share repo to group is same to share folder
687
721
  // unshare repo to group is same to unshare folder
722
+
688
723
  }, {
689
724
  key: "deleteShareToGroupItem",
690
725
  value: function deleteShareToGroupItem(repoID, path, shareType, groupID) {
@@ -738,9 +773,8 @@ var SeafileAPI = /*#__PURE__*/function () {
738
773
  value: function unshareRepoToGroup(repoID, groupID) {
739
774
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/' + repoID + '/';
740
775
  return this.req["delete"](url);
741
- }
776
+ } // shared folders
742
777
 
743
- // shared folders
744
778
  }, {
745
779
  key: "shareFolder",
746
780
  value: function shareFolder(repoID, path, shareType, permission, paramArray) {
@@ -749,6 +783,7 @@ var SeafileAPI = /*#__PURE__*/function () {
749
783
  var form = new FormData();
750
784
  form.append('share_type', shareType);
751
785
  form.append('permission', permission);
786
+
752
787
  if (shareType == 'user') {
753
788
  for (var i = 0; i < paramArray.length; i++) {
754
789
  form.append('username', paramArray[i]);
@@ -758,6 +793,7 @@ var SeafileAPI = /*#__PURE__*/function () {
758
793
  form.append('group_id', paramArray[_i]);
759
794
  }
760
795
  }
796
+
761
797
  var url = this.server + '/api2/repos/' + repoID + '/dir/shared_items/?p=' + path;
762
798
  return this.req.put(url, form);
763
799
  }
@@ -822,9 +858,8 @@ var SeafileAPI = /*#__PURE__*/function () {
822
858
  permission: JSON.stringify(permission.permission)
823
859
  };
824
860
  return this.req.put(url, data);
825
- }
861
+ } //---- repo(library) operation
826
862
 
827
- //---- repo(library) operation
828
863
  }, {
829
864
  key: "createMineRepo",
830
865
  value: function createMineRepo(repo) {
@@ -837,13 +872,17 @@ var SeafileAPI = /*#__PURE__*/function () {
837
872
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
838
873
  var form = new FormData();
839
874
  form.append('repo_name', repo.repo_name);
875
+
840
876
  if (repo.password) {
841
877
  form.append('password', repo.password);
842
878
  }
879
+
843
880
  form.append('permission', repo.permission);
881
+
844
882
  if (repo.library_template) {
845
883
  form.append('library_template', repo.library_template);
846
884
  }
885
+
847
886
  return this._sendPostRequest(url, form);
848
887
  }
849
888
  }, {
@@ -853,15 +892,18 @@ var SeafileAPI = /*#__PURE__*/function () {
853
892
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
854
893
  */
855
894
  var url = this.server + '/api/v2.1/repos/';
895
+
856
896
  if (!options) {
857
897
  // fetch all types of repos
858
898
  return this.req.get(url);
859
899
  }
900
+
860
901
  return this.req.get(url, {
861
902
  params: options,
862
903
  paramsSerializer: {
863
904
  serialize: function serialize(params) {
864
905
  var list = [];
906
+
865
907
  for (var key in params) {
866
908
  if (Array.isArray(params[key])) {
867
909
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -871,6 +913,7 @@ var SeafileAPI = /*#__PURE__*/function () {
871
913
  list.push(key + '=' + encodeURIComponent(params[key]));
872
914
  }
873
915
  }
916
+
874
917
  return list.join('&');
875
918
  }
876
919
  }
@@ -955,9 +998,8 @@ var SeafileAPI = /*#__PURE__*/function () {
955
998
  // todo change a exist repo to public
956
999
  var url = this.server + '/api/v2.1/shared-repos/' + repoID + '/';
957
1000
  return this.req.put(url, options);
958
- }
1001
+ } // remove public repo is same to unshareRepo;
959
1002
 
960
- // remove public repo is same to unshareRepo;
961
1003
  }, {
962
1004
  key: "getSource",
963
1005
  value: function getSource() {
@@ -985,56 +1027,73 @@ var SeafileAPI = /*#__PURE__*/function () {
985
1027
  value: function searchFiles(searchParams, cancelToken) {
986
1028
  var url = this.server + '/api2/search/';
987
1029
  url = url + '?q=' + searchParams.q;
1030
+
988
1031
  if (searchParams.search_repo) {
989
1032
  url = url + '&search_repo=' + searchParams.search_repo;
990
1033
  }
1034
+
991
1035
  if (searchParams.search_ftypes) {
992
1036
  url = url + '&search_ftypes=' + searchParams.search_ftypes;
993
1037
  }
1038
+
994
1039
  if (searchParams.page) {
995
1040
  url = url + '&page=' + searchParams.page;
996
1041
  }
1042
+
997
1043
  if (searchParams.per_page) {
998
1044
  url = url + '&per_page=' + searchParams.per_page;
999
1045
  }
1046
+
1000
1047
  if (searchParams.search_path) {
1001
1048
  url = url + '&search_path=' + searchParams.search_path;
1002
1049
  }
1050
+
1003
1051
  if (searchParams.obj_type) {
1004
1052
  url = url + '&obj_type=' + searchParams.obj_type;
1005
1053
  }
1054
+
1006
1055
  if (searchParams.input_fexts) {
1007
1056
  url = url + '&input_fexts=' + searchParams.input_fexts;
1008
1057
  }
1058
+
1009
1059
  if (searchParams.with_permission) {
1010
1060
  url = url + '&with_permission=' + searchParams.with_permission;
1011
1061
  }
1062
+
1012
1063
  if (searchParams.time_from) {
1013
1064
  url = url + '&time_from=' + searchParams.time_from;
1014
1065
  }
1066
+
1015
1067
  if (searchParams.time_to) {
1016
1068
  url = url + '&time_to=' + searchParams.time_to;
1017
1069
  }
1070
+
1018
1071
  if (searchParams.size_from) {
1019
1072
  url = url + '&size_from=' + searchParams.size_from;
1020
1073
  }
1074
+
1021
1075
  if (searchParams.size_to) {
1022
1076
  url = url + '&size_to=' + searchParams.size_to;
1023
1077
  }
1078
+
1024
1079
  if (searchParams.shared_from) {
1025
1080
  url = url + '&shared_from=' + searchParams.shared_from;
1026
1081
  }
1082
+
1027
1083
  if (searchParams.not_shared_from) {
1028
1084
  url = url + '&not_shared_from=' + searchParams.not_shared_from;
1029
1085
  }
1086
+
1030
1087
  if (searchParams.search_filename_only) {
1031
1088
  url = url + '&search_filename_only=' + searchParams.search_filename_only;
1032
1089
  }
1090
+
1033
1091
  if (searchParams.ftype) {
1034
1092
  for (var i = 0; i < searchParams.ftype.length; i++) {
1035
1093
  url = url + '&ftype=' + searchParams.ftype[i];
1036
1094
  }
1037
1095
  }
1096
+
1038
1097
  return this.req.get(url, {
1039
1098
  cancelToken: cancelToken
1040
1099
  });
@@ -1079,9 +1138,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1079
1138
  var form = new FormData();
1080
1139
  form.append('permission', permission);
1081
1140
  return this.req.put(url, form);
1082
- }
1141
+ } //admin
1083
1142
 
1084
- //admin
1085
1143
  }, {
1086
1144
  key: "listDeletedRepo",
1087
1145
  value: function listDeletedRepo() {
@@ -1095,39 +1153,44 @@ var SeafileAPI = /*#__PURE__*/function () {
1095
1153
  var form = new FormData();
1096
1154
  form.append('repo_id', repoID);
1097
1155
  return this._sendPostRequest(url, form);
1098
- }
1156
+ } //---- directory operation
1099
1157
 
1100
- //---- directory operation
1101
1158
  }, {
1102
1159
  key: "listDir",
1103
1160
  value: function listDir(repoID, dirPath) {
1104
1161
  var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
1105
- _ref3$recursive = _ref3.recursive,
1106
- recursive = _ref3$recursive === void 0 ? false : _ref3$recursive,
1107
- _ref3$type = _ref3.type,
1108
- type = _ref3$type === void 0 ? '' : _ref3$type,
1109
- _ref3$with_thumbnail = _ref3.with_thumbnail,
1110
- with_thumbnail = _ref3$with_thumbnail === void 0 ? false : _ref3$with_thumbnail,
1111
- _ref3$with_parents = _ref3.with_parents,
1112
- with_parents = _ref3$with_parents === void 0 ? false : _ref3$with_parents;
1162
+ _ref3$recursive = _ref3.recursive,
1163
+ recursive = _ref3$recursive === void 0 ? false : _ref3$recursive,
1164
+ _ref3$type = _ref3.type,
1165
+ type = _ref3$type === void 0 ? '' : _ref3$type,
1166
+ _ref3$with_thumbnail = _ref3.with_thumbnail,
1167
+ with_thumbnail = _ref3$with_thumbnail === void 0 ? false : _ref3$with_thumbnail,
1168
+ _ref3$with_parents = _ref3.with_parents,
1169
+ with_parents = _ref3$with_parents === void 0 ? false : _ref3$with_parents;
1170
+
1113
1171
  /*
1114
1172
  * opts: `{recursive: true}`, `{'with_thumbnail': true}`
1115
1173
  */
1116
1174
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/';
1117
1175
  var params = {};
1118
1176
  params.p = dirPath;
1177
+
1119
1178
  if (recursive) {
1120
1179
  params.recursive = recursive ? 1 : 0;
1121
1180
  }
1181
+
1122
1182
  if (type) {
1123
1183
  params.t = type;
1124
1184
  }
1185
+
1125
1186
  if (with_thumbnail) {
1126
1187
  params.with_thumbnail = with_thumbnail;
1127
1188
  }
1189
+
1128
1190
  if (with_parents) {
1129
1191
  params.with_parents = with_parents;
1130
1192
  }
1193
+
1131
1194
  return this.req.get(url, {
1132
1195
  params: params
1133
1196
  });
@@ -1137,9 +1200,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1137
1200
  value: function listWikiDir(slug, dirPath, withParents) {
1138
1201
  var path = encodeURIComponent(dirPath);
1139
1202
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path;
1203
+
1140
1204
  if (withParents) {
1141
1205
  url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path + '&with_parents=' + withParents;
1142
1206
  }
1207
+
1143
1208
  return this.req.get(url);
1144
1209
  }
1145
1210
  }, {
@@ -1174,20 +1239,21 @@ var SeafileAPI = /*#__PURE__*/function () {
1174
1239
  var path = encodeURIComponent(dirPath);
1175
1240
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/?p=' + path;
1176
1241
  return this.req["delete"](url);
1177
- }
1242
+ } //---- multiple(File&Folder) operation
1178
1243
 
1179
- //---- multiple(File&Folder) operation
1180
1244
  }, {
1181
1245
  key: "copyDir",
1182
1246
  value: function copyDir(repoID, dstrepoID, dstfilePath, dirPath, direntNames) {
1183
1247
  var paths = [];
1184
1248
  var url = this.server;
1185
1249
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-copy-item/' : '/api/v2.1/repos/async-batch-copy-item/';
1250
+
1186
1251
  if (Array.isArray(direntNames)) {
1187
1252
  paths = direntNames;
1188
1253
  } else {
1189
1254
  paths.push(direntNames);
1190
1255
  }
1256
+
1191
1257
  var operation = {
1192
1258
  'src_repo_id': repoID,
1193
1259
  'src_parent_dir': dirPath,
@@ -1207,11 +1273,13 @@ var SeafileAPI = /*#__PURE__*/function () {
1207
1273
  var paths = [];
1208
1274
  var url = this.server;
1209
1275
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-move-item/' : '/api/v2.1/repos/async-batch-move-item/';
1276
+
1210
1277
  if (Array.isArray(direntNames)) {
1211
1278
  paths = direntNames;
1212
1279
  } else {
1213
1280
  paths.push(direntNames);
1214
1281
  }
1282
+
1215
1283
  var operation = {
1216
1284
  'src_repo_id': repoID,
1217
1285
  'src_parent_dir': dirPath,
@@ -1266,6 +1334,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1266
1334
  var url = this.server + '/api/v2.1/repos/' + repoID + '/zip-task/';
1267
1335
  var form = new FormData();
1268
1336
  form.append('parent_dir', parent_dir);
1337
+
1269
1338
  if (Array.isArray(dirents)) {
1270
1339
  dirents.forEach(function (item) {
1271
1340
  form.append('dirents', item);
@@ -1273,6 +1342,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1273
1342
  } else {
1274
1343
  form.append('dirents', dirents);
1275
1344
  }
1345
+
1276
1346
  return this._sendPostRequest(url, form);
1277
1347
  }
1278
1348
  }, {
@@ -1288,9 +1358,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1288
1358
  var form = new FormData();
1289
1359
  form.append('token', zip_token);
1290
1360
  return this.req.post(url, form);
1291
- }
1361
+ } //---- File Operation
1292
1362
 
1293
- //---- File Operation
1294
1363
  }, {
1295
1364
  key: "getFileInfo",
1296
1365
  value: function getFileInfo(repoID, filePath) {
@@ -1351,10 +1420,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1351
1420
  }
1352
1421
  }, {
1353
1422
  key: "lockfile",
1354
- value: function lockfile(repoID, filePath) {
1423
+ value: function lockfile(repoID, filePath, expire) {
1355
1424
  var url = this.server + '/api/v2.1/repos/' + repoID + '/file/?p=' + encodeURIComponent(filePath);
1356
1425
  var form = new FormData();
1357
1426
  form.append('operation', 'lock');
1427
+
1428
+ if (expire != undefined) {
1429
+ form.append('expire', expire);
1430
+ }
1431
+
1358
1432
  return this.req.put(url, form);
1359
1433
  }
1360
1434
  }, {
@@ -1364,11 +1438,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1364
1438
  var form = new FormData();
1365
1439
  form.append('operation', 'unlock');
1366
1440
  return this.req.put(url, form);
1367
- }
1368
-
1369
- // move need to add
1370
-
1441
+ } // move need to add
1371
1442
  // copy need to add
1443
+
1372
1444
  }, {
1373
1445
  key: "revertFile",
1374
1446
  value: function revertFile(repoID, path, commitID) {
@@ -1406,9 +1478,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1406
1478
  var path = encodeURIComponent(folderPath);
1407
1479
  var url = this.server + '/api2/repos/' + repoID + '/upload-link/?p=' + path + '&from=web';
1408
1480
  return this.req.get(url);
1409
- }
1481
+ } // for shared folder link with 'can_upload' permission
1410
1482
 
1411
- // for shared folder link with 'can_upload' permission
1412
1483
  }, {
1413
1484
  key: "sharedLinkGetFileUploadUrl",
1414
1485
  value: function sharedLinkGetFileUploadUrl(token, path) {
@@ -1504,9 +1575,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1504
1575
  value: function getFileRevision(repoID, commitID, filePath) {
1505
1576
  var url = this.server + '/api2/' + 'repos/' + repoID + '/file' + '/revision/?p=' + encodeURIComponent(filePath) + '&commit_id=' + commitID;
1506
1577
  return this.req.get(url);
1507
- }
1578
+ } // file extended properties
1508
1579
 
1509
- // file extended properties
1510
1580
  }, {
1511
1581
  key: "getFileExtendedProperties",
1512
1582
  value: function getFileExtendedProperties(repoID, path) {
@@ -1544,9 +1614,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1544
1614
  var form = new FormData();
1545
1615
  form.append('path', path);
1546
1616
  return this.req.post(url, form);
1547
- }
1617
+ } // file commit api
1548
1618
 
1549
- // file commit api
1550
1619
  }, {
1551
1620
  key: "deleteComment",
1552
1621
  value: function deleteComment(repoID, commentID) {
@@ -1558,9 +1627,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1558
1627
  value: function listComments(repoID, filePath, resolved) {
1559
1628
  var path = encodeURIComponent(filePath);
1560
1629
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1630
+
1561
1631
  if (resolved) {
1562
1632
  url = url + '&resolved=' + resolved;
1563
1633
  }
1634
+
1564
1635
  return this.req.get(url);
1565
1636
  }
1566
1637
  }, {
@@ -1570,9 +1641,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1570
1641
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1571
1642
  var form = new FormData();
1572
1643
  form.append('comment', comment);
1644
+
1573
1645
  if (detail) {
1574
1646
  form.append('detail', detail);
1575
1647
  }
1648
+
1576
1649
  return this._sendPostRequest(url, form);
1577
1650
  }
1578
1651
  }, {
@@ -1591,9 +1664,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1591
1664
  if (detail) params.detail = detail;
1592
1665
  if (comment) params.comment = comment;
1593
1666
  return this.req.put(url, params);
1594
- }
1667
+ } // draft
1595
1668
 
1596
- // draft
1597
1669
  }, {
1598
1670
  key: "getRepoDraftCounts",
1599
1671
  value: function getRepoDraftCounts(repoID) {
@@ -1605,9 +1677,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1605
1677
  value: function listRepoDrafts(repoID) {
1606
1678
  var url = this.server + '/api/v2.1/repo/' + repoID + '/drafts/';
1607
1679
  return this.req.get(url);
1608
- }
1680
+ } // draft operation api
1609
1681
 
1610
- // draft operation api
1611
1682
  }, {
1612
1683
  key: "getDraft",
1613
1684
  value: function getDraft(id) {
@@ -1643,9 +1714,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1643
1714
  operation: 'publish'
1644
1715
  };
1645
1716
  return this.req.put(url, params);
1646
- }
1717
+ } // review api
1647
1718
 
1648
- // review api
1649
1719
  }, {
1650
1720
  key: "listDraftReviewers",
1651
1721
  value: function listDraftReviewers(draftID) {
@@ -1657,9 +1727,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1657
1727
  value: function addDraftReviewers(draftID, reviewers) {
1658
1728
  var url = this.server + '/api/v2.1/drafts/' + draftID + '/reviewer/';
1659
1729
  var form = new FormData();
1730
+
1660
1731
  for (var i = 0; i < reviewers.length; i++) {
1661
1732
  form.append('reviewer', reviewers[i]);
1662
1733
  }
1734
+
1663
1735
  return this._sendPostRequest(url, form);
1664
1736
  }
1665
1737
  }, {
@@ -1667,9 +1739,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1667
1739
  value: function deleteDraftReviewer(draftID, reviewer) {
1668
1740
  var url = this.server + '/api/v2.1/drafts/' + draftID + '/reviewer/?username=' + encodeURIComponent(reviewer);
1669
1741
  return this.req["delete"](url);
1670
- }
1742
+ } // starred
1671
1743
 
1672
- // starred
1673
1744
  }, {
1674
1745
  key: "listStarredItems",
1675
1746
  value: function listStarredItems() {
@@ -1704,10 +1775,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1704
1775
  value: function unMonitorRepo(repoID) {
1705
1776
  var url = this.server + '/api/v2.1/monitored-repos/' + repoID + '/';
1706
1777
  return this.req["delete"](url);
1707
- }
1708
-
1709
- //---- tags module api
1778
+ } //---- tags module api
1710
1779
  // repo tags
1780
+
1711
1781
  }, {
1712
1782
  key: "listRepoTags",
1713
1783
  value: function listRepoTags(repoID) {
@@ -1753,9 +1823,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1753
1823
  value: function listTaggedFiles(repoID, repoTagId) {
1754
1824
  var url = this.server + '/api/v2.1/repos/' + repoID + '/tagged-files/' + repoTagId + '/';
1755
1825
  return this.req.get(url);
1756
- }
1826
+ } // file tag api
1757
1827
 
1758
- // file tag api
1759
1828
  }, {
1760
1829
  key: "listFileTags",
1761
1830
  value: function listFileTags(repoID, filePath) {
@@ -1784,11 +1853,12 @@ var SeafileAPI = /*#__PURE__*/function () {
1784
1853
  var url = this.server + '/api/v2.1/share-links/' + sharedToken + '/save-file-to-repo/';
1785
1854
  var form = new FormData();
1786
1855
  form.append('dst_repo_id', repoID);
1787
- form.append('dst_parent_dir', dstPath);
1788
- // for file in shared dir
1856
+ form.append('dst_parent_dir', dstPath); // for file in shared dir
1857
+
1789
1858
  if (filePath) {
1790
1859
  form.append('path', filePath);
1791
1860
  }
1861
+
1792
1862
  return this._sendPostRequest(url, form);
1793
1863
  }
1794
1864
  }, {
@@ -1845,17 +1915,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1845
1915
  var time = new Date().getTime();
1846
1916
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/content/' + '?p=' + path + '&_=' + time;
1847
1917
  return this.req.get(url);
1848
- }
1918
+ } //---- Avatar API
1849
1919
 
1850
- //---- Avatar API
1851
1920
  }, {
1852
1921
  key: "getUserAvatar",
1853
1922
  value: function getUserAvatar(user, size) {
1854
1923
  var url = this.server + '/api2/avatars/user/' + encodeURIComponent(user) + '/resized/' + size + '/';
1855
1924
  return this.req.get(url);
1856
- }
1925
+ } //---- Notification API
1857
1926
 
1858
- //---- Notification API
1859
1927
  }, {
1860
1928
  key: "listNotifications",
1861
1929
  value: function listNotifications(page, perPage) {
@@ -1893,9 +1961,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1893
1961
  var from = new FormData();
1894
1962
  from.append('notice_id', noticeId);
1895
1963
  return this.req.put(url, from);
1896
- }
1964
+ } //---- Linked Devices API
1897
1965
 
1898
- //---- Linked Devices API
1899
1966
  }, {
1900
1967
  key: "listLinkedDevices",
1901
1968
  value: function listLinkedDevices() {
@@ -1914,18 +1981,16 @@ var SeafileAPI = /*#__PURE__*/function () {
1914
1981
  return this.req["delete"](url, {
1915
1982
  data: param
1916
1983
  });
1917
- }
1984
+ } //---- Activities API
1918
1985
 
1919
- //---- Activities API
1920
1986
  }, {
1921
1987
  key: "listActivities",
1922
1988
  value: function listActivities(pageNum) {
1923
1989
  var avatarSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 36;
1924
1990
  var url = this.server + '/api/v2.1/activities/?page=' + pageNum + '&avatar_size=' + avatarSize;
1925
1991
  return this.req.get(url);
1926
- }
1992
+ } //---- Thumbnail API
1927
1993
 
1928
- //---- Thumbnail API
1929
1994
  }, {
1930
1995
  key: "createThumbnail",
1931
1996
  value: function createThumbnail(repo_id, path, thumbnail_size) {
@@ -1935,17 +2000,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1935
2000
  'X-Requested-With': 'XMLHttpRequest'
1936
2001
  }
1937
2002
  });
1938
- }
2003
+ } //---- Users API
1939
2004
 
1940
- //---- Users API
1941
2005
  }, {
1942
2006
  key: "searchUsers",
1943
2007
  value: function searchUsers(searchParam) {
1944
2008
  var url = this.server + '/api2/search-user/?q=' + encodeURIComponent(searchParam);
1945
2009
  return this.req.get(url);
1946
- }
2010
+ } //---- wiki module API
1947
2011
 
1948
- //---- wiki module API
1949
2012
  }, {
1950
2013
  key: "listWikis",
1951
2014
  value: function listWikis(options) {
@@ -1953,15 +2016,18 @@ var SeafileAPI = /*#__PURE__*/function () {
1953
2016
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
1954
2017
  */
1955
2018
  var url = this.server + '/api/v2.1/wikis/';
2019
+
1956
2020
  if (!options) {
1957
2021
  // fetch all types of wikis
1958
2022
  return this.req.get(url);
1959
2023
  }
2024
+
1960
2025
  return this.req.get(url, {
1961
2026
  params: options,
1962
2027
  paramsSerializer: {
1963
2028
  serialize: function serialize(params) {
1964
2029
  var list = [];
2030
+
1965
2031
  for (var key in params) {
1966
2032
  if (Array.isArray(params[key])) {
1967
2033
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -1971,6 +2037,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1971
2037
  list.push(key + '=' + encodeURIComponent(params[key]));
1972
2038
  }
1973
2039
  }
2040
+
1974
2041
  return list.join('&');
1975
2042
  }
1976
2043
  }
@@ -2006,9 +2073,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2006
2073
  value: function deleteWiki(slug) {
2007
2074
  var url = this.server + '/api/v2.1/wikis/' + slug + '/';
2008
2075
  return this.req["delete"](url);
2009
- }
2076
+ } //----MetaData API
2010
2077
 
2011
- //----MetaData API
2012
2078
  }, {
2013
2079
  key: "fileMetaData",
2014
2080
  value: function fileMetaData(repoID, filePath) {
@@ -2051,9 +2117,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2051
2117
  value: function queryIndexTaskStatus(taskId) {
2052
2118
  var url = this.server + '/api/v2.1/ai/task-status/?task_id=' + taskId;
2053
2119
  return this.req.get(url);
2054
- }
2120
+ } // single org admin api
2055
2121
 
2056
- // single org admin api
2057
2122
  }, {
2058
2123
  key: "orgAdminGetOrgInfo",
2059
2124
  value: function orgAdminGetOrgInfo() {
@@ -2271,10 +2336,12 @@ var SeafileAPI = /*#__PURE__*/function () {
2271
2336
  is_staff: isStaff,
2272
2337
  page: page
2273
2338
  };
2339
+
2274
2340
  if (sortBy) {
2275
2341
  params.order_by = sortBy;
2276
2342
  params.direction = sortOrder;
2277
2343
  }
2344
+
2278
2345
  return this.req.get(url, {
2279
2346
  params: params
2280
2347
  });
@@ -2417,9 +2484,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2417
2484
  var params = {
2418
2485
  page: page
2419
2486
  };
2487
+
2420
2488
  if (orderBy) {
2421
2489
  params.order_by = orderBy;
2422
2490
  }
2491
+
2423
2492
  return this.req.get(url, {
2424
2493
  params: params
2425
2494
  });
@@ -2437,9 +2506,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2437
2506
  var form = new FormData();
2438
2507
  form.append('email', email);
2439
2508
  return this.req.put(url, form);
2440
- }
2509
+ } // org links
2441
2510
 
2442
- // org links
2443
2511
  }, {
2444
2512
  key: "orgAdminListOrgLinks",
2445
2513
  value: function orgAdminListOrgLinks(page) {
@@ -2451,9 +2519,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2451
2519
  value: function orgAdminDeleteOrgLink(token) {
2452
2520
  var url = this.server + '/api/v2.1/org/admin/links/' + token + '/';
2453
2521
  return this.req["delete"](url);
2454
- }
2522
+ } // org depart group
2455
2523
 
2456
- // org depart group
2457
2524
  }, {
2458
2525
  key: "orgAdminListDepartGroups",
2459
2526
  value: function orgAdminListDepartGroups(orgID) {
@@ -2473,12 +2540,15 @@ var SeafileAPI = /*#__PURE__*/function () {
2473
2540
  var form = new FormData();
2474
2541
  form.append('parent_group', parentGroup);
2475
2542
  form.append('group_name', groupName);
2543
+
2476
2544
  if (groupOwner) {
2477
2545
  form.append('group_owner', groupOwner);
2478
2546
  }
2547
+
2479
2548
  if (groupStaff) {
2480
2549
  form.append('group_staff', groupStaff.join(','));
2481
2550
  }
2551
+
2482
2552
  return this._sendPostRequest(url, form);
2483
2553
  }
2484
2554
  }, {
@@ -2550,43 +2620,51 @@ var SeafileAPI = /*#__PURE__*/function () {
2550
2620
  var form = new FormData();
2551
2621
  form.append('is_admin', isAdmin);
2552
2622
  return this.req.put(url, form);
2553
- }
2623
+ } // org admin logs
2554
2624
 
2555
- // org admin logs
2556
2625
  }, {
2557
2626
  key: "orgAdminListFileAudit",
2558
2627
  value: function orgAdminListFileAudit(email, repoID, page) {
2559
2628
  var url = this.server + '/api/v2.1/org/admin/logs/file-access/?page=' + page;
2629
+
2560
2630
  if (email) {
2561
2631
  url = url + '&email=' + encodeURIComponent(email);
2562
2632
  }
2633
+
2563
2634
  if (repoID) {
2564
2635
  url = url + '&repo_id=' + repoID;
2565
2636
  }
2637
+
2566
2638
  return this.req.get(url);
2567
2639
  }
2568
2640
  }, {
2569
2641
  key: "orgAdminListFileUpdate",
2570
2642
  value: function orgAdminListFileUpdate(email, repoID, page) {
2571
2643
  var url = this.server + '/api/v2.1/org/admin/logs/file-update/?page=' + page;
2644
+
2572
2645
  if (email) {
2573
2646
  url = url + '&email=' + encodeURIComponent(email);
2574
2647
  }
2648
+
2575
2649
  if (repoID) {
2576
2650
  url = url + '&repo_id=' + repoID;
2577
2651
  }
2652
+
2578
2653
  return this.req.get(url);
2579
2654
  }
2580
2655
  }, {
2581
2656
  key: "orgAdminListPermAudit",
2582
2657
  value: function orgAdminListPermAudit(email, repoID, page) {
2583
2658
  var url = this.server + '/api/v2.1/org/admin/logs/repo-permission/?page=' + page;
2659
+
2584
2660
  if (email) {
2585
2661
  url = url + '&email=' + encodeURIComponent(email);
2586
2662
  }
2663
+
2587
2664
  if (repoID) {
2588
2665
  url = url + '&repo_id=' + repoID;
2589
2666
  }
2667
+
2590
2668
  return this.req.get(url);
2591
2669
  }
2592
2670
  }, {
@@ -2622,11 +2700,13 @@ var SeafileAPI = /*#__PURE__*/function () {
2622
2700
  commit_id: commitID,
2623
2701
  path: path,
2624
2702
  doctype: fileType // 'document' or 'spreadsheet'
2625
- };
2626
- // for view of share link
2703
+
2704
+ }; // for view of share link
2705
+
2627
2706
  if (shareToken) {
2628
2707
  params['token'] = shareToken;
2629
2708
  }
2709
+
2630
2710
  return this.req.get(url, {
2631
2711
  headers: {
2632
2712
  'X-Requested-With': 'XMLHttpRequest'
@@ -2680,9 +2760,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2680
2760
  return this.req.get(url, {
2681
2761
  params: params
2682
2762
  });
2683
- }
2763
+ } // get all existing repo snapshot labels of the user
2684
2764
 
2685
- // get all existing repo snapshot labels of the user
2686
2765
  }, {
2687
2766
  key: "getAllRepoSnapshotLabels",
2688
2767
  value: function getAllRepoSnapshotLabels() {
@@ -2716,9 +2795,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2716
2795
  var url = this.server + '/api/v2.1/invitations/batch/';
2717
2796
  var form = new FormData();
2718
2797
  form.append('type', 'guest');
2798
+
2719
2799
  for (var i = 0; i < emails.length; i++) {
2720
2800
  form.append('accepter', emails[i]);
2721
2801
  }
2802
+
2722
2803
  return this._sendPostRequest(url, form);
2723
2804
  }
2724
2805
  }, {
@@ -2799,23 +2880,28 @@ var SeafileAPI = /*#__PURE__*/function () {
2799
2880
  key: "updateUserInfo",
2800
2881
  value: function updateUserInfo(_ref4) {
2801
2882
  var name = _ref4.name,
2802
- telephone = _ref4.telephone,
2803
- contact_email = _ref4.contact_email,
2804
- list_in_address_book = _ref4.list_in_address_book;
2883
+ telephone = _ref4.telephone,
2884
+ contact_email = _ref4.contact_email,
2885
+ list_in_address_book = _ref4.list_in_address_book;
2805
2886
  var url = this.server + '/api/v2.1/user/';
2806
2887
  var data = {};
2888
+
2807
2889
  if (name != undefined) {
2808
2890
  data.name = name;
2809
2891
  }
2892
+
2810
2893
  if (telephone != undefined) {
2811
2894
  data.telephone = telephone;
2812
2895
  }
2896
+
2813
2897
  if (contact_email != undefined) {
2814
2898
  data.contact_email = contact_email;
2815
2899
  }
2900
+
2816
2901
  if (list_in_address_book != undefined) {
2817
2902
  data.list_in_address_book = list_in_address_book;
2818
2903
  }
2904
+
2819
2905
  return this.req.put(url, data);
2820
2906
  }
2821
2907
  }, {
@@ -2841,9 +2927,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2841
2927
  key: "listUserFolderPerm",
2842
2928
  value: function listUserFolderPerm(repoID, folderPath) {
2843
2929
  var url = this.server + '/api2/repos/' + repoID + '/user-folder-perm/';
2930
+
2844
2931
  if (folderPath) {
2845
2932
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2846
2933
  }
2934
+
2847
2935
  return this.req.get(url);
2848
2936
  }
2849
2937
  }, {
@@ -2853,6 +2941,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2853
2941
  var form = new FormData();
2854
2942
  form.append('permission', permission);
2855
2943
  form.append('folder_path', folderPath);
2944
+
2856
2945
  if (Array.isArray(userEmail)) {
2857
2946
  userEmail.forEach(function (item) {
2858
2947
  form.append('user_email', item);
@@ -2860,6 +2949,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2860
2949
  } else {
2861
2950
  form.append('user_email', userEmail);
2862
2951
  }
2952
+
2863
2953
  return this._sendPostRequest(url, form);
2864
2954
  }
2865
2955
  }, {
@@ -2889,9 +2979,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2889
2979
  key: "listGroupFolderPerm",
2890
2980
  value: function listGroupFolderPerm(repoID, folderPath) {
2891
2981
  var url = this.server + '/api2/repos/' + repoID + '/group-folder-perm/';
2982
+
2892
2983
  if (folderPath) {
2893
2984
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2894
2985
  }
2986
+
2895
2987
  return this.req.get(url);
2896
2988
  }
2897
2989
  }, {
@@ -2931,9 +3023,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2931
3023
  key: "listDepartmentRepoUserFolderPerm",
2932
3024
  value: function listDepartmentRepoUserFolderPerm(repoID, folderPath) {
2933
3025
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/user-folder-permission/';
3026
+
2934
3027
  if (folderPath) {
2935
3028
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2936
3029
  }
3030
+
2937
3031
  return this.req.get(url);
2938
3032
  }
2939
3033
  }, {
@@ -2943,6 +3037,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2943
3037
  var form = new FormData();
2944
3038
  form.append('permission', permission);
2945
3039
  form.append('folder_path', folderPath);
3040
+
2946
3041
  if (Array.isArray(userEmail)) {
2947
3042
  userEmail.forEach(function (item) {
2948
3043
  form.append('user_email', item);
@@ -2950,6 +3045,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2950
3045
  } else {
2951
3046
  form.append('user_email', userEmail);
2952
3047
  }
3048
+
2953
3049
  return this._sendPostRequest(url, form);
2954
3050
  }
2955
3051
  }, {
@@ -2979,9 +3075,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2979
3075
  key: "listDepartmentRepoGroupFolderPerm",
2980
3076
  value: function listDepartmentRepoGroupFolderPerm(repoID, folderPath) {
2981
3077
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/group-folder-permission/';
3078
+
2982
3079
  if (folderPath) {
2983
3080
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2984
3081
  }
3082
+
2985
3083
  return this.req.get(url);
2986
3084
  }
2987
3085
  }, {
@@ -3022,9 +3120,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3022
3120
  value: function adminListWorkWeixinDepartments(departmentID) {
3023
3121
  var url = this.server + '/api/v2.1/admin/work-weixin/departments/';
3024
3122
  var params = {};
3123
+
3025
3124
  if (departmentID) {
3026
3125
  params.department_id = departmentID;
3027
3126
  }
3127
+
3028
3128
  return this.req.get(url, {
3029
3129
  params: params
3030
3130
  });
@@ -3058,9 +3158,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3058
3158
  value: function adminListDingtalkDepartments(departmentID) {
3059
3159
  var url = this.server + '/api/v2.1/admin/dingtalk/departments/';
3060
3160
  var params = {};
3161
+
3061
3162
  if (departmentID) {
3062
3163
  params.department_id = departmentID;
3063
3164
  }
3165
+
3064
3166
  return this.req.get(url, {
3065
3167
  params: params
3066
3168
  });
@@ -3120,9 +3222,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3120
3222
  var params = {
3121
3223
  path: path
3122
3224
  };
3225
+
3123
3226
  if (scanStat) {
3124
3227
  params.scan_stat = scanStat;
3125
3228
  }
3229
+
3126
3230
  return this.req.post(url, params);
3127
3231
  }
3128
3232
  }, {
@@ -3217,9 +3321,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3217
3321
  key: "listOCMSharesPrepare",
3218
3322
  value: function listOCMSharesPrepare(repoId) {
3219
3323
  var url = this.server + '/api/v2.1/ocm/shares-prepare/';
3324
+
3220
3325
  if (repoId) {
3221
3326
  url += '?repo_id=' + repoId;
3222
3327
  }
3328
+
3223
3329
  return this.req.get(url);
3224
3330
  }
3225
3331
  }, {
@@ -3350,9 +3456,8 @@ var SeafileAPI = /*#__PURE__*/function () {
3350
3456
  value: function sdocPublishRevision(docUuid) {
3351
3457
  var url = this.server + '/api/v2.1/seadoc/publish-revision/' + docUuid + '/';
3352
3458
  return this.req.post(url);
3353
- }
3459
+ } // admin api
3354
3460
 
3355
- // admin api
3356
3461
  }, {
3357
3462
  key: "sysAdminUploadLicense",
3358
3463
  value: function sysAdminUploadLicense(file) {
@@ -3458,9 +3563,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3458
3563
  page: page,
3459
3564
  per_page: perPage
3460
3565
  };
3566
+
3461
3567
  if (orderBy) {
3462
3568
  params.order_by = orderBy;
3463
3569
  }
3570
+
3464
3571
  return this.req.get(url, {
3465
3572
  params: params
3466
3573
  });
@@ -3750,9 +3857,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3750
3857
  value: function sysAdminAddGroupMember(groupID, emails) {
3751
3858
  var url = this.server + '/api/v2.1/admin/groups/' + groupID + '/members/';
3752
3859
  var form = new FormData();
3860
+
3753
3861
  for (var i = 0; i < emails.length; i++) {
3754
3862
  form.append('email', emails[i]);
3755
3863
  }
3864
+
3756
3865
  return this._sendPostRequest(url, form);
3757
3866
  }
3758
3867
  }, {
@@ -3862,10 +3971,12 @@ var SeafileAPI = /*#__PURE__*/function () {
3862
3971
  page: page,
3863
3972
  per_page: perPage
3864
3973
  };
3974
+
3865
3975
  if (sortBy) {
3866
3976
  params.order_by = sortBy;
3867
3977
  params.direction = sortOrder;
3868
3978
  }
3979
+
3869
3980
  return this.req.get(url, {
3870
3981
  params: params
3871
3982
  });
@@ -3928,18 +4039,23 @@ var SeafileAPI = /*#__PURE__*/function () {
3928
4039
  value: function sysAdminUpdateOrg(orgID, orgInfo) {
3929
4040
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/';
3930
4041
  var formData = new FormData();
4042
+
3931
4043
  if (orgInfo.orgName) {
3932
4044
  formData.append('org_name', orgInfo.orgName);
3933
4045
  }
4046
+
3934
4047
  if (orgInfo.maxUserNumber) {
3935
4048
  formData.append('max_user_number', orgInfo.maxUserNumber);
3936
4049
  }
4050
+
3937
4051
  if (orgInfo.quota) {
3938
4052
  formData.append('quota', orgInfo.quota);
3939
4053
  }
4054
+
3940
4055
  if (orgInfo.role) {
3941
4056
  formData.append('role', orgInfo.role);
3942
4057
  }
4058
+
3943
4059
  return this.req.put(url, formData);
3944
4060
  }
3945
4061
  }, {
@@ -3979,23 +4095,29 @@ var SeafileAPI = /*#__PURE__*/function () {
3979
4095
  value: function sysAdminUpdateOrgUser(orgID, email, attribute, value) {
3980
4096
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/users/' + encodeURIComponent(email) + '/';
3981
4097
  var formData = new FormData();
4098
+
3982
4099
  switch (attribute) {
3983
4100
  case 'active':
3984
4101
  formData.append('active', value);
3985
4102
  break;
4103
+
3986
4104
  case 'is_org_staff':
3987
4105
  formData.append('is_org_staff', value);
3988
4106
  break;
4107
+
3989
4108
  case 'name':
3990
4109
  formData.append('name', value);
3991
4110
  break;
4111
+
3992
4112
  case 'contact_email':
3993
4113
  formData.append('contact_email', value);
3994
4114
  break;
4115
+
3995
4116
  case 'quota_total':
3996
4117
  formData.append('quota_total', value);
3997
4118
  break;
3998
4119
  }
4120
+
3999
4121
  return this.req.put(url, formData);
4000
4122
  }
4001
4123
  }, {
@@ -4036,12 +4158,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4036
4158
  page: page,
4037
4159
  per_page: perPage
4038
4160
  };
4161
+
4039
4162
  if (email != undefined) {
4040
4163
  params.email = email;
4041
4164
  }
4165
+
4042
4166
  if (repoID != undefined) {
4043
4167
  params.repo_id = repoID;
4044
4168
  }
4169
+
4045
4170
  return this.req.get(url, {
4046
4171
  params: params
4047
4172
  });
@@ -4141,13 +4266,16 @@ var SeafileAPI = /*#__PURE__*/function () {
4141
4266
  page: page,
4142
4267
  per_page: perPage
4143
4268
  };
4269
+
4144
4270
  if (isLDAPImported) {
4145
4271
  params.source = 'LDAPImport';
4146
4272
  }
4273
+
4147
4274
  if (sortBy) {
4148
4275
  params.order_by = sortBy;
4149
4276
  params.direction = sortOrder;
4150
4277
  }
4278
+
4151
4279
  return this.req.get(url, {
4152
4280
  params: params
4153
4281
  });
@@ -4185,9 +4313,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4185
4313
  formData.append('email', email);
4186
4314
  formData.append('name', name);
4187
4315
  formData.append('password', password);
4316
+
4188
4317
  if (role) {
4189
4318
  formData.append('role', role);
4190
4319
  }
4320
+
4191
4321
  return this._sendPostRequest(url, formData);
4192
4322
  }
4193
4323
  }, {
@@ -4195,47 +4325,61 @@ var SeafileAPI = /*#__PURE__*/function () {
4195
4325
  value: function sysAdminUpdateUser(email, attribute, value) {
4196
4326
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4197
4327
  var formData = new FormData();
4328
+
4198
4329
  switch (attribute) {
4199
4330
  case 'password':
4200
4331
  formData.append('password', value);
4201
4332
  break;
4333
+
4202
4334
  case 'is_active':
4203
4335
  formData.append('is_active', value);
4204
4336
  break;
4337
+
4205
4338
  case 'is_staff':
4206
4339
  formData.append('is_staff', value);
4207
4340
  break;
4341
+
4208
4342
  case 'role':
4209
4343
  formData.append('role', value);
4210
4344
  break;
4345
+
4211
4346
  case 'name':
4212
4347
  formData.append('name', value);
4213
4348
  break;
4349
+
4214
4350
  case 'login_id':
4215
4351
  formData.append('login_id', value);
4216
4352
  break;
4353
+
4217
4354
  case 'contact_email':
4218
4355
  formData.append('contact_email', value);
4219
4356
  break;
4357
+
4220
4358
  case 'reference_id':
4221
4359
  formData.append('reference_id', value);
4222
4360
  break;
4361
+
4223
4362
  case 'department':
4224
4363
  formData.append('department', value);
4225
4364
  break;
4365
+
4226
4366
  case 'quota_total':
4227
4367
  formData.append('quota_total', value);
4228
4368
  break;
4369
+
4229
4370
  case 'institution':
4230
4371
  formData.append('institution', value);
4231
4372
  break;
4373
+
4232
4374
  case 'upload_rate_limit':
4233
4375
  formData.append('upload_rate_limit', value);
4234
4376
  break;
4377
+
4235
4378
  case 'download_rate_limit':
4236
4379
  formData.append('download_rate_limit', value);
4237
4380
  break;
4238
4381
  }
4382
+
4239
4383
  return this.req.put(url, formData);
4240
4384
  }
4241
4385
  }, {
@@ -4249,9 +4393,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4249
4393
  value: function sysAdminGetUser(email, avatarSize) {
4250
4394
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4251
4395
  var params = {};
4396
+
4252
4397
  if (avatarSize) {
4253
4398
  params.avatar_size = avatarSize;
4254
4399
  }
4400
+
4255
4401
  return this.req.get(url, {
4256
4402
  params: params
4257
4403
  });
@@ -4473,17 +4619,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4473
4619
  value: function sysAdminDeleteTermAndCondition(termID) {
4474
4620
  var url = this.server + '/api/v2.1/admin/terms-and-conditions/' + termID + '/';
4475
4621
  return this.req["delete"](url);
4476
- }
4622
+ } // patch 7.1
4477
4623
 
4478
- // patch 7.1
4479
4624
  }, {
4480
4625
  key: "listVirusScanRecords",
4481
4626
  value: function listVirusScanRecords(pageNum) {
4482
4627
  var url = this.server + '/api/v2.1/admin/virus-scan-records/?page=' + pageNum;
4483
4628
  return this.req.get(url);
4484
- }
4629
+ } // patch 7.1
4485
4630
 
4486
- // patch 7.1
4487
4631
  }, {
4488
4632
  key: "deleteVirusScanRecord",
4489
4633
  value: function deleteVirusScanRecord(virusID) {
@@ -4498,9 +4642,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4498
4642
  page: page,
4499
4643
  per_page: perPage
4500
4644
  };
4645
+
4501
4646
  if (hasHandled != undefined) {
4502
4647
  params.has_handled = hasHandled;
4503
4648
  }
4649
+
4504
4650
  return this.req.get(url, {
4505
4651
  params: params
4506
4652
  });
@@ -4524,9 +4670,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4524
4670
  value: function batchProcessVirusFiles(virusIDs, operation) {
4525
4671
  var url = this.server + '/api/v2.1/admin/virus-files/batch/';
4526
4672
  var formData = new FormData();
4673
+
4527
4674
  for (var i = 0; i < virusIDs.length; i++) {
4528
4675
  formData.append('virus_ids', virusIDs[i]);
4529
4676
  }
4677
+
4530
4678
  formData.append('operation', operation);
4531
4679
  return this.req.post(url, formData);
4532
4680
  }
@@ -4620,6 +4768,8 @@ var SeafileAPI = /*#__PURE__*/function () {
4620
4768
  return this._sendPostRequest(url, formData);
4621
4769
  }
4622
4770
  }]);
4771
+
4623
4772
  return SeafileAPI;
4624
4773
  }();
4774
+
4625
4775
  export { SeafileAPI };