@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
@@ -3,6 +3,7 @@ import { GetPublishedEntriesByIdsRepository as RepositoryAbstraction } from "./a
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
  * GetPublishedEntriesByIdsRepository - Fetches published entries by entry IDs from storage.
8
9
  * Returns array of published entries.
@@ -10,8 +11,9 @@ import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
10
11
  declare class GetPublishedEntriesByIdsRepositoryImpl 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 GetPublishedEntriesByIdsRepository: import("@webiny/di").Implementation<typeof GetPublishedEntriesByIdsRepositoryImpl>;
17
19
  export {};
@@ -3,13 +3,16 @@ import { GetPublishedEntriesByIdsRepository } 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 GetPublishedEntriesByIdsRepositoryImpl {
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.getPublishedByIds(model, {
14
17
  ids
15
18
  });
@@ -25,7 +28,8 @@ const GetPublishedEntriesByIdsRepository_GetPublishedEntriesByIdsRepository = cr
25
28
  implementation: GetPublishedEntriesByIdsRepositoryImpl,
26
29
  dependencies: [
27
30
  EntryFromStorageTransform,
28
- StorageOperations
31
+ StorageOperations,
32
+ RuntimeTenant
29
33
  ]
30
34
  });
31
35
  export { GetPublishedEntriesByIdsRepository_GetPublishedEntriesByIdsRepository as GetPublishedEntriesByIdsRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js","sources":["../../../../src/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { GetPublishedEntriesByIdsRepository 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 * GetPublishedEntriesByIdsRepository - Fetches published entries by entry IDs from storage.\n * Returns array of published entries.\n */\nclass GetPublishedEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n public 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.getPublishedByIds<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 GetPublishedEntriesByIdsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetPublishedEntriesByIdsRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetPublishedEntriesByIdsRepositoryImpl","entryFromStorageTransform","storageOperations","model","ids","result","items","Promise","entry","Result","error","EntryPersistenceError","GetPublishedEntriesByIdsRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAFUD,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,GAAa,EAC8C;QAC3D,IAAI;YACA,MAAMC,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAIF,OAAO;gBAC5EC;YACJ;YAGA,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,wEAAqCC,qBAAqB;IACnE,aAAaC;IACb,gBAAgBd;IAChB,cAAc;QAACe;QAA2BC;KAAkB;AAChE"}
1
+ {"version":3,"file":"features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js","sources":["../../../../src/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { GetPublishedEntriesByIdsRepository 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 * GetPublishedEntriesByIdsRepository - Fetches published entries by entry IDs from storage.\n * Returns array of published entries.\n */\nclass GetPublishedEntriesByIdsRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n public 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.getPublishedByIds<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 GetPublishedEntriesByIdsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetPublishedEntriesByIdsRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetPublishedEntriesByIdsRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","ids","model","result","items","Promise","entry","Result","error","EntryPersistenceError","GetPublishedEntriesByIdsRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAYA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QACTC,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,iBAAiB,CAAID,OAAO;gBAC5ED;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,wEAAqCC,qBAAqB;IACnE,aAAaC;IACb,gBAAgBhB;IAChB,cAAc;QAACiB;QAA2BC;QAAmBC;KAAc;AAC/E"}
@@ -3,6 +3,7 @@ import { GetPublishedRevisionByEntryIdRepository as RepositoryAbstraction } from
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
  * GetPublishedRevisionByEntryIdRepository - Fetches published revision from storage.
8
9
  * Returns null if entry not found or is deleted.
@@ -10,8 +11,9 @@ import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
10
11
  declare class GetPublishedRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {
11
12
  private entryFromStorageTransform;
12
13
  private storageOperations;
13
- constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
14
- execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entryId: 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 = CmsEntryValues>(initialModel: CmsModel, entryId: string): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
15
17
  }
16
18
  export declare const GetPublishedRevisionByEntryIdRepository: import("@webiny/di").Implementation<typeof GetPublishedRevisionByEntryIdRepositoryImpl>;
17
19
  export {};
@@ -3,13 +3,16 @@ import { GetPublishedRevisionByEntryIdRepository } 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 GetPublishedRevisionByEntryIdRepositoryImpl {
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, entryId) {
13
+ async execute(initialModel, entryId) {
12
14
  try {
15
+ const model = this.runtimeTenant.assign(initialModel);
13
16
  const storageEntry = await this.storageOperations.entries.getPublishedRevisionByEntryId(model, {
14
17
  id: entryId
15
18
  });
@@ -26,7 +29,8 @@ const GetPublishedRevisionByEntryIdRepository_GetPublishedRevisionByEntryIdRepos
26
29
  implementation: GetPublishedRevisionByEntryIdRepositoryImpl,
27
30
  dependencies: [
28
31
  EntryFromStorageTransform,
29
- StorageOperations
32
+ StorageOperations,
33
+ RuntimeTenant
30
34
  ]
31
35
  });
32
36
  export { GetPublishedRevisionByEntryIdRepository_GetPublishedRevisionByEntryIdRepository as GetPublishedRevisionByEntryIdRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { GetPublishedRevisionByEntryIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryNotFoundError, 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 * GetPublishedRevisionByEntryIdRepository - Fetches published revision from storage.\n * Returns null if entry not found or is deleted.\n */\nclass GetPublishedRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n // Get published revision from storage\n const storageEntry =\n await this.storageOperations.entries.getPublishedRevisionByEntryId<T>(model, {\n id: entryId\n });\n\n if (!storageEntry || storageEntry.wbyDeleted) {\n return Result.fail(new EntryNotFoundError(entryId));\n }\n\n // Transform storage entry to domain entry\n const entry = await this.entryFromStorageTransform(model, storageEntry);\n\n return Result.ok(entry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetPublishedRevisionByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetPublishedRevisionByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetPublishedRevisionByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","model","entryId","storageEntry","Result","EntryNotFoundError","entry","error","EntryPersistenceError","GetPublishedRevisionByEntryIdRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAFUD,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,OAAe,EAC0C;QACzD,IAAI;YAEA,MAAMC,eACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,6BAA6B,CAAIF,OAAO;gBACzE,IAAIC;YACR;YAEJ,IAAI,CAACC,gBAAgBA,aAAa,UAAU,EACxC,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBH;YAI9C,MAAMI,QAAQ,MAAM,IAAI,CAAC,yBAAyB,CAACL,OAAOE;YAE1D,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,kFAA0CC,qBAAqB;IACxE,aAAaC;IACb,gBAAgBb;IAChB,cAAc;QAACc;QAA2BC;KAAkB;AAChE"}
1
+ {"version":3,"file":"features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { GetPublishedRevisionByEntryIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryNotFoundError, 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 * GetPublishedRevisionByEntryIdRepository - Fetches published revision from storage.\n * Returns null if entry not found or is deleted.\n */\nclass GetPublishedRevisionByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n initialModel: CmsModel,\n entryId: string\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n const model = this.runtimeTenant.assign(initialModel);\n\n // Get published revision from storage\n const storageEntry =\n await this.storageOperations.entries.getPublishedRevisionByEntryId<T>(model, {\n id: entryId\n });\n\n if (!storageEntry || storageEntry.wbyDeleted) {\n return Result.fail(new EntryNotFoundError(entryId));\n }\n\n // Transform storage entry to domain entry\n const entry = await this.entryFromStorageTransform(model, storageEntry);\n\n return Result.ok(entry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetPublishedRevisionByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetPublishedRevisionByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetPublishedRevisionByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","entryId","model","storageEntry","Result","EntryNotFoundError","entry","error","EntryPersistenceError","GetPublishedRevisionByEntryIdRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAYA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QACTC,YAAsB,EACtBC,OAAe,EAC0C;QACzD,IAAI;YACA,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;YAGxC,MAAMG,eACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,6BAA6B,CAAID,OAAO;gBACzE,IAAID;YACR;YAEJ,IAAI,CAACE,gBAAgBA,aAAa,UAAU,EACxC,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBJ;YAI9C,MAAMK,QAAQ,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOC;YAE1D,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,kFAA0CC,qBAAqB;IACxE,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAA2BC;QAAmBC;KAAc;AAC/E"}
@@ -3,6 +3,7 @@ import { GetRevisionByIdRepository 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 { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
6
7
  /**
7
8
  * GetRevisionByIdRepository - Fetches entry revision from storage and transforms it.
8
9
  * Returns entry or fails with EntryNotFoundError if not found.
@@ -10,8 +11,9 @@ import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
10
11
  declare class GetRevisionByIdRepositoryImpl implements RepositoryAbstraction.Interface {
11
12
  private entryFromStorageTransform;
12
13
  private storageOperations;
13
- constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
14
- execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: 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 = CmsEntryValues>(initialModel: CmsModel, id: string): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
15
17
  }
16
18
  export declare const GetRevisionByIdRepository: import("@webiny/di").Implementation<typeof GetRevisionByIdRepositoryImpl>;
17
19
  export {};
@@ -3,12 +3,15 @@ import { GetRevisionByIdRepository } 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 GetRevisionByIdRepositoryImpl {
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, id) {
13
+ async execute(initialModel, id) {
14
+ const model = this.runtimeTenant.assign(initialModel);
12
15
  try {
13
16
  const storageEntry = await this.storageOperations.entries.getRevisionById(model, {
14
17
  id
@@ -26,7 +29,8 @@ const GetRevisionByIdRepository_GetRevisionByIdRepository = createImplementation
26
29
  implementation: GetRevisionByIdRepositoryImpl,
27
30
  dependencies: [
28
31
  EntryFromStorageTransform,
29
- StorageOperations
32
+ StorageOperations,
33
+ RuntimeTenant
30
34
  ]
31
35
  });
32
36
  export { GetRevisionByIdRepository_GetRevisionByIdRepository as GetRevisionByIdRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js","sources":["../../../../src/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetRevisionByIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError, EntryNotFoundError } 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 * GetRevisionByIdRepository - Fetches entry revision from storage and transforms it.\n * Returns entry or fails with EntryNotFoundError if not found.\n */\nclass GetRevisionByIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n // Fetch from storage\n const storageEntry = await this.storageOperations.entries.getRevisionById<T>(model, {\n id\n });\n\n if (!storageEntry) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n // Transform storage entry to domain entry\n const entry = await this.entryFromStorageTransform<T>(model, storageEntry);\n\n return Result.ok(entry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetRevisionByIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetRevisionByIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetRevisionByIdRepositoryImpl","entryFromStorageTransform","storageOperations","model","id","storageEntry","Result","EntryNotFoundError","entry","error","EntryPersistenceError","GetRevisionByIdRepository","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,EAAU,EAC+C;QACzD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAIF,OAAO;gBAChFC;YACJ;YAEA,IAAI,CAACC,cACD,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBH;YAI9C,MAAMI,QAAQ,MAAM,IAAI,CAAC,yBAAyB,CAAIL,OAAOE;YAE7D,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBb;IAChB,cAAc;QAACc;QAA2BC;KAAkB;AAChE"}
1
+ {"version":3,"file":"features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js","sources":["../../../../src/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetRevisionByIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError, EntryNotFoundError } 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 * GetRevisionByIdRepository - Fetches entry revision from storage and transforms it.\n * Returns entry or fails with EntryNotFoundError if not found.\n */\nclass GetRevisionByIdRepositoryImpl 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 = CmsEntryValues>(\n initialModel: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n\n try {\n // Fetch from storage\n const storageEntry = await this.storageOperations.entries.getRevisionById<T>(model, {\n id\n });\n\n if (!storageEntry) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n // Transform storage entry to domain entry\n const entry = await this.entryFromStorageTransform<T>(model, storageEntry);\n\n return Result.ok(entry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetRevisionByIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetRevisionByIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetRevisionByIdRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","id","model","storageEntry","Result","EntryNotFoundError","entry","error","EntryPersistenceError","GetRevisionByIdRepository","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,EAAU,EAC+C;QACzD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YAEA,MAAMG,eAAe,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAID,OAAO;gBAChFD;YACJ;YAEA,IAAI,CAACE,cACD,OAAOC,OAAO,IAAI,CAAC,IAAIC,mBAAmBJ;YAI9C,MAAMK,QAAQ,MAAM,IAAI,CAAC,yBAAyB,CAAIJ,OAAOC;YAE7D,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAII,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAA2BC;QAAmBC;KAAc;AAC/E"}
@@ -3,6 +3,7 @@ import { GetRevisionsByEntryIdRepository 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
  * GetRevisionsByEntryIdRepository - Fetches all revisions for an entry from storage.
8
9
  * Returns array of entry revisions.
@@ -10,8 +11,9 @@ import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
10
11
  declare class GetRevisionsByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {
11
12
  private entryFromStorageTransform;
12
13
  private storageOperations;
13
- constructor(entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
14
- execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entryId: 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 = CmsEntryValues>(initialModel: CmsModel, entryId: string): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>>;
15
17
  }
16
18
  export declare const GetRevisionsByEntryIdRepository: import("@webiny/di").Implementation<typeof GetRevisionsByEntryIdRepositoryImpl>;
17
19
  export {};
@@ -3,13 +3,16 @@ import { GetRevisionsByEntryIdRepository } 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 GetRevisionsByEntryIdRepositoryImpl {
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, entryId) {
13
+ async execute(initialModel, entryId) {
12
14
  try {
15
+ const model = this.runtimeTenant.assign(initialModel);
13
16
  const result = await this.storageOperations.entries.getRevisions(model, {
14
17
  id: entryId
15
18
  });
@@ -25,7 +28,8 @@ const GetRevisionsByEntryIdRepository_GetRevisionsByEntryIdRepository = createIm
25
28
  implementation: GetRevisionsByEntryIdRepositoryImpl,
26
29
  dependencies: [
27
30
  EntryFromStorageTransform,
28
- StorageOperations
31
+ StorageOperations,
32
+ RuntimeTenant
29
33
  ]
30
34
  });
31
35
  export { GetRevisionsByEntryIdRepository_GetRevisionsByEntryIdRepository as GetRevisionsByEntryIdRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetRevisionsByEntryIdRepository 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 * GetRevisionsByEntryIdRepository - Fetches all revisions for an entry from storage.\n * Returns array of entry revisions.\n */\nclass GetRevisionsByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>> {\n try {\n const result = await this.storageOperations.entries.getRevisions<T>(model, {\n id: entryId\n });\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.map(async entry => {\n return this.entryFromStorageTransform<T>(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 GetRevisionsByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetRevisionsByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["GetRevisionsByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","model","entryId","result","items","Promise","entry","Result","error","EntryPersistenceError","GetRevisionsByEntryIdRepository","createImplementation","RepositoryAbstraction","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAYA,MAAMA;IACF,YACYC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAFUD,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,OAAe,EAC4C;QAC3D,IAAI;YACA,MAAMC,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAIF,OAAO;gBACvE,IAAIC;YACR;YAGA,MAAME,QAAQ,MAAMC,QAAQ,GAAG,CAC3BF,OAAO,GAAG,CAAC,OAAMG,QACN,IAAI,CAAC,yBAAyB,CAAIL,OAAOK;YAIxD,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/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js","sources":["../../../../src/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { GetRevisionsByEntryIdRepository 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 * GetRevisionsByEntryIdRepository - Fetches all revisions for an entry from storage.\n * Returns array of entry revisions.\n */\nclass GetRevisionsByEntryIdRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n initialModel: CmsModel,\n entryId: string\n ): Promise<Result<CmsEntry<T>[], RepositoryAbstraction.Error>> {\n try {\n const model = this.runtimeTenant.assign(initialModel);\n const result = await this.storageOperations.entries.getRevisions<T>(model, {\n id: entryId\n });\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.map(async entry => {\n return this.entryFromStorageTransform<T>(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 GetRevisionsByEntryIdRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetRevisionsByEntryIdRepositoryImpl,\n dependencies: [EntryFromStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["GetRevisionsByEntryIdRepositoryImpl","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","entryId","model","result","items","Promise","entry","Result","error","EntryPersistenceError","GetRevisionsByEntryIdRepository","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,MAAa,QACTC,YAAsB,EACtBC,OAAe,EAC4C;QAC3D,IAAI;YACA,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;YACxC,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAID,OAAO;gBACvE,IAAID;YACR;YAGA,MAAMG,QAAQ,MAAMC,QAAQ,GAAG,CAC3BF,OAAO,GAAG,CAAC,OAAMG,QACN,IAAI,CAAC,yBAAyB,CAAIJ,OAAOI;YAIxD,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"}
@@ -2,10 +2,12 @@ import { Result } from "@webiny/feature/api";
2
2
  import { GetUniqueFieldValuesRepository as RepositoryAbstraction, GetUniqueFieldValuesParams } from "./abstractions.js";
3
3
  import { StorageOperations } from "../../../features/shared/abstractions.js";
4
4
  import type { CmsModel, CmsEntryUniqueValue } from "../../../types/index.js";
5
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
5
6
  declare class GetUniqueFieldValuesRepositoryImpl implements RepositoryAbstraction.Interface {
6
7
  private storageOperations;
7
- constructor(storageOperations: StorageOperations.Interface);
8
- execute(model: CmsModel, params: GetUniqueFieldValuesParams): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>>;
8
+ private runtimeTenant;
9
+ constructor(storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
10
+ execute(initialModel: CmsModel, params: GetUniqueFieldValuesParams): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>>;
9
11
  }
10
12
  export declare const GetUniqueFieldValuesRepository: import("@webiny/di").Implementation<typeof GetUniqueFieldValuesRepositoryImpl>;
11
13
  export {};
@@ -2,11 +2,14 @@ import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { GetUniqueFieldValuesRepository } 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 GetUniqueFieldValuesRepositoryImpl {
6
- constructor(storageOperations){
7
+ constructor(storageOperations, runtimeTenant){
7
8
  this.storageOperations = storageOperations;
9
+ this.runtimeTenant = runtimeTenant;
8
10
  }
9
- async execute(model, params) {
11
+ async execute(initialModel, params) {
12
+ const model = this.runtimeTenant.assign(initialModel);
10
13
  const { where, fieldId } = params;
11
14
  try {
12
15
  const values = await this.storageOperations.entries.getUniqueFieldValues(model, {
@@ -23,7 +26,8 @@ const GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository = createImpl
23
26
  abstraction: GetUniqueFieldValuesRepository,
24
27
  implementation: GetUniqueFieldValuesRepositoryImpl,
25
28
  dependencies: [
26
- StorageOperations
29
+ StorageOperations,
30
+ RuntimeTenant
27
31
  ]
28
32
  });
29
33
  export { GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository as GetUniqueFieldValuesRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesRepository as RepositoryAbstraction,\n GetUniqueFieldValuesParams\n} from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsModel, CmsEntryUniqueValue } from \"~/types/index.js\";\n\nclass GetUniqueFieldValuesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private storageOperations: StorageOperations.Interface) {}\n\n async execute(\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>> {\n const { where, fieldId } = params;\n\n try {\n const values = await this.storageOperations.entries.getUniqueFieldValues(model, {\n where,\n fieldId\n });\n\n return Result.ok(values);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetUniqueFieldValuesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetUniqueFieldValuesRepositoryImpl,\n dependencies: [StorageOperations]\n});\n"],"names":["GetUniqueFieldValuesRepositoryImpl","storageOperations","model","params","where","fieldId","values","Result","error","EntryPersistenceError","GetUniqueFieldValuesRepository","createImplementation","RepositoryAbstraction","StorageOperations"],"mappings":";;;;AAUA,MAAMA;IACF,YAA2BC,iBAA8C,CAAE;aAAhDA,iBAAiB,GAAjBA;IAAiD;IAE5E,MAAM,QACFC,KAAe,EACfC,MAAkC,EACiC;QACnE,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAE,GAAGF;QAE3B,IAAI;YACA,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,CAACJ,OAAO;gBAC5EE;gBACAC;YACJ;YAEA,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gEAAiCC,qBAAqB;IAC/D,aAAaC;IACb,gBAAgBZ;IAChB,cAAc;QAACa;KAAkB;AACrC"}
1
+ {"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesRepository as RepositoryAbstraction,\n GetUniqueFieldValuesParams\n} from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsModel, CmsEntryUniqueValue } from \"~/types/index.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\nclass GetUniqueFieldValuesRepositoryImpl 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 params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n const { where, fieldId } = params;\n\n try {\n const values = await this.storageOperations.entries.getUniqueFieldValues(model, {\n where,\n fieldId\n });\n\n return Result.ok(values);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetUniqueFieldValuesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetUniqueFieldValuesRepositoryImpl,\n dependencies: [StorageOperations, RuntimeTenant]\n});\n"],"names":["GetUniqueFieldValuesRepositoryImpl","storageOperations","runtimeTenant","initialModel","params","model","where","fieldId","values","Result","error","EntryPersistenceError","GetUniqueFieldValuesRepository","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,MAAkC,EACiC;QACnE,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAM,EAAEG,KAAK,EAAEC,OAAO,EAAE,GAAGH;QAE3B,IAAI;YACA,MAAMI,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,CAACH,OAAO;gBAC5EC;gBACAC;YACJ;YAEA,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gEAAiCC,qBAAqB;IAC/D,aAAaC;IACb,gBAAgBd;IAChB,cAAc;QAACe;QAAmBC;KAAc;AACpD"}
@@ -2,6 +2,7 @@ import { ListEntriesRepository as RepositoryAbstraction } from "./abstractions.j
2
2
  import type { CmsEntryListParams, CmsEntryValues, CmsModel } from "../../../types/index.js";
3
3
  import { StorageOperations } from "../../../features/shared/abstractions.js";
4
4
  import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../legacy/abstractions.js";
5
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
5
6
  /**
6
7
  * ListEntriesRepository - Fetches entries from storage and transforms them.
7
8
  * Returns entries with pagination metadata.
@@ -10,8 +11,9 @@ declare class ListEntriesRepositoryImpl implements RepositoryAbstraction.Interfa
10
11
  private searchableFieldsProvider;
11
12
  private entryFromStorageTransform;
12
13
  private storageOperations;
13
- constructor(searchableFieldsProvider: SearchableFieldsProvider.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
14
- execute<T extends CmsEntryValues>(model: CmsModel, params: CmsEntryListParams): RepositoryAbstraction.Return<T>;
14
+ private runtimeTenant;
15
+ constructor(searchableFieldsProvider: SearchableFieldsProvider.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
16
+ execute<T extends CmsEntryValues>(initialModel: CmsModel, params: CmsEntryListParams): RepositoryAbstraction.Return<T>;
15
17
  }
16
18
  export declare const ListEntriesRepository: import("@webiny/di").Implementation<typeof ListEntriesRepositoryImpl>;
17
19
  export {};
@@ -3,14 +3,17 @@ import { ListEntriesRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
4
  import { StorageOperations } from "../../shared/abstractions.js";
5
5
  import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../legacy/abstractions.js";
6
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
6
7
  class ListEntriesRepositoryImpl {
7
- constructor(searchableFieldsProvider, entryFromStorageTransform, storageOperations){
8
+ constructor(searchableFieldsProvider, entryFromStorageTransform, storageOperations, runtimeTenant){
8
9
  this.searchableFieldsProvider = searchableFieldsProvider;
9
10
  this.entryFromStorageTransform = entryFromStorageTransform;
10
11
  this.storageOperations = storageOperations;
12
+ this.runtimeTenant = runtimeTenant;
11
13
  }
12
- async execute(model, params) {
14
+ async execute(initialModel, params) {
13
15
  try {
16
+ const model = this.runtimeTenant.assign(initialModel);
14
17
  const limit = params.limit && params.limit > 0 ? params.limit : 50;
15
18
  const sort = params.sort ?? [
16
19
  "createdOn_DESC"
@@ -56,7 +59,8 @@ const ListEntriesRepository_ListEntriesRepository = createImplementation({
56
59
  dependencies: [
57
60
  SearchableFieldsProvider,
58
61
  EntryFromStorageTransform,
59
- StorageOperations
62
+ StorageOperations,
63
+ RuntimeTenant
60
64
  ]
61
65
  });
62
66
  export { ListEntriesRepository_ListEntriesRepository as ListEntriesRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/ListEntries/ListEntriesRepository.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { ListEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryStorageOperationsListParams,\n CmsEntryStorageOperationsListResponse,\n CmsEntryValues,\n CmsModel,\n CmsStorageEntry\n} from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform, SearchableFieldsProvider } from \"~/legacy/abstractions.js\";\n\n/**\n * ListEntriesRepository - Fetches entries from storage and transforms them.\n * Returns entries with pagination metadata.\n */\nclass ListEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private searchableFieldsProvider: SearchableFieldsProvider.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): RepositoryAbstraction.Return<T> {\n try {\n const limit = params.limit && params.limit > 0 ? params.limit : 50;\n const sort = params.sort ?? [\"createdOn_DESC\"];\n const where: NonNullable<CmsEntryListParams[\"where\"]> = params.where ?? {};\n\n if (where.location) {\n where.wbyAco_location = where.location;\n delete where.location;\n }\n\n const listParams: CmsEntryStorageOperationsListParams = {\n ...params,\n sort,\n limit,\n where,\n fields: this.searchableFieldsProvider({ fields: model.fields })\n };\n\n let result: CmsEntryStorageOperationsListResponse<CmsStorageEntry<T>> | undefined;\n try {\n result = await this.storageOperations.entries.list<T>(model, listParams);\n } catch (ex) {\n return Result.fail(ex);\n }\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.items.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n const meta: CmsEntryMeta = {\n hasMoreItems: result.hasMoreItems,\n totalCount: result.totalCount,\n cursor: result.hasMoreItems ? result.cursor : null\n };\n\n return Result.ok({ entries: items, meta });\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const ListEntriesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: ListEntriesRepositoryImpl,\n dependencies: [SearchableFieldsProvider, EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["ListEntriesRepositoryImpl","searchableFieldsProvider","entryFromStorageTransform","storageOperations","model","params","limit","sort","where","listParams","result","ex","Result","items","Promise","entry","meta","error","EntryPersistenceError","ListEntriesRepository","createImplementation","RepositoryAbstraction","SearchableFieldsProvider","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAmBA,MAAMA;IACF,YACYC,wBAA4D,EAC5DC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAHUF,wBAAwB,GAAxBA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA0B,EACK;QAC/B,IAAI;YACA,MAAMC,QAAQD,OAAO,KAAK,IAAIA,OAAO,KAAK,GAAG,IAAIA,OAAO,KAAK,GAAG;YAChE,MAAME,OAAOF,OAAO,IAAI,IAAI;gBAAC;aAAiB;YAC9C,MAAMG,QAAkDH,OAAO,KAAK,IAAI,CAAC;YAEzE,IAAIG,MAAM,QAAQ,EAAE;gBAChBA,MAAM,eAAe,GAAGA,MAAM,QAAQ;gBACtC,OAAOA,MAAM,QAAQ;YACzB;YAEA,MAAMC,aAAkD;gBACpD,GAAGJ,MAAM;gBACTE;gBACAD;gBACAE;gBACA,QAAQ,IAAI,CAAC,wBAAwB,CAAC;oBAAE,QAAQJ,MAAM,MAAM;gBAAC;YACjE;YAEA,IAAIM;YACJ,IAAI;gBACAA,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAIN,OAAOK;YACjE,EAAE,OAAOE,IAAI;gBACT,OAAOC,OAAO,IAAI,CAACD;YACvB;YAGA,MAAME,QAAQ,MAAMC,QAAQ,GAAG,CAC3BJ,OAAO,KAAK,CAAC,GAAG,CAAC,OAAMK,QACZ,IAAI,CAAC,yBAAyB,CAACX,OAAOW;YAIrD,MAAMC,OAAqB;gBACvB,cAAcN,OAAO,YAAY;gBACjC,YAAYA,OAAO,UAAU;gBAC7B,QAAQA,OAAO,YAAY,GAAGA,OAAO,MAAM,GAAG;YAClD;YAEA,OAAOE,OAAO,EAAE,CAAC;gBAAE,SAASC;gBAAOG;YAAK;QAC5C,EAAE,OAAOC,OAAO;YACZ,OAAOL,OAAO,IAAI,CAAC,IAAIM,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBrB;IAChB,cAAc;QAACsB;QAA0BC;QAA2BC;KAAkB;AAC1F"}
1
+ {"version":3,"file":"features/contentEntry/ListEntries/ListEntriesRepository.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { ListEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryStorageOperationsListParams,\n CmsEntryStorageOperationsListResponse,\n CmsEntryValues,\n CmsModel,\n CmsStorageEntry\n} from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform, SearchableFieldsProvider } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * ListEntriesRepository - Fetches entries from storage and transforms them.\n * Returns entries with pagination metadata.\n */\nclass ListEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private searchableFieldsProvider: SearchableFieldsProvider.Interface,\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: CmsEntryListParams\n ): RepositoryAbstraction.Return<T> {\n try {\n const model = this.runtimeTenant.assign(initialModel);\n const limit = params.limit && params.limit > 0 ? params.limit : 50;\n const sort = params.sort ?? [\"createdOn_DESC\"];\n const where: NonNullable<CmsEntryListParams[\"where\"]> = params.where ?? {};\n\n if (where.location) {\n where.wbyAco_location = where.location;\n delete where.location;\n }\n\n const listParams: CmsEntryStorageOperationsListParams = {\n ...params,\n sort,\n limit,\n where,\n fields: this.searchableFieldsProvider({ fields: model.fields })\n };\n\n let result: CmsEntryStorageOperationsListResponse<CmsStorageEntry<T>> | undefined;\n try {\n result = await this.storageOperations.entries.list<T>(model, listParams);\n } catch (ex) {\n return Result.fail(ex);\n }\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.items.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n const meta: CmsEntryMeta = {\n hasMoreItems: result.hasMoreItems,\n totalCount: result.totalCount,\n cursor: result.hasMoreItems ? result.cursor : null\n };\n\n return Result.ok({ entries: items, meta });\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const ListEntriesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: ListEntriesRepositoryImpl,\n dependencies: [\n SearchableFieldsProvider,\n EntryFromStorageTransform,\n StorageOperations,\n RuntimeTenant\n ]\n});\n"],"names":["ListEntriesRepositoryImpl","searchableFieldsProvider","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","params","model","limit","sort","where","listParams","result","ex","Result","items","Promise","entry","meta","error","EntryPersistenceError","ListEntriesRepository","createImplementation","RepositoryAbstraction","SearchableFieldsProvider","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAoBA,MAAMA;IACF,YACYC,wBAA4D,EAC5DC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAJUH,wBAAwB,GAAxBA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,YAAsB,EACtBC,MAA0B,EACK;QAC/B,IAAI;YACA,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;YACxC,MAAMG,QAAQF,OAAO,KAAK,IAAIA,OAAO,KAAK,GAAG,IAAIA,OAAO,KAAK,GAAG;YAChE,MAAMG,OAAOH,OAAO,IAAI,IAAI;gBAAC;aAAiB;YAC9C,MAAMI,QAAkDJ,OAAO,KAAK,IAAI,CAAC;YAEzE,IAAII,MAAM,QAAQ,EAAE;gBAChBA,MAAM,eAAe,GAAGA,MAAM,QAAQ;gBACtC,OAAOA,MAAM,QAAQ;YACzB;YAEA,MAAMC,aAAkD;gBACpD,GAAGL,MAAM;gBACTG;gBACAD;gBACAE;gBACA,QAAQ,IAAI,CAAC,wBAAwB,CAAC;oBAAE,QAAQH,MAAM,MAAM;gBAAC;YACjE;YAEA,IAAIK;YACJ,IAAI;gBACAA,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAIL,OAAOI;YACjE,EAAE,OAAOE,IAAI;gBACT,OAAOC,OAAO,IAAI,CAACD;YACvB;YAGA,MAAME,QAAQ,MAAMC,QAAQ,GAAG,CAC3BJ,OAAO,KAAK,CAAC,GAAG,CAAC,OAAMK,QACZ,IAAI,CAAC,yBAAyB,CAACV,OAAOU;YAIrD,MAAMC,OAAqB;gBACvB,cAAcN,OAAO,YAAY;gBACjC,YAAYA,OAAO,UAAU;gBAC7B,QAAQA,OAAO,YAAY,GAAGA,OAAO,MAAM,GAAG;YAClD;YAEA,OAAOE,OAAO,EAAE,CAAC;gBAAE,SAASC;gBAAOG;YAAK;QAC5C,EAAE,OAAOC,OAAO;YACZ,OAAOL,OAAO,IAAI,CAAC,IAAIM,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBvB;IAChB,cAAc;QACVwB;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -2,6 +2,7 @@ import { Result } from "@webiny/feature/api";
2
2
  import { MoveEntryRepository 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
  * MoveEntryRepository - Handles storage operations for moving entries.
7
8
  *
@@ -11,8 +12,9 @@ import type { CmsModel } from "../../../types/index.js";
11
12
  */
12
13
  declare class MoveEntryRepositoryImpl implements RepositoryAbstraction.Interface {
13
14
  private storageOperations;
14
- constructor(storageOperations: StorageOperations.Interface);
15
- execute(model: CmsModel, id: string, folderId: string): Promise<Result<void, RepositoryAbstraction.Error>>;
15
+ private runtimeTenant;
16
+ constructor(storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
17
+ execute(initialModel: CmsModel, id: string, folderId: string): Promise<Result<void, RepositoryAbstraction.Error>>;
16
18
  }
17
19
  export declare const MoveEntryRepository: import("@webiny/di").Implementation<typeof MoveEntryRepositoryImpl>;
18
20
  export {};
@@ -2,11 +2,14 @@ import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { MoveEntryRepository } 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 MoveEntryRepositoryImpl {
6
- constructor(storageOperations){
7
+ constructor(storageOperations, runtimeTenant){
7
8
  this.storageOperations = storageOperations;
9
+ this.runtimeTenant = runtimeTenant;
8
10
  }
9
- async execute(model, id, folderId) {
11
+ async execute(initialModel, id, folderId) {
12
+ const model = this.runtimeTenant.assign(initialModel);
10
13
  try {
11
14
  await this.storageOperations.entries.move(model, id, folderId);
12
15
  return Result.ok();
@@ -19,7 +22,8 @@ const MoveEntryRepository_MoveEntryRepository = createImplementation({
19
22
  abstraction: MoveEntryRepository,
20
23
  implementation: MoveEntryRepositoryImpl,
21
24
  dependencies: [
22
- StorageOperations
25
+ StorageOperations,
26
+ RuntimeTenant
23
27
  ]
24
28
  });
25
29
  export { MoveEntryRepository_MoveEntryRepository as MoveEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryRepository.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { MoveEntryRepository 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 * MoveEntryRepository - Handles storage operations for moving entries.\n *\n * Responsibilities:\n * - Call storage operation to move entry to different folder\n * - Handle storage errors\n */\nclass MoveEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private storageOperations: StorageOperations.Interface) {}\n\n async execute(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.storageOperations.entries.move(model, id, folderId);\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: MoveEntryRepositoryImpl,\n dependencies: [StorageOperations]\n});\n"],"names":["MoveEntryRepositoryImpl","storageOperations","model","id","folderId","Result","error","EntryPersistenceError","MoveEntryRepository","createImplementation","RepositoryAbstraction","StorageOperations"],"mappings":";;;;AAcA,MAAMA;IACF,YAA2BC,iBAA8C,CAAE;aAAhDA,iBAAiB,GAAjBA;IAAiD;IAE5E,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,QAAgB,EACkC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAACF,OAAOC,IAAIC;YACrD,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,0CAAsBC,qBAAqB;IACpD,aAAaC;IACb,gBAAgBV;IAChB,cAAc;QAACW;KAAkB;AACrC"}
1
+ {"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryRepository.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { MoveEntryRepository 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 * MoveEntryRepository - Handles storage operations for moving entries.\n *\n * Responsibilities:\n * - Call storage operation to move entry to different folder\n * - Handle storage errors\n */\nclass MoveEntryRepositoryImpl 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 id: string,\n folderId: string\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n\n try {\n await this.storageOperations.entries.move(model, id, folderId);\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: MoveEntryRepositoryImpl,\n dependencies: [StorageOperations, RuntimeTenant]\n});\n"],"names":["MoveEntryRepositoryImpl","storageOperations","runtimeTenant","initialModel","id","folderId","model","Result","error","EntryPersistenceError","MoveEntryRepository","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,EAAU,EACVC,QAAgB,EACkC;QAClD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACH;QAExC,IAAI;YACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAACG,OAAOF,IAAIC;YACrD,OAAOE,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,0CAAsBC,qBAAqB;IACpD,aAAaC;IACb,gBAAgBZ;IAChB,cAAc;QAACa;QAAmBC;KAAc;AACpD"}
@@ -2,6 +2,7 @@ import { Result } from "@webiny/feature/api";
2
2
  import { PublishEntryRepository as RepositoryAbstraction } from "./abstractions.js";
3
3
  import { StorageOperations } from "../../../features/shared/abstractions.js";
4
4
  import { EntryFromStorageTransform, EntryToStorageTransform } from "../../../legacy/abstractions.js";
5
+ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
5
6
  import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js";
6
7
  /**
7
8
  * PublishEntryRepository - Handles storage operations for publishing entries.
@@ -16,8 +17,9 @@ declare class PublishEntryRepositoryImpl implements RepositoryAbstraction.Interf
16
17
  private entryToStorageTransform;
17
18
  private entryFromStorageTransform;
18
19
  private storageOperations;
19
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
20
- execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
20
+ private runtimeTenant;
21
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
22
+ execute<T extends CmsEntryValues = CmsEntryValues>(initialModel: CmsModel, initialEntry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
21
23
  }
22
24
  export declare const PublishEntryRepository: import("@webiny/di").Implementation<typeof PublishEntryRepositoryImpl>;
23
25
  export {};
@@ -2,14 +2,18 @@ import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { PublishEntryRepository } from "./abstractions.js";
3
3
  import { StorageOperations } from "../../shared/abstractions.js";
4
4
  import { EntryFromStorageTransform, EntryToStorageTransform } from "../../../legacy/abstractions.js";
5
+ import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
5
6
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
6
7
  class PublishEntryRepositoryImpl {
7
- constructor(entryToStorageTransform, entryFromStorageTransform, storageOperations){
8
+ constructor(entryToStorageTransform, entryFromStorageTransform, storageOperations, runtimeTenant){
8
9
  this.entryToStorageTransform = entryToStorageTransform;
9
10
  this.entryFromStorageTransform = entryFromStorageTransform;
10
11
  this.storageOperations = storageOperations;
12
+ this.runtimeTenant = runtimeTenant;
11
13
  }
12
- async execute(model, entry) {
14
+ async execute(initialModel, initialEntry) {
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
  const result = await this.storageOperations.entries.publish(model, {
@@ -29,7 +33,8 @@ const PublishEntryRepository_PublishEntryRepository = createImplementation({
29
33
  dependencies: [
30
34
  EntryToStorageTransform,
31
35
  EntryFromStorageTransform,
32
- StorageOperations
36
+ StorageOperations,
37
+ RuntimeTenant
33
38
  ]
34
39
  });
35
40
  export { PublishEntryRepository_PublishEntryRepository as PublishEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/PublishEntry/PublishEntryRepository.js","sources":["../../../../src/features/contentEntry/PublishEntry/PublishEntryRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { PublishEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform, EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * PublishEntryRepository - Handles storage operations for publishing entries.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Publish the entry in storage\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass PublishEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n // Transform entry to storage format\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n // Publish the entry\n const result = await this.storageOperations.entries.publish(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform(model, result);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const PublishEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: PublishEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["PublishEntryRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","storageOperations","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","PublishEntryRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAgBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAHUF,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,KAAkB,EACuC;QACzD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACF,OAAOC;YAG/D,MAAME,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAACH,OAAO;gBAC/DC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOG;YAErE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gDAAyBC,qBAAqB;IACvD,aAAaC;IACb,gBAAgBd;IAChB,cAAc;QAACe;QAAyBC;QAA2BC;KAAkB;AACzF"}
1
+ {"version":3,"file":"features/contentEntry/PublishEntry/PublishEntryRepository.js","sources":["../../../../src/features/contentEntry/PublishEntry/PublishEntryRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { PublishEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform, EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * PublishEntryRepository - Handles storage operations for publishing entries.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Publish the entry in storage\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass PublishEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n initialModel: CmsModel,\n initialEntry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n const entry = this.runtimeTenant.assign(initialEntry);\n\n try {\n // Transform entry to storage format\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n // Publish the entry\n const result = await this.storageOperations.entries.publish(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform(model, result);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const PublishEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: PublishEntryRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n StorageOperations,\n RuntimeTenant\n ]\n});\n"],"names":["PublishEntryRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","PublishEntryRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAiBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAJUH,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QACTC,YAAsB,EACtBC,YAAyB,EACgC;QACzD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YAEA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACF,OAAOC;YAG/D,MAAME,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAACH,OAAO;gBAC/DC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOG;YAErE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gDAAyBC,qBAAqB;IACvD,aAAaC;IACb,gBAAgBjB;IAChB,cAAc;QACVkB;QACAC;QACAC;QACAC;KACH;AACL"}