seafile-js 0.2.220 → 0.2.222

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 +279 -116
  2. package/package.json +2 -2
@@ -1,23 +1,29 @@
1
1
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
+
2
3
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
4
+
3
5
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
6
+
4
7
  import axios from 'axios';
5
8
  import FormData from 'form-data';
9
+
6
10
  var SeafileAPI = /*#__PURE__*/function () {
7
11
  function SeafileAPI() {
8
12
  _classCallCheck(this, SeafileAPI);
9
13
  }
14
+
10
15
  _createClass(SeafileAPI, [{
11
16
  key: "init",
12
17
  value: function init(_ref) {
13
18
  var server = _ref.server,
14
- username = _ref.username,
15
- password = _ref.password,
16
- token = _ref.token;
19
+ username = _ref.username,
20
+ password = _ref.password,
21
+ token = _ref.token;
17
22
  this.server = server;
18
23
  this.username = username;
19
24
  this.password = password;
20
25
  this.token = token; //none
26
+
21
27
  if (this.token && this.server) {
22
28
  this.req = axios.create({
23
29
  baseURL: this.server,
@@ -26,19 +32,22 @@ var SeafileAPI = /*#__PURE__*/function () {
26
32
  }
27
33
  });
28
34
  }
35
+
29
36
  return this;
30
37
  }
31
38
  }, {
32
39
  key: "initForSeahubUsage",
33
40
  value: function initForSeahubUsage(_ref2) {
34
41
  var siteRoot = _ref2.siteRoot,
35
- xcsrfHeaders = _ref2.xcsrfHeaders;
42
+ xcsrfHeaders = _ref2.xcsrfHeaders;
43
+
36
44
  if (siteRoot && siteRoot.charAt(siteRoot.length - 1) === '/') {
37
45
  var server = siteRoot.substring(0, siteRoot.length - 1);
38
46
  this.server = server;
39
47
  } else {
40
48
  this.server = siteRoot;
41
49
  }
50
+
42
51
  this.req = axios.create({
43
52
  headers: {
44
53
  'X-CSRFToken': xcsrfHeaders
@@ -61,6 +70,7 @@ var SeafileAPI = /*#__PURE__*/function () {
61
70
  key: "getToken",
62
71
  value: function getToken() {
63
72
  var _this = this;
73
+
64
74
  var url = this.server + '/api2/auth-token/';
65
75
  axios.post(url, {
66
76
  username: this.username,
@@ -88,14 +98,15 @@ var SeafileAPI = /*#__PURE__*/function () {
88
98
  var url = this.server + '/api/v2.1/auth-token-by-session/';
89
99
  return this.req["delete"](url);
90
100
  }
91
-
92
101
  /**
93
102
  * Login to server and create axios instance for future usage
94
103
  */
104
+
95
105
  }, {
96
106
  key: "login",
97
107
  value: function login() {
98
108
  var _this2 = this;
109
+
99
110
  var url = this.server + '/api2/auth-token/';
100
111
  return axios.post(url, {
101
112
  username: this.username,
@@ -115,17 +126,15 @@ var SeafileAPI = /*#__PURE__*/function () {
115
126
  value: function authPing() {
116
127
  var url = this.server + '/api2/auth/ping/';
117
128
  return this.req.get(url);
118
- }
129
+ } //---- Account API
119
130
 
120
- //---- Account API
121
131
  }, {
122
132
  key: "getAccountInfo",
123
133
  value: function getAccountInfo() {
124
134
  var url = this.server + '/api2/account/info/';
125
135
  return this.req.get(url);
126
- }
136
+ } //---- Group operation
127
137
 
128
- //---- Group operation
129
138
  }, {
130
139
  key: "listDepartments",
131
140
  value: function listDepartments() {
@@ -149,12 +158,15 @@ var SeafileAPI = /*#__PURE__*/function () {
149
158
  value: function listGroupRepos(groupID, page, perPage) {
150
159
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
151
160
  var params = {};
161
+
152
162
  if (page != undefined) {
153
163
  params.page = page;
154
164
  }
165
+
155
166
  if (perPage != undefined) {
156
167
  params.per_page = perPage;
157
168
  }
169
+
158
170
  return this.req.get(url, {
159
171
  params: params
160
172
  });
@@ -281,13 +293,17 @@ var SeafileAPI = /*#__PURE__*/function () {
281
293
  var url = this.server + '/api/v2.1/groups/' + groupID + '/group-owned-libraries/';
282
294
  var form = new FormData();
283
295
  form.append('name', repoName); // need to modify endpoint api;
296
+
284
297
  if (repo.passwd) {
285
298
  form.append('passwd', repo.passwd);
286
299
  }
300
+
287
301
  form.append('permission', permission);
302
+
288
303
  if (repo.library_template) {
289
304
  form.append('library_template', repo.library_template);
290
305
  }
306
+
291
307
  return this._sendPostRequest(url, form);
292
308
  }
293
309
  }, {
@@ -311,6 +327,7 @@ var SeafileAPI = /*#__PURE__*/function () {
311
327
  var form = new FormData();
312
328
  form.append('permission', permission);
313
329
  form.append('path', path);
330
+
314
331
  if (Array.isArray(username)) {
315
332
  username.forEach(function (item) {
316
333
  form.append('username', item);
@@ -318,6 +335,7 @@ var SeafileAPI = /*#__PURE__*/function () {
318
335
  } else {
319
336
  form.append('username', username);
320
337
  }
338
+
321
339
  return this._sendPostRequest(url, form);
322
340
  }
323
341
  }, {
@@ -350,6 +368,7 @@ var SeafileAPI = /*#__PURE__*/function () {
350
368
  var form = new FormData();
351
369
  form.append('permission', permission);
352
370
  form.append('path', path);
371
+
353
372
  if (Array.isArray(groupID)) {
354
373
  groupID.forEach(function (item) {
355
374
  form.append('group_id', item);
@@ -357,6 +376,7 @@ var SeafileAPI = /*#__PURE__*/function () {
357
376
  } else {
358
377
  form.append('group_id', groupID);
359
378
  }
379
+
360
380
  return this._sendPostRequest(url, form);
361
381
  }
362
382
  }, {
@@ -381,11 +401,9 @@ var SeafileAPI = /*#__PURE__*/function () {
381
401
  return this.req["delete"](url, {
382
402
  data: params
383
403
  });
384
- }
385
-
386
- //---- share operation
387
-
404
+ } //---- share operation
388
405
  // share-link
406
+
389
407
  }, {
390
408
  key: "listUserShareLinks",
391
409
  value: function listUserShareLinks() {
@@ -407,15 +425,19 @@ var SeafileAPI = /*#__PURE__*/function () {
407
425
  var form = new FormData();
408
426
  form.append('path', path);
409
427
  form.append('repo_id', repoID);
428
+
410
429
  if (permissions) {
411
430
  form.append('permissions', permissions);
412
431
  }
432
+
413
433
  if (password) {
414
434
  form.append('password', password);
415
435
  }
436
+
416
437
  if (expirationTime) {
417
438
  form.append('expiration_time', expirationTime);
418
439
  }
440
+
419
441
  return this._sendPostRequest(url, form);
420
442
  }
421
443
  }, {
@@ -427,12 +449,15 @@ var SeafileAPI = /*#__PURE__*/function () {
427
449
  form.append('repo_id', repoID);
428
450
  form.append('number', shareLinkNum);
429
451
  form.append('auto_generate_password', autoGeneratePassword);
452
+
430
453
  if (permissions) {
431
454
  form.append('permissions', permissions);
432
455
  }
456
+
433
457
  if (expirationTime) {
434
458
  form.append('expiration_time', expirationTime);
435
459
  }
460
+
436
461
  return this._sendPostRequest(url, form);
437
462
  }
438
463
  }, {
@@ -442,15 +467,19 @@ var SeafileAPI = /*#__PURE__*/function () {
442
467
  var form = new FormData();
443
468
  form.append('path', path);
444
469
  form.append('repo_id', repoID);
470
+
445
471
  if (permissions) {
446
472
  form.append('permissions', permissions);
447
473
  }
474
+
448
475
  if (password) {
449
476
  form.append('password', password);
450
477
  }
478
+
451
479
  if (expirationTime) {
452
480
  form.append('expiration_time', expirationTime);
453
481
  }
482
+
454
483
  return this._sendPostRequest(url, form);
455
484
  }
456
485
  }, {
@@ -459,12 +488,15 @@ var SeafileAPI = /*#__PURE__*/function () {
459
488
  var expirationTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
460
489
  var url = this.server + '/api/v2.1/share-links/' + token + '/';
461
490
  var form = new FormData();
491
+
462
492
  if (permissions) {
463
493
  form.append('permissions', permissions);
464
494
  }
495
+
465
496
  if (expirationTime) {
466
497
  form.append('expiration_time', expirationTime);
467
498
  }
499
+
468
500
  return this.req.put(url, form);
469
501
  }
470
502
  }, {
@@ -497,21 +529,24 @@ var SeafileAPI = /*#__PURE__*/function () {
497
529
  var form = new FormData();
498
530
  form.append('token', token);
499
531
  form.append('email', email);
532
+
500
533
  if (extraMsg) {
501
534
  form.append('extra_msg', extraMsg);
502
535
  }
536
+
503
537
  return this._sendPostRequest(url, form);
504
- }
538
+ } // for repo & folder
505
539
 
506
- // for repo & folder
507
540
  }, {
508
541
  key: "getRepoFolderShareInfo",
509
542
  value: function getRepoFolderShareInfo(repoID, path) {
510
543
  var url = this.server + '/api/v2.1/repos/' + repoID + '/share-info/';
511
544
  var params = {};
545
+
512
546
  if (path != undefined) {
513
547
  params.path = path;
514
548
  }
549
+
515
550
  return this.req.get(url, {
516
551
  params: params
517
552
  });
@@ -553,15 +588,16 @@ var SeafileAPI = /*#__PURE__*/function () {
553
588
  var params = {
554
589
  repo_id: repoID
555
590
  };
591
+
556
592
  if (shareTo) {
557
593
  params.share_to = shareTo;
558
594
  }
595
+
559
596
  return this.req.get(url, {
560
597
  params: params
561
598
  });
562
- }
599
+ } // upload-link
563
600
 
564
- // upload-link
565
601
  }, {
566
602
  key: "listUserUploadLinks",
567
603
  value: function listUserUploadLinks() {
@@ -581,12 +617,15 @@ var SeafileAPI = /*#__PURE__*/function () {
581
617
  var form = new FormData();
582
618
  form.append('path', path);
583
619
  form.append('repo_id', repoID);
620
+
584
621
  if (password) {
585
622
  form.append('password', password);
586
623
  }
624
+
587
625
  if (expirationTime) {
588
626
  form.append('expiration_time', expirationTime);
589
627
  }
628
+
590
629
  return this._sendPostRequest(url, form);
591
630
  }
592
631
  }, {
@@ -616,9 +655,11 @@ var SeafileAPI = /*#__PURE__*/function () {
616
655
  var form = new FormData();
617
656
  form.append('token', token);
618
657
  form.append('email', email);
658
+
619
659
  if (extraMsg) {
620
660
  form.append('extra_msg', extraMsg);
621
661
  }
662
+
622
663
  return this._sendPostRequest(url, form);
623
664
  }
624
665
  }, {
@@ -632,11 +673,9 @@ var SeafileAPI = /*#__PURE__*/function () {
632
673
  value: function deleteRepoUploadLink(repoID, token) {
633
674
  var url = this.server + '/api/v2.1/repos/' + repoID + '/upload-links/' + token + '/';
634
675
  return this.req["delete"](url);
635
- }
636
-
637
- // todo send upload link email
638
-
676
+ } // todo send upload link email
639
677
  // shared-libraries
678
+
640
679
  }, {
641
680
  key: "listSharedItems",
642
681
  value: function listSharedItems(repoID, path, shareType) {
@@ -660,11 +699,9 @@ var SeafileAPI = /*#__PURE__*/function () {
660
699
  return this.req["delete"](url, {
661
700
  params: options
662
701
  });
663
- }
664
-
665
- // share repo to user is same to share Folder
666
-
702
+ } // share repo to user is same to share Folder
667
703
  // unshare repo to user is same to unshare Folder
704
+
668
705
  }, {
669
706
  key: "deleteShareToUserItem",
670
707
  value: function deleteShareToUserItem(repoID, path, shareType, username) {
@@ -680,11 +717,9 @@ var SeafileAPI = /*#__PURE__*/function () {
680
717
  var form = new FormData();
681
718
  form.append('permission', permission);
682
719
  return this._sendPostRequest(url, form);
683
- }
684
-
685
- // share repo to group is same to share folder
686
-
720
+ } // share repo to group is same to share folder
687
721
  // unshare repo to group is same to unshare folder
722
+
688
723
  }, {
689
724
  key: "deleteShareToGroupItem",
690
725
  value: function deleteShareToGroupItem(repoID, path, shareType, groupID) {
@@ -738,9 +773,8 @@ var SeafileAPI = /*#__PURE__*/function () {
738
773
  value: function unshareRepoToGroup(repoID, groupID) {
739
774
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/' + repoID + '/';
740
775
  return this.req["delete"](url);
741
- }
776
+ } // shared folders
742
777
 
743
- // shared folders
744
778
  }, {
745
779
  key: "shareFolder",
746
780
  value: function shareFolder(repoID, path, shareType, permission, paramArray) {
@@ -749,6 +783,7 @@ var SeafileAPI = /*#__PURE__*/function () {
749
783
  var form = new FormData();
750
784
  form.append('share_type', shareType);
751
785
  form.append('permission', permission);
786
+
752
787
  if (shareType == 'user') {
753
788
  for (var i = 0; i < paramArray.length; i++) {
754
789
  form.append('username', paramArray[i]);
@@ -758,6 +793,7 @@ var SeafileAPI = /*#__PURE__*/function () {
758
793
  form.append('group_id', paramArray[_i]);
759
794
  }
760
795
  }
796
+
761
797
  var url = this.server + '/api2/repos/' + repoID + '/dir/shared_items/?p=' + path;
762
798
  return this.req.put(url, form);
763
799
  }
@@ -822,9 +858,8 @@ var SeafileAPI = /*#__PURE__*/function () {
822
858
  permission: JSON.stringify(permission.permission)
823
859
  };
824
860
  return this.req.put(url, data);
825
- }
861
+ } //---- repo(library) operation
826
862
 
827
- //---- repo(library) operation
828
863
  }, {
829
864
  key: "createMineRepo",
830
865
  value: function createMineRepo(repo) {
@@ -837,13 +872,17 @@ var SeafileAPI = /*#__PURE__*/function () {
837
872
  var url = this.server + '/api/v2.1/groups/' + groupID + '/libraries/';
838
873
  var form = new FormData();
839
874
  form.append('repo_name', repo.repo_name);
875
+
840
876
  if (repo.password) {
841
877
  form.append('password', repo.password);
842
878
  }
879
+
843
880
  form.append('permission', repo.permission);
881
+
844
882
  if (repo.library_template) {
845
883
  form.append('library_template', repo.library_template);
846
884
  }
885
+
847
886
  return this._sendPostRequest(url, form);
848
887
  }
849
888
  }, {
@@ -853,15 +892,18 @@ var SeafileAPI = /*#__PURE__*/function () {
853
892
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
854
893
  */
855
894
  var url = this.server + '/api/v2.1/repos/';
895
+
856
896
  if (!options) {
857
897
  // fetch all types of repos
858
898
  return this.req.get(url);
859
899
  }
900
+
860
901
  return this.req.get(url, {
861
902
  params: options,
862
903
  paramsSerializer: {
863
904
  serialize: function serialize(params) {
864
905
  var list = [];
906
+
865
907
  for (var key in params) {
866
908
  if (Array.isArray(params[key])) {
867
909
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -871,6 +913,7 @@ var SeafileAPI = /*#__PURE__*/function () {
871
913
  list.push(key + '=' + encodeURIComponent(params[key]));
872
914
  }
873
915
  }
916
+
874
917
  return list.join('&');
875
918
  }
876
919
  }
@@ -955,9 +998,8 @@ var SeafileAPI = /*#__PURE__*/function () {
955
998
  // todo change a exist repo to public
956
999
  var url = this.server + '/api/v2.1/shared-repos/' + repoID + '/';
957
1000
  return this.req.put(url, options);
958
- }
1001
+ } // remove public repo is same to unshareRepo;
959
1002
 
960
- // remove public repo is same to unshareRepo;
961
1003
  }, {
962
1004
  key: "getSource",
963
1005
  value: function getSource() {
@@ -985,56 +1027,73 @@ var SeafileAPI = /*#__PURE__*/function () {
985
1027
  value: function searchFiles(searchParams, cancelToken) {
986
1028
  var url = this.server + '/api2/search/';
987
1029
  url = url + '?q=' + searchParams.q;
1030
+
988
1031
  if (searchParams.search_repo) {
989
1032
  url = url + '&search_repo=' + searchParams.search_repo;
990
1033
  }
1034
+
991
1035
  if (searchParams.search_ftypes) {
992
1036
  url = url + '&search_ftypes=' + searchParams.search_ftypes;
993
1037
  }
1038
+
994
1039
  if (searchParams.page) {
995
1040
  url = url + '&page=' + searchParams.page;
996
1041
  }
1042
+
997
1043
  if (searchParams.per_page) {
998
1044
  url = url + '&per_page=' + searchParams.per_page;
999
1045
  }
1046
+
1000
1047
  if (searchParams.search_path) {
1001
1048
  url = url + '&search_path=' + searchParams.search_path;
1002
1049
  }
1050
+
1003
1051
  if (searchParams.obj_type) {
1004
1052
  url = url + '&obj_type=' + searchParams.obj_type;
1005
1053
  }
1054
+
1006
1055
  if (searchParams.input_fexts) {
1007
1056
  url = url + '&input_fexts=' + searchParams.input_fexts;
1008
1057
  }
1058
+
1009
1059
  if (searchParams.with_permission) {
1010
1060
  url = url + '&with_permission=' + searchParams.with_permission;
1011
1061
  }
1062
+
1012
1063
  if (searchParams.time_from) {
1013
1064
  url = url + '&time_from=' + searchParams.time_from;
1014
1065
  }
1066
+
1015
1067
  if (searchParams.time_to) {
1016
1068
  url = url + '&time_to=' + searchParams.time_to;
1017
1069
  }
1070
+
1018
1071
  if (searchParams.size_from) {
1019
1072
  url = url + '&size_from=' + searchParams.size_from;
1020
1073
  }
1074
+
1021
1075
  if (searchParams.size_to) {
1022
1076
  url = url + '&size_to=' + searchParams.size_to;
1023
1077
  }
1078
+
1024
1079
  if (searchParams.shared_from) {
1025
1080
  url = url + '&shared_from=' + searchParams.shared_from;
1026
1081
  }
1082
+
1027
1083
  if (searchParams.not_shared_from) {
1028
1084
  url = url + '&not_shared_from=' + searchParams.not_shared_from;
1029
1085
  }
1086
+
1030
1087
  if (searchParams.search_filename_only) {
1031
1088
  url = url + '&search_filename_only=' + searchParams.search_filename_only;
1032
1089
  }
1090
+
1033
1091
  if (searchParams.ftype) {
1034
1092
  for (var i = 0; i < searchParams.ftype.length; i++) {
1035
1093
  url = url + '&ftype=' + searchParams.ftype[i];
1036
1094
  }
1037
1095
  }
1096
+
1038
1097
  return this.req.get(url, {
1039
1098
  cancelToken: cancelToken
1040
1099
  });
@@ -1079,9 +1138,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1079
1138
  var form = new FormData();
1080
1139
  form.append('permission', permission);
1081
1140
  return this.req.put(url, form);
1082
- }
1141
+ } //admin
1083
1142
 
1084
- //admin
1085
1143
  }, {
1086
1144
  key: "listDeletedRepo",
1087
1145
  value: function listDeletedRepo() {
@@ -1095,39 +1153,44 @@ var SeafileAPI = /*#__PURE__*/function () {
1095
1153
  var form = new FormData();
1096
1154
  form.append('repo_id', repoID);
1097
1155
  return this._sendPostRequest(url, form);
1098
- }
1156
+ } //---- directory operation
1099
1157
 
1100
- //---- directory operation
1101
1158
  }, {
1102
1159
  key: "listDir",
1103
1160
  value: function listDir(repoID, dirPath) {
1104
1161
  var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
1105
- _ref3$recursive = _ref3.recursive,
1106
- recursive = _ref3$recursive === void 0 ? false : _ref3$recursive,
1107
- _ref3$type = _ref3.type,
1108
- type = _ref3$type === void 0 ? '' : _ref3$type,
1109
- _ref3$with_thumbnail = _ref3.with_thumbnail,
1110
- with_thumbnail = _ref3$with_thumbnail === void 0 ? false : _ref3$with_thumbnail,
1111
- _ref3$with_parents = _ref3.with_parents,
1112
- with_parents = _ref3$with_parents === void 0 ? false : _ref3$with_parents;
1162
+ _ref3$recursive = _ref3.recursive,
1163
+ recursive = _ref3$recursive === void 0 ? false : _ref3$recursive,
1164
+ _ref3$type = _ref3.type,
1165
+ type = _ref3$type === void 0 ? '' : _ref3$type,
1166
+ _ref3$with_thumbnail = _ref3.with_thumbnail,
1167
+ with_thumbnail = _ref3$with_thumbnail === void 0 ? false : _ref3$with_thumbnail,
1168
+ _ref3$with_parents = _ref3.with_parents,
1169
+ with_parents = _ref3$with_parents === void 0 ? false : _ref3$with_parents;
1170
+
1113
1171
  /*
1114
1172
  * opts: `{recursive: true}`, `{'with_thumbnail': true}`
1115
1173
  */
1116
1174
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/';
1117
1175
  var params = {};
1118
1176
  params.p = dirPath;
1177
+
1119
1178
  if (recursive) {
1120
1179
  params.recursive = recursive ? 1 : 0;
1121
1180
  }
1181
+
1122
1182
  if (type) {
1123
1183
  params.t = type;
1124
1184
  }
1185
+
1125
1186
  if (with_thumbnail) {
1126
1187
  params.with_thumbnail = with_thumbnail;
1127
1188
  }
1189
+
1128
1190
  if (with_parents) {
1129
1191
  params.with_parents = with_parents;
1130
1192
  }
1193
+
1131
1194
  return this.req.get(url, {
1132
1195
  params: params
1133
1196
  });
@@ -1137,9 +1200,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1137
1200
  value: function listWikiDir(slug, dirPath, withParents) {
1138
1201
  var path = encodeURIComponent(dirPath);
1139
1202
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path;
1203
+
1140
1204
  if (withParents) {
1141
1205
  url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/dir/?p=' + path + '&with_parents=' + withParents;
1142
1206
  }
1207
+
1143
1208
  return this.req.get(url);
1144
1209
  }
1145
1210
  }, {
@@ -1174,20 +1239,21 @@ var SeafileAPI = /*#__PURE__*/function () {
1174
1239
  var path = encodeURIComponent(dirPath);
1175
1240
  var url = this.server + '/api/v2.1/repos/' + repoID + '/dir/?p=' + path;
1176
1241
  return this.req["delete"](url);
1177
- }
1242
+ } //---- multiple(File&Folder) operation
1178
1243
 
1179
- //---- multiple(File&Folder) operation
1180
1244
  }, {
1181
1245
  key: "copyDir",
1182
1246
  value: function copyDir(repoID, dstrepoID, dstfilePath, dirPath, direntNames) {
1183
1247
  var paths = [];
1184
1248
  var url = this.server;
1185
1249
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-copy-item/' : '/api/v2.1/repos/async-batch-copy-item/';
1250
+
1186
1251
  if (Array.isArray(direntNames)) {
1187
1252
  paths = direntNames;
1188
1253
  } else {
1189
1254
  paths.push(direntNames);
1190
1255
  }
1256
+
1191
1257
  var operation = {
1192
1258
  'src_repo_id': repoID,
1193
1259
  'src_parent_dir': dirPath,
@@ -1207,11 +1273,13 @@ var SeafileAPI = /*#__PURE__*/function () {
1207
1273
  var paths = [];
1208
1274
  var url = this.server;
1209
1275
  url += repoID === dstrepoID ? '/api/v2.1/repos/sync-batch-move-item/' : '/api/v2.1/repos/async-batch-move-item/';
1276
+
1210
1277
  if (Array.isArray(direntNames)) {
1211
1278
  paths = direntNames;
1212
1279
  } else {
1213
1280
  paths.push(direntNames);
1214
1281
  }
1282
+
1215
1283
  var operation = {
1216
1284
  'src_repo_id': repoID,
1217
1285
  'src_parent_dir': dirPath,
@@ -1266,6 +1334,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1266
1334
  var url = this.server + '/api/v2.1/repos/' + repoID + '/zip-task/';
1267
1335
  var form = new FormData();
1268
1336
  form.append('parent_dir', parent_dir);
1337
+
1269
1338
  if (Array.isArray(dirents)) {
1270
1339
  dirents.forEach(function (item) {
1271
1340
  form.append('dirents', item);
@@ -1273,6 +1342,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1273
1342
  } else {
1274
1343
  form.append('dirents', dirents);
1275
1344
  }
1345
+
1276
1346
  return this._sendPostRequest(url, form);
1277
1347
  }
1278
1348
  }, {
@@ -1288,9 +1358,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1288
1358
  var form = new FormData();
1289
1359
  form.append('token', zip_token);
1290
1360
  return this.req.post(url, form);
1291
- }
1361
+ } //---- File Operation
1292
1362
 
1293
- //---- File Operation
1294
1363
  }, {
1295
1364
  key: "getFileInfo",
1296
1365
  value: function getFileInfo(repoID, filePath) {
@@ -1355,9 +1424,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1355
1424
  var url = this.server + '/api/v2.1/repos/' + repoID + '/file/?p=' + encodeURIComponent(filePath);
1356
1425
  var form = new FormData();
1357
1426
  form.append('operation', 'lock');
1427
+
1358
1428
  if (expire != undefined) {
1359
1429
  form.append('expire', expire);
1360
1430
  }
1431
+
1361
1432
  return this.req.put(url, form);
1362
1433
  }
1363
1434
  }, {
@@ -1367,11 +1438,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1367
1438
  var form = new FormData();
1368
1439
  form.append('operation', 'unlock');
1369
1440
  return this.req.put(url, form);
1370
- }
1371
-
1372
- // move need to add
1373
-
1441
+ } // move need to add
1374
1442
  // copy need to add
1443
+
1375
1444
  }, {
1376
1445
  key: "revertFile",
1377
1446
  value: function revertFile(repoID, path, commitID) {
@@ -1409,9 +1478,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1409
1478
  var path = encodeURIComponent(folderPath);
1410
1479
  var url = this.server + '/api2/repos/' + repoID + '/upload-link/?p=' + path + '&from=web';
1411
1480
  return this.req.get(url);
1412
- }
1481
+ } // for shared folder link with 'can_upload' permission
1413
1482
 
1414
- // for shared folder link with 'can_upload' permission
1415
1483
  }, {
1416
1484
  key: "sharedLinkGetFileUploadUrl",
1417
1485
  value: function sharedLinkGetFileUploadUrl(token, path) {
@@ -1513,9 +1581,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1513
1581
  value: function getNextFileRevision(repoID, currentID, currentFilePath) {
1514
1582
  var url = this.server + '/api2/' + 'repos/' + repoID + '/file' + '/next-revision/' + currentID + '/?p=' + encodeURIComponent(currentFilePath);
1515
1583
  return this.req.get(url);
1516
- }
1584
+ } // file extended properties
1517
1585
 
1518
- // file extended properties
1519
1586
  }, {
1520
1587
  key: "getFileExtendedProperties",
1521
1588
  value: function getFileExtendedProperties(repoID, path) {
@@ -1553,9 +1620,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1553
1620
  var form = new FormData();
1554
1621
  form.append('path', path);
1555
1622
  return this.req.post(url, form);
1556
- }
1623
+ } // file commit api
1557
1624
 
1558
- // file commit api
1559
1625
  }, {
1560
1626
  key: "deleteComment",
1561
1627
  value: function deleteComment(repoID, commentID) {
@@ -1567,9 +1633,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1567
1633
  value: function listComments(repoID, filePath, resolved) {
1568
1634
  var path = encodeURIComponent(filePath);
1569
1635
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1636
+
1570
1637
  if (resolved) {
1571
1638
  url = url + '&resolved=' + resolved;
1572
1639
  }
1640
+
1573
1641
  return this.req.get(url);
1574
1642
  }
1575
1643
  }, {
@@ -1579,9 +1647,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1579
1647
  var url = this.server + '/api2/repos/' + repoID + '/file/comments/?p=' + path;
1580
1648
  var form = new FormData();
1581
1649
  form.append('comment', comment);
1650
+
1582
1651
  if (detail) {
1583
1652
  form.append('detail', detail);
1584
1653
  }
1654
+
1585
1655
  return this._sendPostRequest(url, form);
1586
1656
  }
1587
1657
  }, {
@@ -1600,9 +1670,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1600
1670
  if (detail) params.detail = detail;
1601
1671
  if (comment) params.comment = comment;
1602
1672
  return this.req.put(url, params);
1603
- }
1673
+ } // draft
1604
1674
 
1605
- // draft
1606
1675
  }, {
1607
1676
  key: "getRepoDraftCounts",
1608
1677
  value: function getRepoDraftCounts(repoID) {
@@ -1614,9 +1683,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1614
1683
  value: function listRepoDrafts(repoID) {
1615
1684
  var url = this.server + '/api/v2.1/repo/' + repoID + '/drafts/';
1616
1685
  return this.req.get(url);
1617
- }
1686
+ } // draft operation api
1618
1687
 
1619
- // draft operation api
1620
1688
  }, {
1621
1689
  key: "getDraft",
1622
1690
  value: function getDraft(id) {
@@ -1652,9 +1720,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1652
1720
  operation: 'publish'
1653
1721
  };
1654
1722
  return this.req.put(url, params);
1655
- }
1723
+ } // review api
1656
1724
 
1657
- // review api
1658
1725
  }, {
1659
1726
  key: "listDraftReviewers",
1660
1727
  value: function listDraftReviewers(draftID) {
@@ -1666,9 +1733,11 @@ var SeafileAPI = /*#__PURE__*/function () {
1666
1733
  value: function addDraftReviewers(draftID, reviewers) {
1667
1734
  var url = this.server + '/api/v2.1/drafts/' + draftID + '/reviewer/';
1668
1735
  var form = new FormData();
1736
+
1669
1737
  for (var i = 0; i < reviewers.length; i++) {
1670
1738
  form.append('reviewer', reviewers[i]);
1671
1739
  }
1740
+
1672
1741
  return this._sendPostRequest(url, form);
1673
1742
  }
1674
1743
  }, {
@@ -1676,9 +1745,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1676
1745
  value: function deleteDraftReviewer(draftID, reviewer) {
1677
1746
  var url = this.server + '/api/v2.1/drafts/' + draftID + '/reviewer/?username=' + encodeURIComponent(reviewer);
1678
1747
  return this.req["delete"](url);
1679
- }
1748
+ } // starred
1680
1749
 
1681
- // starred
1682
1750
  }, {
1683
1751
  key: "listStarredItems",
1684
1752
  value: function listStarredItems() {
@@ -1713,10 +1781,9 @@ var SeafileAPI = /*#__PURE__*/function () {
1713
1781
  value: function unMonitorRepo(repoID) {
1714
1782
  var url = this.server + '/api/v2.1/monitored-repos/' + repoID + '/';
1715
1783
  return this.req["delete"](url);
1716
- }
1717
-
1718
- //---- tags module api
1784
+ } //---- tags module api
1719
1785
  // repo tags
1786
+
1720
1787
  }, {
1721
1788
  key: "listRepoTags",
1722
1789
  value: function listRepoTags(repoID) {
@@ -1762,9 +1829,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1762
1829
  value: function listTaggedFiles(repoID, repoTagId) {
1763
1830
  var url = this.server + '/api/v2.1/repos/' + repoID + '/tagged-files/' + repoTagId + '/';
1764
1831
  return this.req.get(url);
1765
- }
1832
+ } // file tag api
1766
1833
 
1767
- // file tag api
1768
1834
  }, {
1769
1835
  key: "listFileTags",
1770
1836
  value: function listFileTags(repoID, filePath) {
@@ -1793,11 +1859,12 @@ var SeafileAPI = /*#__PURE__*/function () {
1793
1859
  var url = this.server + '/api/v2.1/share-links/' + sharedToken + '/save-file-to-repo/';
1794
1860
  var form = new FormData();
1795
1861
  form.append('dst_repo_id', repoID);
1796
- form.append('dst_parent_dir', dstPath);
1797
- // for file in shared dir
1862
+ form.append('dst_parent_dir', dstPath); // for file in shared dir
1863
+
1798
1864
  if (filePath) {
1799
1865
  form.append('path', filePath);
1800
1866
  }
1867
+
1801
1868
  return this._sendPostRequest(url, form);
1802
1869
  }
1803
1870
  }, {
@@ -1854,17 +1921,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1854
1921
  var time = new Date().getTime();
1855
1922
  var url = this.server + '/api/v2.1/wikis/' + encodeURIComponent(slug) + '/content/' + '?p=' + path + '&_=' + time;
1856
1923
  return this.req.get(url);
1857
- }
1924
+ } //---- Avatar API
1858
1925
 
1859
- //---- Avatar API
1860
1926
  }, {
1861
1927
  key: "getUserAvatar",
1862
1928
  value: function getUserAvatar(user, size) {
1863
1929
  var url = this.server + '/api2/avatars/user/' + encodeURIComponent(user) + '/resized/' + size + '/';
1864
1930
  return this.req.get(url);
1865
- }
1931
+ } //---- Notification API
1866
1932
 
1867
- //---- Notification API
1868
1933
  }, {
1869
1934
  key: "listNotifications",
1870
1935
  value: function listNotifications(page, perPage) {
@@ -1902,9 +1967,8 @@ var SeafileAPI = /*#__PURE__*/function () {
1902
1967
  var from = new FormData();
1903
1968
  from.append('notice_id', noticeId);
1904
1969
  return this.req.put(url, from);
1905
- }
1970
+ } //---- Linked Devices API
1906
1971
 
1907
- //---- Linked Devices API
1908
1972
  }, {
1909
1973
  key: "listLinkedDevices",
1910
1974
  value: function listLinkedDevices() {
@@ -1923,18 +1987,16 @@ var SeafileAPI = /*#__PURE__*/function () {
1923
1987
  return this.req["delete"](url, {
1924
1988
  data: param
1925
1989
  });
1926
- }
1990
+ } //---- Activities API
1927
1991
 
1928
- //---- Activities API
1929
1992
  }, {
1930
1993
  key: "listActivities",
1931
1994
  value: function listActivities(pageNum) {
1932
1995
  var avatarSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 36;
1933
1996
  var url = this.server + '/api/v2.1/activities/?page=' + pageNum + '&avatar_size=' + avatarSize;
1934
1997
  return this.req.get(url);
1935
- }
1998
+ } //---- Thumbnail API
1936
1999
 
1937
- //---- Thumbnail API
1938
2000
  }, {
1939
2001
  key: "createThumbnail",
1940
2002
  value: function createThumbnail(repo_id, path, thumbnail_size) {
@@ -1944,17 +2006,15 @@ var SeafileAPI = /*#__PURE__*/function () {
1944
2006
  'X-Requested-With': 'XMLHttpRequest'
1945
2007
  }
1946
2008
  });
1947
- }
2009
+ } //---- Users API
1948
2010
 
1949
- //---- Users API
1950
2011
  }, {
1951
2012
  key: "searchUsers",
1952
2013
  value: function searchUsers(searchParam) {
1953
2014
  var url = this.server + '/api2/search-user/?q=' + encodeURIComponent(searchParam);
1954
2015
  return this.req.get(url);
1955
- }
2016
+ } //---- wiki module API
1956
2017
 
1957
- //---- wiki module API
1958
2018
  }, {
1959
2019
  key: "listWikis",
1960
2020
  value: function listWikis(options) {
@@ -1962,15 +2022,18 @@ var SeafileAPI = /*#__PURE__*/function () {
1962
2022
  * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
1963
2023
  */
1964
2024
  var url = this.server + '/api/v2.1/wikis/';
2025
+
1965
2026
  if (!options) {
1966
2027
  // fetch all types of wikis
1967
2028
  return this.req.get(url);
1968
2029
  }
2030
+
1969
2031
  return this.req.get(url, {
1970
2032
  params: options,
1971
2033
  paramsSerializer: {
1972
2034
  serialize: function serialize(params) {
1973
2035
  var list = [];
2036
+
1974
2037
  for (var key in params) {
1975
2038
  if (Array.isArray(params[key])) {
1976
2039
  for (var i = 0, len = params[key].length; i < len; i++) {
@@ -1980,6 +2043,7 @@ var SeafileAPI = /*#__PURE__*/function () {
1980
2043
  list.push(key + '=' + encodeURIComponent(params[key]));
1981
2044
  }
1982
2045
  }
2046
+
1983
2047
  return list.join('&');
1984
2048
  }
1985
2049
  }
@@ -2015,9 +2079,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2015
2079
  value: function deleteWiki(slug) {
2016
2080
  var url = this.server + '/api/v2.1/wikis/' + slug + '/';
2017
2081
  return this.req["delete"](url);
2018
- }
2082
+ } //----MetaData API
2019
2083
 
2020
- //----MetaData API
2021
2084
  }, {
2022
2085
  key: "fileMetaData",
2023
2086
  value: function fileMetaData(repoID, filePath) {
@@ -2031,9 +2094,9 @@ var SeafileAPI = /*#__PURE__*/function () {
2031
2094
  return this.req.get(url);
2032
2095
  }
2033
2096
  }, {
2034
- key: "similaritySearchFiles",
2035
- value: function similaritySearchFiles(searchParams, cancelToken) {
2036
- var url = this.server + '/api/v2.1/ai/similarity-search-in-library/';
2097
+ key: "aiSearchFiles",
2098
+ value: function aiSearchFiles(searchParams, cancelToken) {
2099
+ var url = this.server + '/api/v2.1/ai/search/';
2037
2100
  var form = new FormData();
2038
2101
  form.append('query', searchParams.q);
2039
2102
  form.append('repo_id', searchParams.search_repo);
@@ -2071,9 +2134,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2071
2134
  value: function queryIndexTaskStatus(taskId) {
2072
2135
  var url = this.server + '/api/v2.1/ai/task-status/?task_id=' + taskId;
2073
2136
  return this.req.get(url);
2074
- }
2137
+ } // single org admin api
2075
2138
 
2076
- // single org admin api
2077
2139
  }, {
2078
2140
  key: "orgAdminGetOrgInfo",
2079
2141
  value: function orgAdminGetOrgInfo() {
@@ -2291,10 +2353,12 @@ var SeafileAPI = /*#__PURE__*/function () {
2291
2353
  is_staff: isStaff,
2292
2354
  page: page
2293
2355
  };
2356
+
2294
2357
  if (sortBy) {
2295
2358
  params.order_by = sortBy;
2296
2359
  params.direction = sortOrder;
2297
2360
  }
2361
+
2298
2362
  return this.req.get(url, {
2299
2363
  params: params
2300
2364
  });
@@ -2393,6 +2457,22 @@ var SeafileAPI = /*#__PURE__*/function () {
2393
2457
  formData.append('file', file);
2394
2458
  return this._sendPostRequest(url, formData);
2395
2459
  }
2460
+ }, {
2461
+ key: "orgAdminInviteOrgUser",
2462
+ value: function orgAdminInviteOrgUser(orgID, email) {
2463
+ var url = this.server + '/api/v2.1/org/' + orgID + '/admin/invite-user/';
2464
+ var form = new FormData();
2465
+
2466
+ if (Array.isArray(email)) {
2467
+ email.forEach(function (item) {
2468
+ form.append('email', item);
2469
+ });
2470
+ } else {
2471
+ form.append('email', email);
2472
+ }
2473
+
2474
+ return this._sendPostRequest(url, form);
2475
+ }
2396
2476
  }, {
2397
2477
  key: "orgAdminSetOrgAdmin",
2398
2478
  value: function orgAdminSetOrgAdmin(orgID, email, isStaff) {
@@ -2437,9 +2517,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2437
2517
  var params = {
2438
2518
  page: page
2439
2519
  };
2520
+
2440
2521
  if (orderBy) {
2441
2522
  params.order_by = orderBy;
2442
2523
  }
2524
+
2443
2525
  return this.req.get(url, {
2444
2526
  params: params
2445
2527
  });
@@ -2457,9 +2539,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2457
2539
  var form = new FormData();
2458
2540
  form.append('email', email);
2459
2541
  return this.req.put(url, form);
2460
- }
2542
+ } // org links
2461
2543
 
2462
- // org links
2463
2544
  }, {
2464
2545
  key: "orgAdminListOrgLinks",
2465
2546
  value: function orgAdminListOrgLinks(page) {
@@ -2471,9 +2552,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2471
2552
  value: function orgAdminDeleteOrgLink(token) {
2472
2553
  var url = this.server + '/api/v2.1/org/admin/links/' + token + '/';
2473
2554
  return this.req["delete"](url);
2474
- }
2555
+ } // org depart group
2475
2556
 
2476
- // org depart group
2477
2557
  }, {
2478
2558
  key: "orgAdminListDepartGroups",
2479
2559
  value: function orgAdminListDepartGroups(orgID) {
@@ -2493,12 +2573,15 @@ var SeafileAPI = /*#__PURE__*/function () {
2493
2573
  var form = new FormData();
2494
2574
  form.append('parent_group', parentGroup);
2495
2575
  form.append('group_name', groupName);
2576
+
2496
2577
  if (groupOwner) {
2497
2578
  form.append('group_owner', groupOwner);
2498
2579
  }
2580
+
2499
2581
  if (groupStaff) {
2500
2582
  form.append('group_staff', groupStaff.join(','));
2501
2583
  }
2584
+
2502
2585
  return this._sendPostRequest(url, form);
2503
2586
  }
2504
2587
  }, {
@@ -2570,43 +2653,51 @@ var SeafileAPI = /*#__PURE__*/function () {
2570
2653
  var form = new FormData();
2571
2654
  form.append('is_admin', isAdmin);
2572
2655
  return this.req.put(url, form);
2573
- }
2656
+ } // org admin logs
2574
2657
 
2575
- // org admin logs
2576
2658
  }, {
2577
2659
  key: "orgAdminListFileAudit",
2578
2660
  value: function orgAdminListFileAudit(email, repoID, page) {
2579
2661
  var url = this.server + '/api/v2.1/org/admin/logs/file-access/?page=' + page;
2662
+
2580
2663
  if (email) {
2581
2664
  url = url + '&email=' + encodeURIComponent(email);
2582
2665
  }
2666
+
2583
2667
  if (repoID) {
2584
2668
  url = url + '&repo_id=' + repoID;
2585
2669
  }
2670
+
2586
2671
  return this.req.get(url);
2587
2672
  }
2588
2673
  }, {
2589
2674
  key: "orgAdminListFileUpdate",
2590
2675
  value: function orgAdminListFileUpdate(email, repoID, page) {
2591
2676
  var url = this.server + '/api/v2.1/org/admin/logs/file-update/?page=' + page;
2677
+
2592
2678
  if (email) {
2593
2679
  url = url + '&email=' + encodeURIComponent(email);
2594
2680
  }
2681
+
2595
2682
  if (repoID) {
2596
2683
  url = url + '&repo_id=' + repoID;
2597
2684
  }
2685
+
2598
2686
  return this.req.get(url);
2599
2687
  }
2600
2688
  }, {
2601
2689
  key: "orgAdminListPermAudit",
2602
2690
  value: function orgAdminListPermAudit(email, repoID, page) {
2603
2691
  var url = this.server + '/api/v2.1/org/admin/logs/repo-permission/?page=' + page;
2692
+
2604
2693
  if (email) {
2605
2694
  url = url + '&email=' + encodeURIComponent(email);
2606
2695
  }
2696
+
2607
2697
  if (repoID) {
2608
2698
  url = url + '&repo_id=' + repoID;
2609
2699
  }
2700
+
2610
2701
  return this.req.get(url);
2611
2702
  }
2612
2703
  }, {
@@ -2642,11 +2733,13 @@ var SeafileAPI = /*#__PURE__*/function () {
2642
2733
  commit_id: commitID,
2643
2734
  path: path,
2644
2735
  doctype: fileType // 'document' or 'spreadsheet'
2645
- };
2646
- // for view of share link
2736
+
2737
+ }; // for view of share link
2738
+
2647
2739
  if (shareToken) {
2648
2740
  params['token'] = shareToken;
2649
2741
  }
2742
+
2650
2743
  return this.req.get(url, {
2651
2744
  headers: {
2652
2745
  'X-Requested-With': 'XMLHttpRequest'
@@ -2700,9 +2793,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2700
2793
  return this.req.get(url, {
2701
2794
  params: params
2702
2795
  });
2703
- }
2796
+ } // get all existing repo snapshot labels of the user
2704
2797
 
2705
- // get all existing repo snapshot labels of the user
2706
2798
  }, {
2707
2799
  key: "getAllRepoSnapshotLabels",
2708
2800
  value: function getAllRepoSnapshotLabels() {
@@ -2736,9 +2828,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2736
2828
  var url = this.server + '/api/v2.1/invitations/batch/';
2737
2829
  var form = new FormData();
2738
2830
  form.append('type', 'guest');
2831
+
2739
2832
  for (var i = 0; i < emails.length; i++) {
2740
2833
  form.append('accepter', emails[i]);
2741
2834
  }
2835
+
2742
2836
  return this._sendPostRequest(url, form);
2743
2837
  }
2744
2838
  }, {
@@ -2819,23 +2913,28 @@ var SeafileAPI = /*#__PURE__*/function () {
2819
2913
  key: "updateUserInfo",
2820
2914
  value: function updateUserInfo(_ref4) {
2821
2915
  var name = _ref4.name,
2822
- telephone = _ref4.telephone,
2823
- contact_email = _ref4.contact_email,
2824
- list_in_address_book = _ref4.list_in_address_book;
2916
+ telephone = _ref4.telephone,
2917
+ contact_email = _ref4.contact_email,
2918
+ list_in_address_book = _ref4.list_in_address_book;
2825
2919
  var url = this.server + '/api/v2.1/user/';
2826
2920
  var data = {};
2921
+
2827
2922
  if (name != undefined) {
2828
2923
  data.name = name;
2829
2924
  }
2925
+
2830
2926
  if (telephone != undefined) {
2831
2927
  data.telephone = telephone;
2832
2928
  }
2929
+
2833
2930
  if (contact_email != undefined) {
2834
2931
  data.contact_email = contact_email;
2835
2932
  }
2933
+
2836
2934
  if (list_in_address_book != undefined) {
2837
2935
  data.list_in_address_book = list_in_address_book;
2838
2936
  }
2937
+
2839
2938
  return this.req.put(url, data);
2840
2939
  }
2841
2940
  }, {
@@ -2861,9 +2960,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2861
2960
  key: "listUserFolderPerm",
2862
2961
  value: function listUserFolderPerm(repoID, folderPath) {
2863
2962
  var url = this.server + '/api2/repos/' + repoID + '/user-folder-perm/';
2963
+
2864
2964
  if (folderPath) {
2865
2965
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2866
2966
  }
2967
+
2867
2968
  return this.req.get(url);
2868
2969
  }
2869
2970
  }, {
@@ -2873,6 +2974,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2873
2974
  var form = new FormData();
2874
2975
  form.append('permission', permission);
2875
2976
  form.append('folder_path', folderPath);
2977
+
2876
2978
  if (Array.isArray(userEmail)) {
2877
2979
  userEmail.forEach(function (item) {
2878
2980
  form.append('user_email', item);
@@ -2880,6 +2982,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2880
2982
  } else {
2881
2983
  form.append('user_email', userEmail);
2882
2984
  }
2985
+
2883
2986
  return this._sendPostRequest(url, form);
2884
2987
  }
2885
2988
  }, {
@@ -2909,9 +3012,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2909
3012
  key: "listGroupFolderPerm",
2910
3013
  value: function listGroupFolderPerm(repoID, folderPath) {
2911
3014
  var url = this.server + '/api2/repos/' + repoID + '/group-folder-perm/';
3015
+
2912
3016
  if (folderPath) {
2913
3017
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2914
3018
  }
3019
+
2915
3020
  return this.req.get(url);
2916
3021
  }
2917
3022
  }, {
@@ -2951,9 +3056,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2951
3056
  key: "listDepartmentRepoUserFolderPerm",
2952
3057
  value: function listDepartmentRepoUserFolderPerm(repoID, folderPath) {
2953
3058
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/user-folder-permission/';
3059
+
2954
3060
  if (folderPath) {
2955
3061
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2956
3062
  }
3063
+
2957
3064
  return this.req.get(url);
2958
3065
  }
2959
3066
  }, {
@@ -2963,6 +3070,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2963
3070
  var form = new FormData();
2964
3071
  form.append('permission', permission);
2965
3072
  form.append('folder_path', folderPath);
3073
+
2966
3074
  if (Array.isArray(userEmail)) {
2967
3075
  userEmail.forEach(function (item) {
2968
3076
  form.append('user_email', item);
@@ -2970,6 +3078,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2970
3078
  } else {
2971
3079
  form.append('user_email', userEmail);
2972
3080
  }
3081
+
2973
3082
  return this._sendPostRequest(url, form);
2974
3083
  }
2975
3084
  }, {
@@ -2999,9 +3108,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2999
3108
  key: "listDepartmentRepoGroupFolderPerm",
3000
3109
  value: function listDepartmentRepoGroupFolderPerm(repoID, folderPath) {
3001
3110
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/group-folder-permission/';
3111
+
3002
3112
  if (folderPath) {
3003
3113
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
3004
3114
  }
3115
+
3005
3116
  return this.req.get(url);
3006
3117
  }
3007
3118
  }, {
@@ -3042,9 +3153,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3042
3153
  value: function adminListWorkWeixinDepartments(departmentID) {
3043
3154
  var url = this.server + '/api/v2.1/admin/work-weixin/departments/';
3044
3155
  var params = {};
3156
+
3045
3157
  if (departmentID) {
3046
3158
  params.department_id = departmentID;
3047
3159
  }
3160
+
3048
3161
  return this.req.get(url, {
3049
3162
  params: params
3050
3163
  });
@@ -3078,9 +3191,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3078
3191
  value: function adminListDingtalkDepartments(departmentID) {
3079
3192
  var url = this.server + '/api/v2.1/admin/dingtalk/departments/';
3080
3193
  var params = {};
3194
+
3081
3195
  if (departmentID) {
3082
3196
  params.department_id = departmentID;
3083
3197
  }
3198
+
3084
3199
  return this.req.get(url, {
3085
3200
  params: params
3086
3201
  });
@@ -3140,9 +3255,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3140
3255
  var params = {
3141
3256
  path: path
3142
3257
  };
3258
+
3143
3259
  if (scanStat) {
3144
3260
  params.scan_stat = scanStat;
3145
3261
  }
3262
+
3146
3263
  return this.req.post(url, params);
3147
3264
  }
3148
3265
  }, {
@@ -3237,9 +3354,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3237
3354
  key: "listOCMSharesPrepare",
3238
3355
  value: function listOCMSharesPrepare(repoId) {
3239
3356
  var url = this.server + '/api/v2.1/ocm/shares-prepare/';
3357
+
3240
3358
  if (repoId) {
3241
3359
  url += '?repo_id=' + repoId;
3242
3360
  }
3361
+
3243
3362
  return this.req.get(url);
3244
3363
  }
3245
3364
  }, {
@@ -3381,9 +3500,8 @@ var SeafileAPI = /*#__PURE__*/function () {
3381
3500
  value: function sdocPublishRevision(docUuid) {
3382
3501
  var url = this.server + '/api/v2.1/seadoc/publish-revision/' + docUuid + '/';
3383
3502
  return this.req.post(url);
3384
- }
3503
+ } // admin api
3385
3504
 
3386
- // admin api
3387
3505
  }, {
3388
3506
  key: "sysAdminUploadLicense",
3389
3507
  value: function sysAdminUploadLicense(file) {
@@ -3489,9 +3607,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3489
3607
  page: page,
3490
3608
  per_page: perPage
3491
3609
  };
3610
+
3492
3611
  if (orderBy) {
3493
3612
  params.order_by = orderBy;
3494
3613
  }
3614
+
3495
3615
  return this.req.get(url, {
3496
3616
  params: params
3497
3617
  });
@@ -3783,9 +3903,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3783
3903
  value: function sysAdminAddGroupMember(groupID, emails) {
3784
3904
  var url = this.server + '/api/v2.1/admin/groups/' + groupID + '/members/';
3785
3905
  var form = new FormData();
3906
+
3786
3907
  for (var i = 0; i < emails.length; i++) {
3787
3908
  form.append('email', emails[i]);
3788
3909
  }
3910
+
3789
3911
  return this._sendPostRequest(url, form);
3790
3912
  }
3791
3913
  }, {
@@ -3895,10 +4017,12 @@ var SeafileAPI = /*#__PURE__*/function () {
3895
4017
  page: page,
3896
4018
  per_page: perPage
3897
4019
  };
4020
+
3898
4021
  if (sortBy) {
3899
4022
  params.order_by = sortBy;
3900
4023
  params.direction = sortOrder;
3901
4024
  }
4025
+
3902
4026
  return this.req.get(url, {
3903
4027
  params: params
3904
4028
  });
@@ -3961,18 +4085,23 @@ var SeafileAPI = /*#__PURE__*/function () {
3961
4085
  value: function sysAdminUpdateOrg(orgID, orgInfo) {
3962
4086
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/';
3963
4087
  var formData = new FormData();
4088
+
3964
4089
  if (orgInfo.orgName) {
3965
4090
  formData.append('org_name', orgInfo.orgName);
3966
4091
  }
4092
+
3967
4093
  if (orgInfo.maxUserNumber) {
3968
4094
  formData.append('max_user_number', orgInfo.maxUserNumber);
3969
4095
  }
4096
+
3970
4097
  if (orgInfo.quota) {
3971
4098
  formData.append('quota', orgInfo.quota);
3972
4099
  }
4100
+
3973
4101
  if (orgInfo.role) {
3974
4102
  formData.append('role', orgInfo.role);
3975
4103
  }
4104
+
3976
4105
  return this.req.put(url, formData);
3977
4106
  }
3978
4107
  }, {
@@ -4012,23 +4141,29 @@ var SeafileAPI = /*#__PURE__*/function () {
4012
4141
  value: function sysAdminUpdateOrgUser(orgID, email, attribute, value) {
4013
4142
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/users/' + encodeURIComponent(email) + '/';
4014
4143
  var formData = new FormData();
4144
+
4015
4145
  switch (attribute) {
4016
4146
  case 'active':
4017
4147
  formData.append('active', value);
4018
4148
  break;
4149
+
4019
4150
  case 'is_org_staff':
4020
4151
  formData.append('is_org_staff', value);
4021
4152
  break;
4153
+
4022
4154
  case 'name':
4023
4155
  formData.append('name', value);
4024
4156
  break;
4157
+
4025
4158
  case 'contact_email':
4026
4159
  formData.append('contact_email', value);
4027
4160
  break;
4161
+
4028
4162
  case 'quota_total':
4029
4163
  formData.append('quota_total', value);
4030
4164
  break;
4031
4165
  }
4166
+
4032
4167
  return this.req.put(url, formData);
4033
4168
  }
4034
4169
  }, {
@@ -4069,12 +4204,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4069
4204
  page: page,
4070
4205
  per_page: perPage
4071
4206
  };
4207
+
4072
4208
  if (email != undefined) {
4073
4209
  params.email = email;
4074
4210
  }
4211
+
4075
4212
  if (repoID != undefined) {
4076
4213
  params.repo_id = repoID;
4077
4214
  }
4215
+
4078
4216
  return this.req.get(url, {
4079
4217
  params: params
4080
4218
  });
@@ -4174,13 +4312,16 @@ var SeafileAPI = /*#__PURE__*/function () {
4174
4312
  page: page,
4175
4313
  per_page: perPage
4176
4314
  };
4315
+
4177
4316
  if (isLDAPImported) {
4178
4317
  params.source = 'LDAPImport';
4179
4318
  }
4319
+
4180
4320
  if (sortBy) {
4181
4321
  params.order_by = sortBy;
4182
4322
  params.direction = sortOrder;
4183
4323
  }
4324
+
4184
4325
  return this.req.get(url, {
4185
4326
  params: params
4186
4327
  });
@@ -4218,9 +4359,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4218
4359
  formData.append('email', email);
4219
4360
  formData.append('name', name);
4220
4361
  formData.append('password', password);
4362
+
4221
4363
  if (role) {
4222
4364
  formData.append('role', role);
4223
4365
  }
4366
+
4224
4367
  return this._sendPostRequest(url, formData);
4225
4368
  }
4226
4369
  }, {
@@ -4228,47 +4371,61 @@ var SeafileAPI = /*#__PURE__*/function () {
4228
4371
  value: function sysAdminUpdateUser(email, attribute, value) {
4229
4372
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4230
4373
  var formData = new FormData();
4374
+
4231
4375
  switch (attribute) {
4232
4376
  case 'password':
4233
4377
  formData.append('password', value);
4234
4378
  break;
4379
+
4235
4380
  case 'is_active':
4236
4381
  formData.append('is_active', value);
4237
4382
  break;
4383
+
4238
4384
  case 'is_staff':
4239
4385
  formData.append('is_staff', value);
4240
4386
  break;
4387
+
4241
4388
  case 'role':
4242
4389
  formData.append('role', value);
4243
4390
  break;
4391
+
4244
4392
  case 'name':
4245
4393
  formData.append('name', value);
4246
4394
  break;
4395
+
4247
4396
  case 'login_id':
4248
4397
  formData.append('login_id', value);
4249
4398
  break;
4399
+
4250
4400
  case 'contact_email':
4251
4401
  formData.append('contact_email', value);
4252
4402
  break;
4403
+
4253
4404
  case 'reference_id':
4254
4405
  formData.append('reference_id', value);
4255
4406
  break;
4407
+
4256
4408
  case 'department':
4257
4409
  formData.append('department', value);
4258
4410
  break;
4411
+
4259
4412
  case 'quota_total':
4260
4413
  formData.append('quota_total', value);
4261
4414
  break;
4415
+
4262
4416
  case 'institution':
4263
4417
  formData.append('institution', value);
4264
4418
  break;
4419
+
4265
4420
  case 'upload_rate_limit':
4266
4421
  formData.append('upload_rate_limit', value);
4267
4422
  break;
4423
+
4268
4424
  case 'download_rate_limit':
4269
4425
  formData.append('download_rate_limit', value);
4270
4426
  break;
4271
4427
  }
4428
+
4272
4429
  return this.req.put(url, formData);
4273
4430
  }
4274
4431
  }, {
@@ -4282,9 +4439,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4282
4439
  value: function sysAdminGetUser(email, avatarSize) {
4283
4440
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4284
4441
  var params = {};
4442
+
4285
4443
  if (avatarSize) {
4286
4444
  params.avatar_size = avatarSize;
4287
4445
  }
4446
+
4288
4447
  return this.req.get(url, {
4289
4448
  params: params
4290
4449
  });
@@ -4506,17 +4665,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4506
4665
  value: function sysAdminDeleteTermAndCondition(termID) {
4507
4666
  var url = this.server + '/api/v2.1/admin/terms-and-conditions/' + termID + '/';
4508
4667
  return this.req["delete"](url);
4509
- }
4668
+ } // patch 7.1
4510
4669
 
4511
- // patch 7.1
4512
4670
  }, {
4513
4671
  key: "listVirusScanRecords",
4514
4672
  value: function listVirusScanRecords(pageNum) {
4515
4673
  var url = this.server + '/api/v2.1/admin/virus-scan-records/?page=' + pageNum;
4516
4674
  return this.req.get(url);
4517
- }
4675
+ } // patch 7.1
4518
4676
 
4519
- // patch 7.1
4520
4677
  }, {
4521
4678
  key: "deleteVirusScanRecord",
4522
4679
  value: function deleteVirusScanRecord(virusID) {
@@ -4531,9 +4688,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4531
4688
  page: page,
4532
4689
  per_page: perPage
4533
4690
  };
4691
+
4534
4692
  if (hasHandled != undefined) {
4535
4693
  params.has_handled = hasHandled;
4536
4694
  }
4695
+
4537
4696
  return this.req.get(url, {
4538
4697
  params: params
4539
4698
  });
@@ -4557,9 +4716,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4557
4716
  value: function batchProcessVirusFiles(virusIDs, operation) {
4558
4717
  var url = this.server + '/api/v2.1/admin/virus-files/batch/';
4559
4718
  var formData = new FormData();
4719
+
4560
4720
  for (var i = 0; i < virusIDs.length; i++) {
4561
4721
  formData.append('virus_ids', virusIDs[i]);
4562
4722
  }
4723
+
4563
4724
  formData.append('operation', operation);
4564
4725
  return this.req.post(url, formData);
4565
4726
  }
@@ -4653,6 +4814,8 @@ var SeafileAPI = /*#__PURE__*/function () {
4653
4814
  return this._sendPostRequest(url, formData);
4654
4815
  }
4655
4816
  }]);
4817
+
4656
4818
  return SeafileAPI;
4657
4819
  }();
4820
+
4658
4821
  export { SeafileAPI };