@webiny/api-headless-cms 0.0.0-unstable.9f53ea597d → 0.0.0-unstable.a4f3e4ea8b

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 (175) hide show
  1. package/crud/contentEntry.crud.js +12 -39
  2. package/crud/contentEntry.crud.js.map +1 -1
  3. package/features/contentEntry/ContentEntriesFeature.js +4 -0
  4. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  5. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +4 -2
  6. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -3
  7. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  8. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +1 -2
  9. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  10. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +4 -2
  11. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -3
  12. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  13. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  14. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +4 -2
  15. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -3
  16. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  17. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +3 -1
  18. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -3
  19. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  20. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +3 -1
  21. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +9 -3
  22. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  23. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +4 -2
  24. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +7 -3
  25. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  26. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +4 -4
  27. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +8 -11
  28. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  29. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +4 -2
  30. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +7 -3
  31. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  32. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +4 -2
  33. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +7 -3
  34. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  35. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +4 -2
  36. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +7 -3
  37. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  38. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +4 -2
  39. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +7 -3
  40. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  41. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +4 -2
  42. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +7 -3
  43. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  44. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +4 -2
  45. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +7 -3
  46. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  47. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +4 -2
  48. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +7 -3
  49. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  50. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +4 -2
  51. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +7 -3
  52. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  53. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +4 -2
  54. package/features/contentEntry/ListEntries/ListEntriesRepository.js +7 -3
  55. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  56. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +4 -2
  57. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +7 -3
  58. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  59. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +4 -2
  60. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -3
  61. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  62. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  63. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +4 -2
  64. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +8 -3
  65. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  66. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +4 -2
  67. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -3
  68. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  69. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +4 -2
  70. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -3
  71. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  72. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +4 -2
  73. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -3
  74. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  75. package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.d.ts +14 -0
  76. package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.js +34 -0
  77. package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.js.map +1 -0
  78. package/features/contentEntry/UpdateRevision/abstractions.d.ts +10 -0
  79. package/features/contentEntry/UpdateRevision/abstractions.js +5 -0
  80. package/features/contentEntry/UpdateRevision/abstractions.js.map +1 -0
  81. package/features/contentEntry/UpdateRevision/feature.d.ts +4 -0
  82. package/features/contentEntry/UpdateRevision/feature.js +11 -0
  83. package/features/contentEntry/UpdateRevision/feature.js.map +1 -0
  84. package/features/contentEntry/UpdateRevision/index.d.ts +1 -0
  85. package/features/contentEntry/UpdateRevision/index.js +1 -0
  86. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +2 -2
  87. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -2
  88. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  89. package/features/contentEntry/ensureItemIds.d.ts +13 -0
  90. package/features/contentEntry/ensureItemIds.js +22 -0
  91. package/features/contentEntry/ensureItemIds.js.map +1 -0
  92. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
  93. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +8 -2
  94. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
  95. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +3 -1
  96. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +8 -2
  97. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
  98. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
  99. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +8 -2
  100. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
  101. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +4 -2
  102. package/features/contentModel/CreateModel/CreateModelRepository.js +8 -4
  103. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  104. package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
  105. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  106. package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
  107. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  108. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +4 -2
  109. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +8 -4
  110. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  111. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
  112. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  113. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
  114. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  115. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -2
  116. package/features/contentModel/DeleteModel/DeleteModelRepository.js +7 -3
  117. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  118. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +4 -2
  119. package/features/contentModel/UpdateModel/UpdateModelRepository.js +8 -4
  120. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  121. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
  122. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  123. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
  124. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  125. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +3 -2
  126. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -1
  127. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +4 -2
  128. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +8 -4
  129. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  130. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +1 -3
  131. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +5 -7
  132. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  133. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
  134. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  135. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +4 -2
  136. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +7 -3
  137. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  138. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +4 -2
  139. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +8 -4
  140. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  141. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
  142. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  143. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
  144. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  145. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +7 -1
  146. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  147. package/features/graphql/fields/base/ObjectToGraphQL.js +6 -3
  148. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
  149. package/features/graphql/fields/base/RefToGraphQL.js +17 -7
  150. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  151. package/features/modelBuilder/abstractions.d.ts +1 -2
  152. package/features/modelBuilder/abstractions.js.map +1 -1
  153. package/features/runtimeTenant/RuntimeTenant.d.ts +13 -0
  154. package/features/runtimeTenant/RuntimeTenant.js +22 -0
  155. package/features/runtimeTenant/RuntimeTenant.js.map +1 -0
  156. package/features/runtimeTenant/abstractions.d.ts +11 -0
  157. package/features/runtimeTenant/abstractions.js +5 -0
  158. package/features/runtimeTenant/abstractions.js.map +1 -0
  159. package/features/runtimeTenant/index.d.ts +2 -0
  160. package/features/runtimeTenant/index.js +2 -0
  161. package/features/sortMapper/SortMapper.js +2 -5
  162. package/features/sortMapper/SortMapper.js.map +1 -1
  163. package/features/storage/fields/ObjectStorageTransform.js +27 -7
  164. package/features/storage/fields/ObjectStorageTransform.js.map +1 -1
  165. package/features/validation/validators/PatternValidator.js +1 -1
  166. package/features/validation/validators/PatternValidator.js.map +1 -1
  167. package/features/whereMapper/WhereMapper.js +7 -5
  168. package/features/whereMapper/WhereMapper.js.map +1 -1
  169. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +15 -5
  170. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  171. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +8 -2
  172. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  173. package/package.json +18 -18
  174. package/types/types.d.ts +4 -0
  175. package/types/types.js.map +1 -1
@@ -2,13 +2,15 @@ import { Result } from "@webiny/feature/api";
2
2
  import { DeleteEntryRepository as RepositoryAbstraction } from "./abstractions.js";
3
3
  import type { CmsEntry, CmsModel } from "../../../types/index.js";
4
4
  import { StorageOperations } from "../../../features/shared/abstractions.js";
5
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
5
6
  /**
6
7
  * DeleteEntryRepository - Handles storage operations for permanently deleting entries.
7
8
  */
8
9
  declare class DeleteEntryRepositoryImpl implements RepositoryAbstraction.Interface {
9
10
  private storageOperations;
10
- constructor(storageOperations: StorageOperations.Interface);
11
- execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
11
+ private runtimeTenant;
12
+ constructor(storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
13
+ execute(initialModel: CmsModel, initialEntry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
12
14
  }
13
15
  export declare const DeleteEntryRepository: import("@webiny/di").Implementation<typeof DeleteEntryRepositoryImpl>;
14
16
  export {};
@@ -2,11 +2,15 @@ import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { DeleteEntryRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
5
6
  class DeleteEntryRepositoryImpl {
6
- constructor(storageOperations){
7
+ constructor(storageOperations, runtimeTenant){
7
8
  this.storageOperations = storageOperations;
9
+ this.runtimeTenant = runtimeTenant;
8
10
  }
9
- async execute(model, entry) {
11
+ async execute(initialModel, initialEntry) {
12
+ const model = this.runtimeTenant.assign(initialModel);
13
+ const entry = this.runtimeTenant.assign(initialEntry);
10
14
  try {
11
15
  await this.storageOperations.entries.delete(model, {
12
16
  entry
@@ -21,7 +25,8 @@ const DeleteEntryRepository_DeleteEntryRepository = createImplementation({
21
25
  abstraction: DeleteEntryRepository,
22
26
  implementation: DeleteEntryRepositoryImpl,
23
27
  dependencies: [
24
- StorageOperations
28
+ StorageOperations,
29
+ RuntimeTenant
25
30
  ]
26
31
  });
27
32
  export { DeleteEntryRepository_DeleteEntryRepository as DeleteEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/DeleteEntry/DeleteEntryRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/DeleteEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\n\n/**\n * DeleteEntryRepository - Handles storage operations for permanently deleting entries.\n */\nclass DeleteEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private storageOperations: StorageOperations.Interface) {}\n\n async execute(\n model: CmsModel,\n entry: CmsEntry\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.storageOperations.entries.delete(model, { entry });\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: DeleteEntryRepositoryImpl,\n dependencies: [StorageOperations]\n});\n"],"names":["DeleteEntryRepositoryImpl","storageOperations","model","entry","Result","error","EntryPersistenceError","DeleteEntryRepository","createImplementation","RepositoryAbstraction","StorageOperations"],"mappings":";;;;AAUA,MAAMA;IACF,YAA2BC,iBAA8C,CAAE;aAAhDA,iBAAiB,GAAjBA;IAAiD;IAE5E,MAAM,QACFC,KAAe,EACfC,KAAe,EACmC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAACD,OAAO;gBAAEC;YAAM;YAC3D,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBT;IAChB,cAAc;QAACU;KAAkB;AACrC"}
1
+ {"version":3,"file":"features/contentEntry/DeleteEntry/DeleteEntryRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/DeleteEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * DeleteEntryRepository - Handles storage operations for permanently deleting entries.\n */\nclass DeleteEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute(\n initialModel: CmsModel,\n initialEntry: CmsEntry\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n const entry = this.runtimeTenant.assign(initialEntry);\n\n try {\n await this.storageOperations.entries.delete(model, { entry });\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: DeleteEntryRepositoryImpl,\n dependencies: [StorageOperations, RuntimeTenant]\n});\n"],"names":["DeleteEntryRepositoryImpl","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","Result","error","EntryPersistenceError","DeleteEntryRepository","createImplementation","RepositoryAbstraction","StorageOperations","RuntimeTenant"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,iBAA8C,EAC9CC,aAAsC,CAChD;aAFUD,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,YAAsB,EACtBC,YAAsB,EAC4B;QAClD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAACC,OAAO;gBAAEC;YAAM;YAC3D,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBZ;IAChB,cAAc;QAACa;QAAmBC;KAAc;AACpD"}
@@ -3,13 +3,15 @@ import { MoveEntryToBinRepository as RepositoryAbstraction } from "./abstraction
3
3
  import type { CmsEntry, CmsModel } from "../../../types/index.js";
4
4
  import { StorageOperations } from "../../../features/shared/abstractions.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
6
7
  /**
7
8
  * MoveEntryToBinRepository - Handles storage operations for soft deleting entries.
8
9
  */
9
10
  declare class MoveEntryToBinRepositoryImpl implements RepositoryAbstraction.Interface {
10
11
  private entryToStorageTransform;
11
12
  private storageOperations;
12
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface);
13
+ private runtimeTenant;
14
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
13
15
  execute(params: {
14
16
  model: CmsModel;
15
17
  entry: CmsEntry;
@@ -3,13 +3,17 @@ import { MoveEntryToBinRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
6
7
  class MoveEntryToBinRepositoryImpl {
7
- constructor(entryToStorageTransform, storageOperations){
8
+ constructor(entryToStorageTransform, storageOperations, runtimeTenant){
8
9
  this.entryToStorageTransform = entryToStorageTransform;
9
10
  this.storageOperations = storageOperations;
11
+ this.runtimeTenant = runtimeTenant;
10
12
  }
11
13
  async execute(params) {
12
- const { model, entry } = params;
14
+ const { model: initialModel, entry: initialEntry } = params;
15
+ const model = this.runtimeTenant.assign(initialModel);
16
+ const entry = this.runtimeTenant.assign(initialEntry);
13
17
  try {
14
18
  const storageEntry = await this.entryToStorageTransform(model, entry);
15
19
  await this.storageOperations.entries.moveToBin(model, {
@@ -27,7 +31,8 @@ const MoveEntryToBinRepository_MoveEntryToBinRepository = createImplementation({
27
31
  implementation: MoveEntryToBinRepositoryImpl,
28
32
  dependencies: [
29
33
  EntryToStorageTransform,
30
- StorageOperations
34
+ StorageOperations,
35
+ RuntimeTenant
31
36
  ]
32
37
  });
33
38
  export { MoveEntryToBinRepository_MoveEntryToBinRepository as MoveEntryToBinRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { MoveEntryToBinRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * MoveEntryToBinRepository - Handles storage operations for soft deleting entries.\n */\nclass MoveEntryToBinRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n }): Promise<Result<void, RepositoryAbstraction.Error>> {\n const { model, entry } = params;\n\n try {\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n await this.storageOperations.entries.moveToBin(model, {\n entry,\n storageEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryToBinRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: MoveEntryToBinRepositoryImpl,\n dependencies: [EntryToStorageTransform, StorageOperations]\n});\n"],"names":["MoveEntryToBinRepositoryImpl","entryToStorageTransform","storageOperations","params","model","entry","storageEntry","Result","error","EntryPersistenceError","MoveEntryToBinRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","StorageOperations"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,iBAA8C,CACxD;aAFUD,uBAAuB,GAAvBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QAAQC,MAGb,EAAsD;QACnD,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;QAEzB,IAAI;YACA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACF,OAAOC;YAE/D,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAACD,OAAO;gBAClDC;gBACAC;YACJ;YAEA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,oDAA2BC,qBAAqB;IACzD,aAAaC;IACb,gBAAgBZ;IAChB,cAAc;QAACa;QAAyBC;KAAkB;AAC9D"}
1
+ {"version":3,"file":"features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { MoveEntryToBinRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * MoveEntryToBinRepository - Handles storage operations for soft deleting entries.\n */\nclass MoveEntryToBinRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n }): Promise<Result<void, RepositoryAbstraction.Error>> {\n const { model: initialModel, entry: initialEntry } = params;\n const model = this.runtimeTenant.assign(initialModel);\n const entry = this.runtimeTenant.assign(initialEntry);\n\n try {\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n await this.storageOperations.entries.moveToBin(model, {\n entry,\n storageEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryToBinRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: MoveEntryToBinRepositoryImpl,\n dependencies: [EntryToStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["MoveEntryToBinRepositoryImpl","entryToStorageTransform","storageOperations","runtimeTenant","params","initialModel","initialEntry","model","entry","storageEntry","Result","error","EntryPersistenceError","MoveEntryToBinRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAYA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,uBAAuB,GAAvBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,MAGb,EAAsD;QACnD,MAAM,EAAE,OAAOC,YAAY,EAAE,OAAOC,YAAY,EAAE,GAAGF;QACrD,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YACA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACF,OAAOC;YAE/D,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAACD,OAAO;gBAClDC;gBACAC;YACJ;YAEA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,oDAA2BC,qBAAqB;IACzD,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAAyBC;QAAmBC;KAAc;AAC7E"}
@@ -3,13 +3,15 @@ import { DeleteEntryRevisionRepository as RepositoryAbstraction } from "./abstra
3
3
  import type { CmsEntry, CmsModel } from "../../../types/index.js";
4
4
  import { StorageOperations } from "../../../features/shared/abstractions.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
6
7
  /**
7
8
  * DeleteEntryRevisionRepository - Handles storage operations for deleting entry revisions.
8
9
  */
9
10
  declare class DeleteEntryRevisionRepositoryImpl implements RepositoryAbstraction.Interface {
10
11
  private entryToStorageTransform;
11
12
  private storageOperations;
12
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface);
13
+ private runtimeTenant;
14
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
13
15
  execute(params: {
14
16
  model: CmsModel;
15
17
  entry: CmsEntry;
@@ -4,18 +4,23 @@ import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
6
  import { isEntryLevelEntryMetaField, pickEntryMetaFields } from "../../../constants.js";
7
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
7
8
  class DeleteEntryRevisionRepositoryImpl {
8
- constructor(entryToStorageTransform, storageOperations){
9
+ constructor(entryToStorageTransform, storageOperations, runtimeTenant){
9
10
  this.entryToStorageTransform = entryToStorageTransform;
10
11
  this.storageOperations = storageOperations;
12
+ this.runtimeTenant = runtimeTenant;
11
13
  }
12
14
  async execute(params) {
13
- const { model, entry, latestEntry } = params;
15
+ const model = this.runtimeTenant.assign(params.model);
16
+ const entry = this.runtimeTenant.assign(params.entry);
17
+ const latestEntry = params.latestEntry ? this.runtimeTenant.assign(params.latestEntry) : null;
14
18
  try {
15
19
  const storageEntry = await this.entryToStorageTransform(model, entry);
16
20
  let storageLatestEntry = null;
17
21
  if (latestEntry) {
18
22
  const pickedEntryLevelMetaFields = pickEntryMetaFields(entry, isEntryLevelEntryMetaField);
23
+ if ("published" === entry.status) pickedEntryLevelMetaFields.live = null;
19
24
  const updatedLatestEntry = {
20
25
  ...latestEntry,
21
26
  ...pickedEntryLevelMetaFields
@@ -39,7 +44,8 @@ const DeleteEntryRevisionRepository_DeleteEntryRevisionRepository = createImplem
39
44
  implementation: DeleteEntryRevisionRepositoryImpl,
40
45
  dependencies: [
41
46
  EntryToStorageTransform,
42
- StorageOperations
47
+ StorageOperations,
48
+ RuntimeTenant
43
49
  ]
44
50
  });
45
51
  export { DeleteEntryRevisionRepository_DeleteEntryRevisionRepository as DeleteEntryRevisionRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { isEntryLevelEntryMetaField, pickEntryMetaFields } from \"~/constants.js\";\n\n/**\n * DeleteEntryRevisionRepository - Handles storage operations for deleting entry revisions.\n */\nclass DeleteEntryRevisionRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n latestEntry: CmsEntry | null;\n }): Promise<Result<void, RepositoryAbstraction.Error>> {\n const { model, entry, latestEntry } = params;\n\n try {\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n let storageLatestEntry = null;\n if (latestEntry) {\n // Pick entry-level meta fields from the deleted entry to update the new latest\n const pickedEntryLevelMetaFields = pickEntryMetaFields(\n entry,\n isEntryLevelEntryMetaField\n );\n\n const updatedLatestEntry = {\n ...latestEntry,\n ...pickedEntryLevelMetaFields\n };\n\n storageLatestEntry = await this.entryToStorageTransform(model, updatedLatestEntry);\n }\n\n await this.storageOperations.entries.deleteRevision(model, {\n entry,\n storageEntry,\n latestEntry: latestEntry,\n latestStorageEntry: storageLatestEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteEntryRevisionRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: DeleteEntryRevisionRepositoryImpl,\n dependencies: [EntryToStorageTransform, StorageOperations]\n});\n"],"names":["DeleteEntryRevisionRepositoryImpl","entryToStorageTransform","storageOperations","params","model","entry","latestEntry","storageEntry","storageLatestEntry","pickedEntryLevelMetaFields","pickEntryMetaFields","isEntryLevelEntryMetaField","updatedLatestEntry","Result","error","EntryPersistenceError","DeleteEntryRevisionRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","StorageOperations"],"mappings":";;;;;;AAYA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,iBAA8C,CACxD;aAFUD,uBAAuB,GAAvBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QAAQC,MAIb,EAAsD;QACnD,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,WAAW,EAAE,GAAGH;QAEtC,IAAI;YACA,MAAMI,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACH,OAAOC;YAE/D,IAAIG,qBAAqB;YACzB,IAAIF,aAAa;gBAEb,MAAMG,6BAA6BC,oBAC/BL,OACAM;gBAGJ,MAAMC,qBAAqB;oBACvB,GAAGN,WAAW;oBACd,GAAGG,0BAA0B;gBACjC;gBAEAD,qBAAqB,MAAM,IAAI,CAAC,uBAAuB,CAACJ,OAAOQ;YACnE;YAEA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAACR,OAAO;gBACvDC;gBACAE;gBACA,aAAaD;gBACb,oBAAoBE;YACxB;YAEA,OAAOK,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8DAAgCC,qBAAqB;IAC9D,aAAaC;IACb,gBAAgBlB;IAChB,cAAc;QAACmB;QAAyBC;KAAkB;AAC9D"}
1
+ {"version":3,"file":"features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { isEntryLevelEntryMetaField, pickEntryMetaFields } from \"~/constants.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * DeleteEntryRevisionRepository - Handles storage operations for deleting entry revisions.\n */\nclass DeleteEntryRevisionRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n latestEntry: CmsEntry | null;\n }): Promise<Result<void, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(params.model);\n const entry = this.runtimeTenant.assign(params.entry);\n const latestEntry = params.latestEntry\n ? this.runtimeTenant.assign(params.latestEntry)\n : null;\n\n try {\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n let storageLatestEntry = null;\n if (latestEntry) {\n const pickedEntryLevelMetaFields = pickEntryMetaFields(\n entry,\n isEntryLevelEntryMetaField\n );\n\n // If the deleted revision was published, clear the live field\n // so the new latest entry does not inherit a stale live pointer.\n if (entry.status === \"published\") {\n pickedEntryLevelMetaFields.live = null;\n }\n\n const updatedLatestEntry = {\n ...latestEntry,\n ...pickedEntryLevelMetaFields\n };\n\n storageLatestEntry = await this.entryToStorageTransform(model, updatedLatestEntry);\n }\n\n await this.storageOperations.entries.deleteRevision(model, {\n entry,\n storageEntry,\n latestEntry: latestEntry,\n latestStorageEntry: storageLatestEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteEntryRevisionRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: DeleteEntryRevisionRepositoryImpl,\n dependencies: [EntryToStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["DeleteEntryRevisionRepositoryImpl","entryToStorageTransform","storageOperations","runtimeTenant","params","model","entry","latestEntry","storageEntry","storageLatestEntry","pickedEntryLevelMetaFields","pickEntryMetaFields","isEntryLevelEntryMetaField","updatedLatestEntry","Result","error","EntryPersistenceError","DeleteEntryRevisionRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;;AAaA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,uBAAuB,GAAvBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,MAIb,EAAsD;QACnD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACD,OAAO,KAAK;QACpD,MAAME,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF,OAAO,KAAK;QACpD,MAAMG,cAAcH,OAAO,WAAW,GAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAACA,OAAO,WAAW,IAC5C;QAEN,IAAI;YACA,MAAMI,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACH,OAAOC;YAE/D,IAAIG,qBAAqB;YACzB,IAAIF,aAAa;gBACb,MAAMG,6BAA6BC,oBAC/BL,OACAM;gBAKJ,IAAIN,AAAiB,gBAAjBA,MAAM,MAAM,EACZI,2BAA2B,IAAI,GAAG;gBAGtC,MAAMG,qBAAqB;oBACvB,GAAGN,WAAW;oBACd,GAAGG,0BAA0B;gBACjC;gBAEAD,qBAAqB,MAAM,IAAI,CAAC,uBAAuB,CAACJ,OAAOQ;YACnE;YAEA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAACR,OAAO;gBACvDC;gBACAE;gBACA,aAAaD;gBACb,oBAAoBE;YACxB;YAEA,OAAOK,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8DAAgCC,qBAAqB;IAC9D,aAAaC;IACb,gBAAgBnB;IAChB,cAAc;QAACoB;QAAyBC;QAAmBC;KAAc;AAC7E"}
@@ -2,6 +2,7 @@ import { Result } from "@webiny/feature/api";
2
2
  import { DeleteMultipleEntriesRepository as RepositoryAbstraction } from "./abstractions.js";
3
3
  import { StorageOperations } from "../../../features/shared/abstractions.js";
4
4
  import type { CmsModel } from "../../../types/index.js";
5
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
5
6
  /**
6
7
  * DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries.
7
8
  *
@@ -11,8 +12,9 @@ import type { CmsModel } from "../../../types/index.js";
11
12
  */
12
13
  declare class DeleteMultipleEntriesRepositoryImpl implements RepositoryAbstraction.Interface {
13
14
  private storageOperations;
14
- constructor(storageOperations: StorageOperations.Interface);
15
- execute(model: CmsModel, entryIds: string[]): Promise<Result<void, RepositoryAbstraction.Error>>;
15
+ private runtimeTenant;
16
+ constructor(storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
17
+ execute(initialModel: CmsModel, entryIds: string[]): Promise<Result<void, RepositoryAbstraction.Error>>;
16
18
  }
17
19
  export declare const DeleteMultipleEntriesRepository: import("@webiny/di").Implementation<typeof DeleteMultipleEntriesRepositoryImpl>;
18
20
  export {};
@@ -2,12 +2,15 @@ import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { DeleteMultipleEntriesRepository } from "./abstractions.js";
3
3
  import { StorageOperations } from "../../shared/abstractions.js";
4
4
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
5
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
5
6
  class DeleteMultipleEntriesRepositoryImpl {
6
- constructor(storageOperations){
7
+ constructor(storageOperations, runtimeTenant){
7
8
  this.storageOperations = storageOperations;
9
+ this.runtimeTenant = runtimeTenant;
8
10
  }
9
- async execute(model, entryIds) {
11
+ async execute(initialModel, entryIds) {
10
12
  try {
13
+ const model = this.runtimeTenant.assign(initialModel);
11
14
  await this.storageOperations.entries.deleteMultipleEntries(model, {
12
15
  entries: entryIds
13
16
  });
@@ -21,7 +24,8 @@ const DeleteMultipleEntriesRepository_DeleteMultipleEntriesRepository = createIm
21
24
  abstraction: DeleteMultipleEntriesRepository,
22
25
  implementation: DeleteMultipleEntriesRepositoryImpl,
23
26
  dependencies: [
24
- StorageOperations
27
+ StorageOperations,
28
+ RuntimeTenant
25
29
  ]
26
30
  });
27
31
  export { DeleteMultipleEntriesRepository_DeleteMultipleEntriesRepository as DeleteMultipleEntriesRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js","sources":["../../../../src/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteMultipleEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries.\n *\n * Responsibilities:\n * - Call storage operation to delete multiple entries\n * - Handle storage errors\n */\nclass DeleteMultipleEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private storageOperations: StorageOperations.Interface) {}\n\n async execute(\n model: CmsModel,\n entryIds: string[]\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.storageOperations.entries.deleteMultipleEntries(model, {\n entries: entryIds\n });\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteMultipleEntriesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: DeleteMultipleEntriesRepositoryImpl,\n dependencies: [StorageOperations]\n});\n"],"names":["DeleteMultipleEntriesRepositoryImpl","storageOperations","model","entryIds","Result","error","EntryPersistenceError","DeleteMultipleEntriesRepository","createImplementation","RepositoryAbstraction","StorageOperations"],"mappings":";;;;AAcA,MAAMA;IACF,YAA2BC,iBAA8C,CAAE;aAAhDA,iBAAiB,GAAjBA;IAAiD;IAE5E,MAAM,QACFC,KAAe,EACfC,QAAkB,EACgC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,CAACD,OAAO;gBAC9D,SAASC;YACb;YACA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,kEAAkCC,qBAAqB;IAChE,aAAaC;IACb,gBAAgBT;IAChB,cAAc;QAACU;KAAkB;AACrC"}
1
+ {"version":3,"file":"features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js","sources":["../../../../src/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteMultipleEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries.\n *\n * Responsibilities:\n * - Call storage operation to delete multiple entries\n * - Handle storage errors\n */\nclass DeleteMultipleEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute(\n initialModel: CmsModel,\n entryIds: string[]\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n const model = this.runtimeTenant.assign(initialModel);\n await this.storageOperations.entries.deleteMultipleEntries(model, {\n entries: entryIds\n });\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteMultipleEntriesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: DeleteMultipleEntriesRepositoryImpl,\n dependencies: [StorageOperations, RuntimeTenant]\n});\n"],"names":["DeleteMultipleEntriesRepositoryImpl","storageOperations","runtimeTenant","initialModel","entryIds","model","Result","error","EntryPersistenceError","DeleteMultipleEntriesRepository","createImplementation","RepositoryAbstraction","StorageOperations","RuntimeTenant"],"mappings":";;;;;AAeA,MAAMA;IACF,YACYC,iBAA8C,EAC9CC,aAAsC,CAChD;aAFUD,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,YAAsB,EACtBC,QAAkB,EACgC;QAClD,IAAI;YACA,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;YACxC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,CAACE,OAAO;gBAC9D,SAASD;YACb;YACA,OAAOE,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,kEAAkCC,qBAAqB;IAChE,aAAaC;IACb,gBAAgBX;IAChB,cAAc;QAACY;QAAmBC;KAAc;AACpD"}
@@ -3,17 +3,17 @@ import { GetEntriesByIdsRepository as RepositoryAbstraction } from "./abstractio
3
3
  import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js";
4
4
  import { StorageOperations } from "../../../features/shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
- import { TenantContext } from "@webiny/api-core/exports/api/tenancy.js";
6
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
7
7
  /**
8
8
  * GetEntriesByIdsRepository - Fetches entries by IDs from storage and transforms them.
9
9
  * Returns array of entries.
10
10
  */
11
11
  declare class GetEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {
12
- private tenantContext;
13
12
  private entryFromStorageTransform;
14
13
  private storageOperations;
15
- constructor(tenantContext: TenantContext.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
16
- execute<T extends CmsEntryValues>(model: CmsModel, ids: string[]): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>>;
14
+ private runtimeTenant;
15
+ constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
16
+ execute<T extends CmsEntryValues>(initialModel: CmsModel, ids: string[]): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>>;
17
17
  }
18
18
  export declare const GetEntriesByIdsRepository: import("@webiny/di").Implementation<typeof GetEntriesByIdsRepositoryImpl>;
19
19
  export {};
@@ -3,20 +3,17 @@ import { GetEntriesByIdsRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
- import { TenantContext } from "@webiny/api-core/exports/api/tenancy.js";
6
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
7
7
  class GetEntriesByIdsRepositoryImpl {
8
- constructor(tenantContext, entryFromStorageTransform, storageOperations){
9
- this.tenantContext = tenantContext;
8
+ constructor(entryFromStorageTransform, storageOperations, runtimeTenant){
10
9
  this.entryFromStorageTransform = entryFromStorageTransform;
11
10
  this.storageOperations = storageOperations;
11
+ this.runtimeTenant = runtimeTenant;
12
12
  }
13
- async execute(model, ids) {
13
+ async execute(initialModel, ids) {
14
+ const model = this.runtimeTenant.assign(initialModel);
14
15
  try {
15
- const modelWithTenant = {
16
- ...model,
17
- tenant: this.tenantContext.getTenant().id
18
- };
19
- const result = await this.storageOperations.entries.getByIds(modelWithTenant, {
16
+ const result = await this.storageOperations.entries.getByIds(model, {
20
17
  ids
21
18
  });
22
19
  const items = await Promise.all(result.map(async (entry)=>this.entryFromStorageTransform(model, entry)));
@@ -30,9 +27,9 @@ const GetEntriesByIdsRepository_GetEntriesByIdsRepository = createImplementation
30
27
  abstraction: GetEntriesByIdsRepository,
31
28
  implementation: GetEntriesByIdsRepositoryImpl,
32
29
  dependencies: [
33
- TenantContext,
34
30
  EntryFromStorageTransform,
35
- StorageOperations
31
+ StorageOperations,
32
+ RuntimeTenant
36
33
  ]
37
34
  });
38
35
  export { GetEntriesByIdsRepository_GetEntriesByIdsRepository as GetEntriesByIdsRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js","sources":["../../../../src/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetEntriesByIdsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/exports/api/tenancy.js\";\n\n/**\n * GetEntriesByIdsRepository - Fetches entries by IDs from storage and transforms them.\n * Returns array of entries.\n */\nclass GetEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private tenantContext: TenantContext.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>> {\n try {\n const modelWithTenant = { ...model, tenant: this.tenantContext.getTenant().id };\n const result = await this.storageOperations.entries.getByIds<T>(modelWithTenant, {\n ids\n });\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n return Result.ok(items);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetEntriesByIdsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetEntriesByIdsRepositoryImpl,\n dependencies: [TenantContext, EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetEntriesByIdsRepositoryImpl","tenantContext","entryFromStorageTransform","storageOperations","model","ids","modelWithTenant","result","items","Promise","entry","Result","error","EntryPersistenceError","GetEntriesByIdsRepository","createImplementation","RepositoryAbstraction","TenantContext","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;;AAaA,MAAMA;IACF,YACYC,aAAsC,EACtCC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAHUF,aAAa,GAAbA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,GAAa,EAC8C;QAC3D,IAAI;YACA,MAAMC,kBAAkB;gBAAE,GAAGF,KAAK;gBAAE,QAAQ,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE;YAAC;YAC9E,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAID,iBAAiB;gBAC7ED;YACJ;YAGA,MAAMG,QAAQ,MAAMC,QAAQ,GAAG,CAC3BF,OAAO,GAAG,CAAC,OAAMG,QACN,IAAI,CAAC,yBAAyB,CAACN,OAAOM;YAIrD,OAAOC,OAAO,EAAE,CAACH;QACrB,EAAE,OAAOI,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBhB;IAChB,cAAc;QAACiB;QAAeC;QAA2BC;KAAkB;AAC/E"}
1
+ {"version":3,"file":"features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js","sources":["../../../../src/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetEntriesByIdsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * GetEntriesByIdsRepository - Fetches entries by IDs from storage and transforms them.\n * Returns array of entries.\n */\nclass GetEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n initialModel: CmsModel,\n ids: string[]\n ): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n\n try {\n const result = await this.storageOperations.entries.getByIds<T>(model, {\n ids\n });\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n return Result.ok(items);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetEntriesByIdsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetEntriesByIdsRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetEntriesByIdsRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","ids","model","result","items","Promise","entry","Result","error","EntryPersistenceError","GetEntriesByIdsRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAaA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,YAAsB,EACtBC,GAAa,EAC8C;QAC3D,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YACA,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAID,OAAO;gBACnED;YACJ;YAGA,MAAMG,QAAQ,MAAMC,QAAQ,GAAG,CAC3BF,OAAO,GAAG,CAAC,OAAMG,QACN,IAAI,CAAC,yBAAyB,CAACJ,OAAOI;YAIrD,OAAOC,OAAO,EAAE,CAACH;QACrB,EAAE,OAAOI,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBhB;IAChB,cAAc;QAACiB;QAA2BC;QAAmBC;KAAc;AAC/E"}
@@ -3,6 +3,7 @@ import { GetLatestEntriesByIdsRepository as RepositoryAbstraction } from "./abst
3
3
  import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js";
4
4
  import { StorageOperations } from "../../../features/shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
6
7
  /**
7
8
  * GetLatestEntriesByIdsRepository - Fetches latest entries by entry IDs from storage.
8
9
  * Returns array of latest entries.
@@ -10,8 +11,9 @@ import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
10
11
  declare class GetLatestEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {
11
12
  private entryFromStorageTransform;
12
13
  private storageOperations;
13
- constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
14
- execute<T extends CmsEntryValues>(model: CmsModel, ids: string[]): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>>;
14
+ private runtimeTenant;
15
+ constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
16
+ execute<T extends CmsEntryValues>(initialModel: CmsModel, ids: string[]): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>>;
15
17
  }
16
18
  export declare const GetLatestEntriesByIdsRepository: import("@webiny/di").Implementation<typeof GetLatestEntriesByIdsRepositoryImpl>;
17
19
  export {};
@@ -3,13 +3,16 @@ import { GetLatestEntriesByIdsRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
6
7
  class GetLatestEntriesByIdsRepositoryImpl {
7
- constructor(entryFromStorageTransform, storageOperations){
8
+ constructor(entryFromStorageTransform, storageOperations, runtimeTenant){
8
9
  this.entryFromStorageTransform = entryFromStorageTransform;
9
10
  this.storageOperations = storageOperations;
11
+ this.runtimeTenant = runtimeTenant;
10
12
  }
11
- async execute(model, ids) {
13
+ async execute(initialModel, ids) {
12
14
  try {
15
+ const model = this.runtimeTenant.assign(initialModel);
13
16
  const result = await this.storageOperations.entries.getLatestByIds(model, {
14
17
  ids
15
18
  });
@@ -25,7 +28,8 @@ const GetLatestEntriesByIdsRepository_GetLatestEntriesByIdsRepository = createIm
25
28
  implementation: GetLatestEntriesByIdsRepositoryImpl,
26
29
  dependencies: [
27
30
  EntryFromStorageTransform,
28
- StorageOperations
31
+ StorageOperations,
32
+ RuntimeTenant
29
33
  ]
30
34
  });
31
35
  export { GetLatestEntriesByIdsRepository_GetLatestEntriesByIdsRepository as GetLatestEntriesByIdsRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js","sources":["../../../../src/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetLatestEntriesByIdsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * GetLatestEntriesByIdsRepository - Fetches latest entries by entry IDs from storage.\n * Returns array of latest entries.\n */\nclass GetLatestEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>> {\n try {\n const result = await this.storageOperations.entries.getLatestByIds<T>(model, { ids });\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n return Result.ok(items);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetLatestEntriesByIdsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetLatestEntriesByIdsRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetLatestEntriesByIdsRepositoryImpl","entryFromStorageTransform","storageOperations","model","ids","result","items","Promise","entry","Result","error","EntryPersistenceError","GetLatestEntriesByIdsRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAYA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAFUD,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,GAAa,EAC8C;QAC3D,IAAI;YACA,MAAMC,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAIF,OAAO;gBAAEC;YAAI;YAGnF,MAAME,QAAQ,MAAMC,QAAQ,GAAG,CAC3BF,OAAO,GAAG,CAAC,OAAMG,QACN,IAAI,CAAC,yBAAyB,CAACL,OAAOK;YAIrD,OAAOC,OAAO,EAAE,CAACH;QACrB,EAAE,OAAOI,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,kEAAkCC,qBAAqB;IAChE,aAAaC;IACb,gBAAgBd;IAChB,cAAc;QAACe;QAA2BC;KAAkB;AAChE"}
1
+ {"version":3,"file":"features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js","sources":["../../../../src/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetLatestEntriesByIdsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * GetLatestEntriesByIdsRepository - Fetches latest entries by entry IDs from storage.\n * Returns array of latest entries.\n */\nclass GetLatestEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n initialModel: CmsModel,\n ids: string[]\n ): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>> {\n try {\n const model = this.runtimeTenant.assign(initialModel);\n const result = await this.storageOperations.entries.getLatestByIds<T>(model, { ids });\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n return Result.ok(items);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetLatestEntriesByIdsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetLatestEntriesByIdsRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetLatestEntriesByIdsRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","ids","model","result","items","Promise","entry","Result","error","EntryPersistenceError","GetLatestEntriesByIdsRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAaA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,YAAsB,EACtBC,GAAa,EAC8C;QAC3D,IAAI;YACA,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;YACxC,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAID,OAAO;gBAAED;YAAI;YAGnF,MAAMG,QAAQ,MAAMC,QAAQ,GAAG,CAC3BF,OAAO,GAAG,CAAC,OAAMG,QACN,IAAI,CAAC,yBAAyB,CAACJ,OAAOI;YAIrD,OAAOC,OAAO,EAAE,CAACH;QACrB,EAAE,OAAOI,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,kEAAkCC,qBAAqB;IAChE,aAAaC;IACb,gBAAgBhB;IAChB,cAAc;QAACiB;QAA2BC;QAAmBC;KAAc;AAC/E"}
@@ -3,6 +3,7 @@ import { GetLatestRevisionByEntryIdRepository as RepositoryAbstraction } from ".
3
3
  import type { CmsEntry, CmsEntryValues, CmsModel, CmsEntryStorageOperationsGetLatestRevisionParams } from "../../../types/index.js";
4
4
  import { StorageOperations } from "../../../features/shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
6
7
  /**
7
8
  * GetLatestRevisionByEntryIdRepository - Fetches latest revision by entry ID from storage.
8
9
  * Returns the latest revision for a given entry (includes deleted entries).
@@ -10,8 +11,9 @@ import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
10
11
  declare class GetLatestRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {
11
12
  private entryFromStorageTransform;
12
13
  private storageOperations;
13
- constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
14
- execute<T extends CmsEntryValues>(model: CmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
14
+ private runtimeTenant;
15
+ constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
16
+ execute<T extends CmsEntryValues>(initialModel: CmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
15
17
  }
16
18
  export declare const GetLatestRevisionByEntryIdRepository: import("@webiny/di").Implementation<typeof GetLatestRevisionByEntryIdRepositoryImpl>;
17
19
  export {};
@@ -3,13 +3,16 @@ import { GetLatestRevisionByEntryIdRepository } from "./abstractions.js";
3
3
  import { EntryNotFoundError, EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
6
7
  class GetLatestRevisionByEntryIdRepositoryImpl {
7
- constructor(entryFromStorageTransform, storageOperations){
8
+ constructor(entryFromStorageTransform, storageOperations, runtimeTenant){
8
9
  this.entryFromStorageTransform = entryFromStorageTransform;
9
10
  this.storageOperations = storageOperations;
11
+ this.runtimeTenant = runtimeTenant;
10
12
  }
11
- async execute(model, params) {
13
+ async execute(initialModel, params) {
12
14
  try {
15
+ const model = this.runtimeTenant.assign(initialModel);
13
16
  const entry = await this.storageOperations.entries.getLatestRevisionByEntryId(model, params);
14
17
  if (!entry) return Result.fail(new EntryNotFoundError(params.id));
15
18
  const transformedEntry = await this.entryFromStorageTransform(model, entry);
@@ -24,7 +27,8 @@ const GetLatestRevisionByEntryIdRepository_GetLatestRevisionByEntryIdRepository
24
27
  implementation: GetLatestRevisionByEntryIdRepositoryImpl,
25
28
  dependencies: [
26
29
  EntryFromStorageTransform,
27
- StorageOperations
30
+ StorageOperations,
31
+ RuntimeTenant
28
32
  ]
29
33
  });
30
34
  export { GetLatestRevisionByEntryIdRepository_GetLatestRevisionByEntryIdRepository as GetLatestRevisionByEntryIdRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetLatestRevisionByEntryIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryNotFoundError, EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsEntryStorageOperationsGetLatestRevisionParams\n} from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * GetLatestRevisionByEntryIdRepository - Fetches latest revision by entry ID from storage.\n * Returns the latest revision for a given entry (includes deleted entries).\n */\nclass GetLatestRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryStorageOperationsGetLatestRevisionParams\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n const entry = await this.storageOperations.entries.getLatestRevisionByEntryId<T>(\n model,\n params\n );\n\n if (!entry) {\n return Result.fail(new EntryNotFoundError(params.id));\n }\n\n // Transform storage entry to domain entry\n const transformedEntry = await this.entryFromStorageTransform(model, entry);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetLatestRevisionByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetLatestRevisionByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetLatestRevisionByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","model","params","entry","Result","EntryNotFoundError","transformedEntry","error","EntryPersistenceError","GetLatestRevisionByEntryIdRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAiBA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAFUD,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAAwD,EACC;QACzD,IAAI;YACA,MAAMC,QAAQ,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,0BAA0B,CACzEF,OACAC;YAGJ,IAAI,CAACC,OACD,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBH,OAAO,EAAE;YAIvD,MAAMI,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACL,OAAOE;YAErE,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,4EAAuCC,qBAAqB;IACrE,aAAaC;IACb,gBAAgBb;IAChB,cAAc;QAACc;QAA2BC;KAAkB;AAChE"}
1
+ {"version":3,"file":"features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetLatestRevisionByEntryIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryNotFoundError, EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsEntryStorageOperationsGetLatestRevisionParams\n} from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * GetLatestRevisionByEntryIdRepository - Fetches latest revision by entry ID from storage.\n * Returns the latest revision for a given entry (includes deleted entries).\n */\nclass GetLatestRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n initialModel: CmsModel,\n params: CmsEntryStorageOperationsGetLatestRevisionParams\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n const model = this.runtimeTenant.assign(initialModel);\n const entry = await this.storageOperations.entries.getLatestRevisionByEntryId<T>(\n model,\n params\n );\n\n if (!entry) {\n return Result.fail(new EntryNotFoundError(params.id));\n }\n\n // Transform storage entry to domain entry\n const transformedEntry = await this.entryFromStorageTransform(model, entry);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetLatestRevisionByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetLatestRevisionByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetLatestRevisionByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","params","model","entry","Result","EntryNotFoundError","transformedEntry","error","EntryPersistenceError","GetLatestRevisionByEntryIdRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAkBA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,YAAsB,EACtBC,MAAwD,EACC;QACzD,IAAI;YACA,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;YACxC,MAAMG,QAAQ,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,0BAA0B,CACzED,OACAD;YAGJ,IAAI,CAACE,OACD,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBJ,OAAO,EAAE;YAIvD,MAAMK,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOC;YAErE,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,4EAAuCC,qBAAqB;IACrE,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAA2BC;QAAmBC;KAAc;AAC/E"}
@@ -3,6 +3,7 @@ import { GetPreviousRevisionByEntryIdRepository as RepositoryAbstraction } from
3
3
  import type { CmsEntry, CmsEntryValues, CmsModel, CmsEntryStorageOperationsGetPreviousRevisionParams } from "../../../types/index.js";
4
4
  import { StorageOperations } from "../../../features/shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
6
7
  /**
7
8
  * GetPreviousRevisionByEntryIdRepository - Fetches previous revision by entry ID and version from storage.
8
9
  * Returns the previous revision for a given entry (includes deleted entries).
@@ -10,8 +11,9 @@ import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
10
11
  declare class GetPreviousRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {
11
12
  private entryFromStorageTransform;
12
13
  private storageOperations;
13
- constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
14
- execute<T extends CmsEntryValues>(model: CmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
14
+ private runtimeTenant;
15
+ constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
16
+ execute<T extends CmsEntryValues>(initialModel: CmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
15
17
  }
16
18
  export declare const GetPreviousRevisionByEntryIdRepository: import("@webiny/di").Implementation<typeof GetPreviousRevisionByEntryIdRepositoryImpl>;
17
19
  export {};
@@ -3,12 +3,15 @@ import { GetPreviousRevisionByEntryIdRepository } from "./abstractions.js";
3
3
  import { EntryNotFoundError, EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
6
7
  class GetPreviousRevisionByEntryIdRepositoryImpl {
7
- constructor(entryFromStorageTransform, storageOperations){
8
+ constructor(entryFromStorageTransform, storageOperations, runtimeTenant){
8
9
  this.entryFromStorageTransform = entryFromStorageTransform;
9
10
  this.storageOperations = storageOperations;
11
+ this.runtimeTenant = runtimeTenant;
10
12
  }
11
- async execute(model, params) {
13
+ async execute(initialModel, params) {
14
+ const model = this.runtimeTenant.assign(initialModel);
12
15
  try {
13
16
  const entry = await this.storageOperations.entries.getPreviousRevision(model, params);
14
17
  if (!entry) return Result.fail(new EntryNotFoundError(params.entryId));
@@ -24,7 +27,8 @@ const GetPreviousRevisionByEntryIdRepository_GetPreviousRevisionByEntryIdReposit
24
27
  implementation: GetPreviousRevisionByEntryIdRepositoryImpl,
25
28
  dependencies: [
26
29
  EntryFromStorageTransform,
27
- StorageOperations
30
+ StorageOperations,
31
+ RuntimeTenant
28
32
  ]
29
33
  });
30
34
  export { GetPreviousRevisionByEntryIdRepository_GetPreviousRevisionByEntryIdRepository as GetPreviousRevisionByEntryIdRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetPreviousRevisionByEntryIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryNotFoundError, EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsEntryStorageOperationsGetPreviousRevisionParams\n} from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * GetPreviousRevisionByEntryIdRepository - Fetches previous revision by entry ID and version from storage.\n * Returns the previous revision for a given entry (includes deleted entries).\n */\nclass GetPreviousRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryStorageOperationsGetPreviousRevisionParams\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n const entry = await this.storageOperations.entries.getPreviousRevision<T>(\n model,\n params\n );\n\n if (!entry) {\n return Result.fail(new EntryNotFoundError(params.entryId));\n }\n\n // Transform storage entry to domain entry\n const transformedEntry = await this.entryFromStorageTransform(model, entry);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetPreviousRevisionByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetPreviousRevisionByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetPreviousRevisionByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","model","params","entry","Result","EntryNotFoundError","transformedEntry","error","EntryPersistenceError","GetPreviousRevisionByEntryIdRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAiBA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAFUD,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA0D,EACD;QACzD,IAAI;YACA,MAAMC,QAAQ,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,mBAAmB,CAClEF,OACAC;YAGJ,IAAI,CAACC,OACD,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBH,OAAO,OAAO;YAI5D,MAAMI,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACL,OAAOE;YAErE,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gFAAyCC,qBAAqB;IACvE,aAAaC;IACb,gBAAgBb;IAChB,cAAc;QAACc;QAA2BC;KAAkB;AAChE"}
1
+ {"version":3,"file":"features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetPreviousRevisionByEntryIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryNotFoundError, EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsEntryStorageOperationsGetPreviousRevisionParams\n} from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * GetPreviousRevisionByEntryIdRepository - Fetches previous revision by entry ID and version from storage.\n * Returns the previous revision for a given entry (includes deleted entries).\n */\nclass GetPreviousRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n initialModel: CmsModel,\n params: CmsEntryStorageOperationsGetPreviousRevisionParams\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n\n try {\n const entry = await this.storageOperations.entries.getPreviousRevision<T>(\n model,\n params\n );\n\n if (!entry) {\n return Result.fail(new EntryNotFoundError(params.entryId));\n }\n\n // Transform storage entry to domain entry\n const transformedEntry = await this.entryFromStorageTransform(model, entry);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetPreviousRevisionByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetPreviousRevisionByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetPreviousRevisionByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","params","model","entry","Result","EntryNotFoundError","transformedEntry","error","EntryPersistenceError","GetPreviousRevisionByEntryIdRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAkBA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,YAAsB,EACtBC,MAA0D,EACD;QACzD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YACA,MAAMG,QAAQ,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,mBAAmB,CAClED,OACAD;YAGJ,IAAI,CAACE,OACD,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBJ,OAAO,OAAO;YAI5D,MAAMK,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOC;YAErE,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gFAAyCC,qBAAqB;IACvE,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAA2BC;QAAmBC;KAAc;AAC/E"}