seafile-js 0.2.210-alpha1 → 0.2.210-beta

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.
Files changed (2) hide show
  1. package/lib/seafile-api.js +277 -125
  2. package/package.json +1 -1
@@ -1,25 +1,29 @@
1
1
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
- 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, _toPropertyKey(descriptor.key), descriptor); } }
3
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
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
+
5
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
6
+
6
7
  import axios from 'axios';
7
8
  import FormData from 'form-data';
9
+
8
10
  var SeafileAPI = /*#__PURE__*/function () {
9
11
  function SeafileAPI() {
10
12
  _classCallCheck(this, SeafileAPI);
11
13
  }
14
+
12
15
  _createClass(SeafileAPI, [{
13
16
  key: "init",
14
17
  value: function init(_ref) {
15
18
  var server = _ref.server,
16
- username = _ref.username,
17
- password = _ref.password,
18
- token = _ref.token;
19
+ username = _ref.username,
20
+ password = _ref.password,
21
+ token = _ref.token;
19
22
  this.server = server;
20
23
  this.username = username;
21
24
  this.password = password;
22
25
  this.token = token; //none
26
+
23
27
  if (this.token && this.server) {
24
28
  this.req = axios.create({
25
29
  baseURL: this.server,
@@ -28,19 +32,22 @@ var SeafileAPI = /*#__PURE__*/function () {
28
32
  }
29
33
  });
30
34
  }
35
+
31
36
  return this;
32
37
  }
33
38
  }, {
34
39
  key: "initForSeahubUsage",
35
40
  value: function initForSeahubUsage(_ref2) {
36
41
  var siteRoot = _ref2.siteRoot,
37
- xcsrfHeaders = _ref2.xcsrfHeaders;
42
+ xcsrfHeaders = _ref2.xcsrfHeaders;
43
+
38
44
  if (siteRoot && siteRoot.charAt(siteRoot.length - 1) === "/") {
39
45
  var server = siteRoot.substring(0, siteRoot.length - 1);
40
46
  this.server = server;
41
47
  } else {
42
48
  this.server = siteRoot;
43
49
  }
50
+
44
51
  this.req = axios.create({
45
52
  headers: {
46
53
  'X-CSRFToken': xcsrfHeaders
@@ -63,6 +70,7 @@ var SeafileAPI = /*#__PURE__*/function () {
63
70
  key: "getToken",
64
71
  value: function getToken() {
65
72
  var _this = this;
73
+
66
74
  var url = this.server + '/api2/auth-token/';
67
75
  axios.post(url, {
68
76
  username: this.username,
@@ -90,14 +98,15 @@ var SeafileAPI = /*#__PURE__*/function () {
90
98
  var url = this.server + '/api/v2.1/auth-token-by-session/';
91
99
  return this.req["delete"](url);
92
100
  }
93
-
94
101
  /**
95
102
  * Login to server and create axios instance for future usage
96
103
  */
104
+
97
105
  }, {
98
106
  key: "login",
99
107
  value: function login() {
100
108
  var _this2 = this;
109
+
101
110
  var url = this.server + '/api2/auth-token/';
102
111
  return axios.post(url, {
103
112
  username: this.username,
@@ -117,17 +126,15 @@ var SeafileAPI = /*#__PURE__*/function () {
117
126
  value: function authPing() {
118
127
  var url = this.server + '/api2/auth/ping/';
119
128
  return this.req.get(url);
120
- }
129
+ } //---- Account API
121
130
 
122
- //---- Account API
123
131
  }, {
124
132
  key: "getAccountInfo",
125
133
  value: function getAccountInfo() {
126
134
  var url = this.server + '/api2/account/info/';
127
135
  return this.req.get(url);
128
- }
136
+ } //---- Group operation
129
137
 
130
- //---- Group operation
131
138
  }, {
132
139
  key: "listDepartments",
133
140
  value: function listDepartments() {
@@ -151,12 +158,15 @@ var SeafileAPI = /*#__PURE__*/function () {
151
158
  value: function listGroupRepos(groupID, page, perPage) {
152
159
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
153
160
  var params = {};
161
+
154
162
  if (page != undefined) {
155
163
  params.page = page;
156
164
  }
165
+
157
166
  if (perPage != undefined) {
158
167
  params.per_page = perPage;
159
168
  }
169
+
160
170
  return this.req.get(url, {
161
171
  params: params
162
172
  });
@@ -283,13 +293,17 @@ var SeafileAPI = /*#__PURE__*/function () {
283
293
  var url = this.server + '/api/v2.1/groups/' + groupID + '/group-owned-libraries/';
284
294
  var form = new FormData();
285
295
  form.append('name', repoName); // need to modify endpoint api;
296
+
286
297
  if (repo.passwd) {
287
298
  form.append("passwd", repo.passwd);
288
299
  }
300
+
289
301
  form.append('permission', permission);
302
+
290
303
  if (repo.library_template) {
291
304
  form.append("library_template", repo.library_template);
292
305
  }
306
+
293
307
  return this._sendPostRequest(url, form);
294
308
  }
295
309
  }, {
@@ -313,6 +327,7 @@ var SeafileAPI = /*#__PURE__*/function () {
313
327
  var form = new FormData();
314
328
  form.append('permission', permission);
315
329
  form.append('path', path);
330
+
316
331
  if (Array.isArray(username)) {
317
332
  username.forEach(function (item) {
318
333
  form.append('username', item);
@@ -320,6 +335,7 @@ var SeafileAPI = /*#__PURE__*/function () {
320
335
  } else {
321
336
  form.append('username', username);
322
337
  }
338
+
323
339
  return this._sendPostRequest(url, form);
324
340
  }
325
341
  }, {
@@ -352,6 +368,7 @@ var SeafileAPI = /*#__PURE__*/function () {
352
368
  var form = new FormData();
353
369
  form.append('permission', permission);
354
370
  form.append('path', path);
371
+
355
372
  if (Array.isArray(groupID)) {
356
373
  groupID.forEach(function (item) {
357
374
  form.append('group_id', item);
@@ -359,6 +376,7 @@ var SeafileAPI = /*#__PURE__*/function () {
359
376
  } else {
360
377
  form.append('group_id', groupID);
361
378
  }
379
+
362
380
  return this._sendPostRequest(url, form);
363
381
  }
364
382
  }, {
@@ -383,11 +401,9 @@ var SeafileAPI = /*#__PURE__*/function () {
383
401
  return this.req["delete"](url, {
384
402
  data: params
385
403
  });
386
- }
387
-
388
- //---- share operation
389
-
404
+ } //---- share operation
390
405
  // share-link
406
+
391
407
  }, {
392
408
  key: "listUserShareLinks",
393
409
  value: function listUserShareLinks() {
@@ -409,15 +425,19 @@ var SeafileAPI = /*#__PURE__*/function () {
409
425
  var form = new FormData();
410
426
  form.append('path', path);
411
427
  form.append('repo_id', repoID);
428
+
412
429
  if (permissions) {
413
430
  form.append('permissions', permissions);
414
431
  }
432
+
415
433
  if (password) {
416
434
  form.append('password', password);
417
435
  }
436
+
418
437
  if (expirationTime) {
419
438
  form.append('expiration_time', expirationTime);
420
439
  }
440
+
421
441
  return this._sendPostRequest(url, form);
422
442
  }
423
443
  }, {
@@ -429,12 +449,15 @@ var SeafileAPI = /*#__PURE__*/function () {
429
449
  form.append('repo_id', repoID);
430
450
  form.append('number', shareLinkNum);
431
451
  form.append('auto_generate_password', autoGeneratePassword);
452
+
432
453
  if (permissions) {
433
454
  form.append('permissions', permissions);
434
455
  }
456
+
435
457
  if (expirationTime) {
436
458
  form.append('expiration_time', expirationTime);
437
459
  }
460
+
438
461
  return this._sendPostRequest(url, form);
439
462
  }
440
463
  }, {
@@ -444,15 +467,19 @@ var SeafileAPI = /*#__PURE__*/function () {
444
467
  var form = new FormData();
445
468
  form.append('path', path);
446
469
  form.append('repo_id', repoID);
470
+
447
471
  if (permissions) {
448
472
  form.append('permissions', permissions);
449
473
  }
474
+
450
475
  if (password) {
451
476
  form.append('password', password);
452
477
  }
478
+
453
479
  if (expirationTime) {
454
480
  form.append('expiration_time', expirationTime);
455
481
  }
482
+
456
483
  return this._sendPostRequest(url, form);
457
484
  }
458
485
  }, {
@@ -461,12 +488,15 @@ var SeafileAPI = /*#__PURE__*/function () {
461
488
  var expirationTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
462
489
  var url = this.server + '/api/v2.1/share-links/' + token + '/';
463
490
  var form = new FormData();
491
+
464
492
  if (permissions) {
465
493
  form.append('permissions', permissions);
466
494
  }
495
+
467
496
  if (expirationTime) {
468
497
  form.append('expiration_time', expirationTime);
469
498
  }
499
+
470
500
  return this.req.put(url, form);
471
501
  }
472
502
  }, {
@@ -499,21 +529,24 @@ var SeafileAPI = /*#__PURE__*/function () {
499
529
  var form = new FormData();
500
530
  form.append('token', token);
501
531
  form.append('email', email);
532
+
502
533
  if (extraMsg) {
503
534
  form.append('extra_msg', extraMsg);
504
535
  }
536
+
505
537
  return this._sendPostRequest(url, form);
506
- }
538
+ } // for repo & folder
507
539
 
508
- // for repo & folder
509
540
  }, {
510
541
  key: "getRepoFolderShareInfo",
511
542
  value: function getRepoFolderShareInfo(repoID, path) {
512
543
  var url = this.server + '/api/v2.1/repos/' + repoID + '/share-info/';
513
544
  var params = {};
545
+
514
546
  if (path != undefined) {
515
547
  params.path = path;
516
548
  }
549
+
517
550
  return this.req.get(url, {
518
551
  params: params
519
552
  });
@@ -555,15 +588,16 @@ var SeafileAPI = /*#__PURE__*/function () {
555
588
  var params = {
556
589
  repo_id: repoID
557
590
  };
591
+
558
592
  if (shareTo) {
559
593
  params.share_to = shareTo;
560
594
  }
595
+
561
596
  return this.req.get(url, {
562
597
  params: params
563
598
  });
564
- }
599
+ } // upload-link
565
600
 
566
- // upload-link
567
601
  }, {
568
602
  key: "listUserUploadLinks",
569
603
  value: function listUserUploadLinks() {
@@ -583,12 +617,15 @@ var SeafileAPI = /*#__PURE__*/function () {
583
617
  var form = new FormData();
584
618
  form.append('path', path);
585
619
  form.append('repo_id', repoID);
620
+
586
621
  if (password) {
587
622
  form.append('password', password);
588
623
  }
624
+
589
625
  if (expirationTime) {
590
626
  form.append('expiration_time', expirationTime);
591
627
  }
628
+
592
629
  return this._sendPostRequest(url, form);
593
630
  }
594
631
  }, {
@@ -618,9 +655,11 @@ var SeafileAPI = /*#__PURE__*/function () {
618
655
  var form = new FormData();
619
656
  form.append('token', token);
620
657
  form.append('email', email);
658
+
621
659
  if (extraMsg) {
622
660
  form.append('extra_msg', extraMsg);
623
661
  }
662
+
624
663
  return this._sendPostRequest(url, form);
625
664
  }
626
665
  }, {
@@ -634,11 +673,9 @@ var SeafileAPI = /*#__PURE__*/function () {
634
673
  value: function deleteRepoUploadLink(repoID, token) {
635
674
  var url = this.server + '/api/v2.1/repos/' + repoID + '/upload-links/' + token + '/';
636
675
  return this.req["delete"](url);
637
- }
638
-
639
- // todo send upload link email
640
-
676
+ } // todo send upload link email
641
677
  // shared-libraries
678
+
642
679
  }, {
643
680
  key: "listSharedItems",
644
681
  value: function listSharedItems(repoID, path, shareType) {
@@ -662,11 +699,9 @@ var SeafileAPI = /*#__PURE__*/function () {
662
699
  return this.req["delete"](url, {
663
700
  params: options
664
701
  });
665
- }
666
-
667
- // share repo to user is same to share Folder
668
-
702
+ } // share repo to user is same to share Folder
669
703
  // unshare repo to user is same to unshare Folder
704
+
670
705
  }, {
671
706
  key: "deleteShareToUserItem",
672
707
  value: function deleteShareToUserItem(repoID, path, shareType, username) {
@@ -682,11 +717,9 @@ var SeafileAPI = /*#__PURE__*/function () {
682
717
  var form = new FormData();
683
718
  form.append('permission', permission);
684
719
  return this._sendPostRequest(url, form);
685
- }
686
-
687
- // share repo to group is same to share folder
688
-
720
+ } // share repo to group is same to share folder
689
721
  // unshare repo to group is same to unshare folder
722
+
690
723
  }, {
691
724
  key: "deleteShareToGroupItem",
692
725
  value: function deleteShareToGroupItem(repoID, path, shareType, groupID) {
@@ -740,9 +773,8 @@ var SeafileAPI = /*#__PURE__*/function () {
740
773
  value: function unshareRepoToGroup(repoID, groupID) {
741
774
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/' + repoID + '/';
742
775
  return this.req["delete"](url);
743
- }
776
+ } // shared folders
744
777
 
745
- // shared folders
746
778
  }, {
747
779
  key: "shareFolder",
748
780
  value: function shareFolder(repoID, path, shareType, permission, paramArray) {
@@ -751,6 +783,7 @@ var SeafileAPI = /*#__PURE__*/function () {
751
783
  var form = new FormData();
752
784
  form.append('share_type', shareType);
753
785
  form.append('permission', permission);
786
+
754
787
  if (shareType == 'user') {
755
788
  for (var i = 0; i < paramArray.length; i++) {
756
789
  form.append('username', paramArray[i]);
@@ -760,6 +793,7 @@ var SeafileAPI = /*#__PURE__*/function () {
760
793
  form.append('group_id', paramArray[_i]);
761
794
  }
762
795
  }
796
+
763
797
  var url = this.server + '/api2/repos/' + repoID + '/dir/shared_items/?p=' + path;
764
798
  return this.req.put(url, form);
765
799
  }
@@ -824,9 +858,8 @@ var SeafileAPI = /*#__PURE__*/function () {
824
858
  permission: JSON.stringify(permission.permission)
825
859
  };
826
860
  return this.req.put(url, data);
827
- }
861
+ } //---- repo(library) operation
828
862
 
829
- //---- repo(library) operation
830
863
  }, {
831
864
  key: "createMineRepo",
832
865
  value: function createMineRepo(repo) {
@@ -839,13 +872,17 @@ var SeafileAPI = /*#__PURE__*/function () {
839
872
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
840
873
  var form = new FormData();
841
874
  form.append("repo_name", repo.repo_name);
875
+
842
876
  if (repo.password) {
843
877
  form.append("password", repo.password);
844
878
  }
879
+
845
880
  form.append("permission", repo.permission);
881
+
846
882
  if (repo.library_template) {
847
883
  form.append("library_template", repo.library_template);
848
884
  }
885
+
849
886
  return this._sendPostRequest(url, form);
850
887
  }
851
888
  }, {
@@ -855,15 +892,18 @@ var SeafileAPI = /*#__PURE__*/function () {
855
892
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
856
893
  */
857
894
  var url = this.server + '/api/v2.1/repos/';
895
+
858
896
  if (!options) {
859
897
  // fetch all types of repos
860
898
  return this.req.get(url);
861
899
  }
900
+
862
901
  return this.req.get(url, {
863
902
  params: options,
864
903
  paramsSerializer: {
865
904
  serialize: function serialize(params) {
866
905
  var list = [];
906
+
867
907
  for (var key in params) {
868
908
  if (Array.isArray(params[key])) {
869
909
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -873,6 +913,7 @@ var SeafileAPI = /*#__PURE__*/function () {
873
913
  list.push(key + '=' + encodeURIComponent(params[key]));
874
914
  }
875
915
  }
916
+
876
917
  return list.join('&');
877
918
  }
878
919
  }
@@ -957,9 +998,8 @@ var SeafileAPI = /*#__PURE__*/function () {
957
998
  // todo change a exist repo to public
958
999
  var url = this.server + '/api/v2.1/shared-repos/' + repoID + '/';
959
1000
  return this.req.put(url, options);
960
- }
1001
+ } // remove public repo is same to unshareRepo;
961
1002
 
962
- // remove public repo is same to unshareRepo;
963
1003
  }, {
964
1004
  key: "getSource",
965
1005
  value: function getSource() {
@@ -987,53 +1027,69 @@ var SeafileAPI = /*#__PURE__*/function () {
987
1027
  value: function searchFiles(searchParams, cancelToken) {
988
1028
  var url = this.server + '/api2/search/';
989
1029
  url = url + '?q=' + searchParams.q;
1030
+
990
1031
  if (searchParams.search_repo) {
991
1032
  url = url + '&search_repo=' + searchParams.search_repo;
992
1033
  }
1034
+
993
1035
  if (searchParams.search_ftypes) {
994
1036
  url = url + '&search_ftypes=' + searchParams.search_ftypes;
995
1037
  }
1038
+
996
1039
  if (searchParams.page) {
997
1040
  url = url + '&page=' + searchParams.page;
998
1041
  }
1042
+
999
1043
  if (searchParams.per_page) {
1000
1044
  url = url + '&per_page=' + searchParams.per_page;
1001
1045
  }
1046
+
1002
1047
  if (searchParams.search_path) {
1003
1048
  url = url + '&search_path=' + searchParams.search_path;
1004
1049
  }
1050
+
1005
1051
  if (searchParams.obj_type) {
1006
1052
  url = url + '&obj_type=' + searchParams.obj_type;
1007
1053
  }
1054
+
1008
1055
  if (searchParams.input_fexts) {
1009
1056
  url = url + '&input_fexts=' + searchParams.input_fexts;
1010
1057
  }
1058
+
1011
1059
  if (searchParams.with_permission) {
1012
1060
  url = url + '&with_permission=' + searchParams.with_permission;
1013
1061
  }
1062
+
1014
1063
  if (searchParams.time_from) {
1015
1064
  url = url + '&time_from=' + searchParams.time_from;
1016
1065
  }
1066
+
1017
1067
  if (searchParams.time_to) {
1018
1068
  url = url + '&time_to=' + searchParams.time_to;
1019
1069
  }
1070
+
1020
1071
  if (searchParams.size_from) {
1021
1072
  url = url + '&size_from=' + searchParams.size_from;
1022
1073
  }
1074
+
1023
1075
  if (searchParams.size_to) {
1024
1076
  url = url + '&size_to=' + searchParams.size_to;
1025
1077
  }
1078
+
1026
1079
  if (searchParams.shared_from) {
1027
1080
  url = url + '&shared_from=' + searchParams.shared_from;
1028
1081
  }
1082
+
1029
1083
  if (searchParams.not_shared_from) {
1030
1084
  url = url + '&not_shared_from=' + searchParams.not_shared_from;
1031
1085
  }
1086
+
1032
1087
  if (searchParams.ftype) {
1033
1088
  for (var i = 0; i < searchParams.ftype.length; i++) {
1034
1089
  url = url + '&ftype=' + searchParams.ftype[i];
1035
1090
  }
1036
1091
  }
1092
+
1037
1093
  return this.req.get(url, {
1038
1094
  cancelToken: cancelToken
1039
1095
  });
@@ -1078,9 +1134,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1078
1134
  var form = new FormData();
1079
1135
  form.append('permission', permission);
1080
1136
  return this.req.put(url, form);
1081
- }
1137
+ } //admin
1082
1138
 
1083
- //admin
1084
1139
  }, {
1085
1140
  key: "listDeletedRepo",
1086
1141
  value: function listDeletedRepo() {
@@ -1094,39 +1149,44 @@ var SeafileAPI = /*#__PURE__*/function () {
1094
1149
  var form = new FormData();
1095
1150
  form.append('repo_id', repoID);
1096
1151
  return this._sendPostRequest(url, form);
1097
- }
1152
+ } //---- directory operation
1098
1153
 
1099
- //---- directory operation
1100
1154
  }, {
1101
1155
  key: "listDir",
1102
1156
  value: function listDir(repoID, dirPath) {
1103
1157
  var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
1104
- _ref3$recursive = _ref3.recursive,
1105
- recursive = _ref3$recursive === void 0 ? false : _ref3$recursive,
1106
- _ref3$type = _ref3.type,
1107
- type = _ref3$type === void 0 ? '' : _ref3$type,
1108
- _ref3$with_thumbnail = _ref3.with_thumbnail,
1109
- with_thumbnail = _ref3$with_thumbnail === void 0 ? false : _ref3$with_thumbnail,
1110
- _ref3$with_parents = _ref3.with_parents,
1111
- with_parents = _ref3$with_parents === void 0 ? false : _ref3$with_parents;
1158
+ _ref3$recursive = _ref3.recursive,
1159
+ recursive = _ref3$recursive === void 0 ? false : _ref3$recursive,
1160
+ _ref3$type = _ref3.type,
1161
+ type = _ref3$type === void 0 ? '' : _ref3$type,
1162
+ _ref3$with_thumbnail = _ref3.with_thumbnail,
1163
+ with_thumbnail = _ref3$with_thumbnail === void 0 ? false : _ref3$with_thumbnail,
1164
+ _ref3$with_parents = _ref3.with_parents,
1165
+ with_parents = _ref3$with_parents === void 0 ? false : _ref3$with_parents;
1166
+
1112
1167
  /*
1113
1168
  * opts: `{recursive: true}`, `{'with_thumbnail': true}`
1114
1169
  */
1115
1170
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/';
1116
1171
  var params = {};
1117
1172
  params.p = dirPath;
1173
+
1118
1174
  if (recursive) {
1119
1175
  params.recursive = recursive ? 1 : 0;
1120
1176
  }
1177
+
1121
1178
  if (type) {
1122
1179
  params.t = type;
1123
1180
  }
1181
+
1124
1182
  if (with_thumbnail) {
1125
1183
  params.with_thumbnail = with_thumbnail;
1126
1184
  }
1185
+
1127
1186
  if (with_parents) {
1128
1187
  params.with_parents = with_parents;
1129
1188
  }
1189
+
1130
1190
  return this.req.get(url, {
1131
1191
  params: params
1132
1192
  });
@@ -1136,9 +1196,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1136
1196
  value: function listWikiDir(slug, dirPath, withParents) {
1137
1197
  var path = encodeURIComponent(dirPath);
1138
1198
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path;
1199
+
1139
1200
  if (withParents) {
1140
1201
  url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path + '&with_parents=' + withParents;
1141
1202
  }
1203
+
1142
1204
  return this.req.get(url);
1143
1205
  }
1144
1206
  }, {
@@ -1173,20 +1235,21 @@ var SeafileAPI = /*#__PURE__*/function () {
1173
1235
  var path = encodeURIComponent(dirPath);
1174
1236
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/?p=' + path;
1175
1237
  return this.req["delete"](url);
1176
- }
1238
+ } //---- multiple(File&Folder) operation
1177
1239
 
1178
- //---- multiple(File&Folder) operation
1179
1240
  }, {
1180
1241
  key: "copyDir",
1181
1242
  value: function copyDir(repoID, dstrepoID, dstfilePath, dirPath, direntNames) {
1182
1243
  var paths = [];
1183
1244
  var url = this.server;
1184
1245
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-copy-item/' : '/api/v2.1/repos/async-batch-copy-item/';
1246
+
1185
1247
  if (Array.isArray(direntNames)) {
1186
1248
  paths = direntNames;
1187
1249
  } else {
1188
1250
  paths.push(direntNames);
1189
1251
  }
1252
+
1190
1253
  var operation = {
1191
1254
  'src_repo_id': repoID,
1192
1255
  'src_parent_dir': dirPath,
@@ -1206,11 +1269,13 @@ var SeafileAPI = /*#__PURE__*/function () {
1206
1269
  var paths = [];
1207
1270
  var url = this.server;
1208
1271
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-move-item/' : '/api/v2.1/repos/async-batch-move-item/';
1272
+
1209
1273
  if (Array.isArray(direntNames)) {
1210
1274
  paths = direntNames;
1211
1275
  } else {
1212
1276
  paths.push(direntNames);
1213
1277
  }
1278
+
1214
1279
  var operation = {
1215
1280
  'src_repo_id': repoID,
1216
1281
  'src_parent_dir': dirPath,
@@ -1265,6 +1330,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1265
1330
  var url = this.server + '/api/v2.1/repos/' + repoID + '/zip-task/';
1266
1331
  var form = new FormData();
1267
1332
  form.append('parent_dir', parent_dir);
1333
+
1268
1334
  if (Array.isArray(dirents)) {
1269
1335
  dirents.forEach(function (item) {
1270
1336
  form.append('dirents', item);
@@ -1272,6 +1338,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1272
1338
  } else {
1273
1339
  form.append('dirents', dirents);
1274
1340
  }
1341
+
1275
1342
  return this._sendPostRequest(url, form);
1276
1343
  }
1277
1344
  }, {
@@ -1287,9 +1354,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1287
1354
  var form = new FormData();
1288
1355
  form.append("token", zip_token);
1289
1356
  return this.req.post(url, form);
1290
- }
1357
+ } //---- File Operation
1291
1358
 
1292
- //---- File Operation
1293
1359
  }, {
1294
1360
  key: "getFileInfo",
1295
1361
  value: function getFileInfo(repoID, filePath) {
@@ -1363,11 +1429,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1363
1429
  var form = new FormData();
1364
1430
  form.append('operation', 'unlock');
1365
1431
  return this.req.put(url, form);
1366
- }
1367
-
1368
- // move need to add
1369
-
1432
+ } // move need to add
1370
1433
  // copy need to add
1434
+
1371
1435
  }, {
1372
1436
  key: "revertFile",
1373
1437
  value: function revertFile(repoID, path, commitID) {
@@ -1405,9 +1469,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1405
1469
  var path = encodeURIComponent(folderPath);
1406
1470
  var url = this.server + '/api2/repos/' + repoID + '/upload-link/?p=' + path + '&from=web';
1407
1471
  return this.req.get(url);
1408
- }
1472
+ } // for shared folder link with 'can_upload' permission
1409
1473
 
1410
- // for shared folder link with 'can_upload' permission
1411
1474
  }, {
1412
1475
  key: "sharedLinkGetFileUploadUrl",
1413
1476
  value: function sharedLinkGetFileUploadUrl(token, path) {
@@ -1503,9 +1566,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1503
1566
  value: function getFileRevision(repoID, commitID, filePath) {
1504
1567
  var url = this.server + '/api2/' + 'repos/' + repoID + '/file' + '/revision/?p=' + encodeURIComponent(filePath) + '&commit_id=' + commitID;
1505
1568
  return this.req.get(url);
1506
- }
1569
+ } // file extended properties
1507
1570
 
1508
- // file extended properties
1509
1571
  }, {
1510
1572
  key: "getFileExtendedProperties",
1511
1573
  value: function getFileExtendedProperties(repoID, path) {
@@ -1536,8 +1598,26 @@ var SeafileAPI = /*#__PURE__*/function () {
1536
1598
  var url = this.server + '/api/v2.1/repos/' + repoID + '/extended-properties/?path=' + path;
1537
1599
  return this.req["delete"](url);
1538
1600
  }
1601
+ }, {
1602
+ key: "setFolderItemsExtendedProperties",
1603
+ value: function setFolderItemsExtendedProperties(repoID, path) {
1604
+ var url = this.server + '/api/v2.1/repos/' + repoID + '/folder-items-extended-properties/';
1605
+ var form = new FormData();
1606
+ form.append('path', path);
1607
+ return this.req.post(url, form);
1608
+ }
1609
+ }, {
1610
+ key: "queryFolderItemsExtendedPropertiesStatus",
1611
+ value: function queryFolderItemsExtendedPropertiesStatus(repoID, path) {
1612
+ var url = this.server + '/api/v2.1/repos/' + repoID + '/folder-items-extended-properties/status-query/';
1613
+ var params = {
1614
+ path: path
1615
+ };
1616
+ return this.req.get(url, {
1617
+ params: params
1618
+ });
1619
+ } // file commit api
1539
1620
 
1540
- // file commit api
1541
1621
  }, {
1542
1622
  key: "deleteComment",
1543
1623
  value: function deleteComment(repoID, commentID) {
@@ -1549,9 +1629,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1549
1629
  value: function listComments(repoID, filePath, resolved) {
1550
1630
  var path = encodeURIComponent(filePath);
1551
1631
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1632
+
1552
1633
  if (resolved) {
1553
1634
  url = url + '&resolved=' + resolved;
1554
1635
  }
1636
+
1555
1637
  return this.req.get(url);
1556
1638
  }
1557
1639
  }, {
@@ -1561,9 +1643,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1561
1643
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1562
1644
  var form = new FormData();
1563
1645
  form.append("comment", comment);
1646
+
1564
1647
  if (detail) {
1565
1648
  form.append("detail", detail);
1566
1649
  }
1650
+
1567
1651
  return this._sendPostRequest(url, form);
1568
1652
  }
1569
1653
  }, {
@@ -1582,9 +1666,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1582
1666
  if (detail) params.detail = detail;
1583
1667
  if (comment) params.comment = comment;
1584
1668
  return this.req.put(url, params);
1585
- }
1669
+ } // draft
1586
1670
 
1587
- // draft
1588
1671
  }, {
1589
1672
  key: "getRepoDraftCounts",
1590
1673
  value: function getRepoDraftCounts(repoID) {
@@ -1596,9 +1679,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1596
1679
  value: function listRepoDrafts(repoID) {
1597
1680
  var url = this.server + '/api/v2.1/repo/' + repoID + '/drafts/';
1598
1681
  return this.req.get(url);
1599
- }
1682
+ } // draft operation api
1600
1683
 
1601
- // draft operation api
1602
1684
  }, {
1603
1685
  key: "getDraft",
1604
1686
  value: function getDraft(id) {
@@ -1634,9 +1716,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1634
1716
  operation: 'publish'
1635
1717
  };
1636
1718
  return this.req.put(url, params);
1637
- }
1719
+ } // review api
1638
1720
 
1639
- // review api
1640
1721
  }, {
1641
1722
  key: "listDraftReviewers",
1642
1723
  value: function listDraftReviewers(draftID) {
@@ -1648,9 +1729,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1648
1729
  value: function addDraftReviewers(draftID, reviewers) {
1649
1730
  var url = this.server + '/api/v2.1/drafts/' + draftID + '/reviewer/';
1650
1731
  var form = new FormData();
1732
+
1651
1733
  for (var i = 0; i < reviewers.length; i++) {
1652
1734
  form.append('reviewer', reviewers[i]);
1653
1735
  }
1736
+
1654
1737
  return this._sendPostRequest(url, form);
1655
1738
  }
1656
1739
  }, {
@@ -1658,9 +1741,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1658
1741
  value: function deleteDraftReviewer(draftID, reviewer) {
1659
1742
  var url = this.server + '/api/v2.1/drafts/' + draftID + '/reviewer/?username=' + encodeURIComponent(reviewer);
1660
1743
  return this.req["delete"](url);
1661
- }
1744
+ } // starred
1662
1745
 
1663
- // starred
1664
1746
  }, {
1665
1747
  key: "listStarredItems",
1666
1748
  value: function listStarredItems() {
@@ -1695,10 +1777,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1695
1777
  value: function unMonitorRepo(repoID) {
1696
1778
  var url = this.server + '/api/v2.1/monitored-repos/' + repoID + '/';
1697
1779
  return this.req["delete"](url);
1698
- }
1699
-
1700
- //---- tags module api
1780
+ } //---- tags module api
1701
1781
  // repo tags
1782
+
1702
1783
  }, {
1703
1784
  key: "listRepoTags",
1704
1785
  value: function listRepoTags(repoID) {
@@ -1714,15 +1795,6 @@ var SeafileAPI = /*#__PURE__*/function () {
1714
1795
  form.append('color', color);
1715
1796
  return this._sendPostRequest(url, form);
1716
1797
  }
1717
- }, {
1718
- key: "createRepoTags",
1719
- value: function createRepoTags(repoID, tags) {
1720
- var url = this.server + '/api/v2.1/repos/' + repoID + '/repo-tags/';
1721
- var params = {
1722
- tags: tags
1723
- };
1724
- return this.req.put(url, params);
1725
- }
1726
1798
  }, {
1727
1799
  key: "deleteRepoTag",
1728
1800
  value: function deleteRepoTag(repoID, repo_tag_id) {
@@ -1744,9 +1816,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1744
1816
  value: function listTaggedFiles(repoID, repoTagId) {
1745
1817
  var url = this.server + '/api/v2.1/repos/' + repoID + '/tagged-files/' + repoTagId + '/';
1746
1818
  return this.req.get(url);
1747
- }
1819
+ } // file tag api
1748
1820
 
1749
- // file tag api
1750
1821
  }, {
1751
1822
  key: "listFileTags",
1752
1823
  value: function listFileTags(repoID, filePath) {
@@ -1775,11 +1846,12 @@ var SeafileAPI = /*#__PURE__*/function () {
1775
1846
  var url = this.server + '/api/v2.1/share-links/' + sharedToken + '/save-file-to-repo/';
1776
1847
  var form = new FormData();
1777
1848
  form.append('dst_repo_id', repoID);
1778
- form.append('dst_parent_dir', dstPath);
1779
- // for file in shared dir
1849
+ form.append('dst_parent_dir', dstPath); // for file in shared dir
1850
+
1780
1851
  if (filePath) {
1781
1852
  form.append('path', filePath);
1782
1853
  }
1854
+
1783
1855
  return this._sendPostRequest(url, form);
1784
1856
  }
1785
1857
  }, {
@@ -1836,17 +1908,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1836
1908
  var time = new Date().getTime();
1837
1909
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/content/' + '?p=' + path + '&_=' + time;
1838
1910
  return this.req.get(url);
1839
- }
1911
+ } //---- Avatar API
1840
1912
 
1841
- //---- Avatar API
1842
1913
  }, {
1843
1914
  key: "getUserAvatar",
1844
1915
  value: function getUserAvatar(user, size) {
1845
1916
  var url = this.server + '/api2/avatars/user/' + encodeURIComponent(user) + '/resized/' + size + '/';
1846
1917
  return this.req.get(url);
1847
- }
1918
+ } //---- Notification API
1848
1919
 
1849
- //---- Notification API
1850
1920
  }, {
1851
1921
  key: "listNotifications",
1852
1922
  value: function listNotifications(page, perPage) {
@@ -1884,9 +1954,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1884
1954
  var from = new FormData();
1885
1955
  from.append('notice_id', noticeId);
1886
1956
  return this.req.put(url, from);
1887
- }
1957
+ } //---- Linked Devices API
1888
1958
 
1889
- //---- Linked Devices API
1890
1959
  }, {
1891
1960
  key: "listLinkedDevices",
1892
1961
  value: function listLinkedDevices() {
@@ -1905,18 +1974,16 @@ var SeafileAPI = /*#__PURE__*/function () {
1905
1974
  return this.req["delete"](url, {
1906
1975
  data: param
1907
1976
  });
1908
- }
1977
+ } //---- Activities API
1909
1978
 
1910
- //---- Activities API
1911
1979
  }, {
1912
1980
  key: "listActivities",
1913
1981
  value: function listActivities(pageNum) {
1914
1982
  var avatarSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 36;
1915
1983
  var url = this.server + '/api/v2.1/activities/?page=' + pageNum + '&avatar_size=' + avatarSize;
1916
1984
  return this.req.get(url);
1917
- }
1985
+ } //---- Thumbnail API
1918
1986
 
1919
- //---- Thumbnail API
1920
1987
  }, {
1921
1988
  key: "createThumbnail",
1922
1989
  value: function createThumbnail(repo_id, path, thumbnail_size) {
@@ -1926,17 +1993,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1926
1993
  'X-Requested-With': 'XMLHttpRequest'
1927
1994
  }
1928
1995
  });
1929
- }
1996
+ } //---- Users API
1930
1997
 
1931
- //---- Users API
1932
1998
  }, {
1933
1999
  key: "searchUsers",
1934
2000
  value: function searchUsers(searchParam) {
1935
2001
  var url = this.server + '/api2/search-user/?q=' + encodeURIComponent(searchParam);
1936
2002
  return this.req.get(url);
1937
- }
2003
+ } //---- wiki module API
1938
2004
 
1939
- //---- wiki module API
1940
2005
  }, {
1941
2006
  key: "listWikis",
1942
2007
  value: function listWikis(options) {
@@ -1944,15 +2009,18 @@ var SeafileAPI = /*#__PURE__*/function () {
1944
2009
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
1945
2010
  */
1946
2011
  var url = this.server + '/api/v2.1/wikis/';
2012
+
1947
2013
  if (!options) {
1948
2014
  // fetch all types of wikis
1949
2015
  return this.req.get(url);
1950
2016
  }
2017
+
1951
2018
  return this.req.get(url, {
1952
2019
  params: options,
1953
2020
  paramsSerializer: {
1954
2021
  serialize: function serialize(params) {
1955
2022
  var list = [];
2023
+
1956
2024
  for (var key in params) {
1957
2025
  if (Array.isArray(params[key])) {
1958
2026
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -1962,6 +2030,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1962
2030
  list.push(key + '=' + encodeURIComponent(params[key]));
1963
2031
  }
1964
2032
  }
2033
+
1965
2034
  return list.join('&');
1966
2035
  }
1967
2036
  }
@@ -1997,9 +2066,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1997
2066
  value: function deleteWiki(slug) {
1998
2067
  var url = this.server + '/api/v2.1/wikis/' + slug + '/';
1999
2068
  return this.req["delete"](url);
2000
- }
2069
+ } //----MetaData API
2001
2070
 
2002
- //----MetaData API
2003
2071
  }, {
2004
2072
  key: "fileMetaData",
2005
2073
  value: function fileMetaData(repoID, filePath) {
@@ -2011,9 +2079,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2011
2079
  value: function dirMetaData(repoID, dirPath) {
2012
2080
  var url = this.server + '/api2/repos/' + repoID + '/dir/metadata/?p=' + encodeURIComponent(dirPath);
2013
2081
  return this.req.get(url);
2014
- }
2082
+ } // single org admin api
2015
2083
 
2016
- // single org admin api
2017
2084
  }, {
2018
2085
  key: "orgAdminGetOrgInfo",
2019
2086
  value: function orgAdminGetOrgInfo() {
@@ -2216,10 +2283,12 @@ var SeafileAPI = /*#__PURE__*/function () {
2216
2283
  is_staff: isStaff,
2217
2284
  page: page
2218
2285
  };
2286
+
2219
2287
  if (sortBy) {
2220
2288
  params.order_by = sortBy;
2221
2289
  params.direction = sortOrder;
2222
2290
  }
2291
+
2223
2292
  return this.req.get(url, {
2224
2293
  params: params
2225
2294
  });
@@ -2362,9 +2431,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2362
2431
  var params = {
2363
2432
  page: page
2364
2433
  };
2434
+
2365
2435
  if (orderBy) {
2366
2436
  params.order_by = orderBy;
2367
2437
  }
2438
+
2368
2439
  return this.req.get(url, {
2369
2440
  params: params
2370
2441
  });
@@ -2382,9 +2453,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2382
2453
  var form = new FormData();
2383
2454
  form.append('email', email);
2384
2455
  return this.req.put(url, form);
2385
- }
2456
+ } // org links
2386
2457
 
2387
- // org links
2388
2458
  }, {
2389
2459
  key: "orgAdminListOrgLinks",
2390
2460
  value: function orgAdminListOrgLinks(page) {
@@ -2396,9 +2466,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2396
2466
  value: function orgAdminDeleteOrgLink(token) {
2397
2467
  var url = this.server + '/api/v2.1/org/admin/links/' + token + '/';
2398
2468
  return this.req["delete"](url);
2399
- }
2469
+ } // org depart group
2400
2470
 
2401
- // org depart group
2402
2471
  }, {
2403
2472
  key: "orgAdminListDepartGroups",
2404
2473
  value: function orgAdminListDepartGroups(orgID) {
@@ -2418,12 +2487,15 @@ var SeafileAPI = /*#__PURE__*/function () {
2418
2487
  var form = new FormData();
2419
2488
  form.append('parent_group', parentGroup);
2420
2489
  form.append('group_name', groupName);
2490
+
2421
2491
  if (groupOwner) {
2422
2492
  form.append('group_owner', groupOwner);
2423
2493
  }
2494
+
2424
2495
  if (groupStaff) {
2425
2496
  form.append('group_staff', groupStaff.join(','));
2426
2497
  }
2498
+
2427
2499
  return this._sendPostRequest(url, form);
2428
2500
  }
2429
2501
  }, {
@@ -2495,43 +2567,51 @@ var SeafileAPI = /*#__PURE__*/function () {
2495
2567
  var form = new FormData();
2496
2568
  form.append('is_admin', isAdmin);
2497
2569
  return this.req.put(url, form);
2498
- }
2570
+ } // org admin logs
2499
2571
 
2500
- // org admin logs
2501
2572
  }, {
2502
2573
  key: "orgAdminListFileAudit",
2503
2574
  value: function orgAdminListFileAudit(email, repoID, page) {
2504
2575
  var url = this.server + '/api/v2.1/org/admin/logs/file-access/?page=' + page;
2576
+
2505
2577
  if (email) {
2506
2578
  url = url + '&email=' + encodeURIComponent(email);
2507
2579
  }
2580
+
2508
2581
  if (repoID) {
2509
2582
  url = url + '&repo_id=' + repoID;
2510
2583
  }
2584
+
2511
2585
  return this.req.get(url);
2512
2586
  }
2513
2587
  }, {
2514
2588
  key: "orgAdminListFileUpdate",
2515
2589
  value: function orgAdminListFileUpdate(email, repoID, page) {
2516
2590
  var url = this.server + '/api/v2.1/org/admin/logs/file-update/?page=' + page;
2591
+
2517
2592
  if (email) {
2518
2593
  url = url + '&email=' + encodeURIComponent(email);
2519
2594
  }
2595
+
2520
2596
  if (repoID) {
2521
2597
  url = url + '&repo_id=' + repoID;
2522
2598
  }
2599
+
2523
2600
  return this.req.get(url);
2524
2601
  }
2525
2602
  }, {
2526
2603
  key: "orgAdminListPermAudit",
2527
2604
  value: function orgAdminListPermAudit(email, repoID, page) {
2528
2605
  var url = this.server + '/api/v2.1/org/admin/logs/repo-permission/?page=' + page;
2606
+
2529
2607
  if (email) {
2530
2608
  url = url + '&email=' + encodeURIComponent(email);
2531
2609
  }
2610
+
2532
2611
  if (repoID) {
2533
2612
  url = url + '&repo_id=' + repoID;
2534
2613
  }
2614
+
2535
2615
  return this.req.get(url);
2536
2616
  }
2537
2617
  }, {
@@ -2567,11 +2647,13 @@ var SeafileAPI = /*#__PURE__*/function () {
2567
2647
  commit_id: commitID,
2568
2648
  path: path,
2569
2649
  doctype: fileType // 'document' or 'spreadsheet'
2570
- };
2571
- // for view of share link
2650
+
2651
+ }; // for view of share link
2652
+
2572
2653
  if (shareToken) {
2573
2654
  params['token'] = shareToken;
2574
2655
  }
2656
+
2575
2657
  return this.req.get(url, {
2576
2658
  headers: {
2577
2659
  'X-Requested-With': 'XMLHttpRequest'
@@ -2625,9 +2707,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2625
2707
  return this.req.get(url, {
2626
2708
  params: params
2627
2709
  });
2628
- }
2710
+ } // get all existing repo snapshot labels of the user
2629
2711
 
2630
- // get all existing repo snapshot labels of the user
2631
2712
  }, {
2632
2713
  key: "getAllRepoSnapshotLabels",
2633
2714
  value: function getAllRepoSnapshotLabels() {
@@ -2661,9 +2742,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2661
2742
  var url = this.server + '/api/v2.1/invitations/batch/';
2662
2743
  var form = new FormData();
2663
2744
  form.append('type', 'guest');
2745
+
2664
2746
  for (var i = 0; i < emails.length; i++) {
2665
2747
  form.append('accepter', emails[i]);
2666
2748
  }
2749
+
2667
2750
  return this._sendPostRequest(url, form);
2668
2751
  }
2669
2752
  }, {
@@ -2744,23 +2827,28 @@ var SeafileAPI = /*#__PURE__*/function () {
2744
2827
  key: "updateUserInfo",
2745
2828
  value: function updateUserInfo(_ref4) {
2746
2829
  var name = _ref4.name,
2747
- telephone = _ref4.telephone,
2748
- contact_email = _ref4.contact_email,
2749
- list_in_address_book = _ref4.list_in_address_book;
2830
+ telephone = _ref4.telephone,
2831
+ contact_email = _ref4.contact_email,
2832
+ list_in_address_book = _ref4.list_in_address_book;
2750
2833
  var url = this.server + '/api/v2.1/user/';
2751
2834
  var data = {};
2835
+
2752
2836
  if (name != undefined) {
2753
2837
  data.name = name;
2754
2838
  }
2839
+
2755
2840
  if (telephone != undefined) {
2756
2841
  data.telephone = telephone;
2757
2842
  }
2843
+
2758
2844
  if (contact_email != undefined) {
2759
2845
  data.contact_email = contact_email;
2760
2846
  }
2847
+
2761
2848
  if (list_in_address_book != undefined) {
2762
2849
  data.list_in_address_book = list_in_address_book;
2763
2850
  }
2851
+
2764
2852
  return this.req.put(url, data);
2765
2853
  }
2766
2854
  }, {
@@ -2786,9 +2874,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2786
2874
  key: "listUserFolderPerm",
2787
2875
  value: function listUserFolderPerm(repoID, folderPath) {
2788
2876
  var url = this.server + '/api2/repos/' + repoID + '/user-folder-perm/';
2877
+
2789
2878
  if (folderPath) {
2790
2879
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2791
2880
  }
2881
+
2792
2882
  return this.req.get(url);
2793
2883
  }
2794
2884
  }, {
@@ -2798,6 +2888,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2798
2888
  var form = new FormData();
2799
2889
  form.append('permission', permission);
2800
2890
  form.append('folder_path', folderPath);
2891
+
2801
2892
  if (Array.isArray(userEmail)) {
2802
2893
  userEmail.forEach(function (item) {
2803
2894
  form.append('user_email', item);
@@ -2805,6 +2896,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2805
2896
  } else {
2806
2897
  form.append('user_email', userEmail);
2807
2898
  }
2899
+
2808
2900
  return this._sendPostRequest(url, form);
2809
2901
  }
2810
2902
  }, {
@@ -2834,9 +2926,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2834
2926
  key: "listGroupFolderPerm",
2835
2927
  value: function listGroupFolderPerm(repoID, folderPath) {
2836
2928
  var url = this.server + '/api2/repos/' + repoID + '/group-folder-perm/';
2929
+
2837
2930
  if (folderPath) {
2838
2931
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2839
2932
  }
2933
+
2840
2934
  return this.req.get(url);
2841
2935
  }
2842
2936
  }, {
@@ -2876,9 +2970,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2876
2970
  key: "listDepartmentRepoUserFolderPerm",
2877
2971
  value: function listDepartmentRepoUserFolderPerm(repoID, folderPath) {
2878
2972
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/user-folder-permission/';
2973
+
2879
2974
  if (folderPath) {
2880
2975
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2881
2976
  }
2977
+
2882
2978
  return this.req.get(url);
2883
2979
  }
2884
2980
  }, {
@@ -2888,6 +2984,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2888
2984
  var form = new FormData();
2889
2985
  form.append('permission', permission);
2890
2986
  form.append('folder_path', folderPath);
2987
+
2891
2988
  if (Array.isArray(userEmail)) {
2892
2989
  userEmail.forEach(function (item) {
2893
2990
  form.append('user_email', item);
@@ -2895,6 +2992,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2895
2992
  } else {
2896
2993
  form.append('user_email', userEmail);
2897
2994
  }
2995
+
2898
2996
  return this._sendPostRequest(url, form);
2899
2997
  }
2900
2998
  }, {
@@ -2924,9 +3022,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2924
3022
  key: "listDepartmentRepoGroupFolderPerm",
2925
3023
  value: function listDepartmentRepoGroupFolderPerm(repoID, folderPath) {
2926
3024
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/group-folder-permission/';
3025
+
2927
3026
  if (folderPath) {
2928
3027
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2929
3028
  }
3029
+
2930
3030
  return this.req.get(url);
2931
3031
  }
2932
3032
  }, {
@@ -2967,9 +3067,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2967
3067
  value: function adminListWorkWeixinDepartments(departmentID) {
2968
3068
  var url = this.server + '/api/v2.1/admin/work-weixin/departments/';
2969
3069
  var params = {};
3070
+
2970
3071
  if (departmentID) {
2971
3072
  params.department_id = departmentID;
2972
3073
  }
3074
+
2973
3075
  return this.req.get(url, {
2974
3076
  params: params
2975
3077
  });
@@ -3003,9 +3105,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3003
3105
  value: function adminListDingtalkDepartments(departmentID) {
3004
3106
  var url = this.server + '/api/v2.1/admin/dingtalk/departments/';
3005
3107
  var params = {};
3108
+
3006
3109
  if (departmentID) {
3007
3110
  params.department_id = departmentID;
3008
3111
  }
3112
+
3009
3113
  return this.req.get(url, {
3010
3114
  params: params
3011
3115
  });
@@ -3065,9 +3169,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3065
3169
  var params = {
3066
3170
  path: path
3067
3171
  };
3172
+
3068
3173
  if (scanStat) {
3069
3174
  params.scan_stat = scanStat;
3070
3175
  }
3176
+
3071
3177
  return this.req.post(url, params);
3072
3178
  }
3073
3179
  }, {
@@ -3162,9 +3268,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3162
3268
  key: "listOCMSharesPrepare",
3163
3269
  value: function listOCMSharesPrepare(repoId) {
3164
3270
  var url = this.server + '/api/v2.1/ocm/shares-prepare/';
3271
+
3165
3272
  if (repoId) {
3166
3273
  url += '?repo_id=' + repoId;
3167
3274
  }
3275
+
3168
3276
  return this.req.get(url);
3169
3277
  }
3170
3278
  }, {
@@ -3295,9 +3403,8 @@ var SeafileAPI = /*#__PURE__*/function () {
3295
3403
  value: function sdocPublishRevision(docUuid) {
3296
3404
  var url = this.server + '/api/v2.1/seadoc/publish-revision/' + docUuid + '/';
3297
3405
  return this.req.post(url);
3298
- }
3406
+ } // admin api
3299
3407
 
3300
- // admin api
3301
3408
  }, {
3302
3409
  key: "sysAdminUploadLicense",
3303
3410
  value: function sysAdminUploadLicense(file) {
@@ -3403,9 +3510,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3403
3510
  page: page,
3404
3511
  per_page: perPage
3405
3512
  };
3513
+
3406
3514
  if (orderBy) {
3407
3515
  params.order_by = orderBy;
3408
3516
  }
3517
+
3409
3518
  return this.req.get(url, {
3410
3519
  params: params
3411
3520
  });
@@ -3695,9 +3804,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3695
3804
  value: function sysAdminAddGroupMember(groupID, emails) {
3696
3805
  var url = this.server + '/api/v2.1/admin/groups/' + groupID + '/members/';
3697
3806
  var form = new FormData();
3807
+
3698
3808
  for (var i = 0; i < emails.length; i++) {
3699
3809
  form.append('email', emails[i]);
3700
3810
  }
3811
+
3701
3812
  return this._sendPostRequest(url, form);
3702
3813
  }
3703
3814
  }, {
@@ -3807,10 +3918,12 @@ var SeafileAPI = /*#__PURE__*/function () {
3807
3918
  page: page,
3808
3919
  per_page: perPage
3809
3920
  };
3921
+
3810
3922
  if (sortBy) {
3811
3923
  params.order_by = sortBy;
3812
3924
  params.direction = sortOrder;
3813
3925
  }
3926
+
3814
3927
  return this.req.get(url, {
3815
3928
  params: params
3816
3929
  });
@@ -3873,18 +3986,23 @@ var SeafileAPI = /*#__PURE__*/function () {
3873
3986
  value: function sysAdminUpdateOrg(orgID, orgInfo) {
3874
3987
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/';
3875
3988
  var formData = new FormData();
3989
+
3876
3990
  if (orgInfo.orgName) {
3877
3991
  formData.append('org_name', orgInfo.orgName);
3878
3992
  }
3993
+
3879
3994
  if (orgInfo.maxUserNumber) {
3880
3995
  formData.append('max_user_number', orgInfo.maxUserNumber);
3881
3996
  }
3997
+
3882
3998
  if (orgInfo.quota) {
3883
3999
  formData.append('quota', orgInfo.quota);
3884
4000
  }
4001
+
3885
4002
  if (orgInfo.role) {
3886
4003
  formData.append('role', orgInfo.role);
3887
4004
  }
4005
+
3888
4006
  return this.req.put(url, formData);
3889
4007
  }
3890
4008
  }, {
@@ -3924,23 +4042,29 @@ var SeafileAPI = /*#__PURE__*/function () {
3924
4042
  value: function sysAdminUpdateOrgUser(orgID, email, attribute, value) {
3925
4043
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/users/' + encodeURIComponent(email) + '/';
3926
4044
  var formData = new FormData();
4045
+
3927
4046
  switch (attribute) {
3928
4047
  case 'active':
3929
4048
  formData.append('active', value);
3930
4049
  break;
4050
+
3931
4051
  case 'is_org_staff':
3932
4052
  formData.append('is_org_staff', value);
3933
4053
  break;
4054
+
3934
4055
  case 'name':
3935
4056
  formData.append('name', value);
3936
4057
  break;
4058
+
3937
4059
  case 'contact_email':
3938
4060
  formData.append('contact_email', value);
3939
4061
  break;
4062
+
3940
4063
  case 'quota_total':
3941
4064
  formData.append('quota_total', value);
3942
4065
  break;
3943
4066
  }
4067
+
3944
4068
  return this.req.put(url, formData);
3945
4069
  }
3946
4070
  }, {
@@ -3981,12 +4105,15 @@ var SeafileAPI = /*#__PURE__*/function () {
3981
4105
  page: page,
3982
4106
  per_page: perPage
3983
4107
  };
4108
+
3984
4109
  if (email != undefined) {
3985
4110
  params.email = email;
3986
4111
  }
4112
+
3987
4113
  if (repoID != undefined) {
3988
4114
  params.repo_id = repoID;
3989
4115
  }
4116
+
3990
4117
  return this.req.get(url, {
3991
4118
  params: params
3992
4119
  });
@@ -4086,13 +4213,16 @@ var SeafileAPI = /*#__PURE__*/function () {
4086
4213
  page: page,
4087
4214
  per_page: perPage
4088
4215
  };
4216
+
4089
4217
  if (isLDAPImported) {
4090
4218
  params.source = 'LDAPImport';
4091
4219
  }
4220
+
4092
4221
  if (sortBy) {
4093
4222
  params.order_by = sortBy;
4094
4223
  params.direction = sortOrder;
4095
4224
  }
4225
+
4096
4226
  return this.req.get(url, {
4097
4227
  params: params
4098
4228
  });
@@ -4130,9 +4260,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4130
4260
  formData.append('email', email);
4131
4261
  formData.append('name', name);
4132
4262
  formData.append('password', password);
4263
+
4133
4264
  if (role) {
4134
4265
  formData.append('role', role);
4135
4266
  }
4267
+
4136
4268
  return this._sendPostRequest(url, formData);
4137
4269
  }
4138
4270
  }, {
@@ -4140,47 +4272,61 @@ var SeafileAPI = /*#__PURE__*/function () {
4140
4272
  value: function sysAdminUpdateUser(email, attribute, value) {
4141
4273
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4142
4274
  var formData = new FormData();
4275
+
4143
4276
  switch (attribute) {
4144
4277
  case 'password':
4145
4278
  formData.append('password', value);
4146
4279
  break;
4280
+
4147
4281
  case 'is_active':
4148
4282
  formData.append('is_active', value);
4149
4283
  break;
4284
+
4150
4285
  case 'is_staff':
4151
4286
  formData.append('is_staff', value);
4152
4287
  break;
4288
+
4153
4289
  case 'role':
4154
4290
  formData.append('role', value);
4155
4291
  break;
4292
+
4156
4293
  case 'name':
4157
4294
  formData.append('name', value);
4158
4295
  break;
4296
+
4159
4297
  case 'login_id':
4160
4298
  formData.append('login_id', value);
4161
4299
  break;
4300
+
4162
4301
  case 'contact_email':
4163
4302
  formData.append('contact_email', value);
4164
4303
  break;
4304
+
4165
4305
  case 'reference_id':
4166
4306
  formData.append('reference_id', value);
4167
4307
  break;
4308
+
4168
4309
  case 'department':
4169
4310
  formData.append('department', value);
4170
4311
  break;
4312
+
4171
4313
  case 'quota_total':
4172
4314
  formData.append('quota_total', value);
4173
4315
  break;
4316
+
4174
4317
  case 'institution':
4175
4318
  formData.append('institution', value);
4176
4319
  break;
4320
+
4177
4321
  case 'upload_rate_limit':
4178
4322
  formData.append('upload_rate_limit', value);
4179
4323
  break;
4324
+
4180
4325
  case 'download_rate_limit':
4181
4326
  formData.append('download_rate_limit', value);
4182
4327
  break;
4183
4328
  }
4329
+
4184
4330
  return this.req.put(url, formData);
4185
4331
  }
4186
4332
  }, {
@@ -4194,9 +4340,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4194
4340
  value: function sysAdminGetUser(email, avatarSize) {
4195
4341
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4196
4342
  var params = {};
4343
+
4197
4344
  if (avatarSize) {
4198
4345
  params.avatar_size = avatarSize;
4199
4346
  }
4347
+
4200
4348
  return this.req.get(url, {
4201
4349
  params: params
4202
4350
  });
@@ -4418,17 +4566,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4418
4566
  value: function sysAdminDeleteTermAndCondition(termID) {
4419
4567
  var url = this.server + '/api/v2.1/admin/terms-and-conditions/' + termID + '/';
4420
4568
  return this.req["delete"](url);
4421
- }
4569
+ } // patch 7.1
4422
4570
 
4423
- // patch 7.1
4424
4571
  }, {
4425
4572
  key: "listVirusScanRecords",
4426
4573
  value: function listVirusScanRecords(pageNum) {
4427
4574
  var url = this.server + '/api/v2.1/admin/virus-scan-records/?page=' + pageNum;
4428
4575
  return this.req.get(url);
4429
- }
4576
+ } // patch 7.1
4430
4577
 
4431
- // patch 7.1
4432
4578
  }, {
4433
4579
  key: "deleteVirusScanRecord",
4434
4580
  value: function deleteVirusScanRecord(virusID) {
@@ -4443,9 +4589,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4443
4589
  page: page,
4444
4590
  per_page: perPage
4445
4591
  };
4592
+
4446
4593
  if (hasHandled != undefined) {
4447
4594
  params.has_handled = hasHandled;
4448
4595
  }
4596
+
4449
4597
  return this.req.get(url, {
4450
4598
  params: params
4451
4599
  });
@@ -4469,9 +4617,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4469
4617
  value: function batchProcessVirusFiles(virusIDs, operation) {
4470
4618
  var url = this.server + '/api/v2.1/admin/virus-files/batch/';
4471
4619
  var formData = new FormData();
4620
+
4472
4621
  for (var i = 0; i < virusIDs.length; i++) {
4473
4622
  formData.append('virus_ids', virusIDs[i]);
4474
4623
  }
4624
+
4475
4625
  formData.append('operation', operation);
4476
4626
  return this.req.post(url, formData);
4477
4627
  }
@@ -4565,6 +4715,8 @@ var SeafileAPI = /*#__PURE__*/function () {
4565
4715
  return this._sendPostRequest(url, formData);
4566
4716
  }
4567
4717
  }]);
4718
+
4568
4719
  return SeafileAPI;
4569
4720
  }();
4721
+
4570
4722
  export { SeafileAPI };