@webiny/app-aco 5.43.0-beta.0 → 5.43.0-beta.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.
Files changed (125) hide show
  1. package/components/FolderTree/List/index.js +34 -27
  2. package/components/FolderTree/List/index.js.map +1 -1
  3. package/components/FolderTree/Node/index.d.ts +3 -1
  4. package/components/FolderTree/Node/index.js +46 -17
  5. package/components/FolderTree/Node/index.js.map +1 -1
  6. package/components/FolderTree/Node/styled.d.ts +5 -0
  7. package/components/FolderTree/Node/styled.js +38 -20
  8. package/components/FolderTree/Node/styled.js.map +1 -1
  9. package/components/FolderTree/index.js +11 -15
  10. package/components/FolderTree/index.js.map +1 -1
  11. package/contexts/acoList.js +14 -11
  12. package/contexts/acoList.js.map +1 -1
  13. package/contexts/navigateFolder.d.ts +1 -1
  14. package/contexts/navigateFolder.js +1 -1
  15. package/contexts/navigateFolder.js.map +1 -1
  16. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +39 -25
  17. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  18. package/features/folders/cache/ListCache.js +2 -1
  19. package/features/folders/cache/ListCache.js.map +1 -1
  20. package/features/folders/cache/LoadedCache.d.ts +13 -0
  21. package/features/folders/cache/LoadedCache.js +59 -0
  22. package/features/folders/cache/LoadedCache.js.map +1 -0
  23. package/features/folders/cache/LoadedFoldersCacheFactory.d.ts +7 -0
  24. package/features/folders/cache/LoadedFoldersCacheFactory.js +35 -0
  25. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -0
  26. package/features/folders/cache/index.d.ts +2 -0
  27. package/features/folders/cache/index.js +22 -0
  28. package/features/folders/cache/index.js.map +1 -1
  29. package/features/folders/getFolderHierarchy/FolderDto.d.ts +25 -0
  30. package/features/folders/getFolderHierarchy/FolderDto.js +50 -0
  31. package/features/folders/getFolderHierarchy/FolderDto.js.map +1 -0
  32. package/features/folders/getFolderHierarchy/FolderGqlDto.d.ts +20 -0
  33. package/features/folders/getFolderHierarchy/FolderGqlDto.js +7 -0
  34. package/features/folders/getFolderHierarchy/FolderGqlDto.js.map +1 -0
  35. package/features/folders/getFolderHierarchy/GetFolderHierarchy.d.ts +14 -0
  36. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js +37 -0
  37. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  38. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.d.ts +1 -0
  39. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js +207 -0
  40. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js.map +1 -0
  41. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.d.ts +31 -0
  42. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js +82 -0
  43. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +1 -0
  44. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.d.ts +12 -0
  45. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js +48 -0
  46. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  47. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.d.ts +7 -0
  48. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js +26 -0
  49. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  50. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.d.ts +8 -0
  51. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js +25 -0
  52. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +1 -0
  53. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.d.ts +12 -0
  54. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js +7 -0
  55. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js.map +1 -0
  56. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.d.ts +6 -0
  57. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js +7 -0
  58. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js.map +1 -0
  59. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.d.ts +6 -0
  60. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js +7 -0
  61. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js.map +1 -0
  62. package/features/folders/getFolderHierarchy/index.d.ts +1 -0
  63. package/features/folders/getFolderHierarchy/index.js +18 -0
  64. package/features/folders/getFolderHierarchy/index.js.map +1 -0
  65. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.d.ts +6 -0
  66. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js +65 -0
  67. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +1 -0
  68. package/features/folders/index.d.ts +2 -0
  69. package/features/folders/index.js +22 -0
  70. package/features/folders/index.js.map +1 -1
  71. package/features/folders/listFolders/useListFolders.js +3 -8
  72. package/features/folders/listFolders/useListFolders.js.map +1 -1
  73. package/features/folders/listFoldersByParentIds/FolderDto.d.ts +25 -0
  74. package/features/folders/listFoldersByParentIds/FolderDto.js +50 -0
  75. package/features/folders/listFoldersByParentIds/FolderDto.js.map +1 -0
  76. package/features/folders/listFoldersByParentIds/FolderGqlDto.d.ts +20 -0
  77. package/features/folders/listFoldersByParentIds/FolderGqlDto.js +7 -0
  78. package/features/folders/listFoldersByParentIds/FolderGqlDto.js.map +1 -0
  79. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.d.ts +8 -0
  80. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js +7 -0
  81. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js.map +1 -0
  82. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.d.ts +6 -0
  83. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js +7 -0
  84. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js.map +1 -0
  85. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.d.ts +6 -0
  86. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js +7 -0
  87. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js.map +1 -0
  88. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.d.ts +14 -0
  89. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js +39 -0
  90. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +1 -0
  91. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.d.ts +1 -0
  92. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +248 -0
  93. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -0
  94. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +26 -0
  95. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +86 -0
  96. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -0
  97. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +11 -0
  98. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +32 -0
  99. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -0
  100. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.d.ts +8 -0
  101. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js +39 -0
  102. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +1 -0
  103. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +8 -0
  104. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +34 -0
  105. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -0
  106. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts +10 -0
  107. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js +37 -0
  108. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +1 -0
  109. package/features/folders/listFoldersByParentIds/index.d.ts +1 -0
  110. package/features/folders/listFoldersByParentIds/index.js +18 -0
  111. package/features/folders/listFoldersByParentIds/index.js.map +1 -0
  112. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +6 -0
  113. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +65 -0
  114. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -0
  115. package/handlers.d.ts +1 -1
  116. package/package.json +17 -18
  117. package/types.d.ts +11 -11
  118. package/types.js +12 -11
  119. package/types.js.map +1 -1
  120. package/components/FolderTree/Empty/index.d.ts +0 -2
  121. package/components/FolderTree/Empty/index.js +0 -21
  122. package/components/FolderTree/Empty/index.js.map +0 -1
  123. package/components/FolderTree/Empty/styled.d.ts +0 -5
  124. package/components/FolderTree/Empty/styled.js +0 -25
  125. package/components/FolderTree/Empty/styled.js.map +0 -1
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.LoadedCache = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _mobx = require("mobx");
12
+ var LoadedCache = exports.LoadedCache = /*#__PURE__*/function () {
13
+ function LoadedCache() {
14
+ (0, _classCallCheck2.default)(this, LoadedCache);
15
+ this.state = [];
16
+ (0, _mobx.makeAutoObservable)(this);
17
+ }
18
+ return (0, _createClass2.default)(LoadedCache, [{
19
+ key: "hasItems",
20
+ value: function hasItems() {
21
+ return this.state.length > 0;
22
+ }
23
+ }, {
24
+ key: "clear",
25
+ value: function clear() {
26
+ var _this = this;
27
+ (0, _mobx.runInAction)(function () {
28
+ _this.state = [];
29
+ });
30
+ }
31
+ }, {
32
+ key: "count",
33
+ value: function count() {
34
+ return this.state.length;
35
+ }
36
+ }, {
37
+ key: "getItems",
38
+ value: function getItems() {
39
+ return (0, _toConsumableArray2.default)(this.state);
40
+ }
41
+ }, {
42
+ key: "getItem",
43
+ value: function getItem(predicate) {
44
+ return this.state.find(function (item) {
45
+ return predicate(item);
46
+ });
47
+ }
48
+ }, {
49
+ key: "addItems",
50
+ value: function addItems(items) {
51
+ var _this2 = this;
52
+ (0, _mobx.runInAction)(function () {
53
+ _this2.state = Array.from(new Set([].concat((0, _toConsumableArray2.default)(_this2.state), (0, _toConsumableArray2.default)(items))));
54
+ });
55
+ }
56
+ }]);
57
+ }();
58
+
59
+ //# sourceMappingURL=LoadedCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_mobx","require","LoadedCache","exports","_classCallCheck2","default","state","makeAutoObservable","_createClass2","key","value","hasItems","length","clear","_this","runInAction","count","getItems","_toConsumableArray2","getItem","predicate","find","item","addItems","items","_this2","Array","from","Set","concat"],"sources":["LoadedCache.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\n\nexport interface IListLoadedCachePredicate {\n (item: string): boolean;\n}\n\nexport class LoadedCache {\n private state: string[];\n\n constructor() {\n this.state = [];\n\n makeAutoObservable(this);\n }\n\n hasItems() {\n return this.state.length > 0;\n }\n\n clear() {\n runInAction(() => {\n this.state = [];\n });\n }\n\n count() {\n return this.state.length;\n }\n\n getItems() {\n return [...this.state];\n }\n\n getItem(predicate: IListLoadedCachePredicate) {\n return this.state.find(item => predicate(item));\n }\n\n addItems(items: string[]) {\n runInAction(() => {\n this.state = Array.from(new Set([...this.state, ...items]));\n });\n }\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAuD,IAM1CC,WAAW,GAAAC,OAAA,CAAAD,WAAA;EAGpB,SAAAA,YAAA,EAAc;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,WAAA;IACV,IAAI,CAACI,KAAK,GAAG,EAAE;IAEf,IAAAC,wBAAkB,EAAC,IAAI,CAAC;EAC5B;EAAC,WAAAC,aAAA,CAAAH,OAAA,EAAAH,WAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,QAAQA,CAAA,EAAG;MACP,OAAO,IAAI,CAACL,KAAK,CAACM,MAAM,GAAG,CAAC;IAChC;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,KAAKA,CAAA,EAAG;MAAA,IAAAC,KAAA;MACJ,IAAAC,iBAAW,EAAC,YAAM;QACdD,KAAI,CAACR,KAAK,GAAG,EAAE;MACnB,CAAC,CAAC;IACN;EAAC;IAAAG,GAAA;IAAAC,KAAA,EAED,SAAAM,KAAKA,CAAA,EAAG;MACJ,OAAO,IAAI,CAACV,KAAK,CAACM,MAAM;IAC5B;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAO,QAAQA,CAAA,EAAG;MACP,WAAAC,mBAAA,CAAAb,OAAA,EAAW,IAAI,CAACC,KAAK;IACzB;EAAC;IAAAG,GAAA;IAAAC,KAAA,EAED,SAAAS,OAAOA,CAACC,SAAoC,EAAE;MAC1C,OAAO,IAAI,CAACd,KAAK,CAACe,IAAI,CAAC,UAAAC,IAAI;QAAA,OAAIF,SAAS,CAACE,IAAI,CAAC;MAAA,EAAC;IACnD;EAAC;IAAAb,GAAA;IAAAC,KAAA,EAED,SAAAa,QAAQA,CAACC,KAAe,EAAE;MAAA,IAAAC,MAAA;MACtB,IAAAV,iBAAW,EAAC,YAAM;QACdU,MAAI,CAACnB,KAAK,GAAGoB,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,IAAAC,MAAA,KAAAX,mBAAA,CAAAb,OAAA,EAAKoB,MAAI,CAACnB,KAAK,OAAAY,mBAAA,CAAAb,OAAA,EAAKmB,KAAK,EAAC,CAAC,CAAC;MAC/D,CAAC,CAAC;IACN;EAAC;AAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { LoadedCache } from "./LoadedCache";
2
+ export declare class LoadedFoldersCacheFactory {
3
+ private cache;
4
+ getCache(namespace: string): LoadedCache;
5
+ private getCacheKey;
6
+ }
7
+ export declare const loadedFolderCacheFactory: LoadedFoldersCacheFactory;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.loadedFolderCacheFactory = exports.LoadedFoldersCacheFactory = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _LoadedCache = require("./LoadedCache");
12
+ var LoadedFoldersCacheFactory = exports.LoadedFoldersCacheFactory = /*#__PURE__*/function () {
13
+ function LoadedFoldersCacheFactory() {
14
+ (0, _classCallCheck2.default)(this, LoadedFoldersCacheFactory);
15
+ (0, _defineProperty2.default)(this, "cache", new Map());
16
+ }
17
+ return (0, _createClass2.default)(LoadedFoldersCacheFactory, [{
18
+ key: "getCache",
19
+ value: function getCache(namespace) {
20
+ var cacheKey = this.getCacheKey(namespace);
21
+ if (!this.cache.has(cacheKey)) {
22
+ this.cache.set(cacheKey, new _LoadedCache.LoadedCache());
23
+ }
24
+ return this.cache.get(cacheKey);
25
+ }
26
+ }, {
27
+ key: "getCacheKey",
28
+ value: function getCacheKey(namespace) {
29
+ return namespace;
30
+ }
31
+ }]);
32
+ }();
33
+ var loadedFolderCacheFactory = exports.loadedFolderCacheFactory = new LoadedFoldersCacheFactory();
34
+
35
+ //# sourceMappingURL=LoadedFoldersCacheFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_LoadedCache","require","LoadedFoldersCacheFactory","exports","_classCallCheck2","default","_defineProperty2","Map","_createClass2","key","value","getCache","namespace","cacheKey","getCacheKey","cache","has","set","LoadedCache","get","loadedFolderCacheFactory"],"sources":["LoadedFoldersCacheFactory.ts"],"sourcesContent":["import { LoadedCache } from \"~/features/folders/cache/LoadedCache\";\n\nexport class LoadedFoldersCacheFactory {\n private cache: Map<string, LoadedCache> = new Map();\n\n getCache(namespace: string) {\n const cacheKey = this.getCacheKey(namespace);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(cacheKey, new LoadedCache());\n }\n\n return this.cache.get(cacheKey) as LoadedCache;\n }\n\n private getCacheKey(namespace: string) {\n return namespace;\n }\n}\n\nexport const loadedFolderCacheFactory = new LoadedFoldersCacheFactory();\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAmE,IAEtDC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA;EAAA,SAAAA,0BAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,yBAAA;IAAA,IAAAI,gBAAA,CAAAD,OAAA,iBACQ,IAAIE,GAAG,CAAC,CAAC;EAAA;EAAA,WAAAC,aAAA,CAAAH,OAAA,EAAAH,yBAAA;IAAAO,GAAA;IAAAC,KAAA,EAEnD,SAAAC,QAAQA,CAACC,SAAiB,EAAE;MACxB,IAAMC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACF,SAAS,CAAC;MAE5C,IAAI,CAAC,IAAI,CAACG,KAAK,CAACC,GAAG,CAACH,QAAQ,CAAC,EAAE;QAC3B,IAAI,CAACE,KAAK,CAACE,GAAG,CAACJ,QAAQ,EAAE,IAAIK,wBAAW,CAAC,CAAC,CAAC;MAC/C;MAEA,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACN,QAAQ,CAAC;IACnC;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAQI,WAAWA,CAACF,SAAiB,EAAE;MACnC,OAAOA,SAAS;IACpB;EAAC;AAAA;AAGE,IAAMQ,wBAAwB,GAAAjB,OAAA,CAAAiB,wBAAA,GAAG,IAAIlB,yBAAyB,CAAC,CAAC","ignoreList":[]}
@@ -1,2 +1,4 @@
1
1
  export * from "./FoldersCacheFactory";
2
2
  export * from "./ListCache";
3
+ export * from "./LoadedCache";
4
+ export * from "./LoadedFoldersCacheFactory";
@@ -25,5 +25,27 @@ Object.keys(_ListCache).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
+ var _LoadedCache = require("./LoadedCache");
29
+ Object.keys(_LoadedCache).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _LoadedCache[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _LoadedCache[key];
36
+ }
37
+ });
38
+ });
39
+ var _LoadedFoldersCacheFactory = require("./LoadedFoldersCacheFactory");
40
+ Object.keys(_LoadedFoldersCacheFactory).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _LoadedFoldersCacheFactory[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _LoadedFoldersCacheFactory[key];
47
+ }
48
+ });
49
+ });
28
50
 
29
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_FoldersCacheFactory","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ListCache"],"sources":["index.ts"],"sourcesContent":["export * from \"./FoldersCacheFactory\";\nexport * from \"./ListCache\";\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,oBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_FoldersCacheFactory","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ListCache","_LoadedCache","_LoadedFoldersCacheFactory"],"sources":["index.ts"],"sourcesContent":["export * from \"./FoldersCacheFactory\";\nexport * from \"./ListCache\";\nexport * from \"./LoadedCache\";\nexport * from \"./LoadedFoldersCacheFactory\";\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,oBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,0BAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,0BAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,0BAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAG,0BAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import { CmsIdentity, FolderPermission } from "../../../types";
2
+ import { Folder } from "../Folder";
3
+ export interface FolderDto {
4
+ id: string;
5
+ title: string;
6
+ slug: string;
7
+ type: string;
8
+ parentId: string;
9
+ permissions: FolderPermission[];
10
+ hasNonInheritedPermissions: boolean;
11
+ canManagePermissions: boolean;
12
+ canManageStructure: boolean;
13
+ canManageContent: boolean;
14
+ createdBy: CmsIdentity;
15
+ createdOn: string;
16
+ savedBy: CmsIdentity;
17
+ savedOn: string;
18
+ modifiedBy: CmsIdentity;
19
+ modifiedOn: string;
20
+ extensions: Record<string, any>;
21
+ }
22
+ export declare class FolderDtoMapper {
23
+ static toDTO(folder: Folder): FolderDto;
24
+ private static createIdentity;
25
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.FolderDtoMapper = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _constants = require("../../../constants");
11
+ var FolderDtoMapper = exports.FolderDtoMapper = /*#__PURE__*/function () {
12
+ function FolderDtoMapper() {
13
+ (0, _classCallCheck2.default)(this, FolderDtoMapper);
14
+ }
15
+ return (0, _createClass2.default)(FolderDtoMapper, null, [{
16
+ key: "toDTO",
17
+ value: function toDTO(folder) {
18
+ return {
19
+ id: folder.id,
20
+ title: folder.title,
21
+ canManageContent: folder.canManageContent ?? false,
22
+ canManagePermissions: folder.canManagePermissions ?? false,
23
+ canManageStructure: folder.canManageStructure ?? false,
24
+ createdBy: this.createIdentity(folder.createdBy),
25
+ createdOn: folder.createdOn ?? "",
26
+ hasNonInheritedPermissions: folder.hasNonInheritedPermissions ?? false,
27
+ modifiedBy: this.createIdentity(folder.modifiedBy),
28
+ modifiedOn: folder.modifiedOn ?? "",
29
+ parentId: folder.parentId ?? _constants.ROOT_FOLDER,
30
+ permissions: folder.permissions ?? [],
31
+ savedBy: this.createIdentity(folder.savedBy),
32
+ savedOn: folder.savedOn ?? "",
33
+ slug: folder.slug,
34
+ type: folder.type,
35
+ extensions: folder.extensions ?? {}
36
+ };
37
+ }
38
+ }, {
39
+ key: "createIdentity",
40
+ value: function createIdentity(identity) {
41
+ return {
42
+ id: identity?.id || "",
43
+ displayName: identity?.displayName || "",
44
+ type: identity?.type || ""
45
+ };
46
+ }
47
+ }]);
48
+ }();
49
+
50
+ //# sourceMappingURL=FolderDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","FolderDtoMapper","exports","_classCallCheck2","default","_createClass2","key","value","toDTO","folder","id","title","canManageContent","canManagePermissions","canManageStructure","createdBy","createIdentity","createdOn","hasNonInheritedPermissions","modifiedBy","modifiedOn","parentId","ROOT_FOLDER","permissions","savedBy","savedOn","slug","type","extensions","identity","displayName"],"sources":["FolderDto.ts"],"sourcesContent":["import { CmsIdentity, FolderPermission } from \"~/types\";\nimport { Folder } from \"../Folder\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface FolderDto {\n id: string;\n title: string;\n slug: string;\n type: string;\n parentId: string;\n permissions: FolderPermission[];\n hasNonInheritedPermissions: boolean;\n canManagePermissions: boolean;\n canManageStructure: boolean;\n canManageContent: boolean;\n createdBy: CmsIdentity;\n createdOn: string;\n savedBy: CmsIdentity;\n savedOn: string;\n modifiedBy: CmsIdentity;\n modifiedOn: string;\n extensions: Record<string, any>;\n}\n\nexport class FolderDtoMapper {\n static toDTO(folder: Folder): FolderDto {\n return {\n id: folder.id,\n title: folder.title,\n canManageContent: folder.canManageContent ?? false,\n canManagePermissions: folder.canManagePermissions ?? false,\n canManageStructure: folder.canManageStructure ?? false,\n createdBy: this.createIdentity(folder.createdBy),\n createdOn: folder.createdOn ?? \"\",\n hasNonInheritedPermissions: folder.hasNonInheritedPermissions ?? false,\n modifiedBy: this.createIdentity(folder.modifiedBy),\n modifiedOn: folder.modifiedOn ?? \"\",\n parentId: folder.parentId ?? ROOT_FOLDER,\n permissions: folder.permissions ?? [],\n savedBy: this.createIdentity(folder.savedBy),\n savedOn: folder.savedOn ?? \"\",\n slug: folder.slug,\n type: folder.type,\n extensions: folder.extensions ?? {}\n };\n }\n\n private static createIdentity(identity?: CmsIdentity | null): CmsIdentity {\n return {\n id: identity?.id || \"\",\n displayName: identity?.displayName || \"\",\n type: identity?.type || \"\"\n };\n }\n}\n"],"mappings":";;;;;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAA0C,IAsB7BC,eAAe,GAAAC,OAAA,CAAAD,eAAA;EAAA,SAAAA,gBAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,eAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,eAAA;IAAAK,GAAA;IAAAC,KAAA,EACxB,SAAOC,KAAKA,CAACC,MAAc,EAAa;MACpC,OAAO;QACHC,EAAE,EAAED,MAAM,CAACC,EAAE;QACbC,KAAK,EAAEF,MAAM,CAACE,KAAK;QACnBC,gBAAgB,EAAEH,MAAM,CAACG,gBAAgB,IAAI,KAAK;QAClDC,oBAAoB,EAAEJ,MAAM,CAACI,oBAAoB,IAAI,KAAK;QAC1DC,kBAAkB,EAAEL,MAAM,CAACK,kBAAkB,IAAI,KAAK;QACtDC,SAAS,EAAE,IAAI,CAACC,cAAc,CAACP,MAAM,CAACM,SAAS,CAAC;QAChDE,SAAS,EAAER,MAAM,CAACQ,SAAS,IAAI,EAAE;QACjCC,0BAA0B,EAAET,MAAM,CAACS,0BAA0B,IAAI,KAAK;QACtEC,UAAU,EAAE,IAAI,CAACH,cAAc,CAACP,MAAM,CAACU,UAAU,CAAC;QAClDC,UAAU,EAAEX,MAAM,CAACW,UAAU,IAAI,EAAE;QACnCC,QAAQ,EAAEZ,MAAM,CAACY,QAAQ,IAAIC,sBAAW;QACxCC,WAAW,EAAEd,MAAM,CAACc,WAAW,IAAI,EAAE;QACrCC,OAAO,EAAE,IAAI,CAACR,cAAc,CAACP,MAAM,CAACe,OAAO,CAAC;QAC5CC,OAAO,EAAEhB,MAAM,CAACgB,OAAO,IAAI,EAAE;QAC7BC,IAAI,EAAEjB,MAAM,CAACiB,IAAI;QACjBC,IAAI,EAAElB,MAAM,CAACkB,IAAI;QACjBC,UAAU,EAAEnB,MAAM,CAACmB,UAAU,IAAI,CAAC;MACtC,CAAC;IACL;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAeS,cAAcA,CAACa,QAA6B,EAAe;MACtE,OAAO;QACHnB,EAAE,EAAEmB,QAAQ,EAAEnB,EAAE,IAAI,EAAE;QACtBoB,WAAW,EAAED,QAAQ,EAAEC,WAAW,IAAI,EAAE;QACxCH,IAAI,EAAEE,QAAQ,EAAEF,IAAI,IAAI;MAC5B,CAAC;IACL;EAAC;AAAA","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import { CmsIdentity, FolderPermission } from "../../../types";
2
+ export interface FolderGqlDto {
3
+ id: string;
4
+ title: string;
5
+ slug: string;
6
+ permissions: FolderPermission[];
7
+ hasNonInheritedPermissions: boolean;
8
+ canManagePermissions: boolean;
9
+ canManageStructure: boolean;
10
+ canManageContent: boolean;
11
+ type: string;
12
+ parentId: string | null;
13
+ createdBy: CmsIdentity;
14
+ createdOn: string;
15
+ savedBy: CmsIdentity;
16
+ savedOn: string;
17
+ modifiedBy: CmsIdentity | null;
18
+ modifiedOn: string | null;
19
+ extensions: Record<string, any>;
20
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=FolderGqlDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["FolderGqlDto.ts"],"sourcesContent":["import { CmsIdentity, FolderPermission } from \"~/types\";\n\nexport interface FolderGqlDto {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n hasNonInheritedPermissions: boolean;\n canManagePermissions: boolean;\n canManageStructure: boolean;\n canManageContent: boolean;\n type: string;\n parentId: string | null;\n createdBy: CmsIdentity;\n createdOn: string;\n savedBy: CmsIdentity;\n savedOn: string;\n modifiedBy: CmsIdentity | null;\n modifiedOn: string | null;\n extensions: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { LoadingRepository } from "@webiny/app-utils";
2
+ import { IGetFolderHierarchyUseCase } from "./IGetFolderHierarchyUseCase";
3
+ import { IGetFolderHierarchyGateway } from "./IGetFolderHierarchyGateway";
4
+ import { ListCache } from "../cache";
5
+ import { Folder } from "../Folder";
6
+ interface IGetFolderHierarchyInstance {
7
+ useCase: IGetFolderHierarchyUseCase;
8
+ folders: ListCache<Folder>;
9
+ loading: LoadingRepository;
10
+ }
11
+ export declare class GetFolderHierarchy {
12
+ static getInstance(type: string, gateway: IGetFolderHierarchyGateway): IGetFolderHierarchyInstance;
13
+ }
14
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.GetFolderHierarchy = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _appUtils = require("@webiny/app-utils");
11
+ var _GetFolderHierarchyUseCaseWithLoading = require("./GetFolderHierarchyUseCaseWithLoading");
12
+ var _GetFolderHierarchyRepository = require("./GetFolderHierarchyRepository");
13
+ var _GetFolderHierarchyUseCase = require("./GetFolderHierarchyUseCase");
14
+ var _cache = require("../cache");
15
+ var GetFolderHierarchy = exports.GetFolderHierarchy = /*#__PURE__*/function () {
16
+ function GetFolderHierarchy() {
17
+ (0, _classCallCheck2.default)(this, GetFolderHierarchy);
18
+ }
19
+ return (0, _createClass2.default)(GetFolderHierarchy, null, [{
20
+ key: "getInstance",
21
+ value: function getInstance(type, gateway) {
22
+ var foldersCache = _cache.folderCacheFactory.getCache(type);
23
+ var loadedCache = _cache.loadedFolderCacheFactory.getCache(type);
24
+ var loadingRepository = _appUtils.loadingRepositoryFactory.getRepository(type);
25
+ var repository = new _GetFolderHierarchyRepository.GetFolderHierarchyRepository(foldersCache, loadedCache, gateway, type);
26
+ var useCase = new _GetFolderHierarchyUseCase.GetFolderHierarchyUseCase(repository);
27
+ var useCaseWithLoading = new _GetFolderHierarchyUseCaseWithLoading.GetFolderHierarchyUseCaseWithLoading(loadingRepository, useCase);
28
+ return {
29
+ useCase: useCaseWithLoading,
30
+ folders: foldersCache,
31
+ loading: loadingRepository
32
+ };
33
+ }
34
+ }]);
35
+ }();
36
+
37
+ //# sourceMappingURL=GetFolderHierarchy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_appUtils","require","_GetFolderHierarchyUseCaseWithLoading","_GetFolderHierarchyRepository","_GetFolderHierarchyUseCase","_cache","GetFolderHierarchy","exports","_classCallCheck2","default","_createClass2","key","value","getInstance","type","gateway","foldersCache","folderCacheFactory","getCache","loadedCache","loadedFolderCacheFactory","loadingRepository","loadingRepositoryFactory","getRepository","repository","GetFolderHierarchyRepository","useCase","GetFolderHierarchyUseCase","useCaseWithLoading","GetFolderHierarchyUseCaseWithLoading","folders","loading"],"sources":["GetFolderHierarchy.ts"],"sourcesContent":["import { LoadingRepository, loadingRepositoryFactory } from \"@webiny/app-utils\";\nimport { IGetFolderHierarchyUseCase } from \"./IGetFolderHierarchyUseCase\";\nimport { IGetFolderHierarchyGateway } from \"./IGetFolderHierarchyGateway\";\nimport { GetFolderHierarchyUseCaseWithLoading } from \"./GetFolderHierarchyUseCaseWithLoading\";\nimport { GetFolderHierarchyRepository } from \"./GetFolderHierarchyRepository\";\nimport { GetFolderHierarchyUseCase } from \"./GetFolderHierarchyUseCase\";\nimport { folderCacheFactory, ListCache, loadedFolderCacheFactory } from \"../cache\";\nimport { Folder } from \"../Folder\";\n\ninterface IGetFolderHierarchyInstance {\n useCase: IGetFolderHierarchyUseCase;\n folders: ListCache<Folder>;\n loading: LoadingRepository;\n}\n\nexport class GetFolderHierarchy {\n public static getInstance(\n type: string,\n gateway: IGetFolderHierarchyGateway\n ): IGetFolderHierarchyInstance {\n const foldersCache = folderCacheFactory.getCache(type);\n const loadedCache = loadedFolderCacheFactory.getCache(type);\n const loadingRepository = loadingRepositoryFactory.getRepository(type);\n const repository = new GetFolderHierarchyRepository(\n foldersCache,\n loadedCache,\n gateway,\n type\n );\n const useCase = new GetFolderHierarchyUseCase(repository);\n const useCaseWithLoading = new GetFolderHierarchyUseCaseWithLoading(\n loadingRepository,\n useCase\n );\n\n return {\n useCase: useCaseWithLoading,\n folders: foldersCache,\n loading: loadingRepository\n };\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGA,IAAAC,qCAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAmF,IAStEK,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA;EAAA,SAAAA,mBAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,kBAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,kBAAA;IAAAK,GAAA;IAAAC,KAAA,EAC3B,SAAcC,WAAWA,CACrBC,IAAY,EACZC,OAAmC,EACR;MAC3B,IAAMC,YAAY,GAAGC,yBAAkB,CAACC,QAAQ,CAACJ,IAAI,CAAC;MACtD,IAAMK,WAAW,GAAGC,+BAAwB,CAACF,QAAQ,CAACJ,IAAI,CAAC;MAC3D,IAAMO,iBAAiB,GAAGC,kCAAwB,CAACC,aAAa,CAACT,IAAI,CAAC;MACtE,IAAMU,UAAU,GAAG,IAAIC,0DAA4B,CAC/CT,YAAY,EACZG,WAAW,EACXJ,OAAO,EACPD,IACJ,CAAC;MACD,IAAMY,OAAO,GAAG,IAAIC,oDAAyB,CAACH,UAAU,CAAC;MACzD,IAAMI,kBAAkB,GAAG,IAAIC,0EAAoC,CAC/DR,iBAAiB,EACjBK,OACJ,CAAC;MAED,OAAO;QACHA,OAAO,EAAEE,kBAAkB;QAC3BE,OAAO,EAAEd,YAAY;QACrBe,OAAO,EAAEV;MACb,CAAC;IACL;EAAC;AAAA","ignoreList":[]}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+
3
+ var _GetFolderHierarchy = require("./GetFolderHierarchy");
4
+ var _FoldersCacheFactory = require("../cache/FoldersCacheFactory");
5
+ var _LoadedFoldersCacheFactory = require("../cache/LoadedFoldersCacheFactory");
6
+ describe("GetFolderHierarchy", function () {
7
+ var type = "abc";
8
+ var foldersCache = _FoldersCacheFactory.folderCacheFactory.getCache(type);
9
+ var loadedFoldersCache = _LoadedFoldersCacheFactory.loadedFolderCacheFactory.getCache(type);
10
+ beforeEach(function () {
11
+ foldersCache.clear();
12
+ loadedFoldersCache.clear();
13
+ jest.resetAllMocks();
14
+ });
15
+ it("should update the list of folders in both `cache` and `loadedCache` when `parents` and `children` are returned by the gateway", async function () {
16
+ var gateway = {
17
+ execute: jest.fn().mockResolvedValue({
18
+ parents: [{
19
+ id: "folder-1",
20
+ title: "Folder 1",
21
+ slug: "folder-1",
22
+ parentId: null,
23
+ type: type
24
+ }, {
25
+ id: "folder-2",
26
+ title: "Folder 2",
27
+ slug: "folder-2",
28
+ parentId: "folder-1",
29
+ type: type
30
+ }, {
31
+ id: "folder-3",
32
+ title: "Folder 3",
33
+ slug: "folder-3",
34
+ parentId: "folder-2",
35
+ type: type
36
+ }],
37
+ siblings: [{
38
+ id: "folder-4",
39
+ title: "Folder 4",
40
+ slug: "folder-4",
41
+ parentId: "folder-3",
42
+ type: type
43
+ }, {
44
+ id: "folder-5",
45
+ title: "Folder 5",
46
+ slug: "folder-5",
47
+ parentId: "folder-3",
48
+ type: type
49
+ }]
50
+ })
51
+ };
52
+ var getFolderHierarchy = _GetFolderHierarchy.GetFolderHierarchy.getInstance(type, gateway);
53
+ expect(foldersCache.hasItems()).toBeFalse();
54
+ expect(loadedFoldersCache.hasItems()).toBeFalse();
55
+ await getFolderHierarchy.useCase.execute({
56
+ id: "folder-0"
57
+ });
58
+ expect(gateway.execute).toHaveBeenCalledTimes(1);
59
+ expect(gateway.execute).toHaveBeenCalledWith({
60
+ type: type,
61
+ id: "folder-0"
62
+ });
63
+ expect(foldersCache.hasItems()).toBeTrue();
64
+ expect(foldersCache.count()).toEqual(5);
65
+ // We are storing only the parent folders id in the loadedFoldersCache
66
+ expect(loadedFoldersCache.count()).toEqual(3);
67
+ expect(loadedFoldersCache.getItems()).toEqual(["folder-1", "folder-2", "folder-3"]);
68
+
69
+ // This call should be idempotent: the number of elements in cache should not change
70
+ await getFolderHierarchy.useCase.execute({
71
+ id: "folder-0"
72
+ });
73
+ expect(foldersCache.count()).toEqual(5);
74
+ expect(loadedFoldersCache.count()).toEqual(3);
75
+ });
76
+ it("should only update the list of folders in `cache` when `children` are returned by the gateway", async function () {
77
+ var gateway = {
78
+ execute: jest.fn().mockResolvedValue({
79
+ parents: [],
80
+ siblings: [{
81
+ id: "folder-1",
82
+ title: "Folder 1",
83
+ slug: "folder-1",
84
+ parentId: null,
85
+ type: type
86
+ }, {
87
+ id: "folder-2",
88
+ title: "Folder 2",
89
+ slug: "folder-2",
90
+ parentId: null,
91
+ type: type
92
+ }]
93
+ })
94
+ };
95
+ var getFolderHierarchy = _GetFolderHierarchy.GetFolderHierarchy.getInstance(type, gateway);
96
+ expect(foldersCache.hasItems()).toBeFalse();
97
+ expect(loadedFoldersCache.hasItems()).toBeFalse();
98
+ await getFolderHierarchy.useCase.execute({
99
+ id: "folder-0"
100
+ });
101
+ expect(gateway.execute).toHaveBeenCalledTimes(1);
102
+ expect(gateway.execute).toHaveBeenCalledWith({
103
+ type: type,
104
+ id: "folder-0"
105
+ });
106
+ expect(foldersCache.hasItems()).toBeTrue();
107
+ expect(foldersCache.count()).toEqual(2);
108
+ // We are NOT storing any folder loadedFoldersCache
109
+ expect(loadedFoldersCache.hasItems()).toBeFalse();
110
+ });
111
+ it("should handle gateway errors gracefully", async function () {
112
+ var errorGateway = {
113
+ execute: jest.fn().mockRejectedValue(new Error("Gateway error"))
114
+ };
115
+ var getFolderHierarchy = _GetFolderHierarchy.GetFolderHierarchy.getInstance(type, errorGateway);
116
+ expect(foldersCache.hasItems()).toBeFalse();
117
+ await expect(getFolderHierarchy.useCase.execute({
118
+ id: "folder-0"
119
+ })).rejects.toThrow("Gateway error");
120
+ expect(errorGateway.execute).toHaveBeenCalledTimes(1);
121
+ expect(foldersCache.hasItems()).toBeFalse();
122
+ });
123
+ it("should clear cache when type changes", async function () {
124
+ var gatewayAbc = {
125
+ execute: jest.fn().mockResolvedValue({
126
+ parents: [{
127
+ id: "folder-1",
128
+ title: "Folder 1",
129
+ slug: "folder-1",
130
+ parentId: null,
131
+ type: type
132
+ }, {
133
+ id: "folder-2",
134
+ title: "Folder 2",
135
+ slug: "folder-2",
136
+ parentId: "folder-1",
137
+ type: type
138
+ }, {
139
+ id: "folder-3",
140
+ title: "Folder 3",
141
+ slug: "folder-3",
142
+ parentId: "folder-2",
143
+ type: type
144
+ }],
145
+ siblings: [{
146
+ id: "folder-4",
147
+ title: "Folder 4",
148
+ slug: "folder-4",
149
+ parentId: "folder-3",
150
+ type: type
151
+ }, {
152
+ id: "folder-5",
153
+ title: "Folder 5",
154
+ slug: "folder-5",
155
+ parentId: "folder-3",
156
+ type: type
157
+ }]
158
+ })
159
+ };
160
+ var newType = "xyz";
161
+ var gatewayXyz = {
162
+ execute: jest.fn().mockResolvedValue({
163
+ parents: [{
164
+ id: "folder-1",
165
+ title: "Folder 1",
166
+ slug: "folder-1",
167
+ parentId: null,
168
+ type: type
169
+ }, {
170
+ id: "folder-2",
171
+ title: "Folder 2",
172
+ slug: "folder-2",
173
+ parentId: "folder-1",
174
+ type: type
175
+ }],
176
+ siblings: [{
177
+ id: "folder-3",
178
+ title: "Folder 3",
179
+ slug: "folder-4",
180
+ parentId: "folder-2",
181
+ type: type
182
+ }]
183
+ })
184
+ };
185
+ var getFolderHierarchyAbc = _GetFolderHierarchy.GetFolderHierarchy.getInstance(type, gatewayAbc);
186
+ expect(foldersCache.hasItems()).toBeFalse();
187
+ await getFolderHierarchyAbc.useCase.execute({
188
+ id: "folder-0"
189
+ });
190
+ expect(gatewayAbc.execute).toHaveBeenCalledTimes(1);
191
+ expect(foldersCache.count()).toEqual(5);
192
+ expect(loadedFoldersCache.count()).toEqual(3);
193
+ var foldersCacheXyz = _FoldersCacheFactory.folderCacheFactory.getCache(newType);
194
+ var loadedFoldersCacheXyz = _LoadedFoldersCacheFactory.loadedFolderCacheFactory.getCache(newType);
195
+ var getFolderHierarchyXyz = _GetFolderHierarchy.GetFolderHierarchy.getInstance(newType, gatewayXyz);
196
+ expect(foldersCacheXyz.hasItems()).toBeFalse();
197
+ expect(loadedFoldersCacheXyz.hasItems()).toBeFalse();
198
+ await getFolderHierarchyXyz.useCase.execute({
199
+ id: "folder-0"
200
+ });
201
+ expect(gatewayXyz.execute).toHaveBeenCalledTimes(1);
202
+ expect(foldersCacheXyz.count()).toEqual(3);
203
+ expect(loadedFoldersCacheXyz.count()).toEqual(2);
204
+ });
205
+ });
206
+
207
+ //# sourceMappingURL=GetFolderHierarchy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_GetFolderHierarchy","require","_FoldersCacheFactory","_LoadedFoldersCacheFactory","describe","type","foldersCache","folderCacheFactory","getCache","loadedFoldersCache","loadedFolderCacheFactory","beforeEach","clear","jest","resetAllMocks","it","gateway","execute","fn","mockResolvedValue","parents","id","title","slug","parentId","siblings","getFolderHierarchy","GetFolderHierarchy","getInstance","expect","hasItems","toBeFalse","useCase","toHaveBeenCalledTimes","toHaveBeenCalledWith","toBeTrue","count","toEqual","getItems","errorGateway","mockRejectedValue","Error","rejects","toThrow","gatewayAbc","newType","gatewayXyz","getFolderHierarchyAbc","foldersCacheXyz","loadedFoldersCacheXyz","getFolderHierarchyXyz"],"sources":["GetFolderHierarchy.test.ts"],"sourcesContent":["import { GetFolderHierarchy } from \"./GetFolderHierarchy\";\nimport { folderCacheFactory } from \"../cache/FoldersCacheFactory\";\nimport { loadedFolderCacheFactory } from \"../cache/LoadedFoldersCacheFactory\";\n\ndescribe(\"GetFolderHierarchy\", () => {\n const type = \"abc\";\n\n const foldersCache = folderCacheFactory.getCache(type);\n const loadedFoldersCache = loadedFolderCacheFactory.getCache(type);\n\n beforeEach(() => {\n foldersCache.clear();\n loadedFoldersCache.clear();\n jest.resetAllMocks();\n });\n\n it(\"should update the list of folders in both `cache` and `loadedCache` when `parents` and `children` are returned by the gateway\", async () => {\n const gateway = {\n execute: jest.fn().mockResolvedValue({\n parents: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-2\",\n type\n }\n ],\n siblings: [\n {\n id: \"folder-4\",\n title: \"Folder 4\",\n slug: \"folder-4\",\n parentId: \"folder-3\",\n type\n },\n {\n id: \"folder-5\",\n title: \"Folder 5\",\n slug: \"folder-5\",\n parentId: \"folder-3\",\n type\n }\n ]\n })\n };\n\n const getFolderHierarchy = GetFolderHierarchy.getInstance(type, gateway);\n\n expect(foldersCache.hasItems()).toBeFalse();\n expect(loadedFoldersCache.hasItems()).toBeFalse();\n await getFolderHierarchy.useCase.execute({ id: \"folder-0\" });\n\n expect(gateway.execute).toHaveBeenCalledTimes(1);\n expect(gateway.execute).toHaveBeenCalledWith({ type, id: \"folder-0\" });\n\n expect(foldersCache.hasItems()).toBeTrue();\n expect(foldersCache.count()).toEqual(5);\n // We are storing only the parent folders id in the loadedFoldersCache\n expect(loadedFoldersCache.count()).toEqual(3);\n expect(loadedFoldersCache.getItems()).toEqual([\"folder-1\", \"folder-2\", \"folder-3\"]);\n\n // This call should be idempotent: the number of elements in cache should not change\n await getFolderHierarchy.useCase.execute({ id: \"folder-0\" });\n expect(foldersCache.count()).toEqual(5);\n expect(loadedFoldersCache.count()).toEqual(3);\n });\n\n it(\"should only update the list of folders in `cache` when `children` are returned by the gateway\", async () => {\n const gateway = {\n execute: jest.fn().mockResolvedValue({\n parents: [],\n siblings: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: null,\n type\n }\n ]\n })\n };\n\n const getFolderHierarchy = GetFolderHierarchy.getInstance(type, gateway);\n\n expect(foldersCache.hasItems()).toBeFalse();\n expect(loadedFoldersCache.hasItems()).toBeFalse();\n await getFolderHierarchy.useCase.execute({ id: \"folder-0\" });\n\n expect(gateway.execute).toHaveBeenCalledTimes(1);\n expect(gateway.execute).toHaveBeenCalledWith({ type, id: \"folder-0\" });\n\n expect(foldersCache.hasItems()).toBeTrue();\n expect(foldersCache.count()).toEqual(2);\n // We are NOT storing any folder loadedFoldersCache\n expect(loadedFoldersCache.hasItems()).toBeFalse();\n });\n\n it(\"should handle gateway errors gracefully\", async () => {\n const errorGateway = {\n execute: jest.fn().mockRejectedValue(new Error(\"Gateway error\"))\n };\n const getFolderHierarchy = GetFolderHierarchy.getInstance(type, errorGateway);\n\n expect(foldersCache.hasItems()).toBeFalse();\n\n await expect(getFolderHierarchy.useCase.execute({ id: \"folder-0\" })).rejects.toThrow(\n \"Gateway error\"\n );\n\n expect(errorGateway.execute).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBeFalse();\n });\n\n it(\"should clear cache when type changes\", async () => {\n const gatewayAbc = {\n execute: jest.fn().mockResolvedValue({\n parents: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-2\",\n type\n }\n ],\n siblings: [\n {\n id: \"folder-4\",\n title: \"Folder 4\",\n slug: \"folder-4\",\n parentId: \"folder-3\",\n type\n },\n {\n id: \"folder-5\",\n title: \"Folder 5\",\n slug: \"folder-5\",\n parentId: \"folder-3\",\n type\n }\n ]\n })\n };\n\n const newType = \"xyz\";\n const gatewayXyz = {\n execute: jest.fn().mockResolvedValue({\n parents: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: \"folder-1\",\n type\n }\n ],\n siblings: [\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-4\",\n parentId: \"folder-2\",\n type\n }\n ]\n })\n };\n\n const getFolderHierarchyAbc = GetFolderHierarchy.getInstance(type, gatewayAbc);\n\n expect(foldersCache.hasItems()).toBeFalse();\n\n await getFolderHierarchyAbc.useCase.execute({ id: \"folder-0\" });\n\n expect(gatewayAbc.execute).toHaveBeenCalledTimes(1);\n expect(foldersCache.count()).toEqual(5);\n expect(loadedFoldersCache.count()).toEqual(3);\n\n const foldersCacheXyz = folderCacheFactory.getCache(newType);\n const loadedFoldersCacheXyz = loadedFolderCacheFactory.getCache(newType);\n const getFolderHierarchyXyz = GetFolderHierarchy.getInstance(newType, gatewayXyz);\n\n expect(foldersCacheXyz.hasItems()).toBeFalse();\n expect(loadedFoldersCacheXyz.hasItems()).toBeFalse();\n\n await getFolderHierarchyXyz.useCase.execute({ id: \"folder-0\" });\n\n expect(gatewayXyz.execute).toHaveBeenCalledTimes(1);\n expect(foldersCacheXyz.count()).toEqual(3);\n expect(loadedFoldersCacheXyz.count()).toEqual(2);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import ApolloClient from "apollo-client";
2
+ import { GetFolderHierarchyGatewayParams, IGetFolderHierarchyGateway } from "./IGetFolderHierarchyGateway";
3
+ import { AcoError, FolderItem } from "../../../types";
4
+ interface GetFolderHierarchyResponseData {
5
+ parents: FolderItem[];
6
+ siblings: FolderItem[];
7
+ }
8
+ export interface GetFolderHierarchyResponse {
9
+ aco: {
10
+ getFolderHierarchy: {
11
+ data: GetFolderHierarchyResponseData | null;
12
+ error: AcoError | null;
13
+ };
14
+ };
15
+ }
16
+ export interface GetFolderHierarchyQueryVariables {
17
+ type: string;
18
+ id: string;
19
+ }
20
+ export declare const GET_FOLDER_HIERARCHY: (FOLDER_FIELDS: string) => import("graphql").DocumentNode;
21
+ export declare class GetFolderHierarchyGqlGateway implements IGetFolderHierarchyGateway {
22
+ private client;
23
+ private modelFields;
24
+ constructor(client: ApolloClient<any>, modelFields: string);
25
+ execute(params: GetFolderHierarchyGatewayParams): Promise<{
26
+ parents: FolderItem[];
27
+ siblings: FolderItem[];
28
+ }>;
29
+ private getRootFolder;
30
+ }
31
+ export {};