@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 +21 -21
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +2 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +2 -1
- package/plugins/hooks/linkWorkflowToPage.d.ts +2 -2
- package/storageOperations/index.d.ts +6 -2
- package/storageOperations/index.js +6 -2
- package/storageOperations/models/changeRequest.model.d.ts +2 -7
- package/storageOperations/models/changeRequest.model.js +9 -7
- package/storageOperations/models/comment.model.d.ts +5 -8
- package/storageOperations/models/comment.model.js +9 -7
- package/storageOperations/models/contentReview.model.d.ts +6 -25
- package/storageOperations/models/contentReview.model.js +9 -7
- package/storageOperations/models/index.d.ts +2 -1
- package/storageOperations/models/reviewer.model.d.ts +2 -7
- package/storageOperations/models/reviewer.model.js +9 -7
- package/storageOperations/models/workflow.model.d.ts +11 -17
- package/storageOperations/models/workflow.model.js +14 -12
- package/types.d.ts +2 -1
- package/utils/resolve.d.ts +1 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@webiny/api-apw",
|
3
|
-
"version": "5.
|
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
|
-
"@webiny/api-i18n": "5.
|
24
|
-
"@webiny/api-i18n-content": "5.
|
25
|
-
"@webiny/api-i18n-ddb": "5.
|
26
|
-
"@webiny/api-page-builder": "5.
|
27
|
-
"@webiny/api-page-builder-so-ddb": "5.
|
28
|
-
"@webiny/api-security": "5.
|
29
|
-
"@webiny/api-tenancy": "5.
|
30
|
-
"@webiny/error": "5.
|
31
|
-
"@webiny/handler": "5.
|
32
|
-
"@webiny/handler-aws": "5.
|
33
|
-
"@webiny/handler-graphql": "5.
|
34
|
-
"@webiny/plugins": "5.
|
35
|
-
"@webiny/pubsub": "5.
|
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.
|
44
|
-
"@webiny/api-tenancy-so-ddb": "^5.
|
45
|
-
"@webiny/cli": "^5.
|
46
|
-
"@webiny/project-utils": "^5.
|
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": "^
|
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": "
|
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 }:
|
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
|
-
|
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
|
-
|
32
|
-
|
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
|
-
|
2
|
-
|
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
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
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
|
-
|
2
|
-
|
3
|
-
}) => {
|
4
|
-
name: string;
|
1
|
+
import { WorkflowModelDefinition } from "../../types";
|
2
|
+
interface CreateCommentModelDefinitionParams {
|
5
3
|
modelId: string;
|
6
|
-
|
7
|
-
|
8
|
-
|
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
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
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
|
-
|
1
|
+
import { CmsContext } from "@webiny/api-headless-cms/types";
|
2
|
+
export declare const createApwModels: (context: CmsContext) => void;
|
@@ -1,7 +1,2 @@
|
|
1
|
-
|
2
|
-
|
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
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
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
|
-
|
2
|
-
|
3
|
-
export declare const
|
4
|
-
export declare const
|
5
|
-
export declare const
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
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
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
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 {};
|
package/utils/resolve.d.ts
CHANGED