seafile-js 0.2.235 → 0.2.236

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.
@@ -4,27 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SeafileAPI = void 0;
7
+
7
8
  var _axios = _interopRequireDefault(require("axios"));
9
+
8
10
  var _formData = _interopRequireDefault(require("form-data"));
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
10
14
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
+
11
16
  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); } }
17
+
12
18
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
19
+
13
20
  var SeafileAPI = /*#__PURE__*/function () {
14
21
  function SeafileAPI() {
15
22
  _classCallCheck(this, SeafileAPI);
16
23
  }
24
+
17
25
  _createClass(SeafileAPI, [{
18
26
  key: "init",
19
27
  value: function init(_ref) {
20
28
  var server = _ref.server,
21
- username = _ref.username,
22
- password = _ref.password,
23
- token = _ref.token;
29
+ username = _ref.username,
30
+ password = _ref.password,
31
+ token = _ref.token;
24
32
  this.server = server;
25
33
  this.username = username;
26
34
  this.password = password;
27
35
  this.token = token; //none
36
+
28
37
  if (this.token && this.server) {
29
38
  this.req = _axios["default"].create({
30
39
  baseURL: this.server,
@@ -33,19 +42,22 @@ var SeafileAPI = /*#__PURE__*/function () {
33
42
  }
34
43
  });
35
44
  }
45
+
36
46
  return this;
37
47
  }
38
48
  }, {
39
49
  key: "initForSeahubUsage",
40
50
  value: function initForSeahubUsage(_ref2) {
41
51
  var siteRoot = _ref2.siteRoot,
42
- xcsrfHeaders = _ref2.xcsrfHeaders;
52
+ xcsrfHeaders = _ref2.xcsrfHeaders;
53
+
43
54
  if (siteRoot && siteRoot.charAt(siteRoot.length - 1) === '/') {
44
55
  var server = siteRoot.substring(0, siteRoot.length - 1);
45
56
  this.server = server;
46
57
  } else {
47
58
  this.server = siteRoot;
48
59
  }
60
+
49
61
  this.req = _axios["default"].create({
50
62
  headers: {
51
63
  'X-CSRFToken': xcsrfHeaders
@@ -68,7 +80,9 @@ var SeafileAPI = /*#__PURE__*/function () {
68
80
  key: "getToken",
69
81
  value: function getToken() {
70
82
  var _this = this;
83
+
71
84
  var url = this.server + '/api2/auth-token/';
85
+
72
86
  _axios["default"].post(url, {
73
87
  username: this.username,
74
88
  password: this.password
@@ -95,14 +109,15 @@ var SeafileAPI = /*#__PURE__*/function () {
95
109
  var url = this.server + '/api/v2.1/auth-token-by-session/';
96
110
  return this.req["delete"](url);
97
111
  }
98
-
99
112
  /**
100
113
  * Login to server and create axios instance for future usage
101
114
  */
115
+
102
116
  }, {
103
117
  key: "login",
104
118
  value: function login() {
105
119
  var _this2 = this;
120
+
106
121
  var url = this.server + '/api2/auth-token/';
107
122
  return _axios["default"].post(url, {
108
123
  username: this.username,
@@ -122,9 +137,8 @@ var SeafileAPI = /*#__PURE__*/function () {
122
137
  value: function authPing() {
123
138
  var url = this.server + '/api2/auth/ping/';
124
139
  return this.req.get(url);
125
- }
140
+ } //---- Account API
126
141
 
127
- //---- Account API
128
142
  }, {
129
143
  key: "getAccountInfo",
130
144
  value: function getAccountInfo() {
@@ -154,12 +168,15 @@ var SeafileAPI = /*#__PURE__*/function () {
154
168
  value: function listGroupRepos(groupID, page, perPage) {
155
169
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
156
170
  var params = {};
171
+
157
172
  if (page != undefined) {
158
173
  params.page = page;
159
174
  }
175
+
160
176
  if (perPage != undefined) {
161
177
  params.per_page = perPage;
162
178
  }
179
+
163
180
  return this.req.get(url, {
164
181
  params: params
165
182
  });
@@ -286,13 +303,17 @@ var SeafileAPI = /*#__PURE__*/function () {
286
303
  var url = this.server + '/api/v2.1/groups/' + groupID + '/group-owned-libraries/';
287
304
  var form = new _formData["default"]();
288
305
  form.append('name', repoName); // need to modify endpoint api;
306
+
289
307
  if (repo.passwd) {
290
308
  form.append('passwd', repo.passwd);
291
309
  }
310
+
292
311
  form.append('permission', permission);
312
+
293
313
  if (repo.library_template) {
294
314
  form.append('library_template', repo.library_template);
295
315
  }
316
+
296
317
  return this._sendPostRequest(url, form);
297
318
  }
298
319
  }, {
@@ -316,6 +337,7 @@ var SeafileAPI = /*#__PURE__*/function () {
316
337
  var form = new _formData["default"]();
317
338
  form.append('permission', permission);
318
339
  form.append('path', path);
340
+
319
341
  if (Array.isArray(username)) {
320
342
  username.forEach(function (item) {
321
343
  form.append('username', item);
@@ -323,6 +345,7 @@ var SeafileAPI = /*#__PURE__*/function () {
323
345
  } else {
324
346
  form.append('username', username);
325
347
  }
348
+
326
349
  return this._sendPostRequest(url, form);
327
350
  }
328
351
  }, {
@@ -355,6 +378,7 @@ var SeafileAPI = /*#__PURE__*/function () {
355
378
  var form = new _formData["default"]();
356
379
  form.append('permission', permission);
357
380
  form.append('path', path);
381
+
358
382
  if (Array.isArray(groupID)) {
359
383
  groupID.forEach(function (item) {
360
384
  form.append('group_id', item);
@@ -362,6 +386,7 @@ var SeafileAPI = /*#__PURE__*/function () {
362
386
  } else {
363
387
  form.append('group_id', groupID);
364
388
  }
389
+
365
390
  return this._sendPostRequest(url, form);
366
391
  }
367
392
  }, {
@@ -386,22 +411,23 @@ var SeafileAPI = /*#__PURE__*/function () {
386
411
  return this.req["delete"](url, {
387
412
  data: params
388
413
  });
389
- }
414
+ } //---- share operation
390
415
 
391
- //---- share operation
392
416
  }, {
393
417
  key: "listShareLinks",
394
418
  value: function listShareLinks(_ref3) {
395
419
  var repoID = _ref3.repoID,
396
- path = _ref3.path,
397
- page = _ref3.page,
398
- perPage = _ref3.perPage;
420
+ path = _ref3.path,
421
+ page = _ref3.page,
422
+ perPage = _ref3.perPage;
399
423
  var url = this.server + '/api/v2.1/share-links/';
400
424
  var params = {};
425
+
401
426
  if (repoID && path) {
402
427
  params.repo_id = repoID;
403
428
  params.path = path;
404
429
  }
430
+
405
431
  params.page = page || 1;
406
432
  params.per_page = perPage || 25;
407
433
  return this.req.get(url, {
@@ -415,15 +441,19 @@ var SeafileAPI = /*#__PURE__*/function () {
415
441
  var form = new _formData["default"]();
416
442
  form.append('path', path);
417
443
  form.append('repo_id', repoID);
444
+
418
445
  if (permissions) {
419
446
  form.append('permissions', permissions);
420
447
  }
448
+
421
449
  if (password) {
422
450
  form.append('password', password);
423
451
  }
452
+
424
453
  if (expirationTime) {
425
454
  form.append('expiration_time', expirationTime);
426
455
  }
456
+
427
457
  return this._sendPostRequest(url, form);
428
458
  }
429
459
  }, {
@@ -435,12 +465,15 @@ var SeafileAPI = /*#__PURE__*/function () {
435
465
  form.append('repo_id', repoID);
436
466
  form.append('number', shareLinkNum);
437
467
  form.append('auto_generate_password', autoGeneratePassword);
468
+
438
469
  if (permissions) {
439
470
  form.append('permissions', permissions);
440
471
  }
472
+
441
473
  if (expirationTime) {
442
474
  form.append('expiration_time', expirationTime);
443
475
  }
476
+
444
477
  return this._sendPostRequest(url, form);
445
478
  }
446
479
  }, {
@@ -450,15 +483,19 @@ var SeafileAPI = /*#__PURE__*/function () {
450
483
  var form = new _formData["default"]();
451
484
  form.append('path', path);
452
485
  form.append('repo_id', repoID);
486
+
453
487
  if (permissions) {
454
488
  form.append('permissions', permissions);
455
489
  }
490
+
456
491
  if (password) {
457
492
  form.append('password', password);
458
493
  }
494
+
459
495
  if (expirationTime) {
460
496
  form.append('expiration_time', expirationTime);
461
497
  }
498
+
462
499
  return this._sendPostRequest(url, form);
463
500
  }
464
501
  }, {
@@ -467,12 +504,15 @@ var SeafileAPI = /*#__PURE__*/function () {
467
504
  var expirationTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
468
505
  var url = this.server + '/api/v2.1/share-links/' + token + '/';
469
506
  var form = new _formData["default"]();
507
+
470
508
  if (permissions) {
471
509
  form.append('permissions', permissions);
472
510
  }
511
+
473
512
  if (expirationTime) {
474
513
  form.append('expiration_time', expirationTime);
475
514
  }
515
+
476
516
  return this.req.put(url, form);
477
517
  }
478
518
  }, {
@@ -505,21 +545,24 @@ var SeafileAPI = /*#__PURE__*/function () {
505
545
  var form = new _formData["default"]();
506
546
  form.append('token', token);
507
547
  form.append('email', email);
548
+
508
549
  if (extraMsg) {
509
550
  form.append('extra_msg', extraMsg);
510
551
  }
552
+
511
553
  return this._sendPostRequest(url, form);
512
- }
554
+ } // for repo & folder
513
555
 
514
- // for repo & folder
515
556
  }, {
516
557
  key: "getRepoFolderShareInfo",
517
558
  value: function getRepoFolderShareInfo(repoID, path) {
518
559
  var url = this.server + '/api/v2.1/repos/' + repoID + '/share-info/';
519
560
  var params = {};
561
+
520
562
  if (path != undefined) {
521
563
  params.path = path;
522
564
  }
565
+
523
566
  return this.req.get(url, {
524
567
  params: params
525
568
  });
@@ -561,15 +604,16 @@ var SeafileAPI = /*#__PURE__*/function () {
561
604
  var params = {
562
605
  repo_id: repoID
563
606
  };
607
+
564
608
  if (shareTo) {
565
609
  params.share_to = shareTo;
566
610
  }
611
+
567
612
  return this.req.get(url, {
568
613
  params: params
569
614
  });
570
- }
615
+ } // upload-link
571
616
 
572
- // upload-link
573
617
  }, {
574
618
  key: "listUserUploadLinks",
575
619
  value: function listUserUploadLinks() {
@@ -589,12 +633,15 @@ var SeafileAPI = /*#__PURE__*/function () {
589
633
  var form = new _formData["default"]();
590
634
  form.append('path', path);
591
635
  form.append('repo_id', repoID);
636
+
592
637
  if (password) {
593
638
  form.append('password', password);
594
639
  }
640
+
595
641
  if (expirationTime) {
596
642
  form.append('expiration_time', expirationTime);
597
643
  }
644
+
598
645
  return this._sendPostRequest(url, form);
599
646
  }
600
647
  }, {
@@ -624,9 +671,11 @@ var SeafileAPI = /*#__PURE__*/function () {
624
671
  var form = new _formData["default"]();
625
672
  form.append('token', token);
626
673
  form.append('email', email);
674
+
627
675
  if (extraMsg) {
628
676
  form.append('extra_msg', extraMsg);
629
677
  }
678
+
630
679
  return this._sendPostRequest(url, form);
631
680
  }
632
681
  }, {
@@ -640,11 +689,9 @@ var SeafileAPI = /*#__PURE__*/function () {
640
689
  value: function deleteRepoUploadLink(repoID, token) {
641
690
  var url = this.server + '/api/v2.1/repos/' + repoID + '/upload-links/' + token + '/';
642
691
  return this.req["delete"](url);
643
- }
644
-
645
- // todo send upload link email
646
-
692
+ } // todo send upload link email
647
693
  // shared-libraries
694
+
648
695
  }, {
649
696
  key: "listSharedItems",
650
697
  value: function listSharedItems(repoID, path, shareType) {
@@ -668,11 +715,9 @@ var SeafileAPI = /*#__PURE__*/function () {
668
715
  return this.req["delete"](url, {
669
716
  params: options
670
717
  });
671
- }
672
-
673
- // share repo to user is same to share Folder
674
-
718
+ } // share repo to user is same to share Folder
675
719
  // unshare repo to user is same to unshare Folder
720
+
676
721
  }, {
677
722
  key: "deleteShareToUserItem",
678
723
  value: function deleteShareToUserItem(repoID, path, shareType, username) {
@@ -688,11 +733,9 @@ var SeafileAPI = /*#__PURE__*/function () {
688
733
  var form = new _formData["default"]();
689
734
  form.append('permission', permission);
690
735
  return this._sendPostRequest(url, form);
691
- }
692
-
693
- // share repo to group is same to share folder
694
-
736
+ } // share repo to group is same to share folder
695
737
  // unshare repo to group is same to unshare folder
738
+
696
739
  }, {
697
740
  key: "deleteShareToGroupItem",
698
741
  value: function deleteShareToGroupItem(repoID, path, shareType, groupID) {
@@ -746,9 +789,8 @@ var SeafileAPI = /*#__PURE__*/function () {
746
789
  value: function unshareRepoToGroup(repoID, groupID) {
747
790
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/' + repoID + '/';
748
791
  return this.req["delete"](url);
749
- }
792
+ } // shared folders
750
793
 
751
- // shared folders
752
794
  }, {
753
795
  key: "shareFolder",
754
796
  value: function shareFolder(repoID, path, shareType, permission, paramArray) {
@@ -757,6 +799,7 @@ var SeafileAPI = /*#__PURE__*/function () {
757
799
  var form = new _formData["default"]();
758
800
  form.append('share_type', shareType);
759
801
  form.append('permission', permission);
802
+
760
803
  if (shareType == 'user') {
761
804
  for (var i = 0; i < paramArray.length; i++) {
762
805
  form.append('username', paramArray[i]);
@@ -766,6 +809,7 @@ var SeafileAPI = /*#__PURE__*/function () {
766
809
  form.append('group_id', paramArray[_i]);
767
810
  }
768
811
  }
812
+
769
813
  var url = this.server + '/api2/repos/' + repoID + '/dir/shared_items/?p=' + path;
770
814
  return this.req.put(url, form);
771
815
  }
@@ -830,9 +874,8 @@ var SeafileAPI = /*#__PURE__*/function () {
830
874
  permission: JSON.stringify(permission.permission)
831
875
  };
832
876
  return this.req.put(url, data);
833
- }
877
+ } //---- repo(library) operation
834
878
 
835
- //---- repo(library) operation
836
879
  }, {
837
880
  key: "createMineRepo",
838
881
  value: function createMineRepo(repo) {
@@ -845,13 +888,17 @@ var SeafileAPI = /*#__PURE__*/function () {
845
888
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
846
889
  var form = new _formData["default"]();
847
890
  form.append('repo_name', repo.repo_name);
891
+
848
892
  if (repo.password) {
849
893
  form.append('password', repo.password);
850
894
  }
895
+
851
896
  form.append('permission', repo.permission);
897
+
852
898
  if (repo.library_template) {
853
899
  form.append('library_template', repo.library_template);
854
900
  }
901
+
855
902
  return this._sendPostRequest(url, form);
856
903
  }
857
904
  }, {
@@ -861,15 +908,18 @@ var SeafileAPI = /*#__PURE__*/function () {
861
908
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
862
909
  */
863
910
  var url = this.server + '/api/v2.1/repos/';
911
+
864
912
  if (!options) {
865
913
  // fetch all types of repos
866
914
  return this.req.get(url);
867
915
  }
916
+
868
917
  return this.req.get(url, {
869
918
  params: options,
870
919
  paramsSerializer: {
871
920
  serialize: function serialize(params) {
872
921
  var list = [];
922
+
873
923
  for (var key in params) {
874
924
  if (Array.isArray(params[key])) {
875
925
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -879,6 +929,7 @@ var SeafileAPI = /*#__PURE__*/function () {
879
929
  list.push(key + '=' + encodeURIComponent(params[key]));
880
930
  }
881
931
  }
932
+
882
933
  return list.join('&');
883
934
  }
884
935
  }
@@ -963,9 +1014,8 @@ var SeafileAPI = /*#__PURE__*/function () {
963
1014
  // todo change a exist repo to public
964
1015
  var url = this.server + '/api/v2.1/shared-repos/' + repoID + '/';
965
1016
  return this.req.put(url, options);
966
- }
1017
+ } // remove public repo is same to unshareRepo;
967
1018
 
968
- // remove public repo is same to unshareRepo;
969
1019
  }, {
970
1020
  key: "getSource",
971
1021
  value: function getSource() {
@@ -993,56 +1043,73 @@ var SeafileAPI = /*#__PURE__*/function () {
993
1043
  value: function searchFiles(searchParams, cancelToken) {
994
1044
  var url = this.server + '/api2/search/';
995
1045
  url = url + '?q=' + searchParams.q;
1046
+
996
1047
  if (searchParams.search_repo) {
997
1048
  url = url + '&search_repo=' + searchParams.search_repo;
998
1049
  }
1050
+
999
1051
  if (searchParams.search_ftypes) {
1000
1052
  url = url + '&search_ftypes=' + searchParams.search_ftypes;
1001
1053
  }
1054
+
1002
1055
  if (searchParams.page) {
1003
1056
  url = url + '&page=' + searchParams.page;
1004
1057
  }
1058
+
1005
1059
  if (searchParams.per_page) {
1006
1060
  url = url + '&per_page=' + searchParams.per_page;
1007
1061
  }
1062
+
1008
1063
  if (searchParams.search_path) {
1009
1064
  url = url + '&search_path=' + searchParams.search_path;
1010
1065
  }
1066
+
1011
1067
  if (searchParams.obj_type) {
1012
1068
  url = url + '&obj_type=' + searchParams.obj_type;
1013
1069
  }
1070
+
1014
1071
  if (searchParams.input_fexts) {
1015
1072
  url = url + '&input_fexts=' + searchParams.input_fexts;
1016
1073
  }
1074
+
1017
1075
  if (searchParams.with_permission) {
1018
1076
  url = url + '&with_permission=' + searchParams.with_permission;
1019
1077
  }
1078
+
1020
1079
  if (searchParams.time_from) {
1021
1080
  url = url + '&time_from=' + searchParams.time_from;
1022
1081
  }
1082
+
1023
1083
  if (searchParams.time_to) {
1024
1084
  url = url + '&time_to=' + searchParams.time_to;
1025
1085
  }
1086
+
1026
1087
  if (searchParams.size_from) {
1027
1088
  url = url + '&size_from=' + searchParams.size_from;
1028
1089
  }
1090
+
1029
1091
  if (searchParams.size_to) {
1030
1092
  url = url + '&size_to=' + searchParams.size_to;
1031
1093
  }
1094
+
1032
1095
  if (searchParams.shared_from) {
1033
1096
  url = url + '&shared_from=' + searchParams.shared_from;
1034
1097
  }
1098
+
1035
1099
  if (searchParams.not_shared_from) {
1036
1100
  url = url + '&not_shared_from=' + searchParams.not_shared_from;
1037
1101
  }
1102
+
1038
1103
  if (searchParams.search_filename_only) {
1039
1104
  url = url + '&search_filename_only=' + searchParams.search_filename_only;
1040
1105
  }
1106
+
1041
1107
  if (searchParams.ftype) {
1042
1108
  for (var i = 0; i < searchParams.ftype.length; i++) {
1043
1109
  url = url + '&ftype=' + searchParams.ftype[i];
1044
1110
  }
1045
1111
  }
1112
+
1046
1113
  return this.req.get(url, {
1047
1114
  cancelToken: cancelToken
1048
1115
  });
@@ -1087,9 +1154,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1087
1154
  var form = new _formData["default"]();
1088
1155
  form.append('permission', permission);
1089
1156
  return this.req.put(url, form);
1090
- }
1157
+ } //admin
1091
1158
 
1092
- //admin
1093
1159
  }, {
1094
1160
  key: "listDeletedRepo",
1095
1161
  value: function listDeletedRepo() {
@@ -1103,39 +1169,44 @@ var SeafileAPI = /*#__PURE__*/function () {
1103
1169
  var form = new _formData["default"]();
1104
1170
  form.append('repo_id', repoID);
1105
1171
  return this._sendPostRequest(url, form);
1106
- }
1172
+ } //---- directory operation
1107
1173
 
1108
- //---- directory operation
1109
1174
  }, {
1110
1175
  key: "listDir",
1111
1176
  value: function listDir(repoID, dirPath) {
1112
1177
  var _ref4 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
1113
- _ref4$recursive = _ref4.recursive,
1114
- recursive = _ref4$recursive === void 0 ? false : _ref4$recursive,
1115
- _ref4$type = _ref4.type,
1116
- type = _ref4$type === void 0 ? '' : _ref4$type,
1117
- _ref4$with_thumbnail = _ref4.with_thumbnail,
1118
- with_thumbnail = _ref4$with_thumbnail === void 0 ? false : _ref4$with_thumbnail,
1119
- _ref4$with_parents = _ref4.with_parents,
1120
- with_parents = _ref4$with_parents === void 0 ? false : _ref4$with_parents;
1178
+ _ref4$recursive = _ref4.recursive,
1179
+ recursive = _ref4$recursive === void 0 ? false : _ref4$recursive,
1180
+ _ref4$type = _ref4.type,
1181
+ type = _ref4$type === void 0 ? '' : _ref4$type,
1182
+ _ref4$with_thumbnail = _ref4.with_thumbnail,
1183
+ with_thumbnail = _ref4$with_thumbnail === void 0 ? false : _ref4$with_thumbnail,
1184
+ _ref4$with_parents = _ref4.with_parents,
1185
+ with_parents = _ref4$with_parents === void 0 ? false : _ref4$with_parents;
1186
+
1121
1187
  /*
1122
1188
  * opts: `{recursive: true}`, `{'with_thumbnail': true}`
1123
1189
  */
1124
1190
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/';
1125
1191
  var params = {};
1126
1192
  params.p = dirPath;
1193
+
1127
1194
  if (recursive) {
1128
1195
  params.recursive = recursive ? 1 : 0;
1129
1196
  }
1197
+
1130
1198
  if (type) {
1131
1199
  params.t = type;
1132
1200
  }
1201
+
1133
1202
  if (with_thumbnail) {
1134
1203
  params.with_thumbnail = with_thumbnail;
1135
1204
  }
1205
+
1136
1206
  if (with_parents) {
1137
1207
  params.with_parents = with_parents;
1138
1208
  }
1209
+
1139
1210
  return this.req.get(url, {
1140
1211
  params: params
1141
1212
  });
@@ -1145,9 +1216,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1145
1216
  value: function listWikiDir(slug, dirPath, withParents) {
1146
1217
  var path = encodeURIComponent(dirPath);
1147
1218
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path;
1219
+
1148
1220
  if (withParents) {
1149
1221
  url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path + '&with_parents=' + withParents;
1150
1222
  }
1223
+
1151
1224
  return this.req.get(url);
1152
1225
  }
1153
1226
  }, {
@@ -1182,20 +1255,21 @@ var SeafileAPI = /*#__PURE__*/function () {
1182
1255
  var path = encodeURIComponent(dirPath);
1183
1256
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/?p=' + path;
1184
1257
  return this.req["delete"](url);
1185
- }
1258
+ } //---- multiple(File&Folder) operation
1186
1259
 
1187
- //---- multiple(File&Folder) operation
1188
1260
  }, {
1189
1261
  key: "copyDir",
1190
1262
  value: function copyDir(repoID, dstrepoID, dstfilePath, dirPath, direntNames) {
1191
1263
  var paths = [];
1192
1264
  var url = this.server;
1193
1265
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-copy-item/' : '/api/v2.1/repos/async-batch-copy-item/';
1266
+
1194
1267
  if (Array.isArray(direntNames)) {
1195
1268
  paths = direntNames;
1196
1269
  } else {
1197
1270
  paths.push(direntNames);
1198
1271
  }
1272
+
1199
1273
  var operation = {
1200
1274
  'src_repo_id': repoID,
1201
1275
  'src_parent_dir': dirPath,
@@ -1215,11 +1289,13 @@ var SeafileAPI = /*#__PURE__*/function () {
1215
1289
  var paths = [];
1216
1290
  var url = this.server;
1217
1291
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-move-item/' : '/api/v2.1/repos/async-batch-move-item/';
1292
+
1218
1293
  if (Array.isArray(direntNames)) {
1219
1294
  paths = direntNames;
1220
1295
  } else {
1221
1296
  paths.push(direntNames);
1222
1297
  }
1298
+
1223
1299
  var operation = {
1224
1300
  'src_repo_id': repoID,
1225
1301
  'src_parent_dir': dirPath,
@@ -1274,6 +1350,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1274
1350
  var url = this.server + '/api/v2.1/repos/' + repoID + '/zip-task/';
1275
1351
  var form = new _formData["default"]();
1276
1352
  form.append('parent_dir', parent_dir);
1353
+
1277
1354
  if (Array.isArray(dirents)) {
1278
1355
  dirents.forEach(function (item) {
1279
1356
  form.append('dirents', item);
@@ -1281,6 +1358,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1281
1358
  } else {
1282
1359
  form.append('dirents', dirents);
1283
1360
  }
1361
+
1284
1362
  return this._sendPostRequest(url, form);
1285
1363
  }
1286
1364
  }, {
@@ -1296,9 +1374,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1296
1374
  var form = new _formData["default"]();
1297
1375
  form.append('token', zip_token);
1298
1376
  return this.req.post(url, form);
1299
- }
1377
+ } //---- File Operation
1300
1378
 
1301
- //---- File Operation
1302
1379
  }, {
1303
1380
  key: "getFileInfo",
1304
1381
  value: function getFileInfo(repoID, filePath) {
@@ -1363,9 +1440,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1363
1440
  var url = this.server + '/api/v2.1/repos/' + repoID + '/file/?p=' + encodeURIComponent(filePath);
1364
1441
  var form = new _formData["default"]();
1365
1442
  form.append('operation', 'lock');
1443
+
1366
1444
  if (expire != undefined) {
1367
1445
  form.append('expire', expire);
1368
1446
  }
1447
+
1369
1448
  return this.req.put(url, form);
1370
1449
  }
1371
1450
  }, {
@@ -1375,11 +1454,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1375
1454
  var form = new _formData["default"]();
1376
1455
  form.append('operation', 'unlock');
1377
1456
  return this.req.put(url, form);
1378
- }
1379
-
1380
- // move need to add
1381
-
1457
+ } // move need to add
1382
1458
  // copy need to add
1459
+
1383
1460
  }, {
1384
1461
  key: "revertFile",
1385
1462
  value: function revertFile(repoID, path, commitID) {
@@ -1417,9 +1494,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1417
1494
  var path = encodeURIComponent(folderPath);
1418
1495
  var url = this.server + '/api2/repos/' + repoID + '/upload-link/?p=' + path + '&from=web';
1419
1496
  return this.req.get(url);
1420
- }
1497
+ } // for shared folder link with 'can_upload' permission
1421
1498
 
1422
- // for shared folder link with 'can_upload' permission
1423
1499
  }, {
1424
1500
  key: "sharedLinkGetFileUploadUrl",
1425
1501
  value: function sharedLinkGetFileUploadUrl(token, path) {
@@ -1450,9 +1526,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1450
1526
  var url = this.server + '/api/v2.1/share-links/' + token + '/upload/done/';
1451
1527
  var form = new _formData["default"]();
1452
1528
  form.append('file_path', filePath);
1529
+
1453
1530
  if (isDir != undefined) {
1454
1531
  form.append('is_dir', isDir);
1455
1532
  }
1533
+
1456
1534
  return this._sendPostRequest(url, form);
1457
1535
  }
1458
1536
  }, {
@@ -1518,9 +1596,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1518
1596
  value: function getFileRevision(repoID, commitID, filePath) {
1519
1597
  var url = this.server + '/api2/' + 'repos/' + repoID + '/file' + '/revision/?p=' + encodeURIComponent(filePath) + '&commit_id=' + commitID;
1520
1598
  return this.req.get(url);
1521
- }
1599
+ } // file extended properties
1522
1600
 
1523
- // file extended properties
1524
1601
  }, {
1525
1602
  key: "getFileExtendedProperties",
1526
1603
  value: function getFileExtendedProperties(repoID, path) {
@@ -1558,9 +1635,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1558
1635
  var form = new _formData["default"]();
1559
1636
  form.append('path', path);
1560
1637
  return this.req.post(url, form);
1561
- }
1638
+ } // file commit api
1562
1639
 
1563
- // file commit api
1564
1640
  }, {
1565
1641
  key: "deleteComment",
1566
1642
  value: function deleteComment(repoID, commentID) {
@@ -1572,9 +1648,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1572
1648
  value: function listComments(repoID, filePath, resolved) {
1573
1649
  var path = encodeURIComponent(filePath);
1574
1650
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1651
+
1575
1652
  if (resolved) {
1576
1653
  url = url + '&resolved=' + resolved;
1577
1654
  }
1655
+
1578
1656
  return this.req.get(url);
1579
1657
  }
1580
1658
  }, {
@@ -1584,9 +1662,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1584
1662
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1585
1663
  var form = new _formData["default"]();
1586
1664
  form.append('comment', comment);
1665
+
1587
1666
  if (detail) {
1588
1667
  form.append('detail', detail);
1589
1668
  }
1669
+
1590
1670
  return this._sendPostRequest(url, form);
1591
1671
  }
1592
1672
  }, {
@@ -1605,9 +1685,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1605
1685
  if (detail) params.detail = detail;
1606
1686
  if (comment) params.comment = comment;
1607
1687
  return this.req.put(url, params);
1608
- }
1688
+ } // starred
1609
1689
 
1610
- // starred
1611
1690
  }, {
1612
1691
  key: "listStarredItems",
1613
1692
  value: function listStarredItems() {
@@ -1642,10 +1721,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1642
1721
  value: function unMonitorRepo(repoID) {
1643
1722
  var url = this.server + '/api/v2.1/monitored-repos/' + repoID + '/';
1644
1723
  return this.req["delete"](url);
1645
- }
1646
-
1647
- //---- tags module api
1724
+ } //---- tags module api
1648
1725
  // repo tags
1726
+
1649
1727
  }, {
1650
1728
  key: "listRepoTags",
1651
1729
  value: function listRepoTags(repoID) {
@@ -1691,9 +1769,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1691
1769
  value: function listTaggedFiles(repoID, repoTagId) {
1692
1770
  var url = this.server + '/api/v2.1/repos/' + repoID + '/tagged-files/' + repoTagId + '/';
1693
1771
  return this.req.get(url);
1694
- }
1772
+ } // file tag api
1695
1773
 
1696
- // file tag api
1697
1774
  }, {
1698
1775
  key: "listFileTags",
1699
1776
  value: function listFileTags(repoID, filePath) {
@@ -1722,11 +1799,12 @@ var SeafileAPI = /*#__PURE__*/function () {
1722
1799
  var url = this.server + '/api/v2.1/share-links/' + sharedToken + '/save-file-to-repo/';
1723
1800
  var form = new _formData["default"]();
1724
1801
  form.append('dst_repo_id', repoID);
1725
- form.append('dst_parent_dir', dstPath);
1726
- // for file in shared dir
1802
+ form.append('dst_parent_dir', dstPath); // for file in shared dir
1803
+
1727
1804
  if (filePath) {
1728
1805
  form.append('path', filePath);
1729
1806
  }
1807
+
1730
1808
  return this._sendPostRequest(url, form);
1731
1809
  }
1732
1810
  }, {
@@ -1783,17 +1861,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1783
1861
  var time = new Date().getTime();
1784
1862
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/content/' + '?p=' + path + '&_=' + time;
1785
1863
  return this.req.get(url);
1786
- }
1864
+ } //---- Avatar API
1787
1865
 
1788
- //---- Avatar API
1789
1866
  }, {
1790
1867
  key: "getUserAvatar",
1791
1868
  value: function getUserAvatar(user, size) {
1792
1869
  var url = this.server + '/api2/avatars/user/' + encodeURIComponent(user) + '/resized/' + size + '/';
1793
1870
  return this.req.get(url);
1794
- }
1871
+ } //---- Notification API
1795
1872
 
1796
- //---- Notification API
1797
1873
  }, {
1798
1874
  key: "listNotifications",
1799
1875
  value: function listNotifications(page, perPage) {
@@ -1831,9 +1907,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1831
1907
  var from = new _formData["default"]();
1832
1908
  from.append('notice_id', noticeId);
1833
1909
  return this.req.put(url, from);
1834
- }
1910
+ } //---- Linked Devices API
1835
1911
 
1836
- //---- Linked Devices API
1837
1912
  }, {
1838
1913
  key: "listLinkedDevices",
1839
1914
  value: function listLinkedDevices() {
@@ -1852,18 +1927,16 @@ var SeafileAPI = /*#__PURE__*/function () {
1852
1927
  return this.req["delete"](url, {
1853
1928
  data: param
1854
1929
  });
1855
- }
1930
+ } //---- Activities API
1856
1931
 
1857
- //---- Activities API
1858
1932
  }, {
1859
1933
  key: "listActivities",
1860
1934
  value: function listActivities(pageNum) {
1861
1935
  var avatarSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 36;
1862
1936
  var url = this.server + '/api/v2.1/activities/?page=' + pageNum + '&avatar_size=' + avatarSize;
1863
1937
  return this.req.get(url);
1864
- }
1938
+ } //---- Thumbnail API
1865
1939
 
1866
- //---- Thumbnail API
1867
1940
  }, {
1868
1941
  key: "createThumbnail",
1869
1942
  value: function createThumbnail(repo_id, path, thumbnail_size) {
@@ -1873,17 +1946,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1873
1946
  'X-Requested-With': 'XMLHttpRequest'
1874
1947
  }
1875
1948
  });
1876
- }
1949
+ } //---- Users API
1877
1950
 
1878
- //---- Users API
1879
1951
  }, {
1880
1952
  key: "searchUsers",
1881
1953
  value: function searchUsers(searchParam) {
1882
1954
  var url = this.server + '/api2/search-user/?q=' + encodeURIComponent(searchParam);
1883
1955
  return this.req.get(url);
1884
- }
1956
+ } //---- wiki module API
1885
1957
 
1886
- //---- wiki module API
1887
1958
  }, {
1888
1959
  key: "listWikis",
1889
1960
  value: function listWikis(options) {
@@ -1891,15 +1962,18 @@ var SeafileAPI = /*#__PURE__*/function () {
1891
1962
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
1892
1963
  */
1893
1964
  var url = this.server + '/api/v2.1/wikis/';
1965
+
1894
1966
  if (!options) {
1895
1967
  // fetch all types of wikis
1896
1968
  return this.req.get(url);
1897
1969
  }
1970
+
1898
1971
  return this.req.get(url, {
1899
1972
  params: options,
1900
1973
  paramsSerializer: {
1901
1974
  serialize: function serialize(params) {
1902
1975
  var list = [];
1976
+
1903
1977
  for (var key in params) {
1904
1978
  if (Array.isArray(params[key])) {
1905
1979
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -1909,6 +1983,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1909
1983
  list.push(key + '=' + encodeURIComponent(params[key]));
1910
1984
  }
1911
1985
  }
1986
+
1912
1987
  return list.join('&');
1913
1988
  }
1914
1989
  }
@@ -1944,9 +2019,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1944
2019
  value: function deleteWiki(slug) {
1945
2020
  var url = this.server + '/api/v2.1/wikis/' + slug + '/';
1946
2021
  return this.req["delete"](url);
1947
- }
2022
+ } //----MetaData API
1948
2023
 
1949
- //----MetaData API
1950
2024
  }, {
1951
2025
  key: "fileMetaData",
1952
2026
  value: function fileMetaData(repoID, filePath) {
@@ -1959,17 +2033,6 @@ var SeafileAPI = /*#__PURE__*/function () {
1959
2033
  var url = this.server + '/api2/repos/' + repoID + '/dir/metadata/?p=' + encodeURIComponent(dirPath);
1960
2034
  return this.req.get(url);
1961
2035
  }
1962
- }, {
1963
- key: "aiSearchFiles",
1964
- value: function aiSearchFiles(searchParams, cancelToken) {
1965
- var url = this.server + '/api/v2.1/ai/search/';
1966
- var form = new _formData["default"]();
1967
- form.append('query', searchParams.q);
1968
- form.append('search_repo', searchParams.search_repo);
1969
- return this.req.post(url, form, {
1970
- cancelToken: cancelToken
1971
- });
1972
- }
1973
2036
  }, {
1974
2037
  key: "orgAdminGetOrgInfo",
1975
2038
  value: function orgAdminGetOrgInfo() {
@@ -2025,15 +2088,19 @@ var SeafileAPI = /*#__PURE__*/function () {
2025
2088
  value: function orgAdminUpdateSamlConfig(orgID, metadataUrl, domain, idpCertificate) {
2026
2089
  var url = this.server + '/api/v2.1/org/' + orgID + '/admin/saml-config/';
2027
2090
  var formData = new _formData["default"]();
2091
+
2028
2092
  if (metadataUrl) {
2029
2093
  formData.append('metadata_url', metadataUrl);
2030
2094
  }
2095
+
2031
2096
  if (domain) {
2032
2097
  formData.append('domain', domain);
2033
2098
  }
2099
+
2034
2100
  if (idpCertificate) {
2035
2101
  formData.append('idp_certificate', idpCertificate);
2036
2102
  }
2103
+
2037
2104
  return this.req.put(url, formData);
2038
2105
  }
2039
2106
  }, {
@@ -2158,10 +2225,12 @@ var SeafileAPI = /*#__PURE__*/function () {
2158
2225
  is_staff: isStaff,
2159
2226
  page: page
2160
2227
  };
2228
+
2161
2229
  if (sortBy) {
2162
2230
  params.order_by = sortBy;
2163
2231
  params.direction = sortOrder;
2164
2232
  }
2233
+
2165
2234
  return this.req.get(url, {
2166
2235
  params: params
2167
2236
  });
@@ -2265,6 +2334,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2265
2334
  value: function orgAdminInviteOrgUsers(orgID, email) {
2266
2335
  var url = this.server + '/api/v2.1/org/' + orgID + '/admin/invite-users/';
2267
2336
  var form = new _formData["default"]();
2337
+
2268
2338
  if (Array.isArray(email)) {
2269
2339
  email.forEach(function (item) {
2270
2340
  form.append('email', item);
@@ -2272,6 +2342,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2272
2342
  } else {
2273
2343
  form.append('email', email);
2274
2344
  }
2345
+
2275
2346
  return this._sendPostRequest(url, form);
2276
2347
  }
2277
2348
  }, {
@@ -2325,9 +2396,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2325
2396
  page: page,
2326
2397
  per_page: perPage
2327
2398
  };
2399
+
2328
2400
  if (orderBy) {
2329
2401
  params.order_by = orderBy;
2330
2402
  }
2403
+
2331
2404
  return this.req.get(url, {
2332
2405
  params: params
2333
2406
  });
@@ -2375,9 +2448,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2375
2448
  value: function orgAdminCleanTrashRepo(orgID) {
2376
2449
  var url = this.server + '/api/v2.1/org/' + orgID + '/admin/trash-libraries/';
2377
2450
  return this.req["delete"](url);
2378
- }
2451
+ } // org links
2379
2452
 
2380
- // org links
2381
2453
  }, {
2382
2454
  key: "orgAdminListOrgLinks",
2383
2455
  value: function orgAdminListOrgLinks(page) {
@@ -2389,9 +2461,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2389
2461
  value: function orgAdminDeleteOrgLink(token) {
2390
2462
  var url = this.server + '/api/v2.1/org/admin/links/' + token + '/';
2391
2463
  return this.req["delete"](url);
2392
- }
2464
+ } // org depart group
2393
2465
 
2394
- // org depart group
2395
2466
  }, {
2396
2467
  key: "orgAdminListDepartGroups",
2397
2468
  value: function orgAdminListDepartGroups(orgID) {
@@ -2411,12 +2482,15 @@ var SeafileAPI = /*#__PURE__*/function () {
2411
2482
  var form = new _formData["default"]();
2412
2483
  form.append('parent_group', parentGroup);
2413
2484
  form.append('group_name', groupName);
2485
+
2414
2486
  if (groupOwner) {
2415
2487
  form.append('group_owner', groupOwner);
2416
2488
  }
2489
+
2417
2490
  if (groupStaff) {
2418
2491
  form.append('group_staff', groupStaff.join(','));
2419
2492
  }
2493
+
2420
2494
  return this._sendPostRequest(url, form);
2421
2495
  }
2422
2496
  }, {
@@ -2488,43 +2562,51 @@ var SeafileAPI = /*#__PURE__*/function () {
2488
2562
  var form = new _formData["default"]();
2489
2563
  form.append('is_admin', isAdmin);
2490
2564
  return this.req.put(url, form);
2491
- }
2565
+ } // org admin logs
2492
2566
 
2493
- // org admin logs
2494
2567
  }, {
2495
2568
  key: "orgAdminListFileAudit",
2496
2569
  value: function orgAdminListFileAudit(email, repoID, page) {
2497
2570
  var url = this.server + '/api/v2.1/org/admin/logs/file-access/?page=' + page;
2571
+
2498
2572
  if (email) {
2499
2573
  url = url + '&email=' + encodeURIComponent(email);
2500
2574
  }
2575
+
2501
2576
  if (repoID) {
2502
2577
  url = url + '&repo_id=' + repoID;
2503
2578
  }
2579
+
2504
2580
  return this.req.get(url);
2505
2581
  }
2506
2582
  }, {
2507
2583
  key: "orgAdminListFileUpdate",
2508
2584
  value: function orgAdminListFileUpdate(email, repoID, page) {
2509
2585
  var url = this.server + '/api/v2.1/org/admin/logs/file-update/?page=' + page;
2586
+
2510
2587
  if (email) {
2511
2588
  url = url + '&email=' + encodeURIComponent(email);
2512
2589
  }
2590
+
2513
2591
  if (repoID) {
2514
2592
  url = url + '&repo_id=' + repoID;
2515
2593
  }
2594
+
2516
2595
  return this.req.get(url);
2517
2596
  }
2518
2597
  }, {
2519
2598
  key: "orgAdminListPermAudit",
2520
2599
  value: function orgAdminListPermAudit(email, repoID, page) {
2521
2600
  var url = this.server + '/api/v2.1/org/admin/logs/repo-permission/?page=' + page;
2601
+
2522
2602
  if (email) {
2523
2603
  url = url + '&email=' + encodeURIComponent(email);
2524
2604
  }
2605
+
2525
2606
  if (repoID) {
2526
2607
  url = url + '&repo_id=' + repoID;
2527
2608
  }
2609
+
2528
2610
  return this.req.get(url);
2529
2611
  }
2530
2612
  }, {
@@ -2560,11 +2642,13 @@ var SeafileAPI = /*#__PURE__*/function () {
2560
2642
  commit_id: commitID,
2561
2643
  path: path,
2562
2644
  doctype: fileType // 'document' or 'spreadsheet'
2563
- };
2564
- // for view of share link
2645
+
2646
+ }; // for view of share link
2647
+
2565
2648
  if (shareToken) {
2566
2649
  params['token'] = shareToken;
2567
2650
  }
2651
+
2568
2652
  return this.req.get(url, {
2569
2653
  headers: {
2570
2654
  'X-Requested-With': 'XMLHttpRequest'
@@ -2618,9 +2702,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2618
2702
  return this.req.get(url, {
2619
2703
  params: params
2620
2704
  });
2621
- }
2705
+ } // get all existing repo snapshot labels of the user
2622
2706
 
2623
- // get all existing repo snapshot labels of the user
2624
2707
  }, {
2625
2708
  key: "getAllRepoSnapshotLabels",
2626
2709
  value: function getAllRepoSnapshotLabels() {
@@ -2654,9 +2737,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2654
2737
  var url = this.server + '/api/v2.1/invitations/batch/';
2655
2738
  var form = new _formData["default"]();
2656
2739
  form.append('type', 'guest');
2740
+
2657
2741
  for (var i = 0; i < emails.length; i++) {
2658
2742
  form.append('accepter', emails[i]);
2659
2743
  }
2744
+
2660
2745
  return this._sendPostRequest(url, form);
2661
2746
  }
2662
2747
  }, {
@@ -2737,23 +2822,28 @@ var SeafileAPI = /*#__PURE__*/function () {
2737
2822
  key: "updateUserInfo",
2738
2823
  value: function updateUserInfo(_ref5) {
2739
2824
  var name = _ref5.name,
2740
- telephone = _ref5.telephone,
2741
- contact_email = _ref5.contact_email,
2742
- list_in_address_book = _ref5.list_in_address_book;
2825
+ telephone = _ref5.telephone,
2826
+ contact_email = _ref5.contact_email,
2827
+ list_in_address_book = _ref5.list_in_address_book;
2743
2828
  var url = this.server + '/api/v2.1/user/';
2744
2829
  var data = {};
2830
+
2745
2831
  if (name != undefined) {
2746
2832
  data.name = name;
2747
2833
  }
2834
+
2748
2835
  if (telephone != undefined) {
2749
2836
  data.telephone = telephone;
2750
2837
  }
2838
+
2751
2839
  if (contact_email != undefined) {
2752
2840
  data.contact_email = contact_email;
2753
2841
  }
2842
+
2754
2843
  if (list_in_address_book != undefined) {
2755
2844
  data.list_in_address_book = list_in_address_book;
2756
2845
  }
2846
+
2757
2847
  return this.req.put(url, data);
2758
2848
  }
2759
2849
  }, {
@@ -2779,9 +2869,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2779
2869
  key: "listUserFolderPerm",
2780
2870
  value: function listUserFolderPerm(repoID, folderPath) {
2781
2871
  var url = this.server + '/api2/repos/' + repoID + '/user-folder-perm/';
2872
+
2782
2873
  if (folderPath) {
2783
2874
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2784
2875
  }
2876
+
2785
2877
  return this.req.get(url);
2786
2878
  }
2787
2879
  }, {
@@ -2791,6 +2883,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2791
2883
  var form = new _formData["default"]();
2792
2884
  form.append('permission', permission);
2793
2885
  form.append('folder_path', folderPath);
2886
+
2794
2887
  if (Array.isArray(userEmail)) {
2795
2888
  userEmail.forEach(function (item) {
2796
2889
  form.append('user_email', item);
@@ -2798,6 +2891,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2798
2891
  } else {
2799
2892
  form.append('user_email', userEmail);
2800
2893
  }
2894
+
2801
2895
  return this._sendPostRequest(url, form);
2802
2896
  }
2803
2897
  }, {
@@ -2827,9 +2921,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2827
2921
  key: "listGroupFolderPerm",
2828
2922
  value: function listGroupFolderPerm(repoID, folderPath) {
2829
2923
  var url = this.server + '/api2/repos/' + repoID + '/group-folder-perm/';
2924
+
2830
2925
  if (folderPath) {
2831
2926
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2832
2927
  }
2928
+
2833
2929
  return this.req.get(url);
2834
2930
  }
2835
2931
  }, {
@@ -2869,9 +2965,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2869
2965
  key: "listDepartmentRepoUserFolderPerm",
2870
2966
  value: function listDepartmentRepoUserFolderPerm(repoID, folderPath) {
2871
2967
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/user-folder-permission/';
2968
+
2872
2969
  if (folderPath) {
2873
2970
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2874
2971
  }
2972
+
2875
2973
  return this.req.get(url);
2876
2974
  }
2877
2975
  }, {
@@ -2881,6 +2979,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2881
2979
  var form = new _formData["default"]();
2882
2980
  form.append('permission', permission);
2883
2981
  form.append('folder_path', folderPath);
2982
+
2884
2983
  if (Array.isArray(userEmail)) {
2885
2984
  userEmail.forEach(function (item) {
2886
2985
  form.append('user_email', item);
@@ -2888,6 +2987,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2888
2987
  } else {
2889
2988
  form.append('user_email', userEmail);
2890
2989
  }
2990
+
2891
2991
  return this._sendPostRequest(url, form);
2892
2992
  }
2893
2993
  }, {
@@ -2917,9 +3017,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2917
3017
  key: "listDepartmentRepoGroupFolderPerm",
2918
3018
  value: function listDepartmentRepoGroupFolderPerm(repoID, folderPath) {
2919
3019
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/group-folder-permission/';
3020
+
2920
3021
  if (folderPath) {
2921
3022
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2922
3023
  }
3024
+
2923
3025
  return this.req.get(url);
2924
3026
  }
2925
3027
  }, {
@@ -2960,9 +3062,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2960
3062
  value: function adminListWorkWeixinDepartments(departmentID) {
2961
3063
  var url = this.server + '/api/v2.1/admin/work-weixin/departments/';
2962
3064
  var params = {};
3065
+
2963
3066
  if (departmentID) {
2964
3067
  params.department_id = departmentID;
2965
3068
  }
3069
+
2966
3070
  return this.req.get(url, {
2967
3071
  params: params
2968
3072
  });
@@ -2996,9 +3100,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2996
3100
  value: function adminListDingtalkDepartments(departmentID) {
2997
3101
  var url = this.server + '/api/v2.1/admin/dingtalk/departments/';
2998
3102
  var params = {};
3103
+
2999
3104
  if (departmentID) {
3000
3105
  params.department_id = departmentID;
3001
3106
  }
3107
+
3002
3108
  return this.req.get(url, {
3003
3109
  params: params
3004
3110
  });
@@ -3058,9 +3164,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3058
3164
  var params = {
3059
3165
  path: path
3060
3166
  };
3167
+
3061
3168
  if (scanStat) {
3062
3169
  params.scan_stat = scanStat;
3063
3170
  }
3171
+
3064
3172
  return this.req.post(url, params);
3065
3173
  }
3066
3174
  }, {
@@ -3155,9 +3263,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3155
3263
  key: "listOCMSharesPrepare",
3156
3264
  value: function listOCMSharesPrepare(repoId) {
3157
3265
  var url = this.server + '/api/v2.1/ocm/shares-prepare/';
3266
+
3158
3267
  if (repoId) {
3159
3268
  url += '?repo_id=' + repoId;
3160
3269
  }
3270
+
3161
3271
  return this.req.get(url);
3162
3272
  }
3163
3273
  }, {
@@ -3280,9 +3390,8 @@ var SeafileAPI = /*#__PURE__*/function () {
3280
3390
  value: function sdocPublishRevision(docUuid) {
3281
3391
  var url = this.server + '/api/v2.1/seadoc/publish-revision/' + docUuid + '/';
3282
3392
  return this.req.post(url);
3283
- }
3393
+ } // admin api
3284
3394
 
3285
- // admin api
3286
3395
  }, {
3287
3396
  key: "sysAdminUploadLicense",
3288
3397
  value: function sysAdminUploadLicense(file) {
@@ -3388,9 +3497,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3388
3497
  page: page,
3389
3498
  per_page: perPage
3390
3499
  };
3500
+
3391
3501
  if (orderBy) {
3392
3502
  params.order_by = orderBy;
3393
3503
  }
3504
+
3394
3505
  return this.req.get(url, {
3395
3506
  params: params
3396
3507
  });
@@ -3682,9 +3793,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3682
3793
  value: function sysAdminAddGroupMember(groupID, emails) {
3683
3794
  var url = this.server + '/api/v2.1/admin/groups/' + groupID + '/members/';
3684
3795
  var form = new _formData["default"]();
3796
+
3685
3797
  for (var i = 0; i < emails.length; i++) {
3686
3798
  form.append('email', emails[i]);
3687
3799
  }
3800
+
3688
3801
  return this._sendPostRequest(url, form);
3689
3802
  }
3690
3803
  }, {
@@ -3794,10 +3907,12 @@ var SeafileAPI = /*#__PURE__*/function () {
3794
3907
  page: page,
3795
3908
  per_page: perPage
3796
3909
  };
3910
+
3797
3911
  if (sortBy) {
3798
3912
  params.order_by = sortBy;
3799
3913
  params.direction = sortOrder;
3800
3914
  }
3915
+
3801
3916
  return this.req.get(url, {
3802
3917
  params: params
3803
3918
  });
@@ -3860,18 +3975,23 @@ var SeafileAPI = /*#__PURE__*/function () {
3860
3975
  value: function sysAdminUpdateOrg(orgID, orgInfo) {
3861
3976
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/';
3862
3977
  var formData = new _formData["default"]();
3978
+
3863
3979
  if (orgInfo.orgName) {
3864
3980
  formData.append('org_name', orgInfo.orgName);
3865
3981
  }
3982
+
3866
3983
  if (orgInfo.maxUserNumber) {
3867
3984
  formData.append('max_user_number', orgInfo.maxUserNumber);
3868
3985
  }
3986
+
3869
3987
  if (orgInfo.quota) {
3870
3988
  formData.append('quota', orgInfo.quota);
3871
3989
  }
3990
+
3872
3991
  if (orgInfo.role) {
3873
3992
  formData.append('role', orgInfo.role);
3874
3993
  }
3994
+
3875
3995
  return this.req.put(url, formData);
3876
3996
  }
3877
3997
  }, {
@@ -3911,23 +4031,29 @@ var SeafileAPI = /*#__PURE__*/function () {
3911
4031
  value: function sysAdminUpdateOrgUser(orgID, email, attribute, value) {
3912
4032
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/users/' + encodeURIComponent(email) + '/';
3913
4033
  var formData = new _formData["default"]();
4034
+
3914
4035
  switch (attribute) {
3915
4036
  case 'active':
3916
4037
  formData.append('active', value);
3917
4038
  break;
4039
+
3918
4040
  case 'is_org_staff':
3919
4041
  formData.append('is_org_staff', value);
3920
4042
  break;
4043
+
3921
4044
  case 'name':
3922
4045
  formData.append('name', value);
3923
4046
  break;
4047
+
3924
4048
  case 'contact_email':
3925
4049
  formData.append('contact_email', value);
3926
4050
  break;
4051
+
3927
4052
  case 'quota_total':
3928
4053
  formData.append('quota_total', value);
3929
4054
  break;
3930
4055
  }
4056
+
3931
4057
  return this.req.put(url, formData);
3932
4058
  }
3933
4059
  }, {
@@ -3968,12 +4094,15 @@ var SeafileAPI = /*#__PURE__*/function () {
3968
4094
  page: page,
3969
4095
  per_page: perPage
3970
4096
  };
4097
+
3971
4098
  if (email != undefined) {
3972
4099
  params.email = email;
3973
4100
  }
4101
+
3974
4102
  if (repoID != undefined) {
3975
4103
  params.repo_id = repoID;
3976
4104
  }
4105
+
3977
4106
  return this.req.get(url, {
3978
4107
  params: params
3979
4108
  });
@@ -4073,13 +4202,16 @@ var SeafileAPI = /*#__PURE__*/function () {
4073
4202
  page: page,
4074
4203
  per_page: perPage
4075
4204
  };
4205
+
4076
4206
  if (isLDAPImported) {
4077
4207
  params.source = 'LDAPImport';
4078
4208
  }
4209
+
4079
4210
  if (sortBy) {
4080
4211
  params.order_by = sortBy;
4081
4212
  params.direction = sortOrder;
4082
4213
  }
4214
+
4083
4215
  return this.req.get(url, {
4084
4216
  params: params
4085
4217
  });
@@ -4117,9 +4249,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4117
4249
  formData.append('email', email);
4118
4250
  formData.append('name', name);
4119
4251
  formData.append('password', password);
4252
+
4120
4253
  if (role) {
4121
4254
  formData.append('role', role);
4122
4255
  }
4256
+
4123
4257
  return this._sendPostRequest(url, formData);
4124
4258
  }
4125
4259
  }, {
@@ -4127,47 +4261,61 @@ var SeafileAPI = /*#__PURE__*/function () {
4127
4261
  value: function sysAdminUpdateUser(email, attribute, value) {
4128
4262
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4129
4263
  var formData = new _formData["default"]();
4264
+
4130
4265
  switch (attribute) {
4131
4266
  case 'password':
4132
4267
  formData.append('password', value);
4133
4268
  break;
4269
+
4134
4270
  case 'is_active':
4135
4271
  formData.append('is_active', value);
4136
4272
  break;
4273
+
4137
4274
  case 'is_staff':
4138
4275
  formData.append('is_staff', value);
4139
4276
  break;
4277
+
4140
4278
  case 'role':
4141
4279
  formData.append('role', value);
4142
4280
  break;
4281
+
4143
4282
  case 'name':
4144
4283
  formData.append('name', value);
4145
4284
  break;
4285
+
4146
4286
  case 'login_id':
4147
4287
  formData.append('login_id', value);
4148
4288
  break;
4289
+
4149
4290
  case 'contact_email':
4150
4291
  formData.append('contact_email', value);
4151
4292
  break;
4293
+
4152
4294
  case 'reference_id':
4153
4295
  formData.append('reference_id', value);
4154
4296
  break;
4297
+
4155
4298
  case 'department':
4156
4299
  formData.append('department', value);
4157
4300
  break;
4301
+
4158
4302
  case 'quota_total':
4159
4303
  formData.append('quota_total', value);
4160
4304
  break;
4305
+
4161
4306
  case 'institution':
4162
4307
  formData.append('institution', value);
4163
4308
  break;
4309
+
4164
4310
  case 'upload_rate_limit':
4165
4311
  formData.append('upload_rate_limit', value);
4166
4312
  break;
4313
+
4167
4314
  case 'download_rate_limit':
4168
4315
  formData.append('download_rate_limit', value);
4169
4316
  break;
4170
4317
  }
4318
+
4171
4319
  return this.req.put(url, formData);
4172
4320
  }
4173
4321
  }, {
@@ -4181,9 +4329,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4181
4329
  value: function sysAdminGetUser(email, avatarSize) {
4182
4330
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4183
4331
  var params = {};
4332
+
4184
4333
  if (avatarSize) {
4185
4334
  params.avatar_size = avatarSize;
4186
4335
  }
4336
+
4187
4337
  return this.req.get(url, {
4188
4338
  params: params
4189
4339
  });
@@ -4411,17 +4561,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4411
4561
  value: function sysAdminDeleteTermAndCondition(termID) {
4412
4562
  var url = this.server + '/api/v2.1/admin/terms-and-conditions/' + termID + '/';
4413
4563
  return this.req["delete"](url);
4414
- }
4564
+ } // patch 7.1
4415
4565
 
4416
- // patch 7.1
4417
4566
  }, {
4418
4567
  key: "listVirusScanRecords",
4419
4568
  value: function listVirusScanRecords(pageNum) {
4420
4569
  var url = this.server + '/api/v2.1/admin/virus-scan-records/?page=' + pageNum;
4421
4570
  return this.req.get(url);
4422
- }
4571
+ } // patch 7.1
4423
4572
 
4424
- // patch 7.1
4425
4573
  }, {
4426
4574
  key: "deleteVirusScanRecord",
4427
4575
  value: function deleteVirusScanRecord(virusID) {
@@ -4436,9 +4584,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4436
4584
  page: page,
4437
4585
  per_page: perPage
4438
4586
  };
4587
+
4439
4588
  if (hasHandled != undefined) {
4440
4589
  params.has_handled = hasHandled;
4441
4590
  }
4591
+
4442
4592
  return this.req.get(url, {
4443
4593
  params: params
4444
4594
  });
@@ -4462,9 +4612,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4462
4612
  value: function batchProcessVirusFiles(virusIDs, operation) {
4463
4613
  var url = this.server + '/api/v2.1/admin/virus-files/batch/';
4464
4614
  var formData = new _formData["default"]();
4615
+
4465
4616
  for (var i = 0; i < virusIDs.length; i++) {
4466
4617
  formData.append('virus_ids', virusIDs[i]);
4467
4618
  }
4619
+
4468
4620
  formData.append('operation', operation);
4469
4621
  return this.req.post(url, formData);
4470
4622
  }
@@ -4557,7 +4709,18 @@ var SeafileAPI = /*#__PURE__*/function () {
4557
4709
  formData.append('file_path', filePath);
4558
4710
  return this._sendPostRequest(url, formData);
4559
4711
  }
4712
+ }, {
4713
+ key: "importSdoc",
4714
+ value: function importSdoc(file, repoID, parentDir) {
4715
+ var url = this.server + '/api/v2.1/seadoc/import/' + repoID + '/';
4716
+ var formData = new _formData["default"]();
4717
+ formData.append('file', file);
4718
+ formData.append('parent_dir', parentDir);
4719
+ return this._sendPostRequest(url, formData);
4720
+ }
4560
4721
  }]);
4722
+
4561
4723
  return SeafileAPI;
4562
4724
  }();
4725
+
4563
4726
  exports.SeafileAPI = SeafileAPI;