@nocobase/actions 0.9.1-alpha.2 → 0.9.2-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,35 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.add = add;
7
-
8
7
  var _utils = require("../utils");
9
-
10
8
  function _database() {
11
9
  const data = require("@nocobase/database");
12
-
13
10
  _database = function _database() {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
21
-
22
16
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
23
-
24
17
  function add(_x, _x2) {
25
18
  return _add.apply(this, arguments);
26
19
  }
27
-
28
20
  function _add() {
29
21
  _add = _asyncToGenerator(function* (ctx, next) {
30
22
  const repository = (0, _utils.getRepositoryFromParams)(ctx);
31
-
32
23
  if (!(repository instanceof _database().MultipleRelationRepository || repository instanceof _database().HasManyRepository || repository instanceof _database().ArrayFieldRepository)) {
33
24
  return yield next();
34
25
  }
35
-
36
26
  yield repository.add(ctx.action.params.values);
37
27
  ctx.status = 200;
38
28
  yield next();
@@ -4,25 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.create = create;
7
-
8
7
  var _utils = require("../utils");
9
-
10
8
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
-
12
9
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
-
14
10
  function create(_x, _x2) {
15
11
  return _create.apply(this, arguments);
16
12
  }
17
-
18
13
  function _create() {
19
14
  _create = _asyncToGenerator(function* (ctx, next) {
20
15
  const repository = (0, _utils.getRepositoryFromParams)(ctx);
21
16
  const _ctx$action$params = ctx.action.params,
22
- whitelist = _ctx$action$params.whitelist,
23
- blacklist = _ctx$action$params.blacklist,
24
- updateAssociationValues = _ctx$action$params.updateAssociationValues,
25
- values = _ctx$action$params.values;
17
+ whitelist = _ctx$action$params.whitelist,
18
+ blacklist = _ctx$action$params.blacklist,
19
+ updateAssociationValues = _ctx$action$params.updateAssociationValues,
20
+ values = _ctx$action$params.values;
26
21
  const instance = yield repository.create({
27
22
  values,
28
23
  whitelist,
@@ -4,23 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.destroy = destroy;
7
-
8
7
  var _utils = require("../utils");
9
-
10
8
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
-
12
9
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
-
14
10
  function destroy(_x, _x2) {
15
11
  return _destroy.apply(this, arguments);
16
12
  }
17
-
18
13
  function _destroy() {
19
14
  _destroy = _asyncToGenerator(function* (ctx, next) {
20
15
  const repository = (0, _utils.getRepositoryFromParams)(ctx);
21
16
  const _ctx$action$params = ctx.action.params,
22
- filterByTk = _ctx$action$params.filterByTk,
23
- filter = _ctx$action$params.filter;
17
+ filterByTk = _ctx$action$params.filterByTk,
18
+ filter = _ctx$action$params.filter;
24
19
  const instance = yield repository.destroy({
25
20
  filter,
26
21
  filterByTk,
@@ -4,26 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.get = get;
7
-
8
7
  var _utils = require("../utils");
9
-
10
8
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
-
12
9
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
-
14
10
  function get(_x, _x2) {
15
11
  return _get.apply(this, arguments);
16
12
  }
17
-
18
13
  function _get() {
19
14
  _get = _asyncToGenerator(function* (ctx, next) {
20
15
  const repository = (0, _utils.getRepositoryFromParams)(ctx);
21
16
  const _ctx$action$params = ctx.action.params,
22
- filterByTk = _ctx$action$params.filterByTk,
23
- fields = _ctx$action$params.fields,
24
- appends = _ctx$action$params.appends,
25
- except = _ctx$action$params.except,
26
- filter = _ctx$action$params.filter;
17
+ filterByTk = _ctx$action$params.filterByTk,
18
+ fields = _ctx$action$params.fields,
19
+ appends = _ctx$action$params.appends,
20
+ except = _ctx$action$params.except,
21
+ filter = _ctx$action$params.filter;
27
22
  const instance = yield repository.findOne({
28
23
  filterByTk,
29
24
  fields,
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _list = require("./list");
8
-
9
7
  Object.keys(_list).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _list[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_list).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _create = require("./create");
21
-
22
18
  Object.keys(_create).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _create[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_create).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
28
  var _update = require("./update");
34
-
35
29
  Object.keys(_update).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _update[key]) return;
@@ -42,9 +36,7 @@ Object.keys(_update).forEach(function (key) {
42
36
  }
43
37
  });
44
38
  });
45
-
46
39
  var _destroy = require("./destroy");
47
-
48
40
  Object.keys(_destroy).forEach(function (key) {
49
41
  if (key === "default" || key === "__esModule") return;
50
42
  if (key in exports && exports[key] === _destroy[key]) return;
@@ -55,9 +47,7 @@ Object.keys(_destroy).forEach(function (key) {
55
47
  }
56
48
  });
57
49
  });
58
-
59
50
  var _get = require("./get");
60
-
61
51
  Object.keys(_get).forEach(function (key) {
62
52
  if (key === "default" || key === "__esModule") return;
63
53
  if (key in exports && exports[key] === _get[key]) return;
@@ -68,9 +58,7 @@ Object.keys(_get).forEach(function (key) {
68
58
  }
69
59
  });
70
60
  });
71
-
72
61
  var _add = require("./add");
73
-
74
62
  Object.keys(_add).forEach(function (key) {
75
63
  if (key === "default" || key === "__esModule") return;
76
64
  if (key in exports && exports[key] === _add[key]) return;
@@ -81,9 +69,7 @@ Object.keys(_add).forEach(function (key) {
81
69
  }
82
70
  });
83
71
  });
84
-
85
72
  var _set = require("./set");
86
-
87
73
  Object.keys(_set).forEach(function (key) {
88
74
  if (key === "default" || key === "__esModule") return;
89
75
  if (key in exports && exports[key] === _set[key]) return;
@@ -94,9 +80,7 @@ Object.keys(_set).forEach(function (key) {
94
80
  }
95
81
  });
96
82
  });
97
-
98
83
  var _remove = require("./remove");
99
-
100
84
  Object.keys(_remove).forEach(function (key) {
101
85
  if (key === "default" || key === "__esModule") return;
102
86
  if (key in exports && exports[key] === _remove[key]) return;
@@ -107,9 +91,7 @@ Object.keys(_remove).forEach(function (key) {
107
91
  }
108
92
  });
109
93
  });
110
-
111
94
  var _toggle = require("./toggle");
112
-
113
95
  Object.keys(_toggle).forEach(function (key) {
114
96
  if (key === "default" || key === "__esModule") return;
115
97
  if (key in exports && exports[key] === _toggle[key]) return;
@@ -120,9 +102,7 @@ Object.keys(_toggle).forEach(function (key) {
120
102
  }
121
103
  });
122
104
  });
123
-
124
105
  var _move = require("./move");
125
-
126
106
  Object.keys(_move).forEach(function (key) {
127
107
  if (key === "default" || key === "__esModule") return;
128
108
  if (key in exports && exports[key] === _move[key]) return;
@@ -5,54 +5,70 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DEFAULT_PER_PAGE = exports.DEFAULT_PAGE = void 0;
7
7
  exports.list = list;
8
-
9
- var _utils = require("../utils");
10
-
8
+ function _utils() {
9
+ const data = require("@nocobase/utils");
10
+ _utils = function _utils() {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ var _utils2 = require("../utils");
11
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
-
13
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
-
15
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
-
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
22
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
17
23
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
-
19
24
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
-
21
25
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
22
-
23
26
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
24
-
25
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
26
-
27
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
27
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
-
29
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
30
-
31
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
32
-
33
29
  const DEFAULT_PAGE = 1;
34
30
  exports.DEFAULT_PAGE = DEFAULT_PAGE;
35
31
  const DEFAULT_PER_PAGE = 20;
36
32
  exports.DEFAULT_PER_PAGE = DEFAULT_PER_PAGE;
37
-
38
33
  function pageArgsToLimitArgs(page, pageSize) {
39
34
  return {
40
35
  offset: (page - 1) * pageSize,
41
36
  limit: pageSize
42
37
  };
43
38
  }
44
-
45
39
  function totalPage(total, pageSize) {
46
40
  return Math.ceil(total / pageSize);
47
41
  }
48
-
49
- function findArgs(params) {
50
- const fields = params.fields,
51
- filter = params.filter,
52
- appends = params.appends,
53
- except = params.except,
54
- sort = params.sort;
42
+ function findArgs(ctx) {
43
+ const resourceName = ctx.action.resourceName;
44
+ const params = ctx.action.params;
45
+ if (params.tree) {
46
+ const _resourceName$split = resourceName.split('.'),
47
+ _resourceName$split2 = _slicedToArray(_resourceName$split, 2),
48
+ collectionName = _resourceName$split2[0],
49
+ associationName = _resourceName$split2[1];
50
+ const collection = ctx.db.getCollection(resourceName);
51
+ // tree collection 或者关系表是 tree collection
52
+ if (collection.options.tree && !(associationName && collectionName === collection.name)) {
53
+ var _collection$treeParen;
54
+ const foreignKey = ((_collection$treeParen = collection.treeParentField) === null || _collection$treeParen === void 0 ? void 0 : _collection$treeParen.foreignKey) || 'parentId';
55
+ (0, _utils().assign)(params, {
56
+ filter: {
57
+ [foreignKey]: null
58
+ }
59
+ }, {
60
+ filter: 'andMerge'
61
+ });
62
+ }
63
+ }
64
+ const tree = params.tree,
65
+ fields = params.fields,
66
+ filter = params.filter,
67
+ appends = params.appends,
68
+ except = params.except,
69
+ sort = params.sort;
55
70
  return {
71
+ tree,
56
72
  filter,
57
73
  fields,
58
74
  appends,
@@ -60,27 +76,23 @@ function findArgs(params) {
60
76
  sort
61
77
  };
62
78
  }
63
-
64
- function listWithPagination(_x) {
79
+ function listWithPagination(_x2) {
65
80
  return _listWithPagination.apply(this, arguments);
66
81
  }
67
-
68
82
  function _listWithPagination() {
69
83
  _listWithPagination = _asyncToGenerator(function* (ctx) {
70
84
  const _ctx$action$params = ctx.action.params,
71
- _ctx$action$params$pa = _ctx$action$params.page,
72
- page = _ctx$action$params$pa === void 0 ? DEFAULT_PAGE : _ctx$action$params$pa,
73
- _ctx$action$params$pa2 = _ctx$action$params.pageSize,
74
- pageSize = _ctx$action$params$pa2 === void 0 ? DEFAULT_PER_PAGE : _ctx$action$params$pa2;
75
- const repository = (0, _utils.getRepositoryFromParams)(ctx);
76
-
85
+ _ctx$action$params$pa = _ctx$action$params.page,
86
+ page = _ctx$action$params$pa === void 0 ? DEFAULT_PAGE : _ctx$action$params$pa,
87
+ _ctx$action$params$pa2 = _ctx$action$params.pageSize,
88
+ pageSize = _ctx$action$params$pa2 === void 0 ? DEFAULT_PER_PAGE : _ctx$action$params$pa2;
89
+ const repository = (0, _utils2.getRepositoryFromParams)(ctx);
77
90
  const _yield$repository$fin = yield repository.findAndCount(_objectSpread(_objectSpread({
78
- context: ctx
79
- }, findArgs(ctx.action.params)), pageArgsToLimitArgs(parseInt(String(page)), parseInt(String(pageSize))))),
80
- _yield$repository$fin2 = _slicedToArray(_yield$repository$fin, 2),
81
- rows = _yield$repository$fin2[0],
82
- count = _yield$repository$fin2[1];
83
-
91
+ context: ctx
92
+ }, findArgs(ctx)), pageArgsToLimitArgs(parseInt(String(page)), parseInt(String(pageSize))))),
93
+ _yield$repository$fin2 = _slicedToArray(_yield$repository$fin, 2),
94
+ rows = _yield$repository$fin2[0],
95
+ count = _yield$repository$fin2[1];
84
96
  ctx.body = {
85
97
  count,
86
98
  rows,
@@ -91,30 +103,25 @@ function _listWithPagination() {
91
103
  });
92
104
  return _listWithPagination.apply(this, arguments);
93
105
  }
94
-
95
- function listWithNonPaged(_x2) {
106
+ function listWithNonPaged(_x3) {
96
107
  return _listWithNonPaged.apply(this, arguments);
97
108
  }
98
-
99
109
  function _listWithNonPaged() {
100
110
  _listWithNonPaged = _asyncToGenerator(function* (ctx) {
101
- const repository = (0, _utils.getRepositoryFromParams)(ctx);
111
+ const repository = (0, _utils2.getRepositoryFromParams)(ctx);
102
112
  const rows = yield repository.find(_objectSpread({
103
113
  context: ctx
104
- }, findArgs(ctx.action.params)));
114
+ }, findArgs(ctx)));
105
115
  ctx.body = rows;
106
116
  });
107
117
  return _listWithNonPaged.apply(this, arguments);
108
118
  }
109
-
110
- function list(_x3, _x4) {
119
+ function list(_x4, _x5) {
111
120
  return _list.apply(this, arguments);
112
121
  }
113
-
114
122
  function _list() {
115
123
  _list = _asyncToGenerator(function* (ctx, next) {
116
124
  const paginate = ctx.action.params.paginate;
117
-
118
125
  if (paginate === false || paginate === 'false') {
119
126
  yield listWithNonPaged(ctx);
120
127
  ctx.paginate = false;
@@ -122,7 +129,6 @@ function _list() {
122
129
  yield listWithPagination(ctx);
123
130
  ctx.paginate = true;
124
131
  }
125
-
126
132
  yield next();
127
133
  });
128
134
  return _list.apply(this, arguments);
@@ -5,73 +5,56 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SortAbleCollection = void 0;
7
7
  exports.move = move;
8
-
9
8
  function _sequelize() {
10
9
  const data = require("sequelize");
11
-
12
10
  _sequelize = function _sequelize() {
13
11
  return data;
14
12
  };
15
-
16
13
  return data;
17
14
  }
18
-
19
15
  function _database() {
20
16
  const data = require("@nocobase/database");
21
-
22
17
  _database = function _database() {
23
18
  return data;
24
19
  };
25
-
26
20
  return data;
27
21
  }
28
-
29
22
  var _utils = require("../utils");
30
-
31
23
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
32
-
33
24
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
34
-
35
25
  function move(_x, _x2) {
36
26
  return _move.apply(this, arguments);
37
27
  }
38
-
39
28
  function _move() {
40
29
  _move = _asyncToGenerator(function* (ctx, next) {
41
30
  const repository = (0, _utils.getRepositoryFromParams)(ctx);
42
31
  const _ctx$action$params = ctx.action.params,
43
- sourceId = _ctx$action$params.sourceId,
44
- targetId = _ctx$action$params.targetId,
45
- sortField = _ctx$action$params.sortField,
46
- targetScope = _ctx$action$params.targetScope,
47
- sticky = _ctx$action$params.sticky,
48
- method = _ctx$action$params.method;
49
-
32
+ sourceId = _ctx$action$params.sourceId,
33
+ targetId = _ctx$action$params.targetId,
34
+ sortField = _ctx$action$params.sortField,
35
+ targetScope = _ctx$action$params.targetScope,
36
+ sticky = _ctx$action$params.sticky,
37
+ method = _ctx$action$params.method;
50
38
  if (repository instanceof _database().Repository) {
51
39
  const sortAbleCollection = new SortAbleCollection(repository.collection, sortField);
52
-
53
40
  if (sourceId && targetId) {
54
41
  yield sortAbleCollection.move(sourceId, targetId, {
55
42
  insertAfter: method === 'insertAfter'
56
43
  });
57
- } // change scope
58
-
59
-
44
+ }
45
+ // change scope
60
46
  if (sourceId && targetScope) {
61
47
  yield sortAbleCollection.changeScope(sourceId, targetScope, method);
62
48
  }
63
-
64
49
  if (sourceId && sticky) {
65
50
  yield sortAbleCollection.sticky(sourceId);
66
51
  }
67
52
  }
68
-
69
53
  ctx.body = 'ok';
70
54
  yield next();
71
55
  });
72
56
  return _move.apply(this, arguments);
73
57
  }
74
-
75
58
  class SortAbleCollection {
76
59
  constructor(collection, fieldName = 'sort') {
77
60
  this.collection = void 0;
@@ -79,56 +62,44 @@ class SortAbleCollection {
79
62
  this.scopeKey = void 0;
80
63
  this.collection = collection;
81
64
  this.field = collection.getField(fieldName);
82
-
83
65
  if (!(this.field instanceof _database().SortField)) {
84
66
  throw new Error(`${fieldName} is not a sort field`);
85
67
  }
86
-
87
68
  this.scopeKey = this.field.get('scopeKey');
88
- } // insert source position to target position
89
-
90
-
69
+ }
70
+ // insert source position to target position
91
71
  move(sourceInstanceId, targetInstanceId, options = {}) {
92
72
  var _this = this;
93
-
94
73
  return _asyncToGenerator(function* () {
95
74
  const sourceInstance = yield _this.collection.repository.findById(sourceInstanceId);
96
75
  const targetInstance = yield _this.collection.repository.findById(targetInstanceId);
97
-
98
76
  if (_this.scopeKey && sourceInstance.get(_this.scopeKey) !== targetInstance.get(_this.scopeKey)) {
99
77
  yield sourceInstance.update({
100
78
  [_this.scopeKey]: targetInstance.get(_this.scopeKey)
101
79
  });
102
80
  }
103
-
104
81
  yield _this.sameScopeMove(sourceInstance, targetInstance, options);
105
82
  })();
106
83
  }
107
-
108
84
  changeScope(sourceInstanceId, targetScope, method) {
109
85
  var _this2 = this;
110
-
111
86
  return _asyncToGenerator(function* () {
112
87
  const sourceInstance = yield _this2.collection.repository.findById(sourceInstanceId);
113
88
  const targetScopeValue = targetScope[_this2.scopeKey];
114
-
115
89
  if (targetScopeValue && sourceInstance.get(_this2.scopeKey) !== targetScopeValue) {
116
90
  yield sourceInstance.update({
117
91
  [_this2.scopeKey]: targetScopeValue
118
92
  }, {
119
93
  silent: false
120
94
  });
121
-
122
95
  if (method === 'prepend') {
123
96
  yield _this2.sticky(sourceInstanceId);
124
97
  }
125
98
  }
126
99
  })();
127
100
  }
128
-
129
101
  sticky(sourceInstanceId) {
130
102
  var _this3 = this;
131
-
132
103
  return _asyncToGenerator(function* () {
133
104
  const sourceInstance = yield _this3.collection.repository.findById(sourceInstanceId);
134
105
  yield sourceInstance.update({
@@ -138,24 +109,18 @@ class SortAbleCollection {
138
109
  });
139
110
  })();
140
111
  }
141
-
142
112
  sameScopeMove(sourceInstance, targetInstance, options) {
143
113
  var _this4 = this;
144
-
145
114
  return _asyncToGenerator(function* () {
146
115
  const fieldName = _this4.field.get('name');
147
-
148
116
  const sourceSort = sourceInstance.get(fieldName);
149
117
  let targetSort = targetInstance.get(fieldName);
150
-
151
118
  if (options.insertAfter) {
152
119
  targetSort = targetSort + 1;
153
120
  }
154
-
155
121
  let scopeValue = _this4.scopeKey ? sourceInstance.get(_this4.scopeKey) : null;
156
122
  let updateCondition;
157
123
  let change;
158
-
159
124
  if (targetSort > sourceSort) {
160
125
  updateCondition = {
161
126
  [_sequelize().Op.gt]: sourceSort,
@@ -169,17 +134,14 @@ class SortAbleCollection {
169
134
  };
170
135
  change = 1;
171
136
  }
172
-
173
137
  const where = {
174
138
  [fieldName]: updateCondition
175
139
  };
176
-
177
140
  if (scopeValue) {
178
141
  where[_this4.scopeKey] = {
179
142
  [_sequelize().Op.eq]: scopeValue
180
143
  };
181
144
  }
182
-
183
145
  yield _this4.collection.model.increment(fieldName, {
184
146
  where,
185
147
  by: change,
@@ -192,7 +154,5 @@ class SortAbleCollection {
192
154
  });
193
155
  })();
194
156
  }
195
-
196
157
  }
197
-
198
158
  exports.SortAbleCollection = SortAbleCollection;
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.remove = void 0;
7
-
8
7
  var _utils = require("../utils");
9
-
10
8
  const remove = (0, _utils.RelationRepositoryActionBuilder)('remove');
11
9
  exports.remove = remove;
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.set = void 0;
7
-
8
7
  var _utils = require("../utils");
9
-
10
8
  const set = (0, _utils.RelationRepositoryActionBuilder)('set');
11
9
  exports.set = set;
@@ -4,35 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.toggle = toggle;
7
-
8
7
  function _database() {
9
8
  const data = require("@nocobase/database");
10
-
11
9
  _database = function _database() {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  var _utils = require("../utils");
19
-
20
15
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
21
-
22
16
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
23
-
24
17
  function toggle(_x, _x2) {
25
18
  return _toggle.apply(this, arguments);
26
19
  }
27
-
28
20
  function _toggle() {
29
21
  _toggle = _asyncToGenerator(function* (ctx, next) {
30
22
  const repository = (0, _utils.getRepositoryFromParams)(ctx);
31
-
32
23
  if (!(repository instanceof _database().BelongsToManyRepository)) {
33
24
  return yield next();
34
25
  }
35
-
36
26
  yield repository.toggle(ctx.action.params.values);
37
27
  ctx.body = 'ok';
38
28
  yield next();
@@ -4,28 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.update = update;
7
-
8
7
  var _utils = require("../utils");
9
-
10
8
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
-
12
9
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
-
14
10
  function update(_x, _x2) {
15
11
  return _update.apply(this, arguments);
16
12
  }
17
-
18
13
  function _update() {
19
14
  _update = _asyncToGenerator(function* (ctx, next) {
20
15
  const repository = (0, _utils.getRepositoryFromParams)(ctx);
21
16
  const _ctx$action$params = ctx.action.params,
22
- forceUpdate = _ctx$action$params.forceUpdate,
23
- filterByTk = _ctx$action$params.filterByTk,
24
- values = _ctx$action$params.values,
25
- whitelist = _ctx$action$params.whitelist,
26
- blacklist = _ctx$action$params.blacklist,
27
- filter = _ctx$action$params.filter,
28
- updateAssociationValues = _ctx$action$params.updateAssociationValues;
17
+ forceUpdate = _ctx$action$params.forceUpdate,
18
+ filterByTk = _ctx$action$params.filterByTk,
19
+ values = _ctx$action$params.values,
20
+ whitelist = _ctx$action$params.whitelist,
21
+ blacklist = _ctx$action$params.blacklist,
22
+ filter = _ctx$action$params.filter,
23
+ updateAssociationValues = _ctx$action$params.updateAssociationValues;
29
24
  ctx.body = yield repository.update({
30
25
  filterByTk,
31
26
  values,
package/lib/index.js CHANGED
@@ -6,32 +6,21 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  exports.registerActions = registerActions;
8
8
  exports.utils = void 0;
9
-
10
9
  function _lodash() {
11
10
  const data = _interopRequireDefault(require("lodash"));
12
-
13
11
  _lodash = function _lodash() {
14
12
  return data;
15
13
  };
16
-
17
14
  return data;
18
15
  }
19
-
20
16
  var actions = _interopRequireWildcard(require("./actions"));
21
-
22
17
  var _utils = _interopRequireWildcard(require("./utils"));
23
-
24
18
  exports.utils = _utils;
25
-
26
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
22
  function registerActions(api) {
33
23
  api.actions(_lodash().default.pick(actions, ['add', 'create', 'destroy', 'get', 'list', 'remove', 'set', 'toggle', 'update', 'move']));
34
24
  }
35
-
36
25
  var _default = actions;
37
26
  exports.default = _default;
package/lib/utils.js CHANGED
@@ -5,23 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.RelationRepositoryActionBuilder = RelationRepositoryActionBuilder;
7
7
  exports.getRepositoryFromParams = getRepositoryFromParams;
8
-
9
8
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
-
11
9
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
12
-
13
10
  function getRepositoryFromParams(ctx) {
14
11
  const _ctx$action = ctx.action,
15
- resourceName = _ctx$action.resourceName,
16
- resourceOf = _ctx$action.resourceOf;
17
-
12
+ resourceName = _ctx$action.resourceName,
13
+ resourceOf = _ctx$action.resourceOf;
18
14
  if (resourceOf) {
19
15
  return ctx.db.getRepository(resourceName, resourceOf);
20
16
  }
21
-
22
17
  return ctx.db.getRepository(resourceName);
23
18
  }
24
-
25
19
  function RelationRepositoryActionBuilder(method) {
26
20
  return /*#__PURE__*/function () {
27
21
  var _ref = _asyncToGenerator(function* (ctx, next) {
@@ -30,7 +24,6 @@ function RelationRepositoryActionBuilder(method) {
30
24
  ctx.status = 200;
31
25
  yield next();
32
26
  });
33
-
34
27
  return function (_x, _x2) {
35
28
  return _ref.apply(this, arguments);
36
29
  };
package/package.json CHANGED
@@ -1,22 +1,19 @@
1
1
  {
2
2
  "name": "@nocobase/actions",
3
- "version": "0.9.1-alpha.2",
3
+ "version": "0.9.2-alpha.2",
4
4
  "description": "",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./lib/index.js",
7
7
  "types": "./lib/index.d.ts",
8
8
  "dependencies": {
9
- "@nocobase/cache": "0.9.1-alpha.2",
10
- "@nocobase/database": "0.9.1-alpha.2",
11
- "@nocobase/resourcer": "0.9.1-alpha.2"
12
- },
13
- "devDependencies": {
14
- "@nocobase/test": "0.9.1-alpha.2"
9
+ "@nocobase/cache": "0.9.2-alpha.2",
10
+ "@nocobase/database": "0.9.2-alpha.2",
11
+ "@nocobase/resourcer": "0.9.2-alpha.2"
15
12
  },
16
13
  "repository": {
17
14
  "type": "git",
18
15
  "url": "git+https://github.com/nocobase/nocobase.git",
19
16
  "directory": "packages/actions"
20
17
  },
21
- "gitHead": "d588a68eca4feed4642a4cb317301011266fe5c9"
18
+ "gitHead": "1a0de6908b2b1854bdf434fcafa8909cb65bb8a3"
22
19
  }