@webiny/app-aco 5.42.4-beta.0 → 5.43.0-beta.1

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 (129) hide show
  1. package/components/AdvancedSearch/domain/Filter.d.ts +24 -24
  2. package/components/FolderTree/List/index.js +34 -27
  3. package/components/FolderTree/List/index.js.map +1 -1
  4. package/components/FolderTree/Node/index.d.ts +3 -1
  5. package/components/FolderTree/Node/index.js +46 -17
  6. package/components/FolderTree/Node/index.js.map +1 -1
  7. package/components/FolderTree/Node/styled.d.ts +5 -0
  8. package/components/FolderTree/Node/styled.js +38 -20
  9. package/components/FolderTree/Node/styled.js.map +1 -1
  10. package/components/FolderTree/index.js +11 -15
  11. package/components/FolderTree/index.js.map +1 -1
  12. package/contexts/acoList.js +14 -11
  13. package/contexts/acoList.js.map +1 -1
  14. package/contexts/navigateFolder.d.ts +1 -1
  15. package/contexts/navigateFolder.js +1 -1
  16. package/contexts/navigateFolder.js.map +1 -1
  17. package/features/folders/cache/ListCache.js +2 -1
  18. package/features/folders/cache/ListCache.js.map +1 -1
  19. package/features/folders/cache/LoadedCache.d.ts +13 -0
  20. package/features/folders/cache/LoadedCache.js +59 -0
  21. package/features/folders/cache/LoadedCache.js.map +1 -0
  22. package/features/folders/cache/LoadedFoldersCacheFactory.d.ts +7 -0
  23. package/features/folders/cache/LoadedFoldersCacheFactory.js +35 -0
  24. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -0
  25. package/features/folders/cache/index.d.ts +2 -0
  26. package/features/folders/cache/index.js +22 -0
  27. package/features/folders/cache/index.js.map +1 -1
  28. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.d.ts +1 -1
  29. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +1 -1
  30. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.d.ts +1 -1
  31. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.d.ts +1 -1
  32. package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.d.ts +1 -1
  33. package/features/folders/getFolderHierarchy/FolderDto.d.ts +25 -0
  34. package/features/folders/getFolderHierarchy/FolderDto.js +50 -0
  35. package/features/folders/getFolderHierarchy/FolderDto.js.map +1 -0
  36. package/features/folders/getFolderHierarchy/FolderGqlDto.d.ts +20 -0
  37. package/features/folders/getFolderHierarchy/FolderGqlDto.js +7 -0
  38. package/features/folders/getFolderHierarchy/FolderGqlDto.js.map +1 -0
  39. package/features/folders/getFolderHierarchy/GetFolderHierarchy.d.ts +14 -0
  40. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js +37 -0
  41. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  42. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.d.ts +1 -0
  43. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js +207 -0
  44. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js.map +1 -0
  45. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.d.ts +31 -0
  46. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js +82 -0
  47. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +1 -0
  48. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.d.ts +12 -0
  49. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js +48 -0
  50. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  51. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.d.ts +7 -0
  52. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js +26 -0
  53. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  54. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.d.ts +8 -0
  55. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js +25 -0
  56. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +1 -0
  57. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.d.ts +12 -0
  58. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js +7 -0
  59. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js.map +1 -0
  60. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.d.ts +6 -0
  61. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js +7 -0
  62. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js.map +1 -0
  63. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.d.ts +6 -0
  64. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js +7 -0
  65. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js.map +1 -0
  66. package/features/folders/getFolderHierarchy/index.d.ts +1 -0
  67. package/features/folders/getFolderHierarchy/index.js +18 -0
  68. package/features/folders/getFolderHierarchy/index.js.map +1 -0
  69. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.d.ts +6 -0
  70. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js +65 -0
  71. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +1 -0
  72. package/features/folders/index.d.ts +2 -0
  73. package/features/folders/index.js +22 -0
  74. package/features/folders/index.js.map +1 -1
  75. package/features/folders/listFolders/useListFolders.js +3 -8
  76. package/features/folders/listFolders/useListFolders.js.map +1 -1
  77. package/features/folders/listFoldersByParentIds/FolderDto.d.ts +25 -0
  78. package/features/folders/listFoldersByParentIds/FolderDto.js +50 -0
  79. package/features/folders/listFoldersByParentIds/FolderDto.js.map +1 -0
  80. package/features/folders/listFoldersByParentIds/FolderGqlDto.d.ts +20 -0
  81. package/features/folders/listFoldersByParentIds/FolderGqlDto.js +7 -0
  82. package/features/folders/listFoldersByParentIds/FolderGqlDto.js.map +1 -0
  83. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.d.ts +8 -0
  84. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js +7 -0
  85. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js.map +1 -0
  86. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.d.ts +6 -0
  87. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js +7 -0
  88. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js.map +1 -0
  89. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.d.ts +6 -0
  90. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js +7 -0
  91. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js.map +1 -0
  92. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.d.ts +14 -0
  93. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js +39 -0
  94. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +1 -0
  95. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.d.ts +1 -0
  96. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +248 -0
  97. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -0
  98. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +26 -0
  99. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +86 -0
  100. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -0
  101. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +11 -0
  102. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +32 -0
  103. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -0
  104. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.d.ts +8 -0
  105. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js +39 -0
  106. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +1 -0
  107. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +8 -0
  108. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +34 -0
  109. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -0
  110. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts +10 -0
  111. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js +37 -0
  112. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +1 -0
  113. package/features/folders/listFoldersByParentIds/index.d.ts +1 -0
  114. package/features/folders/listFoldersByParentIds/index.js +18 -0
  115. package/features/folders/listFoldersByParentIds/index.js.map +1 -0
  116. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +6 -0
  117. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +65 -0
  118. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -0
  119. package/handlers.d.ts +1 -1
  120. package/package.json +17 -18
  121. package/types.d.ts +10 -10
  122. package/types.js +12 -11
  123. package/types.js.map +1 -1
  124. package/components/FolderTree/Empty/index.d.ts +0 -2
  125. package/components/FolderTree/Empty/index.js +0 -21
  126. package/components/FolderTree/Empty/index.js.map +0 -1
  127. package/components/FolderTree/Empty/styled.d.ts +0 -5
  128. package/components/FolderTree/Empty/styled.js +0 -25
  129. package/components/FolderTree/Empty/styled.js.map +0 -1
@@ -0,0 +1,13 @@
1
+ export interface IListLoadedCachePredicate {
2
+ (item: string): boolean;
3
+ }
4
+ export declare class LoadedCache {
5
+ private state;
6
+ constructor();
7
+ hasItems(): boolean;
8
+ clear(): void;
9
+ count(): number;
10
+ getItems(): string[];
11
+ getItem(predicate: IListLoadedCachePredicate): string | undefined;
12
+ addItems(items: string[]): void;
13
+ }
@@ -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":[]}
@@ -12,7 +12,7 @@ export declare class GetFolderExtensionsFieldsRepository implements IGetFolderEx
12
12
  label: string;
13
13
  helpText?: string | undefined;
14
14
  placeholderText?: string | undefined;
15
- validation?: (import("@webiny/validation/types").Validator | import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator)[] | undefined;
15
+ validation?: (import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator | import("@webiny/validation/types").Validator)[] | undefined;
16
16
  listValidation?: import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator[] | undefined;
17
17
  multipleValues?: boolean | undefined;
18
18
  predefinedValues?: import("@webiny/app-headless-cms-common/types").CmsEditorFieldPredefinedValues | undefined;
@@ -13,7 +13,7 @@ export declare class GetFolderExtensionsFieldsUseCase implements IGetFolderExten
13
13
  label: string;
14
14
  helpText?: string | undefined;
15
15
  placeholderText?: string | undefined;
16
- validation?: (import("@webiny/validation/types").Validator | import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator)[] | undefined;
16
+ validation?: (import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator | import("@webiny/validation/types").Validator)[] | undefined;
17
17
  listValidation?: import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator[] | undefined;
18
18
  multipleValues?: boolean | undefined;
19
19
  predefinedValues?: import("@webiny/app-headless-cms-common/types").CmsEditorFieldPredefinedValues | undefined;
@@ -13,7 +13,7 @@ export declare class GetFolderExtensionsFieldsUseCaseWithNamespace implements IG
13
13
  label: string;
14
14
  helpText?: string | undefined;
15
15
  placeholderText?: string | undefined;
16
- validation?: (import("@webiny/validation/types").Validator | import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator)[] | undefined;
16
+ validation?: (import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator | import("@webiny/validation/types").Validator)[] | undefined;
17
17
  listValidation?: import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator[] | undefined;
18
18
  multipleValues?: boolean | undefined;
19
19
  predefinedValues?: import("@webiny/app-headless-cms-common/types").CmsEditorFieldPredefinedValues | undefined;
@@ -14,7 +14,7 @@ export declare class GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId imp
14
14
  label: string;
15
15
  helpText?: string | undefined;
16
16
  placeholderText?: string | undefined;
17
- validation?: (import("@webiny/validation/types").Validator | import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator)[] | undefined;
17
+ validation?: (import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator | import("@webiny/validation/types").Validator)[] | undefined;
18
18
  listValidation?: import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator[] | undefined;
19
19
  multipleValues?: boolean | undefined;
20
20
  predefinedValues?: import("@webiny/app-headless-cms-common/types").CmsEditorFieldPredefinedValues | undefined;
@@ -9,7 +9,7 @@ export declare const useGetFolderExtensionsFields: () => {
9
9
  label: string;
10
10
  helpText?: string | undefined;
11
11
  placeholderText?: string | undefined;
12
- validation?: (import("@webiny/validation/types").Validator | import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator)[] | undefined;
12
+ validation?: (import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator | import("@webiny/validation/types").Validator)[] | undefined;
13
13
  listValidation?: import("@webiny/app-headless-cms-common/types").CmsModelFieldValidator[] | undefined;
14
14
  multipleValues?: boolean | undefined;
15
15
  predefinedValues?: import("@webiny/app-headless-cms-common/types").CmsEditorFieldPredefinedValues | undefined;
@@ -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