@webiny/api-headless-cms 6.0.0 → 6.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/crud/contentEntry/entryDataFactories/createEntryData.js +3 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
- package/crud/contentEntry.crud.js +0 -11
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/validation.d.ts +209 -917
- package/crud/contentModel/validation.js +52 -29
- package/crud/contentModel/validation.js.map +1 -1
- package/domain/contentEntry/EntryId.d.ts +1 -0
- package/domain/contentEntry/EntryId.js +2 -0
- package/domain/contentEntry/EntryId.js.map +1 -1
- package/domain/contentEntry/errors.d.ts +2 -2
- package/domain/contentEntry/errors.js.map +1 -1
- package/domain/contentModel/schemas.d.ts +162 -718
- package/domain/contentModel/schemas.js +34 -20
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModelGroup/validation.d.ts +34 -82
- package/domain/contentModelGroup/validation.js +2 -2
- package/domain/contentModelGroup/validation.js.map +1 -1
- package/exports/api/cms/entry.d.ts +1 -0
- package/exports/api/cms/entry.js +2 -0
- package/exports/api/cms/entry.js.map +1 -1
- package/exports/api/cms/model.d.ts +5 -2
- package/exports/api/cms/model.js +3 -1
- package/exports/api/cms/model.js.map +1 -1
- package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +2 -6
- package/extensions/index.d.ts +2 -6
- package/features/contentEntry/ContentEntriesFeature.js +4 -0
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/feature.d.ts +1 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
- package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
- package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
- package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntry/events.d.ts +2 -0
- package/features/contentEntry/CreateEntry/events.js +4 -0
- package/features/contentEntry/CreateEntry/events.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +2 -0
- package/features/contentEntry/CreateEntryRevisionFrom/events.js +4 -0
- package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
- package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntry/events.d.ts +2 -0
- package/features/contentEntry/DeleteEntry/events.js +4 -0
- package/features/contentEntry/DeleteEntry/events.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/events.d.ts +2 -0
- package/features/contentEntry/DeleteEntryRevision/events.js +4 -0
- package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/events.d.ts +2 -0
- package/features/contentEntry/DeleteMultipleEntries/events.js +4 -0
- package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntry/abstractions.js +1 -0
- package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
- package/features/contentEntry/ListEntries/abstractions.js +4 -0
- package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/events.d.ts +2 -0
- package/features/contentEntry/MoveEntry/events.js +4 -0
- package/features/contentEntry/MoveEntry/events.js.map +1 -1
- package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/PublishEntry/events.d.ts +2 -0
- package/features/contentEntry/PublishEntry/events.js +4 -0
- package/features/contentEntry/PublishEntry/events.js.map +1 -1
- package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/RepublishEntry/events.d.ts +2 -0
- package/features/contentEntry/RepublishEntry/events.js +4 -0
- package/features/contentEntry/RepublishEntry/events.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/events.d.ts +2 -0
- package/features/contentEntry/RestoreEntryFromBin/events.js +4 -0
- package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/events.d.ts +2 -0
- package/features/contentEntry/UnpublishEntry/events.js +4 -0
- package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UpdateEntry/events.d.ts +2 -0
- package/features/contentEntry/UpdateEntry/events.js +4 -0
- package/features/contentEntry/UpdateEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModel/abstractions.js +1 -0
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/events.d.ts +2 -0
- package/features/contentModel/CreateModel/events.js +4 -0
- package/features/contentModel/CreateModel/events.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/events.d.ts +2 -0
- package/features/contentModel/CreateModelFrom/events.js +4 -0
- package/features/contentModel/CreateModelFrom/events.js.map +1 -1
- package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
- package/features/contentModel/DeleteModel/abstractions.js +1 -0
- package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/events.d.ts +2 -0
- package/features/contentModel/DeleteModel/events.js +4 -0
- package/features/contentModel/DeleteModel/events.js.map +1 -1
- package/features/contentModel/GetModel/abstractions.d.ts +1 -0
- package/features/contentModel/GetModel/abstractions.js +1 -0
- package/features/contentModel/GetModel/abstractions.js.map +1 -1
- package/features/contentModel/ListModels/abstractions.d.ts +1 -0
- package/features/contentModel/ListModels/abstractions.js +1 -0
- package/features/contentModel/ListModels/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
- package/features/contentModel/UpdateModel/abstractions.js +1 -0
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/events.d.ts +2 -0
- package/features/contentModel/UpdateModel/events.js +4 -0
- package/features/contentModel/UpdateModel/events.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/events.d.ts +2 -0
- package/features/contentModelGroup/CreateGroup/events.js +4 -0
- package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/events.d.ts +2 -0
- package/features/contentModelGroup/DeleteGroup/events.js +4 -0
- package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
- package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/events.d.ts +2 -0
- package/features/contentModelGroup/UpdateGroup/events.js +4 -0
- package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
- package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
- package/features/contentModelGroup/shared/abstractions.js +1 -0
- package/features/contentModelGroup/shared/abstractions.js.map +1 -1
- package/features/modelBuilder/abstractions.d.ts +8 -4
- package/features/modelBuilder/abstractions.js +5 -2
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/BooleanFieldType.d.ts +6 -4
- package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
- package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +6 -14
- package/features/modelBuilder/fields/DataFieldBuilder.js +1 -9
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/DateTimeFieldType.js +2 -2
- package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -2
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilder.d.ts +2 -2
- package/features/modelBuilder/fields/FieldBuilder.js +1 -1
- package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
- package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/FileFieldType.js +2 -2
- package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
- package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
- package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
- package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/NumberFieldType.js +2 -2
- package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
- package/features/modelBuilder/fields/ObjectFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/ObjectFieldType.js +2 -2
- package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/RefFieldType.js +2 -2
- package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/TextFieldType.js +2 -2
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/abstractions.d.ts +4 -1
- package/features/modelBuilder/fields/abstractions.js +1 -1
- package/features/modelBuilder/fields/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +22 -0
- package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
- package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
- package/features/sortMapper/abstractions.d.ts +1 -0
- package/features/sortMapper/abstractions.js +1 -0
- package/features/sortMapper/abstractions.js.map +1 -1
- package/features/whereMapper/abstractions.d.ts +1 -0
- package/features/whereMapper/abstractions.js +1 -0
- package/features/whereMapper/abstractions.js.map +1 -1
- package/graphql/schema/cms/listEntriesResolver.d.ts +1 -0
- package/graphql/schema/cms/listEntriesResolver.js +5 -1
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
- package/graphql/schema/cms/typeDefs/query.js +1 -0
- package/graphql/schema/cms/typeDefs/query.js.map +1 -1
- package/graphql/schema/createSingularSDL.js +1 -0
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +4 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +25 -25
- package/types/context.d.ts +0 -5
- package/types/context.js.map +1 -1
- package/features/modelBuilder/fields/validators.js +0 -3
- package/features/modelBuilder/fields/validators.js.map +0 -1
- /package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +0 -0
- /package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","CreateModelUseCase","CreateModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel, CmsModelCreateInput } from \"~/types/index.js\";\nimport {\n ModelAlreadyExistsError,\n ModelNotAuthorizedError,\n type ModelPersistenceError,\n type ModelSlugTakenError,\n type ModelValidationError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotAuthorizedError,\n type GroupNotFoundError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * CreateModel Use Case\n */\nexport interface ICreateModelUseCase {\n execute(input: CmsModelCreateInput): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface ICreateModelUseCaseErrors {\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n slugTaken: ModelSlugTakenError;\n alreadyExists: ModelAlreadyExistsError;\n persistence: ModelPersistenceError;\n groupNotFound: GroupNotFoundError; // Reused from Group domain\n groupNotAccessible: GroupNotAuthorizedError; // Reused from Group domain\n}\n\ntype UseCaseError = ICreateModelUseCaseErrors[keyof ICreateModelUseCaseErrors];\n\nexport const CreateModelUseCase = createAbstraction<ICreateModelUseCase>(\"CreateModelUseCase\");\n\nexport namespace CreateModelUseCase {\n export type Interface = ICreateModelUseCase;\n export type Input = CmsModelCreateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * CreateModelRepository - Validates domain rules and persists a new model to storage.\n */\nexport interface ICreateModelRepository {\n execute(model: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateModelRepositoryErrors {\n alreadyExists: ModelAlreadyExistsError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = ICreateModelRepositoryErrors[keyof ICreateModelRepositoryErrors];\n\nexport const CreateModelRepository =\n createAbstraction<ICreateModelRepository>(\"CreateModelRepository\");\n\nexport namespace CreateModelRepository {\n export type Interface = ICreateModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAc/D;AACA;AACA;;AAiBA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAaA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","CreateModelUseCase","CreateModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel, CmsModelCreateInput } from \"~/types/index.js\";\nimport {\n ModelAlreadyExistsError,\n ModelNotAuthorizedError,\n type ModelPersistenceError,\n type ModelSlugTakenError,\n type ModelValidationError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotAuthorizedError,\n type GroupNotFoundError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * CreateModel Use Case\n */\nexport interface ICreateModelUseCase {\n execute(input: CmsModelCreateInput): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface ICreateModelUseCaseErrors {\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n slugTaken: ModelSlugTakenError;\n alreadyExists: ModelAlreadyExistsError;\n persistence: ModelPersistenceError;\n groupNotFound: GroupNotFoundError; // Reused from Group domain\n groupNotAccessible: GroupNotAuthorizedError; // Reused from Group domain\n}\n\ntype UseCaseError = ICreateModelUseCaseErrors[keyof ICreateModelUseCaseErrors];\n\n/** Create a new content model. */\nexport const CreateModelUseCase = createAbstraction<ICreateModelUseCase>(\"CreateModelUseCase\");\n\nexport namespace CreateModelUseCase {\n export type Interface = ICreateModelUseCase;\n export type Input = CmsModelCreateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * CreateModelRepository - Validates domain rules and persists a new model to storage.\n */\nexport interface ICreateModelRepository {\n execute(model: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateModelRepositoryErrors {\n alreadyExists: ModelAlreadyExistsError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = ICreateModelRepositoryErrors[keyof ICreateModelRepositoryErrors];\n\nexport const CreateModelRepository =\n createAbstraction<ICreateModelRepository>(\"CreateModelRepository\");\n\nexport namespace CreateModelRepository {\n export type Interface = ICreateModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAc/D;AACA;AACA;;AAiBA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAaA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -23,6 +23,7 @@ export declare class ModelBeforeCreateEvent extends DomainEvent<ModelBeforeCreat
|
|
|
23
23
|
eventType: "Cms/Model/BeforeCreate";
|
|
24
24
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelBeforeCreateEvent>>;
|
|
25
25
|
}
|
|
26
|
+
/** Hook into model lifecycle before a model is created. */
|
|
26
27
|
export declare const ModelBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelBeforeCreateEvent>>;
|
|
27
28
|
export declare namespace ModelBeforeCreateEventHandler {
|
|
28
29
|
type Interface = IEventHandler<ModelBeforeCreateEvent>;
|
|
@@ -35,6 +36,7 @@ export declare class ModelAfterCreateEvent extends DomainEvent<ModelAfterCreateE
|
|
|
35
36
|
eventType: "Cms/Model/AfterCreate";
|
|
36
37
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelAfterCreateEvent>>;
|
|
37
38
|
}
|
|
39
|
+
/** Hook into model lifecycle after a model is created. */
|
|
38
40
|
export declare const ModelAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelAfterCreateEvent>>;
|
|
39
41
|
export declare namespace ModelAfterCreateEventHandler {
|
|
40
42
|
type Interface = IEventHandler<ModelAfterCreateEvent>;
|
|
@@ -14,6 +14,8 @@ export class ModelBeforeCreateEvent extends DomainEvent {
|
|
|
14
14
|
return ModelBeforeCreateEventHandler;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/** Hook into model lifecycle before a model is created. */
|
|
17
19
|
export const ModelBeforeCreateEventHandler = createAbstraction("ModelBeforeCreateEventHandler");
|
|
18
20
|
/**
|
|
19
21
|
* ModelAfterCreateEvent - Published after creating a model
|
|
@@ -24,6 +26,8 @@ export class ModelAfterCreateEvent extends DomainEvent {
|
|
|
24
26
|
return ModelAfterCreateEventHandler;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
|
|
30
|
+
/** Hook into model lifecycle after a model is created. */
|
|
27
31
|
export const ModelAfterCreateEventHandler = createAbstraction("ModelAfterCreateEventHandler");
|
|
28
32
|
/**
|
|
29
33
|
* ModelCreateErrorEvent - Published when create fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeCreateEvent","eventType","getHandlerAbstraction","ModelBeforeCreateEventHandler","ModelAfterCreateEvent","ModelAfterCreateEventHandler","ModelCreateErrorEvent","ModelCreateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel, CmsModelCreateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeCreateEventPayload {\n model: CmsModel;\n input: CmsModelCreateInput;\n}\n\nexport interface ModelAfterCreateEventPayload {\n model: CmsModel;\n}\n\nexport interface ModelCreateErrorEventPayload {\n input: CmsModelCreateInput;\n model: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeCreateEvent - Published before creating a model\n */\nexport class ModelBeforeCreateEvent extends DomainEvent<ModelBeforeCreateEventPayload> {\n eventType = \"Cms/Model/BeforeCreate\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeCreateEventHandler;\n }\n}\n\nexport const ModelBeforeCreateEventHandler = createAbstraction<\n IEventHandler<ModelBeforeCreateEvent>\n>(\"ModelBeforeCreateEventHandler\");\n\nexport namespace ModelBeforeCreateEventHandler {\n export type Interface = IEventHandler<ModelBeforeCreateEvent>;\n export type Event = ModelBeforeCreateEvent;\n}\n\n/**\n * ModelAfterCreateEvent - Published after creating a model\n */\nexport class ModelAfterCreateEvent extends DomainEvent<ModelAfterCreateEventPayload> {\n eventType = \"Cms/Model/AfterCreate\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterCreateEventHandler;\n }\n}\n\nexport const ModelAfterCreateEventHandler = createAbstraction<IEventHandler<ModelAfterCreateEvent>>(\n \"ModelAfterCreateEventHandler\"\n);\n\nexport namespace ModelAfterCreateEventHandler {\n export type Interface = IEventHandler<ModelAfterCreateEvent>;\n export type Event = ModelAfterCreateEvent;\n}\n\n/**\n * ModelCreateErrorEvent - Published when create fails\n */\nexport class ModelCreateErrorEvent extends DomainEvent<ModelCreateErrorEventPayload> {\n eventType = \"Cms/Model/CreateError\" as const;\n\n getHandlerAbstraction() {\n return ModelCreateErrorEventHandler;\n }\n}\n\nexport const ModelCreateErrorEventHandler = createAbstraction<IEventHandler<ModelCreateErrorEvent>>(\n \"ModelCreateErrorEventHandler\"\n);\n\nexport namespace ModelCreateErrorEventHandler {\n export type Interface = IEventHandler<ModelCreateErrorEvent>;\n export type Event = ModelCreateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAgBA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeCreateEvent","eventType","getHandlerAbstraction","ModelBeforeCreateEventHandler","ModelAfterCreateEvent","ModelAfterCreateEventHandler","ModelCreateErrorEvent","ModelCreateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel, CmsModelCreateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeCreateEventPayload {\n model: CmsModel;\n input: CmsModelCreateInput;\n}\n\nexport interface ModelAfterCreateEventPayload {\n model: CmsModel;\n}\n\nexport interface ModelCreateErrorEventPayload {\n input: CmsModelCreateInput;\n model: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeCreateEvent - Published before creating a model\n */\nexport class ModelBeforeCreateEvent extends DomainEvent<ModelBeforeCreateEventPayload> {\n eventType = \"Cms/Model/BeforeCreate\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeCreateEventHandler;\n }\n}\n\n/** Hook into model lifecycle before a model is created. */\nexport const ModelBeforeCreateEventHandler = createAbstraction<\n IEventHandler<ModelBeforeCreateEvent>\n>(\"ModelBeforeCreateEventHandler\");\n\nexport namespace ModelBeforeCreateEventHandler {\n export type Interface = IEventHandler<ModelBeforeCreateEvent>;\n export type Event = ModelBeforeCreateEvent;\n}\n\n/**\n * ModelAfterCreateEvent - Published after creating a model\n */\nexport class ModelAfterCreateEvent extends DomainEvent<ModelAfterCreateEventPayload> {\n eventType = \"Cms/Model/AfterCreate\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterCreateEventHandler;\n }\n}\n\n/** Hook into model lifecycle after a model is created. */\nexport const ModelAfterCreateEventHandler = createAbstraction<IEventHandler<ModelAfterCreateEvent>>(\n \"ModelAfterCreateEventHandler\"\n);\n\nexport namespace ModelAfterCreateEventHandler {\n export type Interface = IEventHandler<ModelAfterCreateEvent>;\n export type Event = ModelAfterCreateEvent;\n}\n\n/**\n * ModelCreateErrorEvent - Published when create fails\n */\nexport class ModelCreateErrorEvent extends DomainEvent<ModelCreateErrorEventPayload> {\n eventType = \"Cms/Model/CreateError\" as const;\n\n getHandlerAbstraction() {\n return ModelCreateErrorEventHandler;\n }\n}\n\nexport const ModelCreateErrorEventHandler = createAbstraction<IEventHandler<ModelCreateErrorEvent>>(\n \"ModelCreateErrorEventHandler\"\n);\n\nexport namespace ModelCreateErrorEventHandler {\n export type Interface = IEventHandler<ModelCreateErrorEvent>;\n export type Event = ModelCreateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAgBA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
|
|
@@ -18,6 +18,7 @@ export interface ICreateModelFromUseCaseErrors {
|
|
|
18
18
|
groupNotAccessible: GroupNotAuthorizedError;
|
|
19
19
|
}
|
|
20
20
|
type UseCaseError = ICreateModelFromUseCaseErrors[keyof ICreateModelFromUseCaseErrors];
|
|
21
|
+
/** Create a content model by cloning an existing one. */
|
|
21
22
|
export declare const CreateModelFromUseCase: import("@webiny/di").Abstraction<ICreateModelFromUseCase>;
|
|
22
23
|
export declare namespace CreateModelFromUseCase {
|
|
23
24
|
type Interface = ICreateModelFromUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","CreateModelFromUseCase","CreateModelFromRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel, CmsModelCreateFromInput } from \"~/types/index.js\";\nimport {\n ModelAlreadyExistsError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelPersistenceError,\n type ModelValidationError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotAuthorizedError,\n type GroupNotFoundError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * CreateModelFrom Use Case (Clone/Copy Model)\n */\nexport interface ICreateModelFromUseCase {\n execute(\n modelId: string,\n input: CmsModelCreateFromInput\n ): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface ICreateModelFromUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n alreadyExists: ModelAlreadyExistsError;\n persistence: ModelPersistenceError;\n groupNotFound: GroupNotFoundError;\n groupNotAccessible: GroupNotAuthorizedError;\n}\n\ntype UseCaseError = ICreateModelFromUseCaseErrors[keyof ICreateModelFromUseCaseErrors];\n\nexport const CreateModelFromUseCase =\n createAbstraction<ICreateModelFromUseCase>(\"CreateModelFromUseCase\");\n\nexport namespace CreateModelFromUseCase {\n export type Interface = ICreateModelFromUseCase;\n export type Input = CmsModelCreateFromInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * CreateModelFromRepository - Validates domain rules and persists cloned model.\n */\nexport interface ICreateModelFromRepository {\n execute(model: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateModelFromRepositoryErrors {\n alreadyExists: ModelAlreadyExistsError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = ICreateModelFromRepositoryErrors[keyof ICreateModelFromRepositoryErrors];\n\nexport const CreateModelFromRepository = createAbstraction<ICreateModelFromRepository>(\n \"CreateModelFromRepository\"\n);\n\nexport namespace CreateModelFromRepository {\n export type Interface = ICreateModelFromRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAc/D;AACA;AACA;;AAoBA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAUxE;AACA;AACA;;AAaA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,2BACJ,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","CreateModelFromUseCase","CreateModelFromRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel, CmsModelCreateFromInput } from \"~/types/index.js\";\nimport {\n ModelAlreadyExistsError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelPersistenceError,\n type ModelValidationError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotAuthorizedError,\n type GroupNotFoundError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * CreateModelFrom Use Case (Clone/Copy Model)\n */\nexport interface ICreateModelFromUseCase {\n execute(\n modelId: string,\n input: CmsModelCreateFromInput\n ): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface ICreateModelFromUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n alreadyExists: ModelAlreadyExistsError;\n persistence: ModelPersistenceError;\n groupNotFound: GroupNotFoundError;\n groupNotAccessible: GroupNotAuthorizedError;\n}\n\ntype UseCaseError = ICreateModelFromUseCaseErrors[keyof ICreateModelFromUseCaseErrors];\n\n/** Create a content model by cloning an existing one. */\nexport const CreateModelFromUseCase =\n createAbstraction<ICreateModelFromUseCase>(\"CreateModelFromUseCase\");\n\nexport namespace CreateModelFromUseCase {\n export type Interface = ICreateModelFromUseCase;\n export type Input = CmsModelCreateFromInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * CreateModelFromRepository - Validates domain rules and persists cloned model.\n */\nexport interface ICreateModelFromRepository {\n execute(model: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateModelFromRepositoryErrors {\n alreadyExists: ModelAlreadyExistsError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = ICreateModelFromRepositoryErrors[keyof ICreateModelFromRepositoryErrors];\n\nexport const CreateModelFromRepository = createAbstraction<ICreateModelFromRepository>(\n \"CreateModelFromRepository\"\n);\n\nexport namespace CreateModelFromRepository {\n export type Interface = ICreateModelFromRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAc/D;AACA;AACA;;AAoBA;AACA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAUxE;AACA;AACA;;AAaA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,2BACJ,CAAC","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@ export declare class ModelBeforeCreateFromEvent extends DomainEvent<ModelBeforeC
|
|
|
26
26
|
eventType: "Cms/Model/BeforeCreateFrom";
|
|
27
27
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelBeforeCreateFromEvent>>;
|
|
28
28
|
}
|
|
29
|
+
/** Hook into model lifecycle before a model is cloned. */
|
|
29
30
|
export declare const ModelBeforeCreateFromEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelBeforeCreateFromEvent>>;
|
|
30
31
|
export declare namespace ModelBeforeCreateFromEventHandler {
|
|
31
32
|
type Interface = IEventHandler<ModelBeforeCreateFromEvent>;
|
|
@@ -38,6 +39,7 @@ export declare class ModelAfterCreateFromEvent extends DomainEvent<ModelAfterCre
|
|
|
38
39
|
eventType: "Cms/Model/AfterCreateFrom";
|
|
39
40
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelAfterCreateFromEvent>>;
|
|
40
41
|
}
|
|
42
|
+
/** Hook into model lifecycle after a model is cloned. */
|
|
41
43
|
export declare const ModelAfterCreateFromEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelAfterCreateFromEvent>>;
|
|
42
44
|
export declare namespace ModelAfterCreateFromEventHandler {
|
|
43
45
|
type Interface = IEventHandler<ModelAfterCreateFromEvent>;
|
|
@@ -14,6 +14,8 @@ export class ModelBeforeCreateFromEvent extends DomainEvent {
|
|
|
14
14
|
return ModelBeforeCreateFromEventHandler;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/** Hook into model lifecycle before a model is cloned. */
|
|
17
19
|
export const ModelBeforeCreateFromEventHandler = createAbstraction("ModelBeforeCreateFromEventHandler");
|
|
18
20
|
/**
|
|
19
21
|
* ModelAfterCreateFromEvent - Published after creating a model from existing
|
|
@@ -24,6 +26,8 @@ export class ModelAfterCreateFromEvent extends DomainEvent {
|
|
|
24
26
|
return ModelAfterCreateFromEventHandler;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
|
|
30
|
+
/** Hook into model lifecycle after a model is cloned. */
|
|
27
31
|
export const ModelAfterCreateFromEventHandler = createAbstraction("ModelAfterCreateFromEventHandler");
|
|
28
32
|
/**
|
|
29
33
|
* ModelCreateFromErrorEvent - Published when create from fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeCreateFromEvent","eventType","getHandlerAbstraction","ModelBeforeCreateFromEventHandler","ModelAfterCreateFromEvent","ModelAfterCreateFromEventHandler","ModelCreateFromErrorEvent","ModelCreateFromErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel, CmsModelCreateFromInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeCreateFromEventPayload {\n model: CmsModel;\n original: CmsModel;\n input: CmsModelCreateFromInput;\n}\n\nexport interface ModelAfterCreateFromEventPayload {\n model: CmsModel;\n original: CmsModel;\n}\n\nexport interface ModelCreateFromErrorEventPayload {\n input: CmsModelCreateFromInput;\n model: CmsModel;\n original: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeCreateFromEvent - Published before creating a model from existing\n */\nexport class ModelBeforeCreateFromEvent extends DomainEvent<ModelBeforeCreateFromEventPayload> {\n eventType = \"Cms/Model/BeforeCreateFrom\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeCreateFromEventHandler;\n }\n}\n\nexport const ModelBeforeCreateFromEventHandler = createAbstraction<\n IEventHandler<ModelBeforeCreateFromEvent>\n>(\"ModelBeforeCreateFromEventHandler\");\n\nexport namespace ModelBeforeCreateFromEventHandler {\n export type Interface = IEventHandler<ModelBeforeCreateFromEvent>;\n export type Event = ModelBeforeCreateFromEvent;\n}\n\n/**\n * ModelAfterCreateFromEvent - Published after creating a model from existing\n */\nexport class ModelAfterCreateFromEvent extends DomainEvent<ModelAfterCreateFromEventPayload> {\n eventType = \"Cms/Model/AfterCreateFrom\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterCreateFromEventHandler;\n }\n}\n\nexport const ModelAfterCreateFromEventHandler = createAbstraction<\n IEventHandler<ModelAfterCreateFromEvent>\n>(\"ModelAfterCreateFromEventHandler\");\n\nexport namespace ModelAfterCreateFromEventHandler {\n export type Interface = IEventHandler<ModelAfterCreateFromEvent>;\n export type Event = ModelAfterCreateFromEvent;\n}\n\n/**\n * ModelCreateFromErrorEvent - Published when create from fails\n */\nexport class ModelCreateFromErrorEvent extends DomainEvent<ModelCreateFromErrorEventPayload> {\n eventType = \"Cms/Model/CreateFromError\" as const;\n\n getHandlerAbstraction() {\n return ModelCreateFromErrorEventHandler;\n }\n}\n\nexport const ModelCreateFromErrorEventHandler = createAbstraction<\n IEventHandler<ModelCreateFromErrorEvent>\n>(\"ModelCreateFromErrorEventHandler\");\n\nexport namespace ModelCreateFromErrorEventHandler {\n export type Interface = IEventHandler<ModelCreateFromErrorEvent>;\n export type Event = ModelCreateFromErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAmBA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,SAASD,WAAW,CAAoC;EAC3FE,SAAS,GAAG,4BAA4B;EAExCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,iCAAiC;EAC5C;AACJ;
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeCreateFromEvent","eventType","getHandlerAbstraction","ModelBeforeCreateFromEventHandler","ModelAfterCreateFromEvent","ModelAfterCreateFromEventHandler","ModelCreateFromErrorEvent","ModelCreateFromErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel, CmsModelCreateFromInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeCreateFromEventPayload {\n model: CmsModel;\n original: CmsModel;\n input: CmsModelCreateFromInput;\n}\n\nexport interface ModelAfterCreateFromEventPayload {\n model: CmsModel;\n original: CmsModel;\n}\n\nexport interface ModelCreateFromErrorEventPayload {\n input: CmsModelCreateFromInput;\n model: CmsModel;\n original: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeCreateFromEvent - Published before creating a model from existing\n */\nexport class ModelBeforeCreateFromEvent extends DomainEvent<ModelBeforeCreateFromEventPayload> {\n eventType = \"Cms/Model/BeforeCreateFrom\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeCreateFromEventHandler;\n }\n}\n\n/** Hook into model lifecycle before a model is cloned. */\nexport const ModelBeforeCreateFromEventHandler = createAbstraction<\n IEventHandler<ModelBeforeCreateFromEvent>\n>(\"ModelBeforeCreateFromEventHandler\");\n\nexport namespace ModelBeforeCreateFromEventHandler {\n export type Interface = IEventHandler<ModelBeforeCreateFromEvent>;\n export type Event = ModelBeforeCreateFromEvent;\n}\n\n/**\n * ModelAfterCreateFromEvent - Published after creating a model from existing\n */\nexport class ModelAfterCreateFromEvent extends DomainEvent<ModelAfterCreateFromEventPayload> {\n eventType = \"Cms/Model/AfterCreateFrom\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterCreateFromEventHandler;\n }\n}\n\n/** Hook into model lifecycle after a model is cloned. */\nexport const ModelAfterCreateFromEventHandler = createAbstraction<\n IEventHandler<ModelAfterCreateFromEvent>\n>(\"ModelAfterCreateFromEventHandler\");\n\nexport namespace ModelAfterCreateFromEventHandler {\n export type Interface = IEventHandler<ModelAfterCreateFromEvent>;\n export type Event = ModelAfterCreateFromEvent;\n}\n\n/**\n * ModelCreateFromErrorEvent - Published when create from fails\n */\nexport class ModelCreateFromErrorEvent extends DomainEvent<ModelCreateFromErrorEventPayload> {\n eventType = \"Cms/Model/CreateFromError\" as const;\n\n getHandlerAbstraction() {\n return ModelCreateFromErrorEventHandler;\n }\n}\n\nexport const ModelCreateFromErrorEventHandler = createAbstraction<\n IEventHandler<ModelCreateFromErrorEvent>\n>(\"ModelCreateFromErrorEventHandler\");\n\nexport namespace ModelCreateFromErrorEventHandler {\n export type Interface = IEventHandler<ModelCreateFromErrorEvent>;\n export type Event = ModelCreateFromErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAmBA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,SAASD,WAAW,CAAoC;EAC3FE,SAAS,GAAG,4BAA4B;EAExCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,iCAAiC;EAC5C;AACJ;;AAEA;AACA,OAAO,MAAMA,iCAAiC,GAAGL,iBAAiB,CAEhE,mCAAmC,CAAC;AAOtC;AACA;AACA;AACA,OAAO,MAAMM,yBAAyB,SAASL,WAAW,CAAmC;EACzFE,SAAS,GAAG,2BAA2B;EAEvCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,gCAAgC;EAC3C;AACJ;;AAEA;AACA,OAAO,MAAMA,gCAAgC,GAAGP,iBAAiB,CAE/D,kCAAkC,CAAC;AAOrC;AACA;AACA;AACA,OAAO,MAAMQ,yBAAyB,SAASP,WAAW,CAAmC;EACzFE,SAAS,GAAG,2BAA2B;EAEvCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,gCAAgC;EAC3C;AACJ;AAEA,OAAO,MAAMA,gCAAgC,GAAGT,iBAAiB,CAE/D,kCAAkC,CAAC","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@ export interface IDeleteModelUseCaseErrors {
|
|
|
17
17
|
hasEntriesInTrash: ModelCannotDeleteHasEntriesInTrashError;
|
|
18
18
|
}
|
|
19
19
|
type UseCaseError = IDeleteModelUseCaseErrors[keyof IDeleteModelUseCaseErrors];
|
|
20
|
+
/** Delete a content model. */
|
|
20
21
|
export declare const DeleteModelUseCase: import("@webiny/di").Abstraction<IDeleteModelUseCase>;
|
|
21
22
|
export declare namespace DeleteModelUseCase {
|
|
22
23
|
type Interface = IDeleteModelUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DeleteModelUseCase","DeleteModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport {\n ModelCannotDeleteCodeModelError,\n ModelCannotDeleteHasEntriesError,\n ModelCannotDeleteHasEntriesInTrashError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelPersistenceError,\n type ModelValidationError\n} from \"~/domain/contentModel/errors.js\";\n\n/**\n * DeleteModel Use Case\n */\nexport interface IDeleteModelUseCase {\n execute(modelId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n persistence: ModelPersistenceError;\n validation: ModelValidationError;\n codeModel: ModelCannotDeleteCodeModelError;\n hasEntries: ModelCannotDeleteHasEntriesError;\n hasEntriesInTrash: ModelCannotDeleteHasEntriesInTrashError;\n}\n\ntype UseCaseError = IDeleteModelUseCaseErrors[keyof IDeleteModelUseCaseErrors];\n\nexport const DeleteModelUseCase = createAbstraction<IDeleteModelUseCase>(\"DeleteModelUseCase\");\n\nexport namespace DeleteModelUseCase {\n export type Interface = IDeleteModelUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * DeleteModelRepository - Validates and deletes a model from storage.\n */\nexport interface IDeleteModelRepository {\n execute(model: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteModelRepositoryErrors {\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n codeModel: ModelCannotDeleteCodeModelError;\n}\n\ntype RepositoryError = IDeleteModelRepositoryErrors[keyof IDeleteModelRepositoryErrors];\n\nexport const DeleteModelRepository =\n createAbstraction<IDeleteModelRepository>(\"DeleteModelRepository\");\n\nexport namespace DeleteModelRepository {\n export type Interface = IDeleteModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAY/D;AACA;AACA;;AAiBA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAS9F;AACA;AACA;;AAaA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteModelUseCase","DeleteModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport {\n ModelCannotDeleteCodeModelError,\n ModelCannotDeleteHasEntriesError,\n ModelCannotDeleteHasEntriesInTrashError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelPersistenceError,\n type ModelValidationError\n} from \"~/domain/contentModel/errors.js\";\n\n/**\n * DeleteModel Use Case\n */\nexport interface IDeleteModelUseCase {\n execute(modelId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n persistence: ModelPersistenceError;\n validation: ModelValidationError;\n codeModel: ModelCannotDeleteCodeModelError;\n hasEntries: ModelCannotDeleteHasEntriesError;\n hasEntriesInTrash: ModelCannotDeleteHasEntriesInTrashError;\n}\n\ntype UseCaseError = IDeleteModelUseCaseErrors[keyof IDeleteModelUseCaseErrors];\n\n/** Delete a content model. */\nexport const DeleteModelUseCase = createAbstraction<IDeleteModelUseCase>(\"DeleteModelUseCase\");\n\nexport namespace DeleteModelUseCase {\n export type Interface = IDeleteModelUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * DeleteModelRepository - Validates and deletes a model from storage.\n */\nexport interface IDeleteModelRepository {\n execute(model: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteModelRepositoryErrors {\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n codeModel: ModelCannotDeleteCodeModelError;\n}\n\ntype RepositoryError = IDeleteModelRepositoryErrors[keyof IDeleteModelRepositoryErrors];\n\nexport const DeleteModelRepository =\n createAbstraction<IDeleteModelRepository>(\"DeleteModelRepository\");\n\nexport namespace DeleteModelRepository {\n export type Interface = IDeleteModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAY/D;AACA;AACA;;AAiBA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAS9F;AACA;AACA;;AAaA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -21,6 +21,7 @@ export declare class ModelBeforeDeleteEvent extends DomainEvent<ModelBeforeDelet
|
|
|
21
21
|
eventType: "Cms/Model/BeforeDelete";
|
|
22
22
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelBeforeDeleteEvent>>;
|
|
23
23
|
}
|
|
24
|
+
/** Hook into model lifecycle before a model is deleted. */
|
|
24
25
|
export declare const ModelBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelBeforeDeleteEvent>>;
|
|
25
26
|
export declare namespace ModelBeforeDeleteEventHandler {
|
|
26
27
|
type Interface = IEventHandler<ModelBeforeDeleteEvent>;
|
|
@@ -33,6 +34,7 @@ export declare class ModelAfterDeleteEvent extends DomainEvent<ModelAfterDeleteE
|
|
|
33
34
|
eventType: "Cms/Model/AfterDelete";
|
|
34
35
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelAfterDeleteEvent>>;
|
|
35
36
|
}
|
|
37
|
+
/** Hook into model lifecycle after a model is deleted. */
|
|
36
38
|
export declare const ModelAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelAfterDeleteEvent>>;
|
|
37
39
|
export declare namespace ModelAfterDeleteEventHandler {
|
|
38
40
|
type Interface = IEventHandler<ModelAfterDeleteEvent>;
|
|
@@ -14,6 +14,8 @@ export class ModelBeforeDeleteEvent extends DomainEvent {
|
|
|
14
14
|
return ModelBeforeDeleteEventHandler;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/** Hook into model lifecycle before a model is deleted. */
|
|
17
19
|
export const ModelBeforeDeleteEventHandler = createAbstraction("ModelBeforeDeleteEventHandler");
|
|
18
20
|
/**
|
|
19
21
|
* ModelAfterDeleteEvent - Published after deleting a model
|
|
@@ -24,6 +26,8 @@ export class ModelAfterDeleteEvent extends DomainEvent {
|
|
|
24
26
|
return ModelAfterDeleteEventHandler;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
|
|
30
|
+
/** Hook into model lifecycle after a model is deleted. */
|
|
27
31
|
export const ModelAfterDeleteEventHandler = createAbstraction("ModelAfterDeleteEventHandler");
|
|
28
32
|
/**
|
|
29
33
|
* ModelDeleteErrorEvent - Published when delete fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeDeleteEvent","eventType","getHandlerAbstraction","ModelBeforeDeleteEventHandler","ModelAfterDeleteEvent","ModelAfterDeleteEventHandler","ModelDeleteErrorEvent","ModelDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeDeleteEventPayload {\n model: CmsModel;\n}\n\nexport interface ModelAfterDeleteEventPayload {\n model: CmsModel;\n}\n\nexport interface ModelDeleteErrorEventPayload {\n model: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeDeleteEvent - Published before deleting a model\n */\nexport class ModelBeforeDeleteEvent extends DomainEvent<ModelBeforeDeleteEventPayload> {\n eventType = \"Cms/Model/BeforeDelete\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeDeleteEventHandler;\n }\n}\n\nexport const ModelBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<ModelBeforeDeleteEvent>\n>(\"ModelBeforeDeleteEventHandler\");\n\nexport namespace ModelBeforeDeleteEventHandler {\n export type Interface = IEventHandler<ModelBeforeDeleteEvent>;\n export type Event = ModelBeforeDeleteEvent;\n}\n\n/**\n * ModelAfterDeleteEvent - Published after deleting a model\n */\nexport class ModelAfterDeleteEvent extends DomainEvent<ModelAfterDeleteEventPayload> {\n eventType = \"Cms/Model/AfterDelete\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterDeleteEventHandler;\n }\n}\n\nexport const ModelAfterDeleteEventHandler = createAbstraction<IEventHandler<ModelAfterDeleteEvent>>(\n \"ModelAfterDeleteEventHandler\"\n);\n\nexport namespace ModelAfterDeleteEventHandler {\n export type Interface = IEventHandler<ModelAfterDeleteEvent>;\n export type Event = ModelAfterDeleteEvent;\n}\n\n/**\n * ModelDeleteErrorEvent - Published when delete fails\n */\nexport class ModelDeleteErrorEvent extends DomainEvent<ModelDeleteErrorEventPayload> {\n eventType = \"Cms/Model/DeleteError\" as const;\n\n getHandlerAbstraction() {\n return ModelDeleteErrorEventHandler;\n }\n}\n\nexport const ModelDeleteErrorEventHandler = createAbstraction<IEventHandler<ModelDeleteErrorEvent>>(\n \"ModelDeleteErrorEventHandler\"\n);\n\nexport namespace ModelDeleteErrorEventHandler {\n export type Interface = IEventHandler<ModelDeleteErrorEvent>;\n export type Event = ModelDeleteErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAcA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeDeleteEvent","eventType","getHandlerAbstraction","ModelBeforeDeleteEventHandler","ModelAfterDeleteEvent","ModelAfterDeleteEventHandler","ModelDeleteErrorEvent","ModelDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeDeleteEventPayload {\n model: CmsModel;\n}\n\nexport interface ModelAfterDeleteEventPayload {\n model: CmsModel;\n}\n\nexport interface ModelDeleteErrorEventPayload {\n model: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeDeleteEvent - Published before deleting a model\n */\nexport class ModelBeforeDeleteEvent extends DomainEvent<ModelBeforeDeleteEventPayload> {\n eventType = \"Cms/Model/BeforeDelete\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into model lifecycle before a model is deleted. */\nexport const ModelBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<ModelBeforeDeleteEvent>\n>(\"ModelBeforeDeleteEventHandler\");\n\nexport namespace ModelBeforeDeleteEventHandler {\n export type Interface = IEventHandler<ModelBeforeDeleteEvent>;\n export type Event = ModelBeforeDeleteEvent;\n}\n\n/**\n * ModelAfterDeleteEvent - Published after deleting a model\n */\nexport class ModelAfterDeleteEvent extends DomainEvent<ModelAfterDeleteEventPayload> {\n eventType = \"Cms/Model/AfterDelete\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterDeleteEventHandler;\n }\n}\n\n/** Hook into model lifecycle after a model is deleted. */\nexport const ModelAfterDeleteEventHandler = createAbstraction<IEventHandler<ModelAfterDeleteEvent>>(\n \"ModelAfterDeleteEventHandler\"\n);\n\nexport namespace ModelAfterDeleteEventHandler {\n export type Interface = IEventHandler<ModelAfterDeleteEvent>;\n export type Event = ModelAfterDeleteEvent;\n}\n\n/**\n * ModelDeleteErrorEvent - Published when delete fails\n */\nexport class ModelDeleteErrorEvent extends DomainEvent<ModelDeleteErrorEventPayload> {\n eventType = \"Cms/Model/DeleteError\" as const;\n\n getHandlerAbstraction() {\n return ModelDeleteErrorEventHandler;\n }\n}\n\nexport const ModelDeleteErrorEventHandler = createAbstraction<IEventHandler<ModelDeleteErrorEvent>>(\n \"ModelDeleteErrorEventHandler\"\n);\n\nexport namespace ModelDeleteErrorEventHandler {\n export type Interface = IEventHandler<ModelDeleteErrorEvent>;\n export type Event = ModelDeleteErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAcA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ export interface IGetModelUseCaseErrors {
|
|
|
13
13
|
persistence: ModelPersistenceError;
|
|
14
14
|
}
|
|
15
15
|
type UseCaseError = IGetModelUseCaseErrors[keyof IGetModelUseCaseErrors];
|
|
16
|
+
/** Retrieve a content model. */
|
|
16
17
|
export declare const GetModelUseCase: import("@webiny/di").Abstraction<IGetModelUseCase>;
|
|
17
18
|
export declare namespace GetModelUseCase {
|
|
18
19
|
type Interface = IGetModelUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","GetModelUseCase","GetModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport {\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelPersistenceError\n} from \"~/domain/contentModel/errors.js\";\n\n/**\n * GetModel Use Case\n */\nexport interface IGetModelUseCase {\n execute(modelId: string): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface IGetModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n persistence: ModelPersistenceError;\n}\n\ntype UseCaseError = IGetModelUseCaseErrors[keyof IGetModelUseCaseErrors];\n\nexport const GetModelUseCase = createAbstraction<IGetModelUseCase>(\"GetModelUseCase\");\n\nexport namespace GetModelUseCase {\n export type Interface = IGetModelUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * GetModelRepository - Fetches a single model by ID from cache.\n */\nexport interface IGetModelRepository {\n execute(modelId: string): Promise<Result<CmsModel, RepositoryError>>;\n}\n\nexport interface IGetModelRepositoryErrors {\n notFound: ModelNotFoundError;\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = IGetModelRepositoryErrors[keyof IGetModelRepositoryErrors];\n\nexport const GetModelRepository = createAbstraction<IGetModelRepository>(\"GetModelRepository\");\n\nexport namespace GetModelRepository {\n export type Interface = IGetModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;;AAaA,OAAO,MAAMC,eAAe,GAAGD,iBAAiB,CAAmB,iBAAiB,CAAC;;AASrF;AACA;AACA;;AAYA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,oBAAoB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","GetModelUseCase","GetModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport {\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelPersistenceError\n} from \"~/domain/contentModel/errors.js\";\n\n/**\n * GetModel Use Case\n */\nexport interface IGetModelUseCase {\n execute(modelId: string): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface IGetModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n persistence: ModelPersistenceError;\n}\n\ntype UseCaseError = IGetModelUseCaseErrors[keyof IGetModelUseCaseErrors];\n\n/** Retrieve a content model. */\nexport const GetModelUseCase = createAbstraction<IGetModelUseCase>(\"GetModelUseCase\");\n\nexport namespace GetModelUseCase {\n export type Interface = IGetModelUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * GetModelRepository - Fetches a single model by ID from cache.\n */\nexport interface IGetModelRepository {\n execute(modelId: string): Promise<Result<CmsModel, RepositoryError>>;\n}\n\nexport interface IGetModelRepositoryErrors {\n notFound: ModelNotFoundError;\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = IGetModelRepositoryErrors[keyof IGetModelRepositoryErrors];\n\nexport const GetModelRepository = createAbstraction<IGetModelRepository>(\"GetModelRepository\");\n\nexport namespace GetModelRepository {\n export type Interface = IGetModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,iBAAiB,CAAmB,iBAAiB,CAAC;;AASrF;AACA;AACA;;AAYA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,oBAAoB,CAAC","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ export interface IListModelsUseCaseErrors {
|
|
|
12
12
|
persistence: ModelPersistenceError;
|
|
13
13
|
}
|
|
14
14
|
type UseCaseError = IListModelsUseCaseErrors[keyof IListModelsUseCaseErrors];
|
|
15
|
+
/** List all content models. */
|
|
15
16
|
export declare const ListModelsUseCase: import("@webiny/di").Abstraction<IListModelsUseCase>;
|
|
16
17
|
export declare namespace ListModelsUseCase {
|
|
17
18
|
type Interface = IListModelsUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","ListModelsUseCase","ListModelsRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel, ICmsModelListParams } from \"~/types/index.js\";\nimport {\n ModelNotAuthorizedError,\n type ModelPersistenceError\n} from \"~/domain/contentModel/errors.js\";\n\n/**\n * ListModels Use Case\n */\nexport interface IListModelsUseCase {\n execute(params?: ICmsModelListParams): Promise<Result<CmsModel[], UseCaseError>>;\n}\n\nexport interface IListModelsUseCaseErrors {\n notAuthorized: ModelNotAuthorizedError;\n persistence: ModelPersistenceError;\n}\n\ntype UseCaseError = IListModelsUseCaseErrors[keyof IListModelsUseCaseErrors];\n\nexport const ListModelsUseCase = createAbstraction<IListModelsUseCase>(\"ListModelsUseCase\");\n\nexport namespace ListModelsUseCase {\n export type Interface = IListModelsUseCase;\n export type Params = ICmsModelListParams;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel[], UseCaseError>>;\n}\n\n/**\n * ListModelsRepository - Fetches all models from cache.\n */\nexport interface IListModelsRepository {\n execute(params?: ICmsModelListParams): Promise<Result<CmsModel[], RepositoryError>>;\n}\n\nexport interface IListModelsRepositoryErrors {\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = IListModelsRepositoryErrors[keyof IListModelsRepositoryErrors];\n\nexport const ListModelsRepository =\n createAbstraction<IListModelsRepository>(\"ListModelsRepository\");\n\nexport namespace ListModelsRepository {\n export type Interface = IListModelsRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAO/D;AACA;AACA;;AAYA,OAAO,MAAMC,iBAAiB,GAAGD,iBAAiB,CAAqB,mBAAmB,CAAC;;AAU3F;AACA;AACA;;AAWA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,sBAAsB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","ListModelsUseCase","ListModelsRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel, ICmsModelListParams } from \"~/types/index.js\";\nimport {\n ModelNotAuthorizedError,\n type ModelPersistenceError\n} from \"~/domain/contentModel/errors.js\";\n\n/**\n * ListModels Use Case\n */\nexport interface IListModelsUseCase {\n execute(params?: ICmsModelListParams): Promise<Result<CmsModel[], UseCaseError>>;\n}\n\nexport interface IListModelsUseCaseErrors {\n notAuthorized: ModelNotAuthorizedError;\n persistence: ModelPersistenceError;\n}\n\ntype UseCaseError = IListModelsUseCaseErrors[keyof IListModelsUseCaseErrors];\n\n/** List all content models. */\nexport const ListModelsUseCase = createAbstraction<IListModelsUseCase>(\"ListModelsUseCase\");\n\nexport namespace ListModelsUseCase {\n export type Interface = IListModelsUseCase;\n export type Params = ICmsModelListParams;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel[], UseCaseError>>;\n}\n\n/**\n * ListModelsRepository - Fetches all models from cache.\n */\nexport interface IListModelsRepository {\n execute(params?: ICmsModelListParams): Promise<Result<CmsModel[], RepositoryError>>;\n}\n\nexport interface IListModelsRepositoryErrors {\n persistence: ModelPersistenceError;\n}\n\ntype RepositoryError = IListModelsRepositoryErrors[keyof IListModelsRepositoryErrors];\n\nexport const ListModelsRepository =\n createAbstraction<IListModelsRepository>(\"ListModelsRepository\");\n\nexport namespace ListModelsRepository {\n export type Interface = IListModelsRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAO/D;AACA;AACA;;AAYA;AACA,OAAO,MAAMC,iBAAiB,GAAGD,iBAAiB,CAAqB,mBAAmB,CAAC;;AAU3F;AACA;AACA;;AAWA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,sBAAsB,CAAC","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ export interface IUpdateModelUseCaseErrors {
|
|
|
20
20
|
groupNotAccessible: GroupNotAuthorizedError;
|
|
21
21
|
}
|
|
22
22
|
type UseCaseError = IUpdateModelUseCaseErrors[keyof IUpdateModelUseCaseErrors];
|
|
23
|
+
/** Update a content model. */
|
|
23
24
|
export declare const UpdateModelUseCase: import("@webiny/di").Abstraction<IUpdateModelUseCase>;
|
|
24
25
|
export declare namespace UpdateModelUseCase {
|
|
25
26
|
type Interface = IUpdateModelUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","UpdateModelUseCase","UpdateModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { CmsModelUpdateInput } from \"~/types/index.js\";\nimport {\n type ModelSlugTakenError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelValidationError,\n type ModelPersistenceError,\n ModelCannotUpdateCodeModelError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotFoundError,\n type GroupNotAuthorizedError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * UpdateModel Use Case\n */\nexport interface IUpdateModelUseCase {\n execute(modelId: string, input: CmsModelUpdateInput): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface IUpdateModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n alreadyExists: ModelSlugTakenError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n groupNotFound: GroupNotFoundError;\n groupNotAccessible: GroupNotAuthorizedError;\n}\n\ntype UseCaseError = IUpdateModelUseCaseErrors[keyof IUpdateModelUseCaseErrors];\n\nexport const UpdateModelUseCase = createAbstraction<IUpdateModelUseCase>(\"UpdateModelUseCase\");\n\nexport namespace UpdateModelUseCase {\n export type Interface = IUpdateModelUseCase;\n export type Input = CmsModelUpdateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * UpdateModelRepository - Validates domain rules and persists model updates.\n */\nexport interface IUpdateModelRepository {\n execute(model: CmsModel, original: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateModelRepositoryErrors {\n alreadyExists: ModelSlugTakenError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n}\n\ntype RepositoryError = IUpdateModelRepositoryErrors[keyof IUpdateModelRepositoryErrors];\n\nexport const UpdateModelRepository =\n createAbstraction<IUpdateModelRepository>(\"UpdateModelRepository\");\n\nexport namespace UpdateModelRepository {\n export type Interface = IUpdateModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAiBvD;AACA;AACA;;AAkBA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAcA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","UpdateModelUseCase","UpdateModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { CmsModelUpdateInput } from \"~/types/index.js\";\nimport {\n type ModelSlugTakenError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelValidationError,\n type ModelPersistenceError,\n ModelCannotUpdateCodeModelError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotFoundError,\n type GroupNotAuthorizedError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * UpdateModel Use Case\n */\nexport interface IUpdateModelUseCase {\n execute(modelId: string, input: CmsModelUpdateInput): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface IUpdateModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n alreadyExists: ModelSlugTakenError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n groupNotFound: GroupNotFoundError;\n groupNotAccessible: GroupNotAuthorizedError;\n}\n\ntype UseCaseError = IUpdateModelUseCaseErrors[keyof IUpdateModelUseCaseErrors];\n\n/** Update a content model. */\nexport const UpdateModelUseCase = createAbstraction<IUpdateModelUseCase>(\"UpdateModelUseCase\");\n\nexport namespace UpdateModelUseCase {\n export type Interface = IUpdateModelUseCase;\n export type Input = CmsModelUpdateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * UpdateModelRepository - Validates domain rules and persists model updates.\n */\nexport interface IUpdateModelRepository {\n execute(model: CmsModel, original: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateModelRepositoryErrors {\n alreadyExists: ModelSlugTakenError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n}\n\ntype RepositoryError = IUpdateModelRepositoryErrors[keyof IUpdateModelRepositoryErrors];\n\nexport const UpdateModelRepository =\n createAbstraction<IUpdateModelRepository>(\"UpdateModelRepository\");\n\nexport namespace UpdateModelRepository {\n export type Interface = IUpdateModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAiBvD;AACA;AACA;;AAkBA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAcA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@ export declare class ModelBeforeUpdateEvent extends DomainEvent<ModelBeforeUpdat
|
|
|
26
26
|
eventType: "Cms/Model/BeforeUpdate";
|
|
27
27
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelBeforeUpdateEvent>>;
|
|
28
28
|
}
|
|
29
|
+
/** Hook into model lifecycle before a model is updated. */
|
|
29
30
|
export declare const ModelBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelBeforeUpdateEvent>>;
|
|
30
31
|
export declare namespace ModelBeforeUpdateEventHandler {
|
|
31
32
|
type Interface = IEventHandler<ModelBeforeUpdateEvent>;
|
|
@@ -38,6 +39,7 @@ export declare class ModelAfterUpdateEvent extends DomainEvent<ModelAfterUpdateE
|
|
|
38
39
|
eventType: "Cms/Model/AfterUpdate";
|
|
39
40
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<ModelAfterUpdateEvent>>;
|
|
40
41
|
}
|
|
42
|
+
/** Hook into model lifecycle after a model is updated. */
|
|
41
43
|
export declare const ModelAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<ModelAfterUpdateEvent>>;
|
|
42
44
|
export declare namespace ModelAfterUpdateEventHandler {
|
|
43
45
|
type Interface = IEventHandler<ModelAfterUpdateEvent>;
|
|
@@ -14,6 +14,8 @@ export class ModelBeforeUpdateEvent extends DomainEvent {
|
|
|
14
14
|
return ModelBeforeUpdateEventHandler;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/** Hook into model lifecycle before a model is updated. */
|
|
17
19
|
export const ModelBeforeUpdateEventHandler = createAbstraction("ModelBeforeUpdateEventHandler");
|
|
18
20
|
/**
|
|
19
21
|
* ModelAfterUpdateEvent - Published after updating a model
|
|
@@ -24,6 +26,8 @@ export class ModelAfterUpdateEvent extends DomainEvent {
|
|
|
24
26
|
return ModelAfterUpdateEventHandler;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
|
|
30
|
+
/** Hook into model lifecycle after a model is updated. */
|
|
27
31
|
export const ModelAfterUpdateEventHandler = createAbstraction("ModelAfterUpdateEventHandler");
|
|
28
32
|
/**
|
|
29
33
|
* ModelUpdateErrorEvent - Published when update fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeUpdateEvent","eventType","getHandlerAbstraction","ModelBeforeUpdateEventHandler","ModelAfterUpdateEvent","ModelAfterUpdateEventHandler","ModelUpdateErrorEvent","ModelUpdateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel, CmsModelUpdateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n input: CmsModelUpdateInput;\n}\n\nexport interface ModelAfterUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n}\n\nexport interface ModelUpdateErrorEventPayload {\n input: CmsModelUpdateInput;\n model: CmsModel;\n original: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeUpdateEvent - Published before updating a model\n */\nexport class ModelBeforeUpdateEvent extends DomainEvent<ModelBeforeUpdateEventPayload> {\n eventType = \"Cms/Model/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeUpdateEventHandler;\n }\n}\n\nexport const ModelBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<ModelBeforeUpdateEvent>\n>(\"ModelBeforeUpdateEventHandler\");\n\nexport namespace ModelBeforeUpdateEventHandler {\n export type Interface = IEventHandler<ModelBeforeUpdateEvent>;\n export type Event = ModelBeforeUpdateEvent;\n}\n\n/**\n * ModelAfterUpdateEvent - Published after updating a model\n */\nexport class ModelAfterUpdateEvent extends DomainEvent<ModelAfterUpdateEventPayload> {\n eventType = \"Cms/Model/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterUpdateEventHandler;\n }\n}\n\nexport const ModelAfterUpdateEventHandler = createAbstraction<IEventHandler<ModelAfterUpdateEvent>>(\n \"ModelAfterUpdateEventHandler\"\n);\n\nexport namespace ModelAfterUpdateEventHandler {\n export type Interface = IEventHandler<ModelAfterUpdateEvent>;\n export type Event = ModelAfterUpdateEvent;\n}\n\n/**\n * ModelUpdateErrorEvent - Published when update fails\n */\nexport class ModelUpdateErrorEvent extends DomainEvent<ModelUpdateErrorEventPayload> {\n eventType = \"Cms/Model/UpdateError\" as const;\n\n getHandlerAbstraction() {\n return ModelUpdateErrorEventHandler;\n }\n}\n\nexport const ModelUpdateErrorEventHandler = createAbstraction<IEventHandler<ModelUpdateErrorEvent>>(\n \"ModelUpdateErrorEventHandler\"\n);\n\nexport namespace ModelUpdateErrorEventHandler {\n export type Interface = IEventHandler<ModelUpdateErrorEvent>;\n export type Event = ModelUpdateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAmBA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeUpdateEvent","eventType","getHandlerAbstraction","ModelBeforeUpdateEventHandler","ModelAfterUpdateEvent","ModelAfterUpdateEventHandler","ModelUpdateErrorEvent","ModelUpdateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsModel, CmsModelUpdateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n input: CmsModelUpdateInput;\n}\n\nexport interface ModelAfterUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n}\n\nexport interface ModelUpdateErrorEventPayload {\n input: CmsModelUpdateInput;\n model: CmsModel;\n original: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeUpdateEvent - Published before updating a model\n */\nexport class ModelBeforeUpdateEvent extends DomainEvent<ModelBeforeUpdateEventPayload> {\n eventType = \"Cms/Model/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into model lifecycle before a model is updated. */\nexport const ModelBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<ModelBeforeUpdateEvent>\n>(\"ModelBeforeUpdateEventHandler\");\n\nexport namespace ModelBeforeUpdateEventHandler {\n export type Interface = IEventHandler<ModelBeforeUpdateEvent>;\n export type Event = ModelBeforeUpdateEvent;\n}\n\n/**\n * ModelAfterUpdateEvent - Published after updating a model\n */\nexport class ModelAfterUpdateEvent extends DomainEvent<ModelAfterUpdateEventPayload> {\n eventType = \"Cms/Model/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterUpdateEventHandler;\n }\n}\n\n/** Hook into model lifecycle after a model is updated. */\nexport const ModelAfterUpdateEventHandler = createAbstraction<IEventHandler<ModelAfterUpdateEvent>>(\n \"ModelAfterUpdateEventHandler\"\n);\n\nexport namespace ModelAfterUpdateEventHandler {\n export type Interface = IEventHandler<ModelAfterUpdateEvent>;\n export type Event = ModelAfterUpdateEvent;\n}\n\n/**\n * ModelUpdateErrorEvent - Published when update fails\n */\nexport class ModelUpdateErrorEvent extends DomainEvent<ModelUpdateErrorEventPayload> {\n eventType = \"Cms/Model/UpdateError\" as const;\n\n getHandlerAbstraction() {\n return ModelUpdateErrorEventHandler;\n }\n}\n\nexport const ModelUpdateErrorEventHandler = createAbstraction<IEventHandler<ModelUpdateErrorEvent>>(\n \"ModelUpdateErrorEventHandler\"\n);\n\nexport namespace ModelUpdateErrorEventHandler {\n export type Interface = IEventHandler<ModelUpdateErrorEvent>;\n export type Event = ModelUpdateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAmBA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ export interface ICreateGroupUseCaseErrors {
|
|
|
14
14
|
repository: RepositoryError;
|
|
15
15
|
}
|
|
16
16
|
type UseCaseError = ICreateGroupUseCaseErrors[keyof ICreateGroupUseCaseErrors];
|
|
17
|
+
/** Create a new content model group. */
|
|
17
18
|
export declare const CreateGroupUseCase: import("@webiny/di").Abstraction<ICreateGroupUseCase>;
|
|
18
19
|
export declare namespace CreateGroupUseCase {
|
|
19
20
|
type Interface = ICreateGroupUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","CreateGroupUseCase","CreateGroupRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup, CmsGroupCreateInput } from \"~/types/index.js\";\nimport type {\n GroupPersistenceError,\n GroupValidationError\n} from \"~/domain/contentModelGroup/errors.js\";\nimport {\n GroupNotAuthorizedError,\n type GroupSlugTakenError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * CreateGroup Use Case\n */\nexport interface ICreateGroupUseCase {\n execute(input: CmsGroupCreateInput): Promise<Result<CmsGroup, UseCaseError>>;\n}\n\nexport interface ICreateGroupUseCaseErrors {\n notAuthorized: GroupNotAuthorizedError;\n validation: GroupValidationError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = ICreateGroupUseCaseErrors[keyof ICreateGroupUseCaseErrors];\n\nexport const CreateGroupUseCase = createAbstraction<ICreateGroupUseCase>(\"CreateGroupUseCase\");\n\nexport namespace CreateGroupUseCase {\n export type Interface = ICreateGroupUseCase;\n export type Input = CmsGroupCreateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsGroup, UseCaseError>>;\n}\n\n/**\n * CreateGroupRepository - Persists a new group to storage.\n */\nexport interface ICreateGroupRepository {\n execute(group: CmsGroup): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateGroupRepositoryErrors {\n alreadyExists: GroupSlugTakenError;\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = ICreateGroupRepositoryErrors[keyof ICreateGroupRepositoryErrors];\n\nexport const CreateGroupRepository =\n createAbstraction<ICreateGroupRepository>(\"CreateGroupRepository\");\n\nexport namespace CreateGroupRepository {\n export type Interface = ICreateGroupRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAW/D;AACA;AACA;;AAaA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAYA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","CreateGroupUseCase","CreateGroupRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup, CmsGroupCreateInput } from \"~/types/index.js\";\nimport type {\n GroupPersistenceError,\n GroupValidationError\n} from \"~/domain/contentModelGroup/errors.js\";\nimport {\n GroupNotAuthorizedError,\n type GroupSlugTakenError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * CreateGroup Use Case\n */\nexport interface ICreateGroupUseCase {\n execute(input: CmsGroupCreateInput): Promise<Result<CmsGroup, UseCaseError>>;\n}\n\nexport interface ICreateGroupUseCaseErrors {\n notAuthorized: GroupNotAuthorizedError;\n validation: GroupValidationError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = ICreateGroupUseCaseErrors[keyof ICreateGroupUseCaseErrors];\n\n/** Create a new content model group. */\nexport const CreateGroupUseCase = createAbstraction<ICreateGroupUseCase>(\"CreateGroupUseCase\");\n\nexport namespace CreateGroupUseCase {\n export type Interface = ICreateGroupUseCase;\n export type Input = CmsGroupCreateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsGroup, UseCaseError>>;\n}\n\n/**\n * CreateGroupRepository - Persists a new group to storage.\n */\nexport interface ICreateGroupRepository {\n execute(group: CmsGroup): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateGroupRepositoryErrors {\n alreadyExists: GroupSlugTakenError;\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = ICreateGroupRepositoryErrors[keyof ICreateGroupRepositoryErrors];\n\nexport const CreateGroupRepository =\n createAbstraction<ICreateGroupRepository>(\"CreateGroupRepository\");\n\nexport namespace CreateGroupRepository {\n export type Interface = ICreateGroupRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAW/D;AACA;AACA;;AAaA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAYA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -22,6 +22,7 @@ export declare class GroupBeforeCreateEventEvent extends DomainEvent<GroupBefore
|
|
|
22
22
|
eventType: "Cms/Group/BeforeCreate";
|
|
23
23
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<GroupBeforeCreateEventEvent>>;
|
|
24
24
|
}
|
|
25
|
+
/** Hook into group lifecycle before a group is created. */
|
|
25
26
|
export declare const GroupBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<GroupBeforeCreateEventEvent>>;
|
|
26
27
|
export declare namespace GroupBeforeCreateEventHandler {
|
|
27
28
|
type Interface = IEventHandler<GroupBeforeCreateEventEvent>;
|
|
@@ -34,6 +35,7 @@ export declare class GroupAfterCreateEvent extends DomainEvent<GroupAfterCreateE
|
|
|
34
35
|
eventType: "Cms/Group/AfterCreate";
|
|
35
36
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<GroupAfterCreateEvent>>;
|
|
36
37
|
}
|
|
38
|
+
/** Hook into group lifecycle after a group is created. */
|
|
37
39
|
export declare const GroupAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<GroupAfterCreateEvent>>;
|
|
38
40
|
export declare namespace GroupAfterCreateEventHandler {
|
|
39
41
|
type Interface = IEventHandler<GroupAfterCreateEvent>;
|
|
@@ -14,6 +14,8 @@ export class GroupBeforeCreateEventEvent extends DomainEvent {
|
|
|
14
14
|
return GroupBeforeCreateEventHandler;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/** Hook into group lifecycle before a group is created. */
|
|
17
19
|
export const GroupBeforeCreateEventHandler = createAbstraction("GroupBeforeCreateEventHandler");
|
|
18
20
|
/**
|
|
19
21
|
* GroupAfterCreateEvent - Published after creating a group
|
|
@@ -24,6 +26,8 @@ export class GroupAfterCreateEvent extends DomainEvent {
|
|
|
24
26
|
return GroupAfterCreateEventHandler;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
|
|
30
|
+
/** Hook into group lifecycle after a group is created. */
|
|
27
31
|
export const GroupAfterCreateEventHandler = createAbstraction("GroupAfterCreateEventHandler");
|
|
28
32
|
/**
|
|
29
33
|
* GroupCreateErrorEvent - Published when create fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","GroupBeforeCreateEventEvent","eventType","getHandlerAbstraction","GroupBeforeCreateEventHandler","GroupAfterCreateEvent","GroupAfterCreateEventHandler","GroupCreateErrorEvent","GroupCreateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsGroup, CmsGroupCreateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface GroupBeforeCreateEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupAfterCreateEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupCreateErrorEventPayload {\n input: CmsGroupCreateInput;\n group: CmsGroup;\n error: Error;\n}\n\n/**\n * GroupBeforeCreateEvent - Published before creating a group\n */\nexport class GroupBeforeCreateEventEvent extends DomainEvent<GroupBeforeCreateEventPayload> {\n eventType = \"Cms/Group/BeforeCreate\" as const;\n\n getHandlerAbstraction() {\n return GroupBeforeCreateEventHandler;\n }\n}\n\nexport const GroupBeforeCreateEventHandler = createAbstraction<\n IEventHandler<GroupBeforeCreateEventEvent>\n>(\"GroupBeforeCreateEventHandler\");\n\nexport namespace GroupBeforeCreateEventHandler {\n export type Interface = IEventHandler<GroupBeforeCreateEventEvent>;\n export type Event = GroupBeforeCreateEventEvent;\n}\n\n/**\n * GroupAfterCreateEvent - Published after creating a group\n */\nexport class GroupAfterCreateEvent extends DomainEvent<GroupAfterCreateEventPayload> {\n eventType = \"Cms/Group/AfterCreate\" as const;\n\n getHandlerAbstraction() {\n return GroupAfterCreateEventHandler;\n }\n}\n\nexport const GroupAfterCreateEventHandler = createAbstraction<IEventHandler<GroupAfterCreateEvent>>(\n \"GroupAfterCreateEventHandler\"\n);\n\nexport namespace GroupAfterCreateEventHandler {\n export type Interface = IEventHandler<GroupAfterCreateEvent>;\n export type Event = GroupAfterCreateEvent;\n}\n\n/**\n * GroupCreateErrorEvent - Published when create fails\n */\nexport class GroupCreateErrorEvent extends DomainEvent<GroupCreateErrorEventPayload> {\n eventType = \"Cms/Group/CreateError\" as const;\n\n getHandlerAbstraction() {\n return GroupCreateErrorEventHandler;\n }\n}\n\nexport const GroupCreateErrorEventHandler = createAbstraction<IEventHandler<GroupCreateErrorEvent>>(\n \"GroupCreateErrorEventHandler\"\n);\n\nexport namespace GroupCreateErrorEventHandler {\n export type Interface = IEventHandler<GroupCreateErrorEvent>;\n export type Event = GroupCreateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAeA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,SAASD,WAAW,CAAgC;EACxFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","GroupBeforeCreateEventEvent","eventType","getHandlerAbstraction","GroupBeforeCreateEventHandler","GroupAfterCreateEvent","GroupAfterCreateEventHandler","GroupCreateErrorEvent","GroupCreateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsGroup, CmsGroupCreateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface GroupBeforeCreateEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupAfterCreateEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupCreateErrorEventPayload {\n input: CmsGroupCreateInput;\n group: CmsGroup;\n error: Error;\n}\n\n/**\n * GroupBeforeCreateEvent - Published before creating a group\n */\nexport class GroupBeforeCreateEventEvent extends DomainEvent<GroupBeforeCreateEventPayload> {\n eventType = \"Cms/Group/BeforeCreate\" as const;\n\n getHandlerAbstraction() {\n return GroupBeforeCreateEventHandler;\n }\n}\n\n/** Hook into group lifecycle before a group is created. */\nexport const GroupBeforeCreateEventHandler = createAbstraction<\n IEventHandler<GroupBeforeCreateEventEvent>\n>(\"GroupBeforeCreateEventHandler\");\n\nexport namespace GroupBeforeCreateEventHandler {\n export type Interface = IEventHandler<GroupBeforeCreateEventEvent>;\n export type Event = GroupBeforeCreateEventEvent;\n}\n\n/**\n * GroupAfterCreateEvent - Published after creating a group\n */\nexport class GroupAfterCreateEvent extends DomainEvent<GroupAfterCreateEventPayload> {\n eventType = \"Cms/Group/AfterCreate\" as const;\n\n getHandlerAbstraction() {\n return GroupAfterCreateEventHandler;\n }\n}\n\n/** Hook into group lifecycle after a group is created. */\nexport const GroupAfterCreateEventHandler = createAbstraction<IEventHandler<GroupAfterCreateEvent>>(\n \"GroupAfterCreateEventHandler\"\n);\n\nexport namespace GroupAfterCreateEventHandler {\n export type Interface = IEventHandler<GroupAfterCreateEvent>;\n export type Event = GroupAfterCreateEvent;\n}\n\n/**\n * GroupCreateErrorEvent - Published when create fails\n */\nexport class GroupCreateErrorEvent extends DomainEvent<GroupCreateErrorEventPayload> {\n eventType = \"Cms/Group/CreateError\" as const;\n\n getHandlerAbstraction() {\n return GroupCreateErrorEventHandler;\n }\n}\n\nexport const GroupCreateErrorEventHandler = createAbstraction<IEventHandler<GroupCreateErrorEvent>>(\n \"GroupCreateErrorEventHandler\"\n);\n\nexport namespace GroupCreateErrorEventHandler {\n export type Interface = IEventHandler<GroupCreateErrorEvent>;\n export type Event = GroupCreateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAeA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,SAASD,WAAW,CAAgC;EACxFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ export interface IDeleteGroupUseCaseErrors {
|
|
|
13
13
|
repository: RepositoryError;
|
|
14
14
|
}
|
|
15
15
|
type UseCaseError = IDeleteGroupUseCaseErrors[keyof IDeleteGroupUseCaseErrors];
|
|
16
|
+
/** Delete a content model group. */
|
|
16
17
|
export declare const DeleteGroupUseCase: import("@webiny/di").Abstraction<IDeleteGroupUseCase>;
|
|
17
18
|
export declare namespace DeleteGroupUseCase {
|
|
18
19
|
type Interface = IDeleteGroupUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DeleteGroupUseCase","DeleteGroupRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup } from \"~/types/index.js\";\nimport type {\n GroupCannotDeleteCodeDefinedError,\n GroupHasModelsError,\n GroupNotAuthorizedError,\n GroupNotFoundError,\n GroupPersistenceError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * DeleteGroup Use Case\n */\nexport interface IDeleteGroupUseCase {\n execute(groupId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteGroupUseCaseErrors {\n notFound: GroupNotFoundError;\n notAuthorized: GroupNotAuthorizedError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = IDeleteGroupUseCaseErrors[keyof IDeleteGroupUseCaseErrors];\n\nexport const DeleteGroupUseCase = createAbstraction<IDeleteGroupUseCase>(\"DeleteGroupUseCase\");\n\nexport namespace DeleteGroupUseCase {\n export type Interface = IDeleteGroupUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * DeleteGroupRepository - Validates and persists group deletion.\n */\nexport interface IDeleteGroupRepository {\n execute(group: CmsGroup): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteGroupRepositoryErrors {\n cannotDelete: GroupCannotDeleteCodeDefinedError;\n hasModels: GroupHasModelsError;\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = IDeleteGroupRepositoryErrors[keyof IDeleteGroupRepositoryErrors];\n\nexport const DeleteGroupRepository =\n createAbstraction<IDeleteGroupRepository>(\"DeleteGroupRepository\");\n\nexport namespace DeleteGroupRepository {\n export type Interface = IDeleteGroupRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAU/D;AACA;AACA;;AAaA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAS9F;AACA;AACA;;AAaA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteGroupUseCase","DeleteGroupRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup } from \"~/types/index.js\";\nimport type {\n GroupCannotDeleteCodeDefinedError,\n GroupHasModelsError,\n GroupNotAuthorizedError,\n GroupNotFoundError,\n GroupPersistenceError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * DeleteGroup Use Case\n */\nexport interface IDeleteGroupUseCase {\n execute(groupId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteGroupUseCaseErrors {\n notFound: GroupNotFoundError;\n notAuthorized: GroupNotAuthorizedError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = IDeleteGroupUseCaseErrors[keyof IDeleteGroupUseCaseErrors];\n\n/** Delete a content model group. */\nexport const DeleteGroupUseCase = createAbstraction<IDeleteGroupUseCase>(\"DeleteGroupUseCase\");\n\nexport namespace DeleteGroupUseCase {\n export type Interface = IDeleteGroupUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * DeleteGroupRepository - Validates and persists group deletion.\n */\nexport interface IDeleteGroupRepository {\n execute(group: CmsGroup): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteGroupRepositoryErrors {\n cannotDelete: GroupCannotDeleteCodeDefinedError;\n hasModels: GroupHasModelsError;\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = IDeleteGroupRepositoryErrors[keyof IDeleteGroupRepositoryErrors];\n\nexport const DeleteGroupRepository =\n createAbstraction<IDeleteGroupRepository>(\"DeleteGroupRepository\");\n\nexport namespace DeleteGroupRepository {\n export type Interface = IDeleteGroupRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAU/D;AACA;AACA;;AAaA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAS9F;AACA;AACA;;AAaA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -21,6 +21,7 @@ export declare class GroupBeforeDeleteEvent extends DomainEvent<GroupBeforeDelet
|
|
|
21
21
|
eventType: "Cms/Group/BeforeDelete";
|
|
22
22
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<GroupBeforeDeleteEvent>>;
|
|
23
23
|
}
|
|
24
|
+
/** Hook into group lifecycle before a group is deleted. */
|
|
24
25
|
export declare const GroupBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<GroupBeforeDeleteEvent>>;
|
|
25
26
|
export declare namespace GroupBeforeDeleteEventHandler {
|
|
26
27
|
type Interface = IEventHandler<GroupBeforeDeleteEvent>;
|
|
@@ -33,6 +34,7 @@ export declare class GroupAfterDeleteEvent extends DomainEvent<GroupAfterDeleteE
|
|
|
33
34
|
eventType: "Cms/Group/AfterDelete";
|
|
34
35
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<GroupAfterDeleteEvent>>;
|
|
35
36
|
}
|
|
37
|
+
/** Hook into group lifecycle after a group is deleted. */
|
|
36
38
|
export declare const GroupAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<GroupAfterDeleteEvent>>;
|
|
37
39
|
export declare namespace GroupAfterDeleteEventHandler {
|
|
38
40
|
type Interface = IEventHandler<GroupAfterDeleteEvent>;
|
|
@@ -14,6 +14,8 @@ export class GroupBeforeDeleteEvent extends DomainEvent {
|
|
|
14
14
|
return GroupBeforeDeleteEventHandler;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/** Hook into group lifecycle before a group is deleted. */
|
|
17
19
|
export const GroupBeforeDeleteEventHandler = createAbstraction("GroupBeforeDeleteEventHandler");
|
|
18
20
|
/**
|
|
19
21
|
* GroupAfterDeleteEvent - Published after deleting a group
|
|
@@ -24,6 +26,8 @@ export class GroupAfterDeleteEvent extends DomainEvent {
|
|
|
24
26
|
return GroupAfterDeleteEventHandler;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
|
|
30
|
+
/** Hook into group lifecycle after a group is deleted. */
|
|
27
31
|
export const GroupAfterDeleteEventHandler = createAbstraction("GroupAfterDeleteEventHandler");
|
|
28
32
|
/**
|
|
29
33
|
* GroupDeleteErrorEvent - Published when delete fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","GroupBeforeDeleteEvent","eventType","getHandlerAbstraction","GroupBeforeDeleteEventHandler","GroupAfterDeleteEvent","GroupAfterDeleteEventHandler","GroupDeleteErrorEvent","GroupDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsGroup } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface GroupBeforeDeleteEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupAfterDeleteEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupDeleteErrorEventPayload {\n group: CmsGroup;\n error: Error;\n}\n\n/**\n * GroupBeforeDeleteEvent - Published before deleting a group\n */\nexport class GroupBeforeDeleteEvent extends DomainEvent<GroupBeforeDeleteEventPayload> {\n eventType = \"Cms/Group/BeforeDelete\" as const;\n\n getHandlerAbstraction() {\n return GroupBeforeDeleteEventHandler;\n }\n}\n\nexport const GroupBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<GroupBeforeDeleteEvent>\n>(\"GroupBeforeDeleteEventHandler\");\n\nexport namespace GroupBeforeDeleteEventHandler {\n export type Interface = IEventHandler<GroupBeforeDeleteEvent>;\n export type Event = GroupBeforeDeleteEvent;\n}\n\n/**\n * GroupAfterDeleteEvent - Published after deleting a group\n */\nexport class GroupAfterDeleteEvent extends DomainEvent<GroupAfterDeleteEventPayload> {\n eventType = \"Cms/Group/AfterDelete\" as const;\n\n getHandlerAbstraction() {\n return GroupAfterDeleteEventHandler;\n }\n}\n\nexport const GroupAfterDeleteEventHandler = createAbstraction<IEventHandler<GroupAfterDeleteEvent>>(\n \"GroupAfterDeleteEventHandler\"\n);\n\nexport namespace GroupAfterDeleteEventHandler {\n export type Interface = IEventHandler<GroupAfterDeleteEvent>;\n export type Event = GroupAfterDeleteEvent;\n}\n\n/**\n * GroupDeleteErrorEvent - Published when delete fails\n */\nexport class GroupDeleteErrorEvent extends DomainEvent<GroupDeleteErrorEventPayload> {\n eventType = \"Cms/Group/DeleteError\" as const;\n\n getHandlerAbstraction() {\n return GroupDeleteErrorEventHandler;\n }\n}\n\nexport const GroupDeleteErrorEventHandler = createAbstraction<IEventHandler<GroupDeleteErrorEvent>>(\n \"GroupDeleteErrorEventHandler\"\n);\n\nexport namespace GroupDeleteErrorEventHandler {\n export type Interface = IEventHandler<GroupDeleteErrorEvent>;\n export type Event = GroupDeleteErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;;AAItE;AACA;AACA;;AAcA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","GroupBeforeDeleteEvent","eventType","getHandlerAbstraction","GroupBeforeDeleteEventHandler","GroupAfterDeleteEvent","GroupAfterDeleteEventHandler","GroupDeleteErrorEvent","GroupDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsGroup } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface GroupBeforeDeleteEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupAfterDeleteEventPayload {\n group: CmsGroup;\n}\n\nexport interface GroupDeleteErrorEventPayload {\n group: CmsGroup;\n error: Error;\n}\n\n/**\n * GroupBeforeDeleteEvent - Published before deleting a group\n */\nexport class GroupBeforeDeleteEvent extends DomainEvent<GroupBeforeDeleteEventPayload> {\n eventType = \"Cms/Group/BeforeDelete\" as const;\n\n getHandlerAbstraction() {\n return GroupBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into group lifecycle before a group is deleted. */\nexport const GroupBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<GroupBeforeDeleteEvent>\n>(\"GroupBeforeDeleteEventHandler\");\n\nexport namespace GroupBeforeDeleteEventHandler {\n export type Interface = IEventHandler<GroupBeforeDeleteEvent>;\n export type Event = GroupBeforeDeleteEvent;\n}\n\n/**\n * GroupAfterDeleteEvent - Published after deleting a group\n */\nexport class GroupAfterDeleteEvent extends DomainEvent<GroupAfterDeleteEventPayload> {\n eventType = \"Cms/Group/AfterDelete\" as const;\n\n getHandlerAbstraction() {\n return GroupAfterDeleteEventHandler;\n }\n}\n\n/** Hook into group lifecycle after a group is deleted. */\nexport const GroupAfterDeleteEventHandler = createAbstraction<IEventHandler<GroupAfterDeleteEvent>>(\n \"GroupAfterDeleteEventHandler\"\n);\n\nexport namespace GroupAfterDeleteEventHandler {\n export type Interface = IEventHandler<GroupAfterDeleteEvent>;\n export type Event = GroupAfterDeleteEvent;\n}\n\n/**\n * GroupDeleteErrorEvent - Published when delete fails\n */\nexport class GroupDeleteErrorEvent extends DomainEvent<GroupDeleteErrorEventPayload> {\n eventType = \"Cms/Group/DeleteError\" as const;\n\n getHandlerAbstraction() {\n return GroupDeleteErrorEventHandler;\n }\n}\n\nexport const GroupDeleteErrorEventHandler = createAbstraction<IEventHandler<GroupDeleteErrorEvent>>(\n \"GroupDeleteErrorEventHandler\"\n);\n\nexport namespace GroupDeleteErrorEventHandler {\n export type Interface = IEventHandler<GroupDeleteErrorEvent>;\n export type Event = GroupDeleteErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;;AAItE;AACA;AACA;;AAcA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
|