@contentful/node-apps-toolkit
Advanced tools
Comparing version 3.3.0 to 3.4.0
@@ -0,1 +1,8 @@ | ||
# [3.4.0](https://github.com/contentful/node-apps-toolkit/compare/v3.3.0...v3.4.0) (2024-04-09) | ||
### Features | ||
* app event handler and transformation [EXT-5142] ([#594](https://github.com/contentful/node-apps-toolkit/issues/594)) ([7e7298a](https://github.com/contentful/node-apps-toolkit/commit/7e7298a4d9909e4394a86d6903e0eceefb143789)) | ||
# [3.3.0](https://github.com/contentful/node-apps-toolkit/compare/v3.2.1...v3.3.0) (2024-03-27) | ||
@@ -2,0 +9,0 @@ |
@@ -5,2 +5,4 @@ import { AppInstallationProps, AssetProps, BulkActionProps, CommentProps, ContentTypeProps, EntryProps, EnvironmentTemplateInstallationProps, ReleaseActionProps, ReleaseProps, ScheduledActionProps, TaskProps } from 'contentful-management'; | ||
declare const APP_EVENT_FILTER = "appevent.filter"; | ||
declare const APP_EVENT_HANDLER = "appevent.handler"; | ||
declare const APP_EVENT_TRANSFORMATION = "appevent.transformation"; | ||
type GraphQLFieldTypeMappingRequest = { | ||
@@ -54,44 +56,46 @@ type: typeof GRAPHQL_FIELD_MAPPING_EVENT; | ||
type TemplateInstallationActions = 'complete'; | ||
type AppEventFilter<EntityProps, EntityActions> = { | ||
type: typeof APP_EVENT_FILTER; | ||
type AppEventBase<EntityProps, EntityActions> = { | ||
entityProps: EntityProps; | ||
entityAction: EntityActions; | ||
type: typeof APP_EVENT_HANDLER | typeof APP_EVENT_TRANSFORMATION | typeof APP_EVENT_FILTER; | ||
}; | ||
export type AppEventContentTypeFilter = { | ||
export type AppEventContentType = { | ||
entityType: 'ContentType'; | ||
} & AppEventFilter<ContentTypeProps, ContentTypeActions>; | ||
export type AppEventEntryFilter = { | ||
} & AppEventBase<ContentTypeProps, ContentTypeActions>; | ||
export type AppEventEntry = { | ||
entityType: 'Entry'; | ||
} & AppEventFilter<EntryProps, EntryActions>; | ||
export type AppEventAssetFilter = { | ||
} & AppEventBase<EntryProps, EntryActions>; | ||
export type AppEventAsset = { | ||
entityType: 'Asset'; | ||
} & AppEventFilter<AssetProps, AssetActions>; | ||
export type AppEventAppInstallationFilter = { | ||
} & AppEventBase<AssetProps, AssetActions>; | ||
export type AppEventAppInstallation = { | ||
entityType: 'AppInstallation'; | ||
} & AppEventFilter<AppInstallationProps, AppInstallationActions>; | ||
export type AppEventTaskFilter = { | ||
} & AppEventBase<AppInstallationProps, AppInstallationActions>; | ||
export type AppEventTask = { | ||
entityType: 'Task'; | ||
} & AppEventFilter<TaskProps, TaskActions>; | ||
export type AppEventCommentFilter = { | ||
} & AppEventBase<TaskProps, TaskActions>; | ||
export type AppEventComment = { | ||
entityType: 'Comment'; | ||
} & AppEventFilter<CommentProps, CommentActions>; | ||
export type AppEventReleaseFilter = { | ||
} & AppEventBase<CommentProps, CommentActions>; | ||
export type AppEventRelease = { | ||
entityType: 'Release'; | ||
} & AppEventFilter<ReleaseProps, ReleaseActions>; | ||
export type AppEventReleaseActionFilter = { | ||
} & AppEventBase<ReleaseProps, ReleaseActions>; | ||
export type AppEventReleaseAction = { | ||
entityType: 'ReleaseAction'; | ||
} & AppEventFilter<ReleaseActionProps, ReleaseActionActions>; | ||
export type AppEventScheduledActionFilter = { | ||
} & AppEventBase<ReleaseActionProps, ReleaseActionActions>; | ||
export type AppEventScheduledAction = { | ||
entityType: 'ScheduledAction'; | ||
} & AppEventFilter<ScheduledActionProps, ScheduledActionActions>; | ||
export type AppEventBulkActionFilter = { | ||
} & AppEventBase<ScheduledActionProps, ScheduledActionActions>; | ||
export type AppEventBulkAction = { | ||
entityType: 'BulkAction'; | ||
} & AppEventFilter<BulkActionProps, BulkActionActions>; | ||
export type AppEventTemplateInstallationFilter = { | ||
} & AppEventBase<BulkActionProps, BulkActionActions>; | ||
export type AppEventTemplateInstallation = { | ||
entityType: 'TemplateInstallation'; | ||
} & AppEventFilter<EnvironmentTemplateInstallationProps, TemplateInstallationActions>; | ||
export type AppEventFilterRequest = AppEventEntryFilter | AppEventAssetFilter | AppEventContentTypeFilter | AppEventAppInstallationFilter | AppEventTaskFilter | AppEventCommentFilter | AppEventReleaseFilter | AppEventReleaseActionFilter | AppEventScheduledActionFilter | AppEventBulkActionFilter | AppEventTemplateInstallationFilter; | ||
} & AppEventBase<EnvironmentTemplateInstallationProps, TemplateInstallationActions>; | ||
export type AppEventRequest = AppEventEntry | AppEventAsset | AppEventContentType | AppEventAppInstallation | AppEventTask | AppEventComment | AppEventRelease | AppEventReleaseAction | AppEventScheduledAction | AppEventBulkAction | AppEventTemplateInstallation; | ||
export type AppEventFilterResponse = { | ||
result: boolean; | ||
}; | ||
export type AppEventHandlerResponse = any; | ||
export type AppEventTransformationResponse = any; | ||
/** | ||
@@ -115,7 +119,15 @@ * P: Possibility to type app installation parameters | ||
[APP_EVENT_FILTER]: { | ||
event: AppEventFilterRequest; | ||
event: AppEventRequest; | ||
response: AppEventFilterResponse; | ||
}; | ||
[APP_EVENT_HANDLER]: { | ||
event: AppEventRequest; | ||
response: AppEventHandlerResponse; | ||
}; | ||
[APP_EVENT_TRANSFORMATION]: { | ||
event: AppEventRequest; | ||
response: AppEventTransformationResponse; | ||
}; | ||
}; | ||
export type FunctionEvent = GraphQLFieldTypeMappingRequest | GraphQLQueryRequest | AppEventFilterRequest; | ||
export type FunctionEvent = GraphQLFieldTypeMappingRequest | GraphQLQueryRequest | AppEventRequest; | ||
export type FunctionEventType = keyof FunctionEventHandlers; | ||
@@ -122,0 +134,0 @@ /** |
@@ -9,1 +9,3 @@ "use strict"; | ||
const APP_EVENT_FILTER = 'appevent.filter'; | ||
const APP_EVENT_HANDLER = 'appevent.handler'; | ||
const APP_EVENT_TRANSFORMATION = 'appevent.transformation'; |
{ | ||
"name": "@contentful/node-apps-toolkit", | ||
"version": "3.3.0", | ||
"version": "3.4.0", | ||
"description": "A collection of helpers and utilities for creating NodeJS Contentful Apps", | ||
@@ -39,6 +39,6 @@ "main": "lib/index.js", | ||
"@types/mocha": "10.0.6", | ||
"@types/node": "20.11.30", | ||
"@types/node": "20.12.4", | ||
"@types/sinon": "17.0.3", | ||
"@typescript-eslint/eslint-plugin": "7.4.0", | ||
"@typescript-eslint/parser": "7.4.0", | ||
"@typescript-eslint/eslint-plugin": "7.5.0", | ||
"@typescript-eslint/parser": "7.5.0", | ||
"base64url": "3.0.1", | ||
@@ -53,3 +53,3 @@ "dotenv": "16.4.5", | ||
"prettier": "3.2.5", | ||
"semantic-release": "23.0.6", | ||
"semantic-release": "23.0.7", | ||
"serve": "14.2.1", | ||
@@ -59,3 +59,3 @@ "sinon": "17.0.1", | ||
"typedoc": "0.25.12", | ||
"typescript": "5.4.3" | ||
"typescript": "5.4.4" | ||
}, | ||
@@ -62,0 +62,0 @@ "lint-staged": { |
Sorry, the diff of this file is not supported yet
60078
861