seafile-js 0.2.216-alpha1 → 0.2.217

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