@nocobase/database 0.7.0-alpha.7 → 0.7.0-alpha.70

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 (298) hide show
  1. package/lib/collection-importer.js +101 -67
  2. package/lib/collection.js +339 -210
  3. package/lib/database.d.ts +4 -1
  4. package/lib/database.js +489 -275
  5. package/lib/fields/array-field.js +45 -25
  6. package/lib/fields/belongs-to-field.js +101 -54
  7. package/lib/fields/belongs-to-many-field.js +98 -53
  8. package/lib/fields/boolean-field.js +24 -9
  9. package/lib/fields/context-field.js +77 -42
  10. package/lib/fields/date-field.js +24 -9
  11. package/lib/fields/field.js +114 -75
  12. package/lib/fields/has-inverse-field.js +4 -2
  13. package/lib/fields/has-many-field.js +105 -56
  14. package/lib/fields/has-one-field.js +105 -54
  15. package/lib/fields/index.d.ts +3 -1
  16. package/lib/fields/index.js +277 -32
  17. package/lib/fields/json-field.js +36 -16
  18. package/lib/fields/number-field.js +53 -26
  19. package/lib/fields/password-field.js +118 -73
  20. package/lib/fields/radio-field.js +75 -47
  21. package/lib/fields/relation-field.js +41 -28
  22. package/lib/fields/sort-field.js +165 -89
  23. package/lib/fields/string-field.js +24 -9
  24. package/lib/fields/text-field.js +24 -9
  25. package/lib/fields/time-field.js +24 -9
  26. package/lib/fields/uid-field.js +57 -28
  27. package/lib/fields/uuid-field.d.ts +9 -0
  28. package/lib/fields/uuid-field.js +39 -0
  29. package/lib/fields/virtual-field.js +24 -9
  30. package/lib/filter-parser.js +288 -179
  31. package/lib/index.js +210 -29
  32. package/lib/magic-attribute-model.js +123 -71
  33. package/lib/mock-database.js +68 -34
  34. package/lib/model-hook.js +101 -60
  35. package/lib/model.js +116 -81
  36. package/lib/operators/array.js +136 -96
  37. package/lib/operators/association.js +30 -14
  38. package/lib/operators/boolean.d.ts +13 -0
  39. package/lib/operators/boolean.js +35 -0
  40. package/lib/operators/date.js +78 -34
  41. package/lib/operators/empty.js +113 -75
  42. package/lib/operators/index.js +15 -3
  43. package/lib/operators/ne.js +27 -12
  44. package/{esm/operators/ne.d.ts → lib/operators/notIn.d.ts} +2 -2
  45. package/lib/operators/notIn.js +29 -0
  46. package/lib/operators/string.js +56 -35
  47. package/lib/operators/utils.js +18 -10
  48. package/lib/options-parser.js +323 -215
  49. package/lib/playground.js +66 -53
  50. package/lib/relation-repository/belongs-to-many-repository.js +281 -198
  51. package/lib/relation-repository/belongs-to-repository.js +10 -6
  52. package/lib/relation-repository/hasmany-repository.js +168 -121
  53. package/lib/relation-repository/hasone-repository.js +10 -6
  54. package/lib/relation-repository/multiple-relation-repository.d.ts +3 -3
  55. package/lib/relation-repository/multiple-relation-repository.js +263 -148
  56. package/lib/relation-repository/relation-repository.d.ts +1 -1
  57. package/lib/relation-repository/relation-repository.js +155 -95
  58. package/lib/relation-repository/single-relation-repository.d.ts +6 -6
  59. package/lib/relation-repository/single-relation-repository.js +138 -99
  60. package/lib/relation-repository/types.js +4 -2
  61. package/lib/repository.d.ts +4 -7
  62. package/lib/repository.js +465 -291
  63. package/lib/transaction-decorator.js +80 -67
  64. package/lib/update-associations.d.ts +1 -2
  65. package/lib/update-associations.js +525 -321
  66. package/lib/update-guard.js +160 -117
  67. package/package.json +3 -8
  68. package/src/__tests__/fields/uuid-field.test.ts +30 -0
  69. package/src/__tests__/operator/notIn.test.ts +33 -0
  70. package/src/__tests__/option-parser.test.ts +20 -0
  71. package/src/database.ts +51 -4
  72. package/src/fields/context-field.ts +1 -1
  73. package/src/fields/index.ts +3 -0
  74. package/src/fields/uuid-field.ts +21 -0
  75. package/src/mock-database.ts +1 -1
  76. package/src/model-hook.ts +1 -1
  77. package/src/operators/boolean.ts +18 -0
  78. package/src/operators/index.ts +2 -0
  79. package/src/operators/notIn.ts +12 -0
  80. package/src/options-parser.ts +1 -1
  81. package/src/relation-repository/multiple-relation-repository.ts +8 -6
  82. package/src/relation-repository/relation-repository.ts +11 -6
  83. package/src/relation-repository/single-relation-repository.ts +6 -6
  84. package/src/repository.ts +4 -6
  85. package/src/update-associations.ts +1 -2
  86. package/esm/collection-importer.d.ts +0 -7
  87. package/esm/collection-importer.js +0 -49
  88. package/esm/collection-importer.js.map +0 -1
  89. package/esm/collection.d.ts +0 -73
  90. package/esm/collection.js +0 -224
  91. package/esm/collection.js.map +0 -1
  92. package/esm/database.d.ts +0 -101
  93. package/esm/database.js +0 -275
  94. package/esm/database.js.map +0 -1
  95. package/esm/fields/array-field.d.ts +0 -11
  96. package/esm/fields/array-field.js +0 -26
  97. package/esm/fields/array-field.js.map +0 -1
  98. package/esm/fields/belongs-to-field.d.ts +0 -12
  99. package/esm/fields/belongs-to-field.js +0 -57
  100. package/esm/fields/belongs-to-field.js.map +0 -1
  101. package/esm/fields/belongs-to-many-field.d.ts +0 -11
  102. package/esm/fields/belongs-to-many-field.js +0 -55
  103. package/esm/fields/belongs-to-many-field.js.map +0 -1
  104. package/esm/fields/boolean-field.d.ts +0 -8
  105. package/esm/fields/boolean-field.js +0 -8
  106. package/esm/fields/boolean-field.js.map +0 -1
  107. package/esm/fields/context-field.d.ts +0 -13
  108. package/esm/fields/context-field.js +0 -43
  109. package/esm/fields/context-field.js.map +0 -1
  110. package/esm/fields/date-field.d.ts +0 -8
  111. package/esm/fields/date-field.js +0 -8
  112. package/esm/fields/date-field.js.map +0 -1
  113. package/esm/fields/field.d.ts +0 -37
  114. package/esm/fields/field.js +0 -74
  115. package/esm/fields/field.js.map +0 -1
  116. package/esm/fields/has-inverse-field.d.ts +0 -4
  117. package/esm/fields/has-inverse-field.js +0 -2
  118. package/esm/fields/has-inverse-field.js.map +0 -1
  119. package/esm/fields/has-many-field.d.ts +0 -64
  120. package/esm/fields/has-many-field.js +0 -58
  121. package/esm/fields/has-many-field.js.map +0 -1
  122. package/esm/fields/has-one-field.d.ts +0 -64
  123. package/esm/fields/has-one-field.js +0 -57
  124. package/esm/fields/has-one-field.js.map +0 -1
  125. package/esm/fields/index.d.ts +0 -40
  126. package/esm/fields/index.js +0 -21
  127. package/esm/fields/index.js.map +0 -1
  128. package/esm/fields/json-field.d.ts +0 -14
  129. package/esm/fields/json-field.js +0 -17
  130. package/esm/fields/json-field.js.map +0 -1
  131. package/esm/fields/number-field.d.ts +0 -32
  132. package/esm/fields/number-field.js +0 -28
  133. package/esm/fields/number-field.js.map +0 -1
  134. package/esm/fields/password-field.d.ts +0 -21
  135. package/esm/fields/password-field.js +0 -71
  136. package/esm/fields/password-field.js.map +0 -1
  137. package/esm/fields/radio-field.d.ts +0 -14
  138. package/esm/fields/radio-field.js +0 -49
  139. package/esm/fields/radio-field.js.map +0 -1
  140. package/esm/fields/relation-field.d.ts +0 -20
  141. package/esm/fields/relation-field.js +0 -27
  142. package/esm/fields/relation-field.js.map +0 -1
  143. package/esm/fields/sort-field.d.ts +0 -16
  144. package/esm/fields/sort-field.js +0 -90
  145. package/esm/fields/sort-field.js.map +0 -1
  146. package/esm/fields/string-field.d.ts +0 -8
  147. package/esm/fields/string-field.js +0 -8
  148. package/esm/fields/string-field.js.map +0 -1
  149. package/esm/fields/text-field.d.ts +0 -8
  150. package/esm/fields/text-field.js +0 -8
  151. package/esm/fields/text-field.js.map +0 -1
  152. package/esm/fields/time-field.d.ts +0 -8
  153. package/esm/fields/time-field.js +0 -8
  154. package/esm/fields/time-field.js.map +0 -1
  155. package/esm/fields/uid-field.d.ts +0 -10
  156. package/esm/fields/uid-field.js +0 -27
  157. package/esm/fields/uid-field.js.map +0 -1
  158. package/esm/fields/virtual-field.d.ts +0 -8
  159. package/esm/fields/virtual-field.js +0 -8
  160. package/esm/fields/virtual-field.js.map +0 -1
  161. package/esm/filter-parser.d.ts +0 -27
  162. package/esm/filter-parser.js +0 -185
  163. package/esm/filter-parser.js.map +0 -1
  164. package/esm/index.d.ts +0 -15
  165. package/esm/index.js +0 -16
  166. package/esm/index.js.map +0 -1
  167. package/esm/magic-attribute-model.d.ts +0 -7
  168. package/esm/magic-attribute-model.js +0 -70
  169. package/esm/magic-attribute-model.js.map +0 -1
  170. package/esm/mock-database.d.ts +0 -22
  171. package/esm/mock-database.js +0 -34
  172. package/esm/mock-database.js.map +0 -1
  173. package/esm/model-hook.d.ts +0 -12
  174. package/esm/model-hook.js +0 -61
  175. package/esm/model-hook.js.map +0 -1
  176. package/esm/model.d.ts +0 -15
  177. package/esm/model.js +0 -80
  178. package/esm/model.js.map +0 -1
  179. package/esm/operators/array.d.ts +0 -26
  180. package/esm/operators/array.js +0 -105
  181. package/esm/operators/array.js.map +0 -1
  182. package/esm/operators/association.d.ts +0 -10
  183. package/esm/operators/association.js +0 -14
  184. package/esm/operators/association.js.map +0 -1
  185. package/esm/operators/date.d.ts +0 -34
  186. package/esm/operators/date.js +0 -35
  187. package/esm/operators/date.js.map +0 -1
  188. package/esm/operators/empty.d.ts +0 -28
  189. package/esm/operators/empty.js +0 -58
  190. package/esm/operators/empty.js.map +0 -1
  191. package/esm/operators/index.d.ts +0 -2
  192. package/esm/operators/index.js +0 -2
  193. package/esm/operators/index.js.map +0 -1
  194. package/esm/operators/ne.js +0 -12
  195. package/esm/operators/ne.js.map +0 -1
  196. package/esm/operators/string.d.ts +0 -21
  197. package/esm/operators/string.js +0 -35
  198. package/esm/operators/string.js.map +0 -1
  199. package/esm/operators/utils.d.ts +0 -4
  200. package/esm/operators/utils.js +0 -11
  201. package/esm/operators/utils.js.map +0 -1
  202. package/esm/options-parser.d.ts +0 -31
  203. package/esm/options-parser.js +0 -225
  204. package/esm/options-parser.js.map +0 -1
  205. package/esm/playground.d.ts +0 -1
  206. package/esm/playground.js +0 -53
  207. package/esm/playground.js.map +0 -1
  208. package/esm/relation-repository/belongs-to-many-repository.d.ts +0 -36
  209. package/esm/relation-repository/belongs-to-many-repository.js +0 -199
  210. package/esm/relation-repository/belongs-to-many-repository.js.map +0 -1
  211. package/esm/relation-repository/belongs-to-repository.d.ts +0 -17
  212. package/esm/relation-repository/belongs-to-repository.js +0 -4
  213. package/esm/relation-repository/belongs-to-repository.js.map +0 -1
  214. package/esm/relation-repository/hasmany-repository.d.ts +0 -23
  215. package/esm/relation-repository/hasmany-repository.js +0 -125
  216. package/esm/relation-repository/hasmany-repository.js.map +0 -1
  217. package/esm/relation-repository/hasone-repository.d.ts +0 -17
  218. package/esm/relation-repository/hasone-repository.js +0 -4
  219. package/esm/relation-repository/hasone-repository.js.map +0 -1
  220. package/esm/relation-repository/multiple-relation-repository.d.ts +0 -23
  221. package/esm/relation-repository/multiple-relation-repository.js +0 -149
  222. package/esm/relation-repository/multiple-relation-repository.js.map +0 -1
  223. package/esm/relation-repository/relation-repository.d.ts +0 -32
  224. package/esm/relation-repository/relation-repository.js +0 -93
  225. package/esm/relation-repository/relation-repository.js.map +0 -1
  226. package/esm/relation-repository/single-relation-repository.d.ts +0 -23
  227. package/esm/relation-repository/single-relation-repository.js +0 -96
  228. package/esm/relation-repository/single-relation-repository.js.map +0 -1
  229. package/esm/relation-repository/types.d.ts +0 -7
  230. package/esm/relation-repository/types.js +0 -2
  231. package/esm/relation-repository/types.js.map +0 -1
  232. package/esm/repository.d.ts +0 -165
  233. package/esm/repository.js +0 -276
  234. package/esm/repository.js.map +0 -1
  235. package/esm/transaction-decorator.d.ts +0 -1
  236. package/esm/transaction-decorator.js +0 -63
  237. package/esm/transaction-decorator.js.map +0 -1
  238. package/esm/update-associations.d.ts +0 -60
  239. package/esm/update-associations.js +0 -362
  240. package/esm/update-associations.js.map +0 -1
  241. package/esm/update-guard.d.ts +0 -26
  242. package/esm/update-guard.js +0 -122
  243. package/esm/update-guard.js.map +0 -1
  244. package/lib/collection-importer.js.map +0 -1
  245. package/lib/collection.js.map +0 -1
  246. package/lib/database.js.map +0 -1
  247. package/lib/fields/array-field.js.map +0 -1
  248. package/lib/fields/belongs-to-field.js.map +0 -1
  249. package/lib/fields/belongs-to-many-field.js.map +0 -1
  250. package/lib/fields/boolean-field.js.map +0 -1
  251. package/lib/fields/context-field.js.map +0 -1
  252. package/lib/fields/date-field.js.map +0 -1
  253. package/lib/fields/field.js.map +0 -1
  254. package/lib/fields/has-inverse-field.js.map +0 -1
  255. package/lib/fields/has-many-field.js.map +0 -1
  256. package/lib/fields/has-one-field.js.map +0 -1
  257. package/lib/fields/index.js.map +0 -1
  258. package/lib/fields/json-field.js.map +0 -1
  259. package/lib/fields/number-field.js.map +0 -1
  260. package/lib/fields/password-field.js.map +0 -1
  261. package/lib/fields/radio-field.js.map +0 -1
  262. package/lib/fields/relation-field.js.map +0 -1
  263. package/lib/fields/sort-field.js.map +0 -1
  264. package/lib/fields/string-field.js.map +0 -1
  265. package/lib/fields/text-field.js.map +0 -1
  266. package/lib/fields/time-field.js.map +0 -1
  267. package/lib/fields/uid-field.js.map +0 -1
  268. package/lib/fields/virtual-field.js.map +0 -1
  269. package/lib/filter-parser.js.map +0 -1
  270. package/lib/index.js.map +0 -1
  271. package/lib/magic-attribute-model.js.map +0 -1
  272. package/lib/mock-database.js.map +0 -1
  273. package/lib/model-hook.js.map +0 -1
  274. package/lib/model.js.map +0 -1
  275. package/lib/operators/array.js.map +0 -1
  276. package/lib/operators/association.js.map +0 -1
  277. package/lib/operators/date.js.map +0 -1
  278. package/lib/operators/empty.js.map +0 -1
  279. package/lib/operators/index.js.map +0 -1
  280. package/lib/operators/ne.js.map +0 -1
  281. package/lib/operators/string.js.map +0 -1
  282. package/lib/operators/utils.js.map +0 -1
  283. package/lib/options-parser.js.map +0 -1
  284. package/lib/playground.js.map +0 -1
  285. package/lib/relation-repository/belongs-to-many-repository.js.map +0 -1
  286. package/lib/relation-repository/belongs-to-repository.js.map +0 -1
  287. package/lib/relation-repository/hasmany-repository.js.map +0 -1
  288. package/lib/relation-repository/hasone-repository.js.map +0 -1
  289. package/lib/relation-repository/multiple-relation-repository.js.map +0 -1
  290. package/lib/relation-repository/relation-repository.js.map +0 -1
  291. package/lib/relation-repository/single-relation-repository.js.map +0 -1
  292. package/lib/relation-repository/types.js.map +0 -1
  293. package/lib/repository.js.map +0 -1
  294. package/lib/transaction-decorator.js.map +0 -1
  295. package/lib/update-associations.js.map +0 -1
  296. package/lib/update-guard.js.map +0 -1
  297. package/tsconfig.build.json +0 -9
  298. package/tsconfig.json +0 -5
package/lib/repository.js CHANGED
@@ -1,302 +1,476 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
13
5
  });
14
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- };
20
- var __importStar = (this && this.__importStar) || function (mod) {
21
- if (mod && mod.__esModule) return mod;
22
- var result = {};
23
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
- __setModuleDefault(result, mod);
25
- return result;
26
- };
27
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
28
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
- return new (P || (P = Promise))(function (resolve, reject) {
30
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
- step((generator = generator.apply(thisArg, _arguments || [])).next());
34
- });
35
- };
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
6
  exports.Repository = void 0;
41
- const lodash_1 = __importStar(require("lodash"));
42
- const sequelize_1 = require("sequelize");
43
- const filter_parser_1 = __importDefault(require("./filter-parser"));
44
- const options_parser_1 = require("./options-parser");
45
- const belongs_to_many_repository_1 = require("./relation-repository/belongs-to-many-repository");
46
- const belongs_to_repository_1 = require("./relation-repository/belongs-to-repository");
47
- const hasmany_repository_1 = require("./relation-repository/hasmany-repository");
48
- const hasone_repository_1 = require("./relation-repository/hasone-repository");
49
- const transaction_decorator_1 = require("./transaction-decorator");
50
- const update_associations_1 = require("./update-associations");
51
- const update_guard_1 = require("./update-guard");
7
+
8
+ function _lodash() {
9
+ const data = _interopRequireWildcard(require("lodash"));
10
+
11
+ _lodash = function _lodash() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function _sequelize() {
19
+ const data = require("sequelize");
20
+
21
+ _sequelize = function _sequelize() {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ var _filterParser = _interopRequireDefault(require("./filter-parser"));
29
+
30
+ var _optionsParser = require("./options-parser");
31
+
32
+ var _belongsToManyRepository = require("./relation-repository/belongs-to-many-repository");
33
+
34
+ var _belongsToRepository = require("./relation-repository/belongs-to-repository");
35
+
36
+ var _hasmanyRepository = require("./relation-repository/hasmany-repository");
37
+
38
+ var _hasoneRepository = require("./relation-repository/hasone-repository");
39
+
40
+ var _transactionDecorator = require("./transaction-decorator");
41
+
42
+ var _updateAssociations = require("./update-associations");
43
+
44
+ var _updateGuard = require("./update-guard");
45
+
46
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
47
+
48
+ 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); }
49
+
50
+ 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; }
51
+
52
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
53
+
54
+ 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); }
55
+
56
+ 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; }
57
+
58
+ 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; }
59
+
60
+ 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; }
61
+
62
+ 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; }
63
+
64
+ 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); } }
65
+
66
+ 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); }); }; }
67
+
68
+ var __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
69
+ var c = arguments.length,
70
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
71
+ d;
72
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
73
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
74
+ };
75
+
52
76
  const debug = require('debug')('noco-database');
53
- const transaction = (0, transaction_decorator_1.transactionWrapperBuilder)(function () {
54
- return this.collection.model.sequelize.transaction();
77
+
78
+ const transaction = (0, _transactionDecorator.transactionWrapperBuilder)(function () {
79
+ return this.collection.model.sequelize.transaction();
55
80
  });
81
+
56
82
  class RelationRepositoryBuilder {
57
- constructor(collection, associationName) {
58
- this.builderMap = {
59
- HasOne: hasone_repository_1.HasOneRepository,
60
- BelongsTo: belongs_to_repository_1.BelongsToRepository,
61
- BelongsToMany: belongs_to_many_repository_1.BelongsToManyRepository,
62
- HasMany: hasmany_repository_1.HasManyRepository,
63
- };
64
- this.collection = collection;
65
- this.associationName = associationName;
66
- this.association = this.collection.model.associations[this.associationName];
67
- }
68
- builder() {
69
- return this.builderMap;
70
- }
71
- of(id) {
72
- const klass = this.builder()[this.association.associationType];
73
- return new klass(this.collection, this.associationName, id);
74
- }
83
+ constructor(collection, associationName) {
84
+ this.collection = void 0;
85
+ this.associationName = void 0;
86
+ this.association = void 0;
87
+ this.builderMap = {
88
+ HasOne: _hasoneRepository.HasOneRepository,
89
+ BelongsTo: _belongsToRepository.BelongsToRepository,
90
+ BelongsToMany: _belongsToManyRepository.BelongsToManyRepository,
91
+ HasMany: _hasmanyRepository.HasManyRepository
92
+ };
93
+ this.collection = collection;
94
+ this.associationName = associationName;
95
+ this.association = this.collection.model.associations[this.associationName];
96
+ }
97
+
98
+ builder() {
99
+ return this.builderMap;
100
+ }
101
+
102
+ of(id) {
103
+ const klass = this.builder()[this.association.associationType];
104
+ return new klass(this.collection, this.associationName, id);
105
+ }
106
+
75
107
  }
108
+
76
109
  class Repository {
77
- constructor(collection) {
78
- this.database = collection.context.database;
79
- this.collection = collection;
80
- this.model = collection.model;
81
- }
82
- /**
83
- * return count by filter
84
- */
85
- count(countOptions) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- let options = countOptions ? lodash_1.default.clone(countOptions) : {};
88
- const transaction = yield this.getTransaction(options);
89
- if (countOptions === null || countOptions === void 0 ? void 0 : countOptions.filter) {
90
- options = Object.assign(Object.assign({}, options), this.parseFilter(countOptions.filter, countOptions));
91
- }
92
- const count = yield this.collection.model.count(Object.assign(Object.assign({}, options), { distinct: true, transaction }));
93
- return count;
94
- });
95
- }
96
- /**
97
- * find
98
- * @param options
99
- */
100
- find(options) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const model = this.collection.model;
103
- const transaction = yield this.getTransaction(options);
104
- const opts = Object.assign({ subQuery: false }, this.buildQueryOptions(options));
105
- if (opts.include && opts.include.length > 0) {
106
- // @ts-ignore
107
- const primaryKeyField = model.primaryKeyField || model.primaryKeyAttribute;
108
- const ids = (yield model.findAll(Object.assign(Object.assign({}, opts), { includeIgnoreAttributes: false, attributes: [primaryKeyField], group: `${model.name}.${primaryKeyField}`, transaction }))).map((row) => row.get(primaryKeyField));
109
- const where = {
110
- [primaryKeyField]: {
111
- [sequelize_1.Op.in]: ids,
112
- },
113
- };
114
- return yield model.findAll(Object.assign(Object.assign({}, (0, lodash_1.omit)(opts, ['limit', 'offset'])), { where,
115
- transaction }));
116
- }
117
- return yield model.findAll(Object.assign(Object.assign({}, opts), { transaction }));
118
- });
119
- }
120
- /**
121
- * find and count
122
- * @param options
123
- */
124
- findAndCount(options) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- const transaction = yield this.getTransaction(options);
127
- options = Object.assign(Object.assign({}, options), { transaction });
128
- return [yield this.find(options), yield this.count(options)];
129
- });
130
- }
131
- /**
132
- * Find By Id
133
- *
134
- */
135
- findById(id) {
136
- return this.collection.model.findByPk(id);
137
- }
138
- /**
139
- * Find one record from database
140
- *
141
- * @param options
142
- */
143
- findOne(options) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- const transaction = yield this.getTransaction(options);
146
- const rows = yield this.find(Object.assign(Object.assign({}, options), { limit: 1, transaction }));
147
- return rows.length == 1 ? rows[0] : null;
148
- });
149
- }
150
- /**
151
- * Save instance to database
152
- *
153
- * @param values
154
- * @param options
155
- */
156
- create(options) {
157
- return __awaiter(this, void 0, void 0, function* () {
158
- const transaction = yield this.getTransaction(options);
159
- const guard = update_guard_1.UpdateGuard.fromOptions(this.model, Object.assign(Object.assign({}, options), { action: 'create' }));
160
- const values = guard.sanitize(options.values || {});
161
- const instance = yield this.model.create(values, Object.assign(Object.assign({}, options), { transaction }));
162
- if (!instance) {
163
- return;
164
- }
165
- yield (0, update_associations_1.updateAssociations)(instance, values, Object.assign(Object.assign({}, options), { transaction }));
166
- if (options.hooks !== false) {
167
- yield this.database.emitAsync(`${this.collection.name}.afterCreateWithAssociations`, instance, options);
168
- yield this.database.emitAsync(`${this.collection.name}.afterSaveWithAssociations`, instance, options);
169
- }
170
- return instance;
171
- });
172
- }
173
- /**
174
- * Save Many instances to database
175
- *
176
- * @param records
177
- * @param options
178
- */
179
- createMany(options) {
180
- return __awaiter(this, void 0, void 0, function* () {
181
- const transaction = yield this.getTransaction(options);
182
- const { records } = options;
183
- const instances = [];
184
- for (const values of records) {
185
- const instance = yield this.create({ values, transaction });
186
- instances.push(instance);
187
- }
188
- return instances;
189
- });
190
- }
191
- /**
192
- * Update model value
193
- *
194
- * @param values
195
- * @param options
196
- */
197
- update(options) {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- const transaction = yield this.getTransaction(options);
200
- const guard = update_guard_1.UpdateGuard.fromOptions(this.model, options);
201
- const values = guard.sanitize(options.values);
202
- const queryOptions = this.buildQueryOptions(options);
203
- const instances = yield this.find(Object.assign(Object.assign({}, queryOptions), { transaction }));
204
- for (const instance of instances) {
205
- yield (0, update_associations_1.updateModelByValues)(instance, values, Object.assign(Object.assign({}, options), { sanitized: true, transaction }));
206
- }
207
- if (options.hooks !== false) {
208
- for (const instance of instances) {
209
- yield this.database.emitAsync(`${this.collection.name}.afterUpdateWithAssociations`, instance, options);
210
- yield this.database.emitAsync(`${this.collection.name}.afterSaveWithAssociations`, instance, options);
211
- }
212
- }
213
- return instances;
214
- });
215
- }
216
- destroy(options) {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- const transaction = yield this.getTransaction(options);
219
- const modelFilterKey = this.collection.filterTargetKey;
220
- options = options;
221
- if (options['individualHooks'] === undefined) {
222
- options['individualHooks'] = true;
223
- }
224
- const filterByTk = options.filterByTk && !lodash_1.default.isArray(options.filterByTk)
225
- ? [options.filterByTk]
226
- : options.filterByTk;
227
- if (filterByTk && !options.filter) {
228
- return yield this.model.destroy(Object.assign(Object.assign({}, options), { where: {
229
- [modelFilterKey]: {
230
- [sequelize_1.Op.in]: filterByTk,
231
- },
232
- }, transaction }));
233
- }
234
- if (options.filter) {
235
- let pks = (yield this.find({
236
- filter: options.filter,
237
- transaction,
238
- })).map((instance) => instance.get(modelFilterKey));
239
- if (filterByTk) {
240
- pks = lodash_1.default.intersection(pks.map((i) => `${i}`), filterByTk.map((i) => `${i}`));
241
- }
242
- return yield this.destroy(Object.assign(Object.assign({}, lodash_1.default.omit(options, 'filter')), { filterByTk: pks, transaction }));
243
- }
244
- if (options.truncate) {
245
- return yield this.model.destroy(Object.assign(Object.assign({}, options), { truncate: true, transaction }));
246
- }
247
- });
248
- }
249
- /**
250
- * @param association target association
251
- */
252
- relation(association) {
253
- return new RelationRepositoryBuilder(this.collection, association);
254
- }
255
- buildQueryOptions(options) {
256
- const parser = new options_parser_1.OptionsParser(options, {
257
- collection: this.collection,
258
- });
259
- const params = parser.toSequelizeParams();
260
- debug('sequelize query params %o', params);
261
- return Object.assign(Object.assign({ where: {} }, options), params);
262
- }
263
- parseFilter(filter, options) {
264
- const parser = new filter_parser_1.default(filter, {
265
- collection: this.collection,
266
- app: {
267
- ctx: options === null || options === void 0 ? void 0 : options.context,
268
- },
269
- });
270
- return parser.toSequelizeParams();
271
- }
272
- getTransaction(options, autoGen = false) {
273
- return __awaiter(this, void 0, void 0, function* () {
274
- if (lodash_1.default.isPlainObject(options) && options.transaction) {
275
- return options.transaction;
276
- }
277
- if (autoGen) {
278
- return yield this.model.sequelize.transaction();
110
+ constructor(collection) {
111
+ this.database = void 0;
112
+ this.collection = void 0;
113
+ this.model = void 0;
114
+ this.database = collection.context.database;
115
+ this.collection = collection;
116
+ this.model = collection.model;
117
+ }
118
+ /**
119
+ * return count by filter
120
+ */
121
+
122
+
123
+ count(countOptions) {
124
+ var _this = this;
125
+
126
+ return _asyncToGenerator(function* () {
127
+ let options = countOptions ? _lodash().default.clone(countOptions) : {};
128
+ const transaction = yield _this.getTransaction(options);
129
+
130
+ if (countOptions === null || countOptions === void 0 ? void 0 : countOptions.filter) {
131
+ options = _objectSpread(_objectSpread({}, options), _this.parseFilter(countOptions.filter, countOptions));
132
+ }
133
+
134
+ const count = yield _this.collection.model.count(_objectSpread(_objectSpread({}, options), {}, {
135
+ distinct: true,
136
+ transaction
137
+ }));
138
+ return count;
139
+ })();
140
+ }
141
+ /**
142
+ * find
143
+ * @param options
144
+ */
145
+
146
+
147
+ find(options) {
148
+ var _this2 = this;
149
+
150
+ return _asyncToGenerator(function* () {
151
+ const model = _this2.collection.model;
152
+ const transaction = yield _this2.getTransaction(options);
153
+
154
+ const opts = _objectSpread({
155
+ subQuery: false
156
+ }, _this2.buildQueryOptions(options));
157
+
158
+ if (opts.include && opts.include.length > 0) {
159
+ // @ts-ignore
160
+ const primaryKeyField = model.primaryKeyField || model.primaryKeyAttribute;
161
+ const ids = (yield model.findAll(_objectSpread(_objectSpread({}, opts), {}, {
162
+ includeIgnoreAttributes: false,
163
+ attributes: [primaryKeyField],
164
+ group: `${model.name}.${primaryKeyField}`,
165
+ transaction
166
+ }))).map(row => row.get(primaryKeyField));
167
+ const where = {
168
+ [primaryKeyField]: {
169
+ [_sequelize().Op.in]: ids
170
+ }
171
+ };
172
+ return yield model.findAll(_objectSpread(_objectSpread({}, (0, _lodash().omit)(opts, ['limit', 'offset'])), {}, {
173
+ where,
174
+ transaction
175
+ }));
176
+ }
177
+
178
+ return yield model.findAll(_objectSpread(_objectSpread({}, opts), {}, {
179
+ transaction
180
+ }));
181
+ })();
182
+ }
183
+ /**
184
+ * find and count
185
+ * @param options
186
+ */
187
+
188
+
189
+ findAndCount(options) {
190
+ var _this3 = this;
191
+
192
+ return _asyncToGenerator(function* () {
193
+ const transaction = yield _this3.getTransaction(options);
194
+ options = _objectSpread(_objectSpread({}, options), {}, {
195
+ transaction
196
+ });
197
+ return [yield _this3.find(options), yield _this3.count(options)];
198
+ })();
199
+ }
200
+ /**
201
+ * Find By Id
202
+ *
203
+ */
204
+
205
+
206
+ findById(id) {
207
+ return this.collection.model.findByPk(id);
208
+ }
209
+ /**
210
+ * Find one record from database
211
+ *
212
+ * @param options
213
+ */
214
+
215
+
216
+ findOne(options) {
217
+ var _this4 = this;
218
+
219
+ return _asyncToGenerator(function* () {
220
+ const transaction = yield _this4.getTransaction(options);
221
+ const rows = yield _this4.find(_objectSpread(_objectSpread({}, options), {}, {
222
+ limit: 1,
223
+ transaction
224
+ }));
225
+ return rows.length == 1 ? rows[0] : null;
226
+ })();
227
+ }
228
+ /**
229
+ * Save instance to database
230
+ *
231
+ * @param values
232
+ * @param options
233
+ */
234
+
235
+
236
+ create(options) {
237
+ var _this5 = this;
238
+
239
+ return _asyncToGenerator(function* () {
240
+ const transaction = yield _this5.getTransaction(options);
241
+
242
+ const guard = _updateGuard.UpdateGuard.fromOptions(_this5.model, _objectSpread(_objectSpread({}, options), {}, {
243
+ action: 'create'
244
+ }));
245
+
246
+ const values = guard.sanitize(options.values || {});
247
+ const instance = yield _this5.model.create(values, _objectSpread(_objectSpread({}, options), {}, {
248
+ transaction
249
+ }));
250
+
251
+ if (!instance) {
252
+ return;
253
+ }
254
+
255
+ yield (0, _updateAssociations.updateAssociations)(instance, values, _objectSpread(_objectSpread({}, options), {}, {
256
+ transaction
257
+ }));
258
+
259
+ if (options.hooks !== false) {
260
+ yield _this5.database.emitAsync(`${_this5.collection.name}.afterCreateWithAssociations`, instance, options);
261
+ yield _this5.database.emitAsync(`${_this5.collection.name}.afterSaveWithAssociations`, instance, options);
262
+ }
263
+
264
+ return instance;
265
+ })();
266
+ }
267
+ /**
268
+ * Save Many instances to database
269
+ *
270
+ * @param records
271
+ * @param options
272
+ */
273
+
274
+
275
+ createMany(options) {
276
+ var _this6 = this;
277
+
278
+ return _asyncToGenerator(function* () {
279
+ const transaction = yield _this6.getTransaction(options);
280
+ const records = options.records;
281
+ const instances = [];
282
+
283
+ var _iterator = _createForOfIteratorHelper(records),
284
+ _step;
285
+
286
+ try {
287
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
288
+ const values = _step.value;
289
+ const instance = yield _this6.create({
290
+ values,
291
+ transaction
292
+ });
293
+ instances.push(instance);
294
+ }
295
+ } catch (err) {
296
+ _iterator.e(err);
297
+ } finally {
298
+ _iterator.f();
299
+ }
300
+
301
+ return instances;
302
+ })();
303
+ }
304
+ /**
305
+ * Update model value
306
+ *
307
+ * @param values
308
+ * @param options
309
+ */
310
+
311
+
312
+ update(options) {
313
+ var _this7 = this;
314
+
315
+ return _asyncToGenerator(function* () {
316
+ const transaction = yield _this7.getTransaction(options);
317
+
318
+ const guard = _updateGuard.UpdateGuard.fromOptions(_this7.model, options);
319
+
320
+ const values = guard.sanitize(options.values);
321
+
322
+ const queryOptions = _this7.buildQueryOptions(options);
323
+
324
+ const instances = yield _this7.find(_objectSpread(_objectSpread({}, queryOptions), {}, {
325
+ transaction
326
+ }));
327
+
328
+ var _iterator2 = _createForOfIteratorHelper(instances),
329
+ _step2;
330
+
331
+ try {
332
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
333
+ const instance = _step2.value;
334
+ yield (0, _updateAssociations.updateModelByValues)(instance, values, _objectSpread(_objectSpread({}, options), {}, {
335
+ sanitized: true,
336
+ transaction
337
+ }));
338
+ }
339
+ } catch (err) {
340
+ _iterator2.e(err);
341
+ } finally {
342
+ _iterator2.f();
343
+ }
344
+
345
+ if (options.hooks !== false) {
346
+ var _iterator3 = _createForOfIteratorHelper(instances),
347
+ _step3;
348
+
349
+ try {
350
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
351
+ const instance = _step3.value;
352
+ yield _this7.database.emitAsync(`${_this7.collection.name}.afterUpdateWithAssociations`, instance, options);
353
+ yield _this7.database.emitAsync(`${_this7.collection.name}.afterSaveWithAssociations`, instance, options);
354
+ }
355
+ } catch (err) {
356
+ _iterator3.e(err);
357
+ } finally {
358
+ _iterator3.f();
359
+ }
360
+ }
361
+
362
+ return instances;
363
+ })();
364
+ }
365
+
366
+ destroy(options) {
367
+ var _this8 = this;
368
+
369
+ return _asyncToGenerator(function* () {
370
+ const transaction = yield _this8.getTransaction(options);
371
+ const modelFilterKey = _this8.collection.filterTargetKey;
372
+ options = options;
373
+
374
+ if (options['individualHooks'] === undefined) {
375
+ options['individualHooks'] = true;
376
+ }
377
+
378
+ const filterByTk = options.filterByTk && !_lodash().default.isArray(options.filterByTk) ? [options.filterByTk] : options.filterByTk;
379
+
380
+ if (filterByTk && !options.filter) {
381
+ return yield _this8.model.destroy(_objectSpread(_objectSpread({}, options), {}, {
382
+ where: {
383
+ [modelFilterKey]: {
384
+ [_sequelize().Op.in]: filterByTk
279
385
  }
280
- return null;
281
- });
282
- }
386
+ },
387
+ transaction
388
+ }));
389
+ }
390
+
391
+ if (options.filter) {
392
+ let pks = (yield _this8.find({
393
+ filter: options.filter,
394
+ transaction
395
+ })).map(instance => instance.get(modelFilterKey));
396
+
397
+ if (filterByTk) {
398
+ pks = _lodash().default.intersection(pks.map(i => `${i}`), filterByTk.map(i => `${i}`));
399
+ }
400
+
401
+ return yield _this8.destroy(_objectSpread(_objectSpread({}, _lodash().default.omit(options, 'filter')), {}, {
402
+ filterByTk: pks,
403
+ transaction
404
+ }));
405
+ }
406
+
407
+ if (options.truncate) {
408
+ return yield _this8.model.destroy(_objectSpread(_objectSpread({}, options), {}, {
409
+ truncate: true,
410
+ transaction
411
+ }));
412
+ }
413
+ })();
414
+ }
415
+ /**
416
+ * @param association target association
417
+ */
418
+
419
+
420
+ relation(association) {
421
+ return new RelationRepositoryBuilder(this.collection, association);
422
+ }
423
+
424
+ buildQueryOptions(options) {
425
+ const parser = new _optionsParser.OptionsParser(options, {
426
+ collection: this.collection
427
+ });
428
+ const params = parser.toSequelizeParams();
429
+ debug('sequelize query params %o', params);
430
+ return _objectSpread(_objectSpread({
431
+ where: {}
432
+ }, options), params);
433
+ }
434
+
435
+ parseFilter(filter, options) {
436
+ const parser = new _filterParser.default(filter, {
437
+ collection: this.collection,
438
+ app: {
439
+ ctx: options === null || options === void 0 ? void 0 : options.context
440
+ }
441
+ });
442
+ return parser.toSequelizeParams();
443
+ }
444
+
445
+ getTransaction(options, autoGen = false) {
446
+ var _this9 = this;
447
+
448
+ return _asyncToGenerator(function* () {
449
+ if (_lodash().default.isPlainObject(options) && options.transaction) {
450
+ return options.transaction;
451
+ }
452
+
453
+ if (autoGen) {
454
+ return yield _this9.model.sequelize.transaction();
455
+ }
456
+
457
+ return null;
458
+ })();
459
+ }
460
+
283
461
  }
284
- __decorate([
285
- transaction()
286
- ], Repository.prototype, "create", null);
287
- __decorate([
288
- transaction()
289
- ], Repository.prototype, "createMany", null);
290
- __decorate([
291
- transaction()
292
- ], Repository.prototype, "update", null);
293
- __decorate([
294
- transaction((args, transaction) => {
295
- return {
296
- filterByTk: args[0],
297
- transaction,
298
- };
299
- })
300
- ], Repository.prototype, "destroy", null);
462
+
301
463
  exports.Repository = Repository;
302
- //# sourceMappingURL=repository.js.map
464
+
465
+ __decorate([transaction()], Repository.prototype, "create", null);
466
+
467
+ __decorate([transaction()], Repository.prototype, "createMany", null);
468
+
469
+ __decorate([transaction()], Repository.prototype, "update", null);
470
+
471
+ __decorate([transaction((args, transaction) => {
472
+ return {
473
+ filterByTk: args[0],
474
+ transaction
475
+ };
476
+ })], Repository.prototype, "destroy", null);