@webiny/api-apw 0.0.0-unstable.1e66d121db

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/ContentApwSettingsPlugin.d.ts +10 -0
  2. package/ContentApwSettingsPlugin.js +17 -0
  3. package/ContentApwSettingsPlugin.js.map +1 -0
  4. package/LICENSE +21 -0
  5. package/README.md +34 -0
  6. package/crud/createChangeRequestMethods.d.ts +2 -0
  7. package/crud/createChangeRequestMethods.js +98 -0
  8. package/crud/createChangeRequestMethods.js.map +1 -0
  9. package/crud/createCommentMethods.d.ts +2 -0
  10. package/crud/createCommentMethods.js +99 -0
  11. package/crud/createCommentMethods.js.map +1 -0
  12. package/crud/createContentReviewMethods.d.ts +10 -0
  13. package/crud/createContentReviewMethods.js +552 -0
  14. package/crud/createContentReviewMethods.js.map +1 -0
  15. package/crud/createReviewerMethods.d.ts +2 -0
  16. package/crud/createReviewerMethods.js +99 -0
  17. package/crud/createReviewerMethods.js.map +1 -0
  18. package/crud/createWorkflowMethods.d.ts +2 -0
  19. package/crud/createWorkflowMethods.js +118 -0
  20. package/crud/createWorkflowMethods.js.map +1 -0
  21. package/crud/index.d.ts +2 -0
  22. package/crud/index.js +96 -0
  23. package/crud/index.js.map +1 -0
  24. package/crud/utils.d.ts +21 -0
  25. package/crud/utils.js +138 -0
  26. package/crud/utils.js.map +1 -0
  27. package/index.d.ts +4 -0
  28. package/index.js +36 -0
  29. package/index.js.map +1 -0
  30. package/package.json +76 -0
  31. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.d.ts +10 -0
  32. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +51 -0
  33. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -0
  34. package/plugins/cms/README.md +49 -0
  35. package/plugins/cms/apwEntryPlugins.d.ts +8 -0
  36. package/plugins/cms/apwEntryPlugins.js +46 -0
  37. package/plugins/cms/apwEntryPlugins.js.map +1 -0
  38. package/plugins/cms/index.d.ts +12 -0
  39. package/plugins/cms/index.js +37 -0
  40. package/plugins/cms/index.js.map +1 -0
  41. package/plugins/cms/linkContentReviewToEntry.d.ts +8 -0
  42. package/plugins/cms/linkContentReviewToEntry.js +108 -0
  43. package/plugins/cms/linkContentReviewToEntry.js.map +1 -0
  44. package/plugins/cms/linkWorkflowToEntry.d.ts +8 -0
  45. package/plugins/cms/linkWorkflowToEntry.js +166 -0
  46. package/plugins/cms/linkWorkflowToEntry.js.map +1 -0
  47. package/plugins/cms/triggerContentReview.d.ts +8 -0
  48. package/plugins/cms/triggerContentReview.js +59 -0
  49. package/plugins/cms/triggerContentReview.js.map +1 -0
  50. package/plugins/cms/updateContentReviewStatus.d.ts +10 -0
  51. package/plugins/cms/updateContentReviewStatus.js +97 -0
  52. package/plugins/cms/updateContentReviewStatus.js.map +1 -0
  53. package/plugins/cms/utils.d.ts +27 -0
  54. package/plugins/cms/utils.js +207 -0
  55. package/plugins/cms/utils.js.map +1 -0
  56. package/plugins/context.d.ts +5 -0
  57. package/plugins/context.js +146 -0
  58. package/plugins/context.js.map +1 -0
  59. package/plugins/graphql/changeRequest.gql.d.ts +4 -0
  60. package/plugins/graphql/changeRequest.gql.js +155 -0
  61. package/plugins/graphql/changeRequest.gql.js.map +1 -0
  62. package/plugins/graphql/comment.gql.d.ts +4 -0
  63. package/plugins/graphql/comment.gql.js +160 -0
  64. package/plugins/graphql/comment.gql.js.map +1 -0
  65. package/plugins/graphql/contentReview.gql.d.ts +4 -0
  66. package/plugins/graphql/contentReview.gql.js +382 -0
  67. package/plugins/graphql/contentReview.gql.js.map +1 -0
  68. package/plugins/graphql/reviewer.gql.d.ts +4 -0
  69. package/plugins/graphql/reviewer.gql.js +114 -0
  70. package/plugins/graphql/reviewer.gql.js.map +1 -0
  71. package/plugins/graphql/workflow.gql.d.ts +4 -0
  72. package/plugins/graphql/workflow.gql.js +205 -0
  73. package/plugins/graphql/workflow.gql.js.map +1 -0
  74. package/plugins/graphql.d.ts +4 -0
  75. package/plugins/graphql.js +95 -0
  76. package/plugins/graphql.js.map +1 -0
  77. package/plugins/hooks/createReviewerFromIdentity.d.ts +2 -0
  78. package/plugins/hooks/createReviewerFromIdentity.js +62 -0
  79. package/plugins/hooks/createReviewerFromIdentity.js.map +1 -0
  80. package/plugins/hooks/deleteChangeRequestsAfterContentReview.d.ts +2 -0
  81. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +67 -0
  82. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -0
  83. package/plugins/hooks/deleteCommentsAfterChangeRequest.d.ts +2 -0
  84. package/plugins/hooks/deleteCommentsAfterChangeRequest.js +59 -0
  85. package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -0
  86. package/plugins/hooks/index.d.ts +3 -0
  87. package/plugins/hooks/index.js +71 -0
  88. package/plugins/hooks/index.js.map +1 -0
  89. package/plugins/hooks/initializeContentReviewSteps.d.ts +2 -0
  90. package/plugins/hooks/initializeContentReviewSteps.js +86 -0
  91. package/plugins/hooks/initializeContentReviewSteps.js.map +1 -0
  92. package/plugins/hooks/listContentReviews.d.ts +10 -0
  93. package/plugins/hooks/listContentReviews.js +80 -0
  94. package/plugins/hooks/listContentReviews.js.map +1 -0
  95. package/plugins/hooks/updatePendingChangeRequests.d.ts +2 -0
  96. package/plugins/hooks/updatePendingChangeRequests.js +94 -0
  97. package/plugins/hooks/updatePendingChangeRequests.js.map +1 -0
  98. package/plugins/hooks/updateTotalComments.d.ts +3 -0
  99. package/plugins/hooks/updateTotalComments.js +153 -0
  100. package/plugins/hooks/updateTotalComments.js.map +1 -0
  101. package/plugins/hooks/validateChangeRequest.d.ts +2 -0
  102. package/plugins/hooks/validateChangeRequest.js +64 -0
  103. package/plugins/hooks/validateChangeRequest.js.map +1 -0
  104. package/plugins/hooks/validateComment.d.ts +2 -0
  105. package/plugins/hooks/validateComment.js +47 -0
  106. package/plugins/hooks/validateComment.js.map +1 -0
  107. package/plugins/hooks/validateContentReview.d.ts +2 -0
  108. package/plugins/hooks/validateContentReview.js +38 -0
  109. package/plugins/hooks/validateContentReview.js.map +1 -0
  110. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.d.ts +9 -0
  111. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +51 -0
  112. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +1 -0
  113. package/plugins/pageBuilder/apwContentPagePlugins.d.ts +3 -0
  114. package/plugins/pageBuilder/apwContentPagePlugins.js +30 -0
  115. package/plugins/pageBuilder/apwContentPagePlugins.js.map +1 -0
  116. package/plugins/pageBuilder/extendPbPageSettingsSchema.d.ts +3 -0
  117. package/plugins/pageBuilder/extendPbPageSettingsSchema.js +25 -0
  118. package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +1 -0
  119. package/plugins/pageBuilder/index.d.ts +11 -0
  120. package/plugins/pageBuilder/index.js +45 -0
  121. package/plugins/pageBuilder/index.js.map +1 -0
  122. package/plugins/pageBuilder/linkContentReviewToPage.d.ts +8 -0
  123. package/plugins/pageBuilder/linkContentReviewToPage.js +105 -0
  124. package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -0
  125. package/plugins/pageBuilder/linkWorkflowToPage.d.ts +8 -0
  126. package/plugins/pageBuilder/linkWorkflowToPage.js +194 -0
  127. package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -0
  128. package/plugins/pageBuilder/triggerContentReview.d.ts +8 -0
  129. package/plugins/pageBuilder/triggerContentReview.js +50 -0
  130. package/plugins/pageBuilder/triggerContentReview.js.map +1 -0
  131. package/plugins/pageBuilder/updateContentReviewStatus.d.ts +10 -0
  132. package/plugins/pageBuilder/updateContentReviewStatus.js +79 -0
  133. package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -0
  134. package/plugins/pageBuilder/utils.d.ts +22 -0
  135. package/plugins/pageBuilder/utils.js +184 -0
  136. package/plugins/pageBuilder/utils.js.map +1 -0
  137. package/plugins/utils.d.ts +36 -0
  138. package/plugins/utils.js +193 -0
  139. package/plugins/utils.js.map +1 -0
  140. package/scheduler/createScheduleActionMethods.d.ts +2 -0
  141. package/scheduler/createScheduleActionMethods.js +149 -0
  142. package/scheduler/createScheduleActionMethods.js.map +1 -0
  143. package/scheduler/handlers/executeAction/index.d.ts +13 -0
  144. package/scheduler/handlers/executeAction/index.js +172 -0
  145. package/scheduler/handlers/executeAction/index.js.map +1 -0
  146. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.d.ts +13 -0
  147. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +17 -0
  148. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js.map +1 -0
  149. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.d.ts +11 -0
  150. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +126 -0
  151. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js.map +1 -0
  152. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.d.ts +11 -0
  153. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +163 -0
  154. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -0
  155. package/scheduler/handlers/executeAction/security.d.ts +4 -0
  156. package/scheduler/handlers/executeAction/security.js +68 -0
  157. package/scheduler/handlers/executeAction/security.js.map +1 -0
  158. package/scheduler/handlers/scheduleAction/index.d.ts +22 -0
  159. package/scheduler/handlers/scheduleAction/index.js +164 -0
  160. package/scheduler/handlers/scheduleAction/index.js.map +1 -0
  161. package/scheduler/handlers/scheduleAction/scheduleAction.utils.d.ts +24 -0
  162. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +172 -0
  163. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -0
  164. package/scheduler/handlers/utils.d.ts +33 -0
  165. package/scheduler/handlers/utils.js +168 -0
  166. package/scheduler/handlers/utils.js.map +1 -0
  167. package/scheduler/index.d.ts +2 -0
  168. package/scheduler/index.js +27 -0
  169. package/scheduler/index.js.map +1 -0
  170. package/scheduler/types.d.ts +171 -0
  171. package/scheduler/types.js +34 -0
  172. package/scheduler/types.js.map +1 -0
  173. package/storageOperations/changeRequestStorageOperations.d.ts +3 -0
  174. package/storageOperations/changeRequestStorageOperations.js +122 -0
  175. package/storageOperations/changeRequestStorageOperations.js.map +1 -0
  176. package/storageOperations/commentStorageOperations.d.ts +3 -0
  177. package/storageOperations/commentStorageOperations.js +138 -0
  178. package/storageOperations/commentStorageOperations.js.map +1 -0
  179. package/storageOperations/contentReviewStorageOperations.d.ts +3 -0
  180. package/storageOperations/contentReviewStorageOperations.js +93 -0
  181. package/storageOperations/contentReviewStorageOperations.js.map +1 -0
  182. package/storageOperations/index.d.ts +15 -0
  183. package/storageOperations/index.js +48 -0
  184. package/storageOperations/index.js.map +1 -0
  185. package/storageOperations/models/changeRequest.model.d.ts +3 -0
  186. package/storageOperations/models/changeRequest.model.js +59 -0
  187. package/storageOperations/models/changeRequest.model.js.map +1 -0
  188. package/storageOperations/models/comment.model.d.ts +7 -0
  189. package/storageOperations/models/comment.model.js +60 -0
  190. package/storageOperations/models/comment.model.js.map +1 -0
  191. package/storageOperations/models/contentModelPluginFactory.d.ts +15 -0
  192. package/storageOperations/models/contentModelPluginFactory.js +28 -0
  193. package/storageOperations/models/contentModelPluginFactory.js.map +1 -0
  194. package/storageOperations/models/contentReview.model.d.ts +7 -0
  195. package/storageOperations/models/contentReview.model.js +258 -0
  196. package/storageOperations/models/contentReview.model.js.map +1 -0
  197. package/storageOperations/models/index.d.ts +2 -0
  198. package/storageOperations/models/index.js +115 -0
  199. package/storageOperations/models/index.js.map +1 -0
  200. package/storageOperations/models/reviewer.model.d.ts +3 -0
  201. package/storageOperations/models/reviewer.model.js +55 -0
  202. package/storageOperations/models/reviewer.model.js.map +1 -0
  203. package/storageOperations/models/utils.d.ts +3 -0
  204. package/storageOperations/models/utils.js +37 -0
  205. package/storageOperations/models/utils.js.map +1 -0
  206. package/storageOperations/models/workflow.model.d.ts +12 -0
  207. package/storageOperations/models/workflow.model.js +208 -0
  208. package/storageOperations/models/workflow.model.js.map +1 -0
  209. package/storageOperations/reviewerStorageOperations.d.ts +3 -0
  210. package/storageOperations/reviewerStorageOperations.js +89 -0
  211. package/storageOperations/reviewerStorageOperations.js.map +1 -0
  212. package/storageOperations/types.d.ts +34 -0
  213. package/storageOperations/types.js +5 -0
  214. package/storageOperations/types.js.map +1 -0
  215. package/storageOperations/workflowStorageOperations.d.ts +3 -0
  216. package/storageOperations/workflowStorageOperations.js +109 -0
  217. package/storageOperations/workflowStorageOperations.js.map +1 -0
  218. package/types.d.ts +740 -0
  219. package/types.js +69 -0
  220. package/types.js.map +1 -0
  221. package/utils/contentApwSettingsPlugin.d.ts +9 -0
  222. package/utils/contentApwSettingsPlugin.js +26 -0
  223. package/utils/contentApwSettingsPlugin.js.map +1 -0
  224. package/utils/errors.d.ts +16 -0
  225. package/utils/errors.js +75 -0
  226. package/utils/errors.js.map +1 -0
  227. package/utils/fieldResolver.d.ts +16 -0
  228. package/utils/fieldResolver.js +54 -0
  229. package/utils/fieldResolver.js.map +1 -0
  230. package/utils/resolve.d.ts +3 -0
  231. package/utils/resolve.js +18 -0
  232. package/utils/resolve.js.map +1 -0
package/types.d.ts ADDED
@@ -0,0 +1,740 @@
1
+ import { CmsContext, CmsEntry as BaseCmsEntry, CmsModel, OnEntryBeforePublishTopicParams, OnEntryAfterPublishTopicParams, OnEntryAfterUnpublishTopicParams } from "@webiny/api-headless-cms/types";
2
+ import { Page, OnPageBeforeCreateTopicParams, OnPageBeforeCreateFromTopicParams, OnPageBeforeUpdateTopicParams, OnPageBeforePublishTopicParams, PageSettings } from "@webiny/api-page-builder/types";
3
+ import { Context } from "@webiny/api/types";
4
+ import { PageBuilderContextObject } from "@webiny/api-page-builder/graphql/types";
5
+ import { SecurityIdentity, SecurityPermission } from "@webiny/api-security/types";
6
+ import { I18NLocale } from "@webiny/api-i18n/types";
7
+ import { Tenant } from "@webiny/api-tenancy/types";
8
+ import { Topic } from "@webiny/pubsub/types";
9
+ import { ApwScheduleActionCrud, ScheduleActionContext } from "./scheduler/types";
10
+ import HandlerClient from "@webiny/handler-client/HandlerClient";
11
+ import { PluginsContainer } from "@webiny/plugins";
12
+ import { WcpContextObject } from "@webiny/api-wcp/types";
13
+ export interface ApwCmsEntry extends BaseCmsEntry {
14
+ title: string;
15
+ meta: {
16
+ apw?: {
17
+ contentReviewId?: string | null;
18
+ workflowId?: string | null;
19
+ };
20
+ };
21
+ }
22
+ export interface ApwFile {
23
+ id: string;
24
+ key: string;
25
+ size: number;
26
+ type: string;
27
+ name: string;
28
+ }
29
+ export interface ListWhere {
30
+ /**
31
+ * Fields.
32
+ */
33
+ id?: string;
34
+ id_in?: string[];
35
+ id_not?: string;
36
+ id_not_in?: string[];
37
+ /**
38
+ * Who created the entry?
39
+ */
40
+ createdBy?: string;
41
+ createdBy_not?: string;
42
+ createdBy_in?: string[];
43
+ createdBy_not_in?: string[];
44
+ }
45
+ export interface ListParams {
46
+ where?: ListWhere;
47
+ sort?: string[];
48
+ limit?: number;
49
+ after?: string | null;
50
+ }
51
+ export interface ListMeta {
52
+ /**
53
+ * A cursor for pagination.
54
+ */
55
+ cursor: string | null;
56
+ /**
57
+ * Is there more items to load?
58
+ */
59
+ hasMoreItems: boolean;
60
+ /**
61
+ * Total count of the items in the storage.
62
+ */
63
+ totalCount: number;
64
+ }
65
+ export declare enum ApwContentTypes {
66
+ PAGE = "page",
67
+ CMS_ENTRY = "cms_entry"
68
+ }
69
+ export interface PageSettingsWithWorkflow extends PageSettings {
70
+ apw: {
71
+ workflowId: string;
72
+ contentReviewId: string | null;
73
+ };
74
+ }
75
+ export interface PageWithWorkflow extends Page {
76
+ settings: PageSettingsWithWorkflow;
77
+ }
78
+ export declare type ApwOnPageBeforeCreateTopicParams = OnPageBeforeCreateTopicParams<PageWithWorkflow>;
79
+ export declare type ApwOnPageBeforeCreateFromTopicParams = OnPageBeforeCreateFromTopicParams<PageWithWorkflow>;
80
+ export declare type ApwOnPageBeforeUpdateTopicParams = OnPageBeforeUpdateTopicParams<PageWithWorkflow>;
81
+ export declare type ApwOnPageBeforePublishTopicParams = OnPageBeforePublishTopicParams<PageWithWorkflow>;
82
+ export declare enum WorkflowScopeTypes {
83
+ DEFAULT = "default",
84
+ CUSTOM = "custom"
85
+ }
86
+ export declare enum ApwContentReviewStepStatus {
87
+ DONE = "done",
88
+ ACTIVE = "active",
89
+ INACTIVE = "inactive"
90
+ }
91
+ export declare enum ApwWorkflowApplications {
92
+ PB = "pageBuilder",
93
+ CMS = "cms"
94
+ }
95
+ /**
96
+ * A interface describing the reference to a user that created some data in the database.
97
+ *
98
+ * @category General
99
+ */
100
+ export interface CreatedBy {
101
+ /**
102
+ * ID if the user.
103
+ */
104
+ id: string;
105
+ /**
106
+ * Full name of the user.
107
+ */
108
+ displayName: string | null;
109
+ /**
110
+ * Type of the user (admin, user)
111
+ */
112
+ type: string;
113
+ }
114
+ export interface ApwBaseFields {
115
+ id: string;
116
+ entryId: string;
117
+ createdOn: string;
118
+ savedOn: string;
119
+ createdBy: CreatedBy;
120
+ }
121
+ export interface ApwReviewer extends ApwBaseFields {
122
+ identityId: string;
123
+ displayName: string | null;
124
+ type: string;
125
+ }
126
+ export interface ApwComment extends ApwBaseFields {
127
+ body: Record<string, any>;
128
+ changeRequest: string;
129
+ step: string;
130
+ media: ApwFile;
131
+ }
132
+ export interface ApwChangeRequest extends ApwBaseFields {
133
+ body: Record<string, any>;
134
+ title: string;
135
+ resolved: boolean;
136
+ step: string;
137
+ media: ApwFile;
138
+ }
139
+ export interface ApwContentReviewStep {
140
+ type: ApwWorkflowStepTypes;
141
+ title: string;
142
+ slug: string;
143
+ reviewers: ApwReviewer[];
144
+ status: ApwContentReviewStepStatus;
145
+ pendingChangeRequests: number;
146
+ totalComments: number;
147
+ signOffProvidedOn: string | null;
148
+ signOffProvidedBy: CreatedBy | null;
149
+ }
150
+ export interface ApwContentReview extends ApwBaseFields {
151
+ title: string;
152
+ reviewStatus: ApwContentReviewStatus;
153
+ content: ApwContentReviewContent;
154
+ steps: Array<ApwContentReviewStep>;
155
+ latestCommentId: string | null;
156
+ workflowId: string;
157
+ }
158
+ export interface ApwWorkflow extends ApwBaseFields {
159
+ title: string;
160
+ steps: ApwWorkflowStep[];
161
+ scope: ApwWorkflowScope;
162
+ app: ApwWorkflowApplications;
163
+ }
164
+ interface ApwWorkflowScopeCmsEntry {
165
+ id: string;
166
+ modelId: string;
167
+ }
168
+ export interface ApwWorkflowScope {
169
+ type: WorkflowScopeTypes;
170
+ data: {
171
+ categories?: string[];
172
+ pages?: string[];
173
+ models?: string[];
174
+ entries?: ApwWorkflowScopeCmsEntry[];
175
+ };
176
+ }
177
+ export declare enum ApwWorkflowStepTypes {
178
+ MANDATORY_BLOCKING = "mandatoryBlocking",
179
+ MANDATORY_NON_BLOCKING = "mandatoryNonBlocking",
180
+ NON_MANDATORY = "notMandatory"
181
+ }
182
+ export declare enum ApwContentReviewStatus {
183
+ UNDER_REVIEW = "underReview",
184
+ READY_TO_BE_PUBLISHED = "readyToBePublished",
185
+ PUBLISHED = "published"
186
+ }
187
+ export declare type ApwContentReviewListFilter = ApwContentReviewStatus | "requiresMyAttention";
188
+ export interface ApwWorkflowStep<TReviewer = ApwReviewer> {
189
+ title: string;
190
+ type: ApwWorkflowStepTypes;
191
+ reviewers: TReviewer[];
192
+ id: string;
193
+ }
194
+ export interface ApwContentReviewStep extends ApwWorkflowStep {
195
+ status: ApwContentReviewStepStatus;
196
+ pendingChangeRequests: number;
197
+ }
198
+ export interface CreateApwWorkflowParams<TReviewer = string> {
199
+ app: ApwWorkflowApplications;
200
+ title: string;
201
+ scope: ApwWorkflowScope;
202
+ steps: ApwWorkflowStep<TReviewer>[];
203
+ }
204
+ export interface UpdateApwWorkflowParams<TReviewer = string> {
205
+ title?: string;
206
+ scope?: ApwWorkflowScope;
207
+ steps?: ApwWorkflowStep<TReviewer>[];
208
+ }
209
+ export interface ListWorkflowsParams extends ListParams {
210
+ where?: ListWhere & {
211
+ app?: ApwWorkflowApplications;
212
+ };
213
+ }
214
+ interface CreateReviewerParams {
215
+ identityId: string;
216
+ displayName: string | null;
217
+ type: string;
218
+ }
219
+ interface CreateApwCommentParams {
220
+ body: Record<string, any>;
221
+ changeRequest: string;
222
+ step: string;
223
+ media: ApwFile;
224
+ }
225
+ interface UpdateApwCommentParams {
226
+ body: Record<string, any>;
227
+ }
228
+ interface CreateApwChangeRequestParams {
229
+ title: string;
230
+ step: string;
231
+ body: Record<string, any>;
232
+ resolved: boolean;
233
+ media: Record<string, any>;
234
+ }
235
+ interface UpdateApwChangeRequestParams {
236
+ title: string;
237
+ body: Record<string, any>;
238
+ resolved: boolean;
239
+ media: Record<string, any>;
240
+ }
241
+ declare enum ApwScheduleActionTypes {
242
+ PUBLISH = "publish",
243
+ UNPUBLISH = "unpublish"
244
+ }
245
+ export interface ApwScheduleActionData {
246
+ action: ApwScheduleActionTypes;
247
+ type: ApwContentTypes;
248
+ datetime: string;
249
+ entryId: string;
250
+ /**
251
+ * We will add modelId to the data for now.
252
+ * TODO extract in separate package?
253
+ */
254
+ modelId?: string;
255
+ }
256
+ export interface ApwContentReviewContent {
257
+ id: string;
258
+ type: ApwContentTypes;
259
+ settings: {
260
+ modelId?: string;
261
+ };
262
+ scheduledOn?: string | null;
263
+ scheduledBy?: string | null;
264
+ scheduledActionId?: string | null;
265
+ publishedBy?: string | null;
266
+ }
267
+ export interface CreateApwContentReviewParams {
268
+ content: ApwContentReviewContent;
269
+ reviewStatus: ApwContentReviewStatus;
270
+ workflowId?: string;
271
+ }
272
+ export interface UpdateApwContentReviewParams {
273
+ title?: string;
274
+ steps?: ApwContentReviewStep[];
275
+ reviewStatus?: ApwContentReviewStatus;
276
+ content?: ApwContentReviewContent;
277
+ }
278
+ interface BaseApwCrud<TEntry, TCreateEntryParams, TUpdateEntryParams> {
279
+ get(id: string): Promise<TEntry>;
280
+ create(data: TCreateEntryParams): Promise<TEntry>;
281
+ update(id: string, data: TUpdateEntryParams): Promise<TEntry>;
282
+ delete(id: string): Promise<Boolean>;
283
+ }
284
+ export interface ApwWorkflowCrud extends BaseApwCrud<ApwWorkflow, CreateApwWorkflowParams, UpdateApwWorkflowParams> {
285
+ list(params?: ListWorkflowsParams): Promise<[ApwWorkflow[], ListMeta]>;
286
+ /**
287
+ * Lifecycle events
288
+ */
289
+ onWorkflowBeforeCreate: Topic<OnWorkflowBeforeCreateTopicParams>;
290
+ onWorkflowAfterCreate: Topic<OnWorkflowAfterCreateTopicParams>;
291
+ onWorkflowBeforeUpdate: Topic<OnWorkflowBeforeUpdateTopicParams>;
292
+ onWorkflowAfterUpdate: Topic<OnWorkflowAfterUpdateTopicParams>;
293
+ onWorkflowBeforeDelete: Topic<OnWorkflowBeforeDeleteTopicParams>;
294
+ onWorkflowAfterDelete: Topic<OnWorkflowAfterDeleteTopicParams>;
295
+ }
296
+ export interface ApwReviewerListParams extends ListParams {
297
+ where: ListParams["where"] & {
298
+ identityId?: string;
299
+ };
300
+ }
301
+ export interface ApwReviewerCrud extends BaseApwCrud<ApwReviewer, CreateReviewerParams, UpdateApwReviewerData> {
302
+ list(params: ApwReviewerListParams): Promise<[ApwReviewer[], ListMeta]>;
303
+ /**
304
+ * Lifecycle events
305
+ */
306
+ onReviewerBeforeCreate: Topic<OnReviewerBeforeCreateTopicParams>;
307
+ onReviewerAfterCreate: Topic<OnReviewerAfterCreateTopicParams>;
308
+ onReviewerBeforeUpdate: Topic<OnReviewerBeforeUpdateTopicParams>;
309
+ onReviewerAfterUpdate: Topic<OnReviewerAfterUpdateTopicParams>;
310
+ onReviewerBeforeDelete: Topic<OnReviewerBeforeDeleteTopicParams>;
311
+ onReviewerAfterDelete: Topic<OnReviewerAfterDeleteTopicParams>;
312
+ }
313
+ export interface ApwCommentListParams extends ListParams {
314
+ where: ListParams["where"] & {
315
+ changeRequest?: {
316
+ id?: string;
317
+ };
318
+ };
319
+ }
320
+ export interface ApwCommentCrud extends BaseApwCrud<ApwComment, CreateApwCommentParams, UpdateApwCommentParams> {
321
+ list(params: ApwCommentListParams): Promise<[ApwComment[], ListMeta]>;
322
+ /**
323
+ * Lifecycle events
324
+ */
325
+ onCommentBeforeCreate: Topic<OnCommentBeforeCreateTopicParams>;
326
+ onCommentAfterCreate: Topic<OnCommentAfterCreateTopicParams>;
327
+ onCommentBeforeUpdate: Topic<OnCommentBeforeUpdateTopicParams>;
328
+ onCommentAfterUpdate: Topic<OnCommentAfterUpdateTopicParams>;
329
+ onCommentBeforeDelete: Topic<OnCommentBeforeDeleteTopicParams>;
330
+ onCommentAfterDelete: Topic<OnCommentAfterDeleteTopicParams>;
331
+ }
332
+ export interface ApwChangeRequestListParams extends ListParams {
333
+ where: ListParams["where"] & {
334
+ step?: string;
335
+ };
336
+ }
337
+ export interface ApwChangeRequestCrud extends BaseApwCrud<ApwChangeRequest, CreateApwChangeRequestParams, UpdateApwChangeRequestParams> {
338
+ list(params: ApwChangeRequestListParams): Promise<[ApwChangeRequest[], ListMeta]>;
339
+ /**
340
+ * Lifecycle events
341
+ */
342
+ onChangeRequestBeforeCreate: Topic<OnChangeRequestBeforeCreateTopicParams>;
343
+ onChangeRequestAfterCreate: Topic<OnChangeRequestAfterCreateTopicParams>;
344
+ onChangeRequestBeforeUpdate: Topic<OnChangeRequestBeforeUpdateTopicParams>;
345
+ onChangeRequestAfterUpdate: Topic<OnChangeRequestAfterUpdateTopicParams>;
346
+ onChangeRequestBeforeDelete: Topic<OnChangeRequestBeforeDeleteTopicParams>;
347
+ onChangeRequestAfterDelete: Topic<OnChangeRequestAfterDeleteTopicParams>;
348
+ }
349
+ export interface ApwContentReviewCrud extends BaseApwCrud<ApwContentReview, CreateApwContentReviewParams, UpdateApwContentReviewParams> {
350
+ list(params: ApwContentReviewListParams): Promise<[ApwContentReview[], ListMeta]>;
351
+ provideSignOff(id: string, step: string): Promise<Boolean>;
352
+ retractSignOff(id: string, step: string): Promise<Boolean>;
353
+ isReviewRequired(data: ApwContentReviewContent): Promise<{
354
+ isReviewRequired: boolean;
355
+ contentReviewId?: string | null;
356
+ }>;
357
+ publishContent(id: string, datetime?: string): Promise<Boolean>;
358
+ unpublishContent(id: string, datetime?: string): Promise<Boolean>;
359
+ scheduleAction(data: ApwScheduleActionData): Promise<string>;
360
+ deleteScheduledAction(id: string): Promise<boolean>;
361
+ /**
362
+ * Lifecycle events
363
+ */
364
+ onContentReviewBeforeCreate: Topic<OnContentReviewBeforeCreateTopicParams>;
365
+ onContentReviewAfterCreate: Topic<OnContentReviewAfterCreateTopicParams>;
366
+ onContentReviewBeforeUpdate: Topic<OnContentReviewBeforeUpdateTopicParams>;
367
+ onContentReviewAfterUpdate: Topic<OnContentReviewAfterUpdateTopicParams>;
368
+ onContentReviewBeforeDelete: Topic<OnContentReviewBeforeDeleteTopicParams>;
369
+ onContentReviewAfterDelete: Topic<OnContentReviewAfterDeleteTopicParams>;
370
+ }
371
+ export declare type ContentGetter = (id: string, settings: {
372
+ modelId?: string;
373
+ }) => Promise<PageWithWorkflow | ApwCmsEntry | null>;
374
+ export declare type ContentPublisher = (id: string, settings: {
375
+ modelId?: string;
376
+ }) => Promise<Boolean | null>;
377
+ export declare type ContentUnPublisher = (id: string, settings: {
378
+ modelId?: string;
379
+ }) => Promise<Boolean | null>;
380
+ export interface AdvancedPublishingWorkflow {
381
+ addContentGetter: (type: ApwContentTypes, func: ContentGetter) => void;
382
+ getContentGetter: (type: ApwContentTypes) => ContentGetter;
383
+ addContentPublisher: (type: ApwContentTypes, func: ContentPublisher) => void;
384
+ getContentPublisher: (type: ApwContentTypes) => ContentPublisher;
385
+ addContentUnPublisher: (type: ApwContentTypes, func: ContentUnPublisher) => void;
386
+ getContentUnPublisher: (type: ApwContentTypes) => ContentUnPublisher;
387
+ workflow: ApwWorkflowCrud;
388
+ reviewer: ApwReviewerCrud;
389
+ comment: ApwCommentCrud;
390
+ changeRequest: ApwChangeRequestCrud;
391
+ contentReview: ApwContentReviewCrud;
392
+ scheduleAction: ApwScheduleActionCrud;
393
+ }
394
+ export interface ApwContext extends Context, CmsContext {
395
+ apw: AdvancedPublishingWorkflow;
396
+ pageBuilder: PageBuilderContextObject;
397
+ wcp: WcpContextObject;
398
+ scheduleAction: ScheduleActionContext["scheduleAction"];
399
+ }
400
+ export interface LifeCycleHookCallbackParams {
401
+ apw: ApwContext["apw"];
402
+ security: ApwContext["security"];
403
+ cms?: ApwContext["cms"];
404
+ }
405
+ export interface CreateApwParams {
406
+ getLocale: () => I18NLocale;
407
+ getIdentity: () => SecurityIdentity;
408
+ getTenant: () => Tenant;
409
+ getPermission: (name: string) => Promise<SecurityPermission | null>;
410
+ storageOperations: ApwStorageOperations;
411
+ scheduler: ApwScheduleActionCrud;
412
+ handlerClient: HandlerClient;
413
+ plugins: PluginsContainer;
414
+ }
415
+ interface StorageOperationsGetReviewerParams {
416
+ id: string;
417
+ }
418
+ declare type StorageOperationsListReviewersParams = ApwReviewerListParams;
419
+ interface CreateApwReviewerData {
420
+ identityId: string;
421
+ displayName: string | null;
422
+ type: string;
423
+ }
424
+ interface UpdateApwReviewerData {
425
+ identityId: string;
426
+ displayName: string | null;
427
+ type: string;
428
+ }
429
+ interface StorageOperationsCreateReviewerParams {
430
+ data: CreateApwReviewerData;
431
+ }
432
+ interface StorageOperationsUpdateReviewerParams {
433
+ id: string;
434
+ data: UpdateApwReviewerData;
435
+ }
436
+ interface StorageOperationsDeleteReviewerParams {
437
+ id: string;
438
+ }
439
+ interface StorageOperationsGetParams {
440
+ id: string;
441
+ }
442
+ interface StorageOperationsDeleteParams {
443
+ id: string;
444
+ }
445
+ declare type StorageOperationsGetWorkflowParams = StorageOperationsGetParams;
446
+ declare type StorageOperationsListWorkflowsParams = ListParams;
447
+ interface StorageOperationsCreateWorkflowParams {
448
+ data: CreateApwWorkflowParams;
449
+ }
450
+ interface StorageOperationsUpdateWorkflowParams {
451
+ id: string;
452
+ data: UpdateApwWorkflowParams;
453
+ }
454
+ declare type StorageOperationsDeleteWorkflowParams = StorageOperationsDeleteParams;
455
+ declare type StorageOperationsGetContentReviewParams = StorageOperationsGetParams;
456
+ export interface ApwContentReviewListParams extends ListParams {
457
+ where?: ListWhere & {
458
+ reviewStatus?: ApwContentReviewListFilter;
459
+ title?: string;
460
+ title_contains?: string;
461
+ };
462
+ }
463
+ declare type StorageOperationsListContentReviewsParams = ApwContentReviewListParams;
464
+ interface StorageOperationsCreateContentReviewParams {
465
+ data: CreateApwContentReviewParams;
466
+ }
467
+ interface StorageOperationsUpdateContentReviewParams {
468
+ id: string;
469
+ data: UpdateApwContentReviewParams;
470
+ }
471
+ declare type StorageOperationsDeleteContentReviewParams = StorageOperationsDeleteParams;
472
+ declare type StorageOperationsGetChangeRequestParams = StorageOperationsGetParams;
473
+ declare type StorageOperationsListChangeRequestsParams = ApwChangeRequestListParams;
474
+ interface StorageOperationsCreateChangeRequestParams {
475
+ data: CreateApwChangeRequestParams;
476
+ }
477
+ interface StorageOperationsUpdateChangeRequestParams {
478
+ id: string;
479
+ data: UpdateApwChangeRequestParams;
480
+ }
481
+ declare type StorageOperationsDeleteChangeRequestParams = StorageOperationsDeleteParams;
482
+ declare type StorageOperationsGetCommentParams = StorageOperationsGetParams;
483
+ declare type StorageOperationsDeleteCommentParams = StorageOperationsDeleteParams;
484
+ declare type StorageOperationsListCommentsParams = ApwCommentListParams;
485
+ interface StorageOperationsCreateCommentParams {
486
+ data: CreateApwCommentParams;
487
+ }
488
+ interface StorageOperationsUpdateCommentParams {
489
+ id: string;
490
+ data: UpdateApwCommentParams;
491
+ }
492
+ export interface ApwReviewerStorageOperations {
493
+ getReviewer(params: StorageOperationsGetReviewerParams): Promise<ApwReviewer>;
494
+ listReviewers(params: StorageOperationsListReviewersParams): Promise<[ApwReviewer[], ListMeta]>;
495
+ createReviewer(params: StorageOperationsCreateReviewerParams): Promise<ApwReviewer>;
496
+ updateReviewer(params: StorageOperationsUpdateReviewerParams): Promise<ApwReviewer>;
497
+ deleteReviewer(params: StorageOperationsDeleteReviewerParams): Promise<Boolean>;
498
+ }
499
+ export interface ApwWorkflowStorageOperations {
500
+ getWorkflow(params: StorageOperationsGetWorkflowParams): Promise<ApwWorkflow>;
501
+ listWorkflows(params: StorageOperationsListWorkflowsParams): Promise<[ApwWorkflow[], ListMeta]>;
502
+ createWorkflow(params: StorageOperationsCreateWorkflowParams): Promise<ApwWorkflow>;
503
+ updateWorkflow(params: StorageOperationsUpdateWorkflowParams): Promise<ApwWorkflow>;
504
+ deleteWorkflow(params: StorageOperationsDeleteWorkflowParams): Promise<Boolean>;
505
+ }
506
+ export interface ApwContentReviewStorageOperations {
507
+ getContentReview(params: StorageOperationsGetContentReviewParams): Promise<ApwContentReview>;
508
+ listContentReviews(params: StorageOperationsListContentReviewsParams): Promise<[ApwContentReview[], ListMeta]>;
509
+ createContentReview(params: StorageOperationsCreateContentReviewParams): Promise<ApwContentReview>;
510
+ updateContentReview(params: StorageOperationsUpdateContentReviewParams): Promise<ApwContentReview>;
511
+ deleteContentReview(params: StorageOperationsDeleteContentReviewParams): Promise<Boolean>;
512
+ }
513
+ export interface ApwChangeRequestStorageOperations {
514
+ getChangeRequest(params: StorageOperationsGetChangeRequestParams): Promise<ApwChangeRequest>;
515
+ listChangeRequests(params: StorageOperationsListChangeRequestsParams): Promise<[ApwChangeRequest[], ListMeta]>;
516
+ createChangeRequest(params: StorageOperationsCreateChangeRequestParams): Promise<ApwChangeRequest>;
517
+ updateChangeRequest(params: StorageOperationsUpdateChangeRequestParams): Promise<ApwChangeRequest>;
518
+ deleteChangeRequest(params: StorageOperationsDeleteChangeRequestParams): Promise<Boolean>;
519
+ }
520
+ export interface ApwCommentStorageOperations {
521
+ getComment(params: StorageOperationsGetCommentParams): Promise<ApwComment>;
522
+ listComments(params: StorageOperationsListCommentsParams): Promise<[ApwComment[], ListMeta]>;
523
+ createComment(params: StorageOperationsCreateCommentParams): Promise<ApwComment>;
524
+ updateComment(params: StorageOperationsUpdateCommentParams): Promise<ApwComment>;
525
+ deleteComment(params: StorageOperationsDeleteCommentParams): Promise<Boolean>;
526
+ }
527
+ export interface ApwStorageOperations extends ApwReviewerStorageOperations, ApwWorkflowStorageOperations, ApwContentReviewStorageOperations, ApwChangeRequestStorageOperations, ApwCommentStorageOperations {
528
+ }
529
+ /**
530
+ * @category Lifecycle events
531
+ */
532
+ export interface OnCommentBeforeCreateTopicParams {
533
+ input: CreateApwCommentParams;
534
+ }
535
+ /**
536
+ * @category Lifecycle events
537
+ */
538
+ export interface OnCommentAfterCreateTopicParams {
539
+ comment: ApwComment;
540
+ }
541
+ /**
542
+ * @category Lifecycle events
543
+ */
544
+ export interface OnCommentBeforeUpdateTopicParams {
545
+ original: ApwComment;
546
+ input: Record<string, any>;
547
+ }
548
+ /**
549
+ * @category Lifecycle events
550
+ */
551
+ export interface OnCommentAfterUpdateTopicParams {
552
+ original: ApwComment;
553
+ comment: ApwComment;
554
+ input: Record<string, any>;
555
+ }
556
+ /**
557
+ * @category Lifecycle events
558
+ */
559
+ export interface OnCommentBeforeDeleteTopicParams {
560
+ comment: ApwComment;
561
+ }
562
+ /**
563
+ * @category Lifecycle events
564
+ */
565
+ export interface OnCommentAfterDeleteTopicParams {
566
+ comment: ApwComment;
567
+ }
568
+ /**
569
+ * @category Lifecycle events
570
+ */
571
+ export interface OnChangeRequestBeforeCreateTopicParams {
572
+ input: CreateApwChangeRequestParams;
573
+ }
574
+ /**
575
+ * @category Lifecycle events
576
+ */
577
+ export interface OnChangeRequestAfterCreateTopicParams {
578
+ changeRequest: ApwChangeRequest;
579
+ }
580
+ /**
581
+ * @category Lifecycle events
582
+ */
583
+ export interface OnChangeRequestBeforeUpdateTopicParams {
584
+ original: ApwChangeRequest;
585
+ input: Record<string, any>;
586
+ }
587
+ /**
588
+ * @category Lifecycle events
589
+ */
590
+ export interface OnChangeRequestAfterUpdateTopicParams {
591
+ original: ApwChangeRequest;
592
+ changeRequest: ApwChangeRequest;
593
+ input: Record<string, any>;
594
+ }
595
+ /**
596
+ * @category Lifecycle events
597
+ */
598
+ export interface OnChangeRequestBeforeDeleteTopicParams {
599
+ changeRequest: ApwChangeRequest;
600
+ }
601
+ /**
602
+ * @category Lifecycle events
603
+ */
604
+ export interface OnChangeRequestAfterDeleteTopicParams {
605
+ changeRequest: ApwChangeRequest;
606
+ }
607
+ /**
608
+ * @category Lifecycle events
609
+ */
610
+ export interface OnContentReviewBeforeCreateTopicParams {
611
+ input: CreateApwContentReviewParams;
612
+ }
613
+ /**
614
+ * @category Lifecycle events
615
+ */
616
+ export interface OnContentReviewAfterCreateTopicParams {
617
+ contentReview: ApwContentReview;
618
+ }
619
+ /**
620
+ * @category Lifecycle events
621
+ */
622
+ export interface OnContentReviewBeforeUpdateTopicParams {
623
+ original: ApwContentReview;
624
+ input: Record<string, any>;
625
+ }
626
+ /**
627
+ * @category Lifecycle events
628
+ */
629
+ export interface OnContentReviewAfterUpdateTopicParams {
630
+ original: ApwContentReview;
631
+ contentReview: ApwContentReview;
632
+ input: Record<string, any>;
633
+ }
634
+ /**
635
+ * @category Lifecycle events
636
+ */
637
+ export interface OnContentReviewBeforeDeleteTopicParams {
638
+ contentReview: ApwContentReview;
639
+ }
640
+ /**
641
+ * @category Lifecycle events
642
+ */
643
+ export interface OnContentReviewAfterDeleteTopicParams {
644
+ contentReview: ApwContentReview;
645
+ }
646
+ export interface CreateApwReviewerParams {
647
+ type: string;
648
+ }
649
+ /**
650
+ * @category Lifecycle events
651
+ */
652
+ export interface OnReviewerBeforeCreateTopicParams {
653
+ input: CreateApwReviewerParams;
654
+ }
655
+ /**
656
+ * @category Lifecycle events
657
+ */
658
+ export interface OnReviewerAfterCreateTopicParams {
659
+ reviewer: ApwReviewer;
660
+ }
661
+ /**
662
+ * @category Lifecycle events
663
+ */
664
+ export interface OnReviewerBeforeUpdateTopicParams {
665
+ original: ApwReviewer;
666
+ input: Record<string, any>;
667
+ }
668
+ /**
669
+ * @category Lifecycle events
670
+ */
671
+ export interface OnReviewerAfterUpdateTopicParams {
672
+ original: ApwReviewer;
673
+ reviewer: ApwReviewer;
674
+ input: Record<string, any>;
675
+ }
676
+ /**
677
+ * @category Lifecycle events
678
+ */
679
+ export interface OnReviewerBeforeDeleteTopicParams {
680
+ reviewer: ApwReviewer;
681
+ }
682
+ /**
683
+ * @category Lifecycle events
684
+ */
685
+ export interface OnReviewerAfterDeleteTopicParams {
686
+ reviewer: ApwReviewer;
687
+ }
688
+ /**
689
+ * @category Lifecycle events
690
+ */
691
+ export interface OnWorkflowBeforeCreateTopicParams {
692
+ input: CreateApwWorkflowParams;
693
+ }
694
+ /**
695
+ * @category Lifecycle events
696
+ */
697
+ export interface OnWorkflowAfterCreateTopicParams {
698
+ workflow: ApwWorkflow;
699
+ }
700
+ /**
701
+ * @category Lifecycle events
702
+ */
703
+ export interface OnWorkflowBeforeUpdateTopicParams {
704
+ original: ApwWorkflow;
705
+ input: Record<string, any>;
706
+ }
707
+ /**
708
+ * @category Lifecycle events
709
+ */
710
+ export interface OnWorkflowAfterUpdateTopicParams {
711
+ original: ApwWorkflow;
712
+ workflow: ApwWorkflow;
713
+ input: Record<string, any>;
714
+ }
715
+ /**
716
+ * @category Lifecycle events
717
+ */
718
+ export interface OnWorkflowBeforeDeleteTopicParams {
719
+ workflow: ApwWorkflow;
720
+ }
721
+ /**
722
+ * @category Lifecycle events
723
+ */
724
+ export interface OnWorkflowAfterDeleteTopicParams {
725
+ workflow: ApwWorkflow;
726
+ }
727
+ export declare type WorkflowModelDefinition = Pick<CmsModel, "name" | "modelId" | "layout" | "titleFieldId" | "description" | "fields" | "isPrivate">;
728
+ /**
729
+ * Headless CMS
730
+ */
731
+ export interface OnCmsEntryBeforePublishTopicParams extends Omit<OnEntryBeforePublishTopicParams, "entry"> {
732
+ entry: ApwCmsEntry;
733
+ }
734
+ export interface OnCmsEntryAfterPublishTopicParams extends Omit<OnEntryAfterPublishTopicParams, "entry"> {
735
+ entry: ApwCmsEntry;
736
+ }
737
+ export interface OnCmsEntryAfterUnpublishTopicParams extends Omit<OnEntryAfterUnpublishTopicParams, "entry"> {
738
+ entry: ApwCmsEntry;
739
+ }
740
+ export {};