@webiny/api-apw 5.23.0 → 5.24.0-beta.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-apw",
3
- "version": "5.23.0",
3
+ "version": "5.24.0-beta.0",
4
4
  "keywords": [
5
5
  "apw:base"
6
6
  ],
@@ -19,20 +19,20 @@
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
21
  "@babel/runtime": "7.16.7",
22
- "@webiny/api-headless-cms": "5.23.0",
23
- "@webiny/api-i18n": "5.23.0",
24
- "@webiny/api-i18n-content": "5.23.0",
25
- "@webiny/api-i18n-ddb": "5.23.0",
26
- "@webiny/api-page-builder": "5.23.0",
27
- "@webiny/api-page-builder-so-ddb": "5.23.0",
28
- "@webiny/api-security": "5.23.0",
29
- "@webiny/api-tenancy": "5.23.0",
30
- "@webiny/error": "5.23.0",
31
- "@webiny/handler": "5.23.0",
32
- "@webiny/handler-aws": "5.23.0",
33
- "@webiny/handler-graphql": "5.23.0",
34
- "@webiny/plugins": "5.23.0",
35
- "@webiny/pubsub": "5.23.0",
22
+ "@webiny/api-headless-cms": "5.24.0-beta.0",
23
+ "@webiny/api-i18n": "5.24.0-beta.0",
24
+ "@webiny/api-i18n-content": "5.24.0-beta.0",
25
+ "@webiny/api-i18n-ddb": "5.24.0-beta.0",
26
+ "@webiny/api-page-builder": "5.24.0-beta.0",
27
+ "@webiny/api-page-builder-so-ddb": "5.24.0-beta.0",
28
+ "@webiny/api-security": "5.24.0-beta.0",
29
+ "@webiny/api-tenancy": "5.24.0-beta.0",
30
+ "@webiny/error": "5.24.0-beta.0",
31
+ "@webiny/handler": "5.24.0-beta.0",
32
+ "@webiny/handler-aws": "5.24.0-beta.0",
33
+ "@webiny/handler-graphql": "5.24.0-beta.0",
34
+ "@webiny/plugins": "5.24.0-beta.0",
35
+ "@webiny/pubsub": "5.24.0-beta.0",
36
36
  "lodash": "4.17.21"
37
37
  },
38
38
  "devDependencies": {
@@ -40,13 +40,13 @@
40
40
  "@babel/core": "^7.5.5",
41
41
  "@babel/preset-env": "^7.5.5",
42
42
  "@babel/preset-flow": "^7.0.0",
43
- "@webiny/api-security-so-ddb": "^5.23.0",
44
- "@webiny/api-tenancy-so-ddb": "^5.23.0",
45
- "@webiny/cli": "^5.23.0",
46
- "@webiny/project-utils": "^5.23.0",
43
+ "@webiny/api-security-so-ddb": "^5.24.0-beta.0",
44
+ "@webiny/api-tenancy-so-ddb": "^5.24.0-beta.0",
45
+ "@webiny/cli": "^5.24.0-beta.0",
46
+ "@webiny/project-utils": "^5.24.0-beta.0",
47
47
  "apollo-graphql": "^0.4.1",
48
48
  "get-yarn-workspaces": "^1.0.2",
49
- "graphql": "^14.6.0",
49
+ "graphql": "^15.7.2",
50
50
  "jest": "^26.6.3",
51
51
  "mdbid": "^1.0.0",
52
52
  "prettier": "^2.3.2",
@@ -63,5 +63,5 @@
63
63
  "build": "yarn webiny run build",
64
64
  "watch": "yarn webiny run watch"
65
65
  },
66
- "gitHead": "eaa0003e39194d687ab5397c08eeccdb3557fb28"
66
+ "gitHead": "05b90b92bbaf2ef3adf275d008c4641580cf5f42"
67
67
  }
@@ -27,15 +27,16 @@ const deleteChangeRequestsWithContentReview = ({
27
27
  hasMoreItems: true,
28
28
  cursor: null
29
29
  };
30
- let changeRequests = [];
31
30
  /**
32
31
  * Paginate through change requests.
33
32
  */
34
33
 
35
34
  while (meta.hasMoreItems) {
35
+ let changeRequests = [];
36
36
  /**
37
37
  * Get all change requests.
38
38
  */
39
+
39
40
  try {
40
41
  [changeRequests, meta] = await apw.changeRequest.list({
41
42
  where: {
@@ -18,15 +18,16 @@ const deleteCommentsAfterChangeRequest = ({
18
18
  hasMoreItems: true,
19
19
  cursor: null
20
20
  };
21
- let comments = [];
22
21
  /**
23
22
  * Paginate through comments.
24
23
  */
25
24
 
26
25
  while (meta.hasMoreItems) {
26
+ let comments = [];
27
27
  /**
28
28
  * Get all comments.
29
29
  */
30
+
30
31
  try {
31
32
  [comments, meta] = await apw.comment.list({
32
33
  where: {
@@ -1,9 +1,9 @@
1
1
  import { LifeCycleHookCallbackParams } from "../../types";
2
2
  import { PageBuilderContextObject } from "@webiny/api-page-builder/graphql/types";
3
- interface PageMethods {
3
+ interface PageMethods extends LifeCycleHookCallbackParams {
4
4
  getPage: PageBuilderContextObject["getPage"];
5
5
  updatePage: PageBuilderContextObject["updatePage"];
6
6
  onBeforePageCreate: PageBuilderContextObject["onBeforePageCreate"];
7
7
  }
8
- export declare const linkWorkflowToPage: ({ apw, getPage, updatePage, onBeforePageCreate }: LifeCycleHookCallbackParams & PageMethods) => void;
8
+ export declare const linkWorkflowToPage: ({ apw, getPage, updatePage, onBeforePageCreate }: PageMethods) => void;
9
9
  export {};
@@ -1,9 +1,13 @@
1
- import { CmsContext, HeadlessCms } from "@webiny/api-headless-cms/types";
1
+ import { CmsContext, CmsEntry, HeadlessCms } from "@webiny/api-headless-cms/types";
2
2
  import { ApwStorageOperations } from "../types";
3
3
  export interface CreateApwStorageOperationsParams {
4
4
  cms: HeadlessCms;
5
5
  getCmsContext: () => CmsContext;
6
6
  }
7
- export declare function getFieldValues(object: any, fields: any): any;
7
+ /**
8
+ * Using any because value can be a lot of types.
9
+ * TODO @ts-refactor figure out correct types.
10
+ */
11
+ export declare function getFieldValues(entry: CmsEntry, fields: string[]): any;
8
12
  export declare const baseFields: string[];
9
13
  export declare const createStorageOperations: ({ cms, getCmsContext }: CreateApwStorageOperationsParams) => ApwStorageOperations;
@@ -28,8 +28,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
28
28
 
29
29
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
30
 
31
- function getFieldValues(object, fields) {
32
- return _objectSpread(_objectSpread({}, (0, _pick.default)(object, fields)), object.values);
31
+ /**
32
+ * Using any because value can be a lot of types.
33
+ * TODO @ts-refactor figure out correct types.
34
+ */
35
+ function getFieldValues(entry, fields) {
36
+ return _objectSpread(_objectSpread({}, (0, _pick.default)(entry, fields)), entry.values);
33
37
  }
34
38
 
35
39
  const baseFields = ["id", "createdBy", "createdOn", "savedOn"];
@@ -1,7 +1,2 @@
1
- export declare const createChangeRequestModelDefinition: () => {
2
- name: string;
3
- modelId: string;
4
- titleFieldId: string;
5
- layout: string[][];
6
- fields: import("@webiny/api-headless-cms/types").CmsModelField[];
7
- };
1
+ import { WorkflowModelDefinition } from "../../types";
2
+ export declare const createChangeRequestModelDefinition: () => WorkflowModelDefinition;
@@ -41,12 +41,14 @@ const stepField = () => (0, _utils.createModelField)({
41
41
  }]
42
42
  });
43
43
 
44
- const createChangeRequestModelDefinition = () => ({
45
- name: "APW - Change Request",
46
- modelId: "apwChangeRequestModelDefinition",
47
- titleFieldId: "changeRequest_title",
48
- layout: [["changeRequest_body"], ["changeRequest_title"]],
49
- fields: [bodyField(), titleField(), resolvedField(), mediaField(), stepField()]
50
- });
44
+ const createChangeRequestModelDefinition = () => {
45
+ return {
46
+ name: "APW - Change Request",
47
+ modelId: "apwChangeRequestModelDefinition",
48
+ titleFieldId: "changeRequest_title",
49
+ layout: [["changeRequest_body"], ["changeRequest_title"]],
50
+ fields: [bodyField(), titleField(), resolvedField(), mediaField(), stepField()]
51
+ };
52
+ };
51
53
 
52
54
  exports.createChangeRequestModelDefinition = createChangeRequestModelDefinition;
@@ -1,9 +1,6 @@
1
- export declare const createCommentModelDefinition: ({ modelId }: {
2
- modelId: any;
3
- }) => {
4
- name: string;
1
+ import { WorkflowModelDefinition } from "../../types";
2
+ interface CreateCommentModelDefinitionParams {
5
3
  modelId: string;
6
- titleFieldId: string;
7
- layout: string[][];
8
- fields: import("@webiny/api-headless-cms/types").CmsModelField[];
9
- };
4
+ }
5
+ export declare const createCommentModelDefinition: ({ modelId }: CreateCommentModelDefinitionParams) => WorkflowModelDefinition;
6
+ export {};
@@ -26,12 +26,14 @@ const changeRequestRef = modelId => (0, _utils.createModelField)({
26
26
 
27
27
  const createCommentModelDefinition = ({
28
28
  modelId
29
- }) => ({
30
- name: "APW - Comment",
31
- modelId: "apwCommentModelDefinition",
32
- titleFieldId: "displayName",
33
- layout: [["comment_body"], ["comment_displayName"]],
34
- fields: [commentBody(), changeRequestRef(modelId)]
35
- });
29
+ }) => {
30
+ return {
31
+ name: "APW - Comment",
32
+ modelId: "apwCommentModelDefinition",
33
+ titleFieldId: "displayName",
34
+ layout: [["comment_body"], ["comment_displayName"]],
35
+ fields: [commentBody(), changeRequestRef(modelId)]
36
+ };
37
+ };
36
38
 
37
39
  exports.createCommentModelDefinition = createCommentModelDefinition;
@@ -1,25 +1,6 @@
1
- export declare const createContentReviewModelDefinition: ({ reviewerModelId }: {
2
- reviewerModelId: any;
3
- }) => {
4
- name: string;
5
- modelId: string;
6
- titleFieldId: string;
7
- layout: string[][];
8
- fields: (import("@webiny/api-headless-cms/types").CmsModelField | {
9
- id: string;
10
- label: string;
11
- type: string;
12
- settings: {
13
- fields: any;
14
- layout: any;
15
- };
16
- listValidation: any[];
17
- validation: any[];
18
- fieldId: string;
19
- multipleValues: boolean;
20
- predefinedValues: {
21
- values: any[];
22
- enabled: boolean;
23
- };
24
- })[];
25
- };
1
+ import { WorkflowModelDefinition } from "../../types";
2
+ interface CreateContentReviewModelDefinitionParams {
3
+ reviewerModelId: string;
4
+ }
5
+ export declare const createContentReviewModelDefinition: ({ reviewerModelId }: CreateContentReviewModelDefinitionParams) => WorkflowModelDefinition;
6
+ export {};
@@ -170,12 +170,14 @@ const stepsField = fields => ({
170
170
 
171
171
  const createContentReviewModelDefinition = ({
172
172
  reviewerModelId
173
- }) => ({
174
- name: "APW - Content Review",
175
- modelId: "apwContentReviewModelDefinition",
176
- titleFieldId: "content",
177
- layout: [["contentReview_content"], ["contentReview_reviewRequestedBy"], ["contentReview_steps"], ["contentReview_changeRequested"]],
178
- fields: [contentField([contentIdField(), contentTypeField(), contentSettingsField()]), contentStatus(), stepsField([(0, _workflow.stepTitleField)(), (0, _workflow.stepTypeField)(), (0, _workflow.stepSlugField)(), (0, _workflow.stepReviewersField)(reviewerModelId), stepStatusField(), stepPendingChangeRequests(), stepSignOffProvidedOn(), stepSignOffProvidedBy([stepSignOffProvidedById(), stepSignOffProvidedByDisplayName()])])]
179
- });
173
+ }) => {
174
+ return {
175
+ name: "APW - Content Review",
176
+ modelId: "apwContentReviewModelDefinition",
177
+ titleFieldId: "content",
178
+ layout: [["contentReview_content"], ["contentReview_reviewRequestedBy"], ["contentReview_steps"], ["contentReview_changeRequested"]],
179
+ fields: [contentField([contentIdField(), contentTypeField(), contentSettingsField()]), contentStatus(), stepsField([(0, _workflow.stepTitleField)(), (0, _workflow.stepTypeField)(), (0, _workflow.stepSlugField)(), (0, _workflow.stepReviewersField)(reviewerModelId), stepStatusField(), stepPendingChangeRequests(), stepSignOffProvidedOn(), stepSignOffProvidedBy([stepSignOffProvidedById(), stepSignOffProvidedByDisplayName()])])]
180
+ };
181
+ };
180
182
 
181
183
  exports.createContentReviewModelDefinition = createContentReviewModelDefinition;
@@ -1 +1,2 @@
1
- export declare const createApwModels: (context: any) => void;
1
+ import { CmsContext } from "@webiny/api-headless-cms/types";
2
+ export declare const createApwModels: (context: CmsContext) => void;
@@ -1,7 +1,2 @@
1
- export declare const createReviewerModelDefinition: () => {
2
- name: string;
3
- modelId: string;
4
- titleFieldId: string;
5
- layout: string[][];
6
- fields: import("@webiny/api-headless-cms/types").CmsModelField[];
7
- };
1
+ import { WorkflowModelDefinition } from "../../types";
2
+ export declare const createReviewerModelDefinition: () => WorkflowModelDefinition;
@@ -37,12 +37,14 @@ const typeField = () => (0, _utils.createModelField)({
37
37
  }]
38
38
  });
39
39
 
40
- const createReviewerModelDefinition = () => ({
41
- name: "APW - Reviewer",
42
- modelId: "apwReviewerModelDefinition",
43
- titleFieldId: "displayName",
44
- layout: [["reviewer_id"], ["reviewer_displayName"]],
45
- fields: [idField(), displayNameField(), typeField()]
46
- });
40
+ const createReviewerModelDefinition = () => {
41
+ return {
42
+ name: "APW - Reviewer",
43
+ modelId: "apwReviewerModelDefinition",
44
+ titleFieldId: "displayName",
45
+ layout: [["reviewer_id"], ["reviewer_displayName"]],
46
+ fields: [idField(), displayNameField(), typeField()]
47
+ };
48
+ };
47
49
 
48
50
  exports.createReviewerModelDefinition = createReviewerModelDefinition;
@@ -1,17 +1,11 @@
1
- export declare const stepTitleField: () => import("@webiny/api-headless-cms/types").CmsModelField;
2
- export declare const stepTypeField: () => import("@webiny/api-headless-cms/types").CmsModelField;
3
- export declare const stepSlugField: () => import("@webiny/api-headless-cms/types").CmsModelField;
4
- export declare const stepReviewersField: (reviewerModelId: any) => import("@webiny/api-headless-cms/types").CmsModelField;
5
- export declare const createWorkflowModelDefinition: ({ reviewerModelId }: {
6
- reviewerModelId: any;
7
- }) => {
8
- name: string;
9
- /**
10
- * Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.
11
- */
12
- modelId: string;
13
- layout: string[][];
14
- titleFieldId: string;
15
- description: any;
16
- fields: import("@webiny/api-headless-cms/types").CmsModelField[];
17
- };
1
+ import { CmsModelField } from "@webiny/api-headless-cms/types";
2
+ import { WorkflowModelDefinition } from "../../types";
3
+ export declare const stepTitleField: () => CmsModelField;
4
+ export declare const stepTypeField: () => CmsModelField;
5
+ export declare const stepSlugField: () => CmsModelField;
6
+ export declare const stepReviewersField: (reviewerModelId: string) => CmsModelField;
7
+ interface CreateWorkflowModelDefinitionParams {
8
+ reviewerModelId: string;
9
+ }
10
+ export declare const createWorkflowModelDefinition: ({ reviewerModelId }: CreateWorkflowModelDefinitionParams) => WorkflowModelDefinition;
11
+ export {};
@@ -188,17 +188,19 @@ const applicationField = () => (0, _utils.createModelField)({
188
188
 
189
189
  const createWorkflowModelDefinition = ({
190
190
  reviewerModelId
191
- }) => ({
192
- name: "APW - Workflow",
193
-
194
- /**
195
- * Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.
196
- */
197
- modelId: "apwWorkflowModelDefinition",
198
- layout: [["workflow_title"], ["workflow_steps"], ["workflow_scope"], ["workflow_app"]],
199
- titleFieldId: "title",
200
- description: null,
201
- fields: [titleField(), stepsField([stepTitleField(), stepTypeField(), stepSlugField(), stepReviewersField(reviewerModelId)]), scopeField([scopeTypeField(), scopeDataField([scopeDataPbCategories(), scopeDataPbPages(), scopeDataCmsModels(), scopeDataCmsEntries()])]), applicationField()]
202
- });
191
+ }) => {
192
+ return {
193
+ name: "APW - Workflow",
194
+
195
+ /**
196
+ * Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.
197
+ */
198
+ modelId: "apwWorkflowModelDefinition",
199
+ layout: [["workflow_title"], ["workflow_steps"], ["workflow_scope"], ["workflow_app"]],
200
+ titleFieldId: "title",
201
+ description: null,
202
+ fields: [titleField(), stepsField([stepTitleField(), stepTypeField(), stepSlugField(), stepReviewersField(reviewerModelId)]), scopeField([scopeTypeField(), scopeDataField([scopeDataPbCategories(), scopeDataPbPages(), scopeDataCmsModels(), scopeDataCmsEntries()])]), applicationField()]
203
+ };
204
+ };
203
205
 
204
206
  exports.createWorkflowModelDefinition = createWorkflowModelDefinition;
package/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Page, OnBeforePageCreateFromTopicParams } from "@webiny/api-page-builder/types";
2
- import { CmsContext } from "@webiny/api-headless-cms/types";
2
+ import { CmsContext, CmsModel } from "@webiny/api-headless-cms/types";
3
3
  import { Context } from "@webiny/handler/types";
4
4
  import { PageBuilderContextObject } from "@webiny/api-page-builder/graphql/types";
5
5
  import { SecurityIdentity, SecurityPermission } from "@webiny/api-security/types";
@@ -643,4 +643,5 @@ export interface OnBeforeWorkflowDeleteTopicParams {
643
643
  export interface OnAfterWorkflowDeleteTopicParams {
644
644
  workflow: ApwWorkflow;
645
645
  }
646
+ export declare type WorkflowModelDefinition = Pick<CmsModel, "name" | "modelId" | "layout" | "titleFieldId" | "description" | "fields">;
646
647
  export {};
@@ -1,3 +1,3 @@
1
1
  import { Response, ErrorResponse } from "@webiny/handler-graphql";
2
- declare const _default: (fn: any) => Promise<ErrorResponse | Response<any>>;
2
+ declare const _default: (fn: () => Promise<any>) => Promise<Response<any> | ErrorResponse>;
3
3
  export default _default;