seafile-js 0.2.221 → 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 +265 -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
  });
@@ -2398,6 +2462,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2398
2462
  value: function orgAdminInviteOrgUser(orgID, email) {
2399
2463
  var url = this.server + '/api/v2.1/org/' + orgID + '/admin/invite-user/';
2400
2464
  var form = new FormData();
2465
+
2401
2466
  if (Array.isArray(email)) {
2402
2467
  email.forEach(function (item) {
2403
2468
  form.append('email', item);
@@ -2405,6 +2470,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2405
2470
  } else {
2406
2471
  form.append('email', email);
2407
2472
  }
2473
+
2408
2474
  return this._sendPostRequest(url, form);
2409
2475
  }
2410
2476
  }, {
@@ -2451,9 +2517,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2451
2517
  var params = {
2452
2518
  page: page
2453
2519
  };
2520
+
2454
2521
  if (orderBy) {
2455
2522
  params.order_by = orderBy;
2456
2523
  }
2524
+
2457
2525
  return this.req.get(url, {
2458
2526
  params: params
2459
2527
  });
@@ -2471,9 +2539,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2471
2539
  var form = new FormData();
2472
2540
  form.append('email', email);
2473
2541
  return this.req.put(url, form);
2474
- }
2542
+ } // org links
2475
2543
 
2476
- // org links
2477
2544
  }, {
2478
2545
  key: "orgAdminListOrgLinks",
2479
2546
  value: function orgAdminListOrgLinks(page) {
@@ -2485,9 +2552,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2485
2552
  value: function orgAdminDeleteOrgLink(token) {
2486
2553
  var url = this.server + '/api/v2.1/org/admin/links/' + token + '/';
2487
2554
  return this.req["delete"](url);
2488
- }
2555
+ } // org depart group
2489
2556
 
2490
- // org depart group
2491
2557
  }, {
2492
2558
  key: "orgAdminListDepartGroups",
2493
2559
  value: function orgAdminListDepartGroups(orgID) {
@@ -2507,12 +2573,15 @@ var SeafileAPI = /*#__PURE__*/function () {
2507
2573
  var form = new FormData();
2508
2574
  form.append('parent_group', parentGroup);
2509
2575
  form.append('group_name', groupName);
2576
+
2510
2577
  if (groupOwner) {
2511
2578
  form.append('group_owner', groupOwner);
2512
2579
  }
2580
+
2513
2581
  if (groupStaff) {
2514
2582
  form.append('group_staff', groupStaff.join(','));
2515
2583
  }
2584
+
2516
2585
  return this._sendPostRequest(url, form);
2517
2586
  }
2518
2587
  }, {
@@ -2584,43 +2653,51 @@ var SeafileAPI = /*#__PURE__*/function () {
2584
2653
  var form = new FormData();
2585
2654
  form.append('is_admin', isAdmin);
2586
2655
  return this.req.put(url, form);
2587
- }
2656
+ } // org admin logs
2588
2657
 
2589
- // org admin logs
2590
2658
  }, {
2591
2659
  key: "orgAdminListFileAudit",
2592
2660
  value: function orgAdminListFileAudit(email, repoID, page) {
2593
2661
  var url = this.server + '/api/v2.1/org/admin/logs/file-access/?page=' + page;
2662
+
2594
2663
  if (email) {
2595
2664
  url = url + '&email=' + encodeURIComponent(email);
2596
2665
  }
2666
+
2597
2667
  if (repoID) {
2598
2668
  url = url + '&repo_id=' + repoID;
2599
2669
  }
2670
+
2600
2671
  return this.req.get(url);
2601
2672
  }
2602
2673
  }, {
2603
2674
  key: "orgAdminListFileUpdate",
2604
2675
  value: function orgAdminListFileUpdate(email, repoID, page) {
2605
2676
  var url = this.server + '/api/v2.1/org/admin/logs/file-update/?page=' + page;
2677
+
2606
2678
  if (email) {
2607
2679
  url = url + '&email=' + encodeURIComponent(email);
2608
2680
  }
2681
+
2609
2682
  if (repoID) {
2610
2683
  url = url + '&repo_id=' + repoID;
2611
2684
  }
2685
+
2612
2686
  return this.req.get(url);
2613
2687
  }
2614
2688
  }, {
2615
2689
  key: "orgAdminListPermAudit",
2616
2690
  value: function orgAdminListPermAudit(email, repoID, page) {
2617
2691
  var url = this.server + '/api/v2.1/org/admin/logs/repo-permission/?page=' + page;
2692
+
2618
2693
  if (email) {
2619
2694
  url = url + '&email=' + encodeURIComponent(email);
2620
2695
  }
2696
+
2621
2697
  if (repoID) {
2622
2698
  url = url + '&repo_id=' + repoID;
2623
2699
  }
2700
+
2624
2701
  return this.req.get(url);
2625
2702
  }
2626
2703
  }, {
@@ -2656,11 +2733,13 @@ var SeafileAPI = /*#__PURE__*/function () {
2656
2733
  commit_id: commitID,
2657
2734
  path: path,
2658
2735
  doctype: fileType // 'document' or 'spreadsheet'
2659
- };
2660
- // for view of share link
2736
+
2737
+ }; // for view of share link
2738
+
2661
2739
  if (shareToken) {
2662
2740
  params['token'] = shareToken;
2663
2741
  }
2742
+
2664
2743
  return this.req.get(url, {
2665
2744
  headers: {
2666
2745
  'X-Requested-With': 'XMLHttpRequest'
@@ -2714,9 +2793,8 @@ var SeafileAPI = /*#__PURE__*/function () {
2714
2793
  return this.req.get(url, {
2715
2794
  params: params
2716
2795
  });
2717
- }
2796
+ } // get all existing repo snapshot labels of the user
2718
2797
 
2719
- // get all existing repo snapshot labels of the user
2720
2798
  }, {
2721
2799
  key: "getAllRepoSnapshotLabels",
2722
2800
  value: function getAllRepoSnapshotLabels() {
@@ -2750,9 +2828,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2750
2828
  var url = this.server + '/api/v2.1/invitations/batch/';
2751
2829
  var form = new FormData();
2752
2830
  form.append('type', 'guest');
2831
+
2753
2832
  for (var i = 0; i < emails.length; i++) {
2754
2833
  form.append('accepter', emails[i]);
2755
2834
  }
2835
+
2756
2836
  return this._sendPostRequest(url, form);
2757
2837
  }
2758
2838
  }, {
@@ -2833,23 +2913,28 @@ var SeafileAPI = /*#__PURE__*/function () {
2833
2913
  key: "updateUserInfo",
2834
2914
  value: function updateUserInfo(_ref4) {
2835
2915
  var name = _ref4.name,
2836
- telephone = _ref4.telephone,
2837
- contact_email = _ref4.contact_email,
2838
- 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;
2839
2919
  var url = this.server + '/api/v2.1/user/';
2840
2920
  var data = {};
2921
+
2841
2922
  if (name != undefined) {
2842
2923
  data.name = name;
2843
2924
  }
2925
+
2844
2926
  if (telephone != undefined) {
2845
2927
  data.telephone = telephone;
2846
2928
  }
2929
+
2847
2930
  if (contact_email != undefined) {
2848
2931
  data.contact_email = contact_email;
2849
2932
  }
2933
+
2850
2934
  if (list_in_address_book != undefined) {
2851
2935
  data.list_in_address_book = list_in_address_book;
2852
2936
  }
2937
+
2853
2938
  return this.req.put(url, data);
2854
2939
  }
2855
2940
  }, {
@@ -2875,9 +2960,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2875
2960
  key: "listUserFolderPerm",
2876
2961
  value: function listUserFolderPerm(repoID, folderPath) {
2877
2962
  var url = this.server + '/api2/repos/' + repoID + '/user-folder-perm/';
2963
+
2878
2964
  if (folderPath) {
2879
2965
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2880
2966
  }
2967
+
2881
2968
  return this.req.get(url);
2882
2969
  }
2883
2970
  }, {
@@ -2887,6 +2974,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2887
2974
  var form = new FormData();
2888
2975
  form.append('permission', permission);
2889
2976
  form.append('folder_path', folderPath);
2977
+
2890
2978
  if (Array.isArray(userEmail)) {
2891
2979
  userEmail.forEach(function (item) {
2892
2980
  form.append('user_email', item);
@@ -2894,6 +2982,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2894
2982
  } else {
2895
2983
  form.append('user_email', userEmail);
2896
2984
  }
2985
+
2897
2986
  return this._sendPostRequest(url, form);
2898
2987
  }
2899
2988
  }, {
@@ -2923,9 +3012,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2923
3012
  key: "listGroupFolderPerm",
2924
3013
  value: function listGroupFolderPerm(repoID, folderPath) {
2925
3014
  var url = this.server + '/api2/repos/' + repoID + '/group-folder-perm/';
3015
+
2926
3016
  if (folderPath) {
2927
3017
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2928
3018
  }
3019
+
2929
3020
  return this.req.get(url);
2930
3021
  }
2931
3022
  }, {
@@ -2965,9 +3056,11 @@ var SeafileAPI = /*#__PURE__*/function () {
2965
3056
  key: "listDepartmentRepoUserFolderPerm",
2966
3057
  value: function listDepartmentRepoUserFolderPerm(repoID, folderPath) {
2967
3058
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/user-folder-permission/';
3059
+
2968
3060
  if (folderPath) {
2969
3061
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
2970
3062
  }
3063
+
2971
3064
  return this.req.get(url);
2972
3065
  }
2973
3066
  }, {
@@ -2977,6 +3070,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2977
3070
  var form = new FormData();
2978
3071
  form.append('permission', permission);
2979
3072
  form.append('folder_path', folderPath);
3073
+
2980
3074
  if (Array.isArray(userEmail)) {
2981
3075
  userEmail.forEach(function (item) {
2982
3076
  form.append('user_email', item);
@@ -2984,6 +3078,7 @@ var SeafileAPI = /*#__PURE__*/function () {
2984
3078
  } else {
2985
3079
  form.append('user_email', userEmail);
2986
3080
  }
3081
+
2987
3082
  return this._sendPostRequest(url, form);
2988
3083
  }
2989
3084
  }, {
@@ -3013,9 +3108,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3013
3108
  key: "listDepartmentRepoGroupFolderPerm",
3014
3109
  value: function listDepartmentRepoGroupFolderPerm(repoID, folderPath) {
3015
3110
  var url = this.server + '/api/v2.1/group-owned-libraries/' + repoID + '/group-folder-permission/';
3111
+
3016
3112
  if (folderPath) {
3017
3113
  url = url + '?folder_path=' + encodeURIComponent(folderPath);
3018
3114
  }
3115
+
3019
3116
  return this.req.get(url);
3020
3117
  }
3021
3118
  }, {
@@ -3056,9 +3153,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3056
3153
  value: function adminListWorkWeixinDepartments(departmentID) {
3057
3154
  var url = this.server + '/api/v2.1/admin/work-weixin/departments/';
3058
3155
  var params = {};
3156
+
3059
3157
  if (departmentID) {
3060
3158
  params.department_id = departmentID;
3061
3159
  }
3160
+
3062
3161
  return this.req.get(url, {
3063
3162
  params: params
3064
3163
  });
@@ -3092,9 +3191,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3092
3191
  value: function adminListDingtalkDepartments(departmentID) {
3093
3192
  var url = this.server + '/api/v2.1/admin/dingtalk/departments/';
3094
3193
  var params = {};
3194
+
3095
3195
  if (departmentID) {
3096
3196
  params.department_id = departmentID;
3097
3197
  }
3198
+
3098
3199
  return this.req.get(url, {
3099
3200
  params: params
3100
3201
  });
@@ -3154,9 +3255,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3154
3255
  var params = {
3155
3256
  path: path
3156
3257
  };
3258
+
3157
3259
  if (scanStat) {
3158
3260
  params.scan_stat = scanStat;
3159
3261
  }
3262
+
3160
3263
  return this.req.post(url, params);
3161
3264
  }
3162
3265
  }, {
@@ -3251,9 +3354,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3251
3354
  key: "listOCMSharesPrepare",
3252
3355
  value: function listOCMSharesPrepare(repoId) {
3253
3356
  var url = this.server + '/api/v2.1/ocm/shares-prepare/';
3357
+
3254
3358
  if (repoId) {
3255
3359
  url += '?repo_id=' + repoId;
3256
3360
  }
3361
+
3257
3362
  return this.req.get(url);
3258
3363
  }
3259
3364
  }, {
@@ -3395,9 +3500,8 @@ var SeafileAPI = /*#__PURE__*/function () {
3395
3500
  value: function sdocPublishRevision(docUuid) {
3396
3501
  var url = this.server + '/api/v2.1/seadoc/publish-revision/' + docUuid + '/';
3397
3502
  return this.req.post(url);
3398
- }
3503
+ } // admin api
3399
3504
 
3400
- // admin api
3401
3505
  }, {
3402
3506
  key: "sysAdminUploadLicense",
3403
3507
  value: function sysAdminUploadLicense(file) {
@@ -3503,9 +3607,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3503
3607
  page: page,
3504
3608
  per_page: perPage
3505
3609
  };
3610
+
3506
3611
  if (orderBy) {
3507
3612
  params.order_by = orderBy;
3508
3613
  }
3614
+
3509
3615
  return this.req.get(url, {
3510
3616
  params: params
3511
3617
  });
@@ -3797,9 +3903,11 @@ var SeafileAPI = /*#__PURE__*/function () {
3797
3903
  value: function sysAdminAddGroupMember(groupID, emails) {
3798
3904
  var url = this.server + '/api/v2.1/admin/groups/' + groupID + '/members/';
3799
3905
  var form = new FormData();
3906
+
3800
3907
  for (var i = 0; i < emails.length; i++) {
3801
3908
  form.append('email', emails[i]);
3802
3909
  }
3910
+
3803
3911
  return this._sendPostRequest(url, form);
3804
3912
  }
3805
3913
  }, {
@@ -3909,10 +4017,12 @@ var SeafileAPI = /*#__PURE__*/function () {
3909
4017
  page: page,
3910
4018
  per_page: perPage
3911
4019
  };
4020
+
3912
4021
  if (sortBy) {
3913
4022
  params.order_by = sortBy;
3914
4023
  params.direction = sortOrder;
3915
4024
  }
4025
+
3916
4026
  return this.req.get(url, {
3917
4027
  params: params
3918
4028
  });
@@ -3975,18 +4085,23 @@ var SeafileAPI = /*#__PURE__*/function () {
3975
4085
  value: function sysAdminUpdateOrg(orgID, orgInfo) {
3976
4086
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/';
3977
4087
  var formData = new FormData();
4088
+
3978
4089
  if (orgInfo.orgName) {
3979
4090
  formData.append('org_name', orgInfo.orgName);
3980
4091
  }
4092
+
3981
4093
  if (orgInfo.maxUserNumber) {
3982
4094
  formData.append('max_user_number', orgInfo.maxUserNumber);
3983
4095
  }
4096
+
3984
4097
  if (orgInfo.quota) {
3985
4098
  formData.append('quota', orgInfo.quota);
3986
4099
  }
4100
+
3987
4101
  if (orgInfo.role) {
3988
4102
  formData.append('role', orgInfo.role);
3989
4103
  }
4104
+
3990
4105
  return this.req.put(url, formData);
3991
4106
  }
3992
4107
  }, {
@@ -4026,23 +4141,29 @@ var SeafileAPI = /*#__PURE__*/function () {
4026
4141
  value: function sysAdminUpdateOrgUser(orgID, email, attribute, value) {
4027
4142
  var url = this.server + '/api/v2.1/admin/organizations/' + orgID + '/users/' + encodeURIComponent(email) + '/';
4028
4143
  var formData = new FormData();
4144
+
4029
4145
  switch (attribute) {
4030
4146
  case 'active':
4031
4147
  formData.append('active', value);
4032
4148
  break;
4149
+
4033
4150
  case 'is_org_staff':
4034
4151
  formData.append('is_org_staff', value);
4035
4152
  break;
4153
+
4036
4154
  case 'name':
4037
4155
  formData.append('name', value);
4038
4156
  break;
4157
+
4039
4158
  case 'contact_email':
4040
4159
  formData.append('contact_email', value);
4041
4160
  break;
4161
+
4042
4162
  case 'quota_total':
4043
4163
  formData.append('quota_total', value);
4044
4164
  break;
4045
4165
  }
4166
+
4046
4167
  return this.req.put(url, formData);
4047
4168
  }
4048
4169
  }, {
@@ -4083,12 +4204,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4083
4204
  page: page,
4084
4205
  per_page: perPage
4085
4206
  };
4207
+
4086
4208
  if (email != undefined) {
4087
4209
  params.email = email;
4088
4210
  }
4211
+
4089
4212
  if (repoID != undefined) {
4090
4213
  params.repo_id = repoID;
4091
4214
  }
4215
+
4092
4216
  return this.req.get(url, {
4093
4217
  params: params
4094
4218
  });
@@ -4188,13 +4312,16 @@ var SeafileAPI = /*#__PURE__*/function () {
4188
4312
  page: page,
4189
4313
  per_page: perPage
4190
4314
  };
4315
+
4191
4316
  if (isLDAPImported) {
4192
4317
  params.source = 'LDAPImport';
4193
4318
  }
4319
+
4194
4320
  if (sortBy) {
4195
4321
  params.order_by = sortBy;
4196
4322
  params.direction = sortOrder;
4197
4323
  }
4324
+
4198
4325
  return this.req.get(url, {
4199
4326
  params: params
4200
4327
  });
@@ -4232,9 +4359,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4232
4359
  formData.append('email', email);
4233
4360
  formData.append('name', name);
4234
4361
  formData.append('password', password);
4362
+
4235
4363
  if (role) {
4236
4364
  formData.append('role', role);
4237
4365
  }
4366
+
4238
4367
  return this._sendPostRequest(url, formData);
4239
4368
  }
4240
4369
  }, {
@@ -4242,47 +4371,61 @@ var SeafileAPI = /*#__PURE__*/function () {
4242
4371
  value: function sysAdminUpdateUser(email, attribute, value) {
4243
4372
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4244
4373
  var formData = new FormData();
4374
+
4245
4375
  switch (attribute) {
4246
4376
  case 'password':
4247
4377
  formData.append('password', value);
4248
4378
  break;
4379
+
4249
4380
  case 'is_active':
4250
4381
  formData.append('is_active', value);
4251
4382
  break;
4383
+
4252
4384
  case 'is_staff':
4253
4385
  formData.append('is_staff', value);
4254
4386
  break;
4387
+
4255
4388
  case 'role':
4256
4389
  formData.append('role', value);
4257
4390
  break;
4391
+
4258
4392
  case 'name':
4259
4393
  formData.append('name', value);
4260
4394
  break;
4395
+
4261
4396
  case 'login_id':
4262
4397
  formData.append('login_id', value);
4263
4398
  break;
4399
+
4264
4400
  case 'contact_email':
4265
4401
  formData.append('contact_email', value);
4266
4402
  break;
4403
+
4267
4404
  case 'reference_id':
4268
4405
  formData.append('reference_id', value);
4269
4406
  break;
4407
+
4270
4408
  case 'department':
4271
4409
  formData.append('department', value);
4272
4410
  break;
4411
+
4273
4412
  case 'quota_total':
4274
4413
  formData.append('quota_total', value);
4275
4414
  break;
4415
+
4276
4416
  case 'institution':
4277
4417
  formData.append('institution', value);
4278
4418
  break;
4419
+
4279
4420
  case 'upload_rate_limit':
4280
4421
  formData.append('upload_rate_limit', value);
4281
4422
  break;
4423
+
4282
4424
  case 'download_rate_limit':
4283
4425
  formData.append('download_rate_limit', value);
4284
4426
  break;
4285
4427
  }
4428
+
4286
4429
  return this.req.put(url, formData);
4287
4430
  }
4288
4431
  }, {
@@ -4296,9 +4439,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4296
4439
  value: function sysAdminGetUser(email, avatarSize) {
4297
4440
  var url = this.server + '/api/v2.1/admin/users/' + encodeURIComponent(email) + '/';
4298
4441
  var params = {};
4442
+
4299
4443
  if (avatarSize) {
4300
4444
  params.avatar_size = avatarSize;
4301
4445
  }
4446
+
4302
4447
  return this.req.get(url, {
4303
4448
  params: params
4304
4449
  });
@@ -4520,17 +4665,15 @@ var SeafileAPI = /*#__PURE__*/function () {
4520
4665
  value: function sysAdminDeleteTermAndCondition(termID) {
4521
4666
  var url = this.server + '/api/v2.1/admin/terms-and-conditions/' + termID + '/';
4522
4667
  return this.req["delete"](url);
4523
- }
4668
+ } // patch 7.1
4524
4669
 
4525
- // patch 7.1
4526
4670
  }, {
4527
4671
  key: "listVirusScanRecords",
4528
4672
  value: function listVirusScanRecords(pageNum) {
4529
4673
  var url = this.server + '/api/v2.1/admin/virus-scan-records/?page=' + pageNum;
4530
4674
  return this.req.get(url);
4531
- }
4675
+ } // patch 7.1
4532
4676
 
4533
- // patch 7.1
4534
4677
  }, {
4535
4678
  key: "deleteVirusScanRecord",
4536
4679
  value: function deleteVirusScanRecord(virusID) {
@@ -4545,9 +4688,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4545
4688
  page: page,
4546
4689
  per_page: perPage
4547
4690
  };
4691
+
4548
4692
  if (hasHandled != undefined) {
4549
4693
  params.has_handled = hasHandled;
4550
4694
  }
4695
+
4551
4696
  return this.req.get(url, {
4552
4697
  params: params
4553
4698
  });
@@ -4571,9 +4716,11 @@ var SeafileAPI = /*#__PURE__*/function () {
4571
4716
  value: function batchProcessVirusFiles(virusIDs, operation) {
4572
4717
  var url = this.server + '/api/v2.1/admin/virus-files/batch/';
4573
4718
  var formData = new FormData();
4719
+
4574
4720
  for (var i = 0; i < virusIDs.length; i++) {
4575
4721
  formData.append('virus_ids', virusIDs[i]);
4576
4722
  }
4723
+
4577
4724
  formData.append('operation', operation);
4578
4725
  return this.req.post(url, formData);
4579
4726
  }
@@ -4667,6 +4814,8 @@ var SeafileAPI = /*#__PURE__*/function () {
4667
4814
  return this._sendPostRequest(url, formData);
4668
4815
  }
4669
4816
  }]);
4817
+
4670
4818
  return SeafileAPI;
4671
4819
  }();
4820
+
4672
4821
  export { SeafileAPI };