@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.
- package/crud/contentEntry.crud.js +12 -39
- package/crud/contentEntry.crud.js.map +1 -1
- package/features/contentEntry/ContentEntriesFeature.js +4 -0
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +4 -2
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -3
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +1 -2
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +4 -2
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +4 -2
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -3
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +3 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -3
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +3 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +9 -3
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +4 -2
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +7 -3
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +4 -4
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +8 -11
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +4 -2
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +7 -3
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +4 -2
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +7 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +4 -2
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +7 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +4 -2
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +7 -3
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +4 -2
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +7 -3
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +4 -2
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +7 -3
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +4 -2
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +7 -3
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +4 -2
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +7 -3
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +4 -2
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +7 -3
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +4 -2
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js +7 -3
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +4 -2
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -3
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +4 -2
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +8 -3
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +4 -2
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -3
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +4 -2
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -3
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +4 -2
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
- package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.d.ts +14 -0
- package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.js +34 -0
- package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.js.map +1 -0
- package/features/contentEntry/UpdateRevision/abstractions.d.ts +10 -0
- package/features/contentEntry/UpdateRevision/abstractions.js +5 -0
- package/features/contentEntry/UpdateRevision/abstractions.js.map +1 -0
- package/features/contentEntry/UpdateRevision/feature.d.ts +4 -0
- package/features/contentEntry/UpdateRevision/feature.js +11 -0
- package/features/contentEntry/UpdateRevision/feature.js.map +1 -0
- package/features/contentEntry/UpdateRevision/index.d.ts +1 -0
- package/features/contentEntry/UpdateRevision/index.js +1 -0
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +2 -2
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -2
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
- package/features/contentEntry/ensureItemIds.d.ts +13 -0
- package/features/contentEntry/ensureItemIds.js +22 -0
- package/features/contentEntry/ensureItemIds.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +8 -2
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +8 -2
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +8 -2
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.d.ts +4 -2
- package/features/contentModel/CreateModel/CreateModelRepository.js +8 -4
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
- package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +4 -2
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +8 -4
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -2
- package/features/contentModel/DeleteModel/DeleteModelRepository.js +7 -3
- package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
- package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +4 -2
- package/features/contentModel/UpdateModel/UpdateModelRepository.js +8 -4
- package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +3 -2
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +4 -2
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +8 -4
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +1 -3
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +5 -7
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +4 -2
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +7 -3
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +4 -2
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +8 -4
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js +7 -1
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/ObjectToGraphQL.js +6 -3
- package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/RefToGraphQL.js +17 -7
- package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
- package/features/modelBuilder/abstractions.d.ts +1 -2
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/runtimeTenant/RuntimeTenant.d.ts +13 -0
- package/features/runtimeTenant/RuntimeTenant.js +22 -0
- package/features/runtimeTenant/RuntimeTenant.js.map +1 -0
- package/features/runtimeTenant/abstractions.d.ts +11 -0
- package/features/runtimeTenant/abstractions.js +5 -0
- package/features/runtimeTenant/abstractions.js.map +1 -0
- package/features/runtimeTenant/index.d.ts +2 -0
- package/features/runtimeTenant/index.js +2 -0
- package/features/sortMapper/SortMapper.js +2 -5
- package/features/sortMapper/SortMapper.js.map +1 -1
- package/features/storage/fields/ObjectStorageTransform.js +27 -7
- package/features/storage/fields/ObjectStorageTransform.js.map +1 -1
- package/features/validation/validators/PatternValidator.js +1 -1
- package/features/validation/validators/PatternValidator.js.map +1 -1
- package/features/whereMapper/WhereMapper.js +7 -5
- package/features/whereMapper/WhereMapper.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +15 -5
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +8 -2
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/package.json +18 -18
- package/types/types.d.ts +4 -0
- 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
|
-
|
|
11
|
-
|
|
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(
|
|
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
|
|
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
|
-
|
|
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":"
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
15
|
-
|
|
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(
|
|
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
|
|
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 {
|
|
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
|
-
|
|
16
|
-
|
|
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 {
|
|
6
|
+
import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
|
|
7
7
|
class GetEntriesByIdsRepositoryImpl {
|
|
8
|
-
constructor(
|
|
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(
|
|
13
|
+
async execute(initialModel, ids) {
|
|
14
|
+
const model = this.runtimeTenant.assign(initialModel);
|
|
14
15
|
try {
|
|
15
|
-
const
|
|
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 {
|
|
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
|
-
|
|
14
|
-
|
|
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(
|
|
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
|
|
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"}
|
package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts
CHANGED
|
@@ -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
|
-
|
|
14
|
-
|
|
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 {};
|
package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js
CHANGED
|
@@ -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(
|
|
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 };
|
package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map
CHANGED
|
@@ -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
|
|
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
|
-
|
|
14
|
-
|
|
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 {};
|
package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js
CHANGED
|
@@ -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(
|
|
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
|
|
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"}
|