contentful-management 12.0.0-beta.1 → 12.0.0-beta.3
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/README.md +3 -0
- package/dist/cjs/adapters/REST/endpoints/access-token.cjs +136 -0
- package/dist/cjs/adapters/REST/endpoints/ai-action-invocation.cjs +9 -0
- package/dist/cjs/adapters/REST/endpoints/ai-action.cjs +53 -0
- package/dist/cjs/adapters/REST/endpoints/api-key.cjs +48 -0
- package/dist/cjs/adapters/REST/endpoints/app-access-token.cjs +9 -0
- package/dist/cjs/adapters/REST/endpoints/app-action-call.cjs +65 -0
- package/dist/cjs/adapters/REST/endpoints/app-action.cjs +42 -0
- package/dist/cjs/adapters/REST/endpoints/app-bundle.cjs +39 -0
- package/dist/cjs/adapters/REST/endpoints/app-definition.cjs +47 -0
- package/dist/cjs/adapters/REST/endpoints/app-details.cjs +17 -0
- package/dist/cjs/adapters/REST/endpoints/app-event-subscription.cjs +17 -0
- package/dist/cjs/adapters/REST/endpoints/app-installation.cjs +42 -0
- package/dist/cjs/adapters/REST/endpoints/app-key.cjs +21 -0
- package/dist/cjs/adapters/REST/endpoints/app-signed-request.cjs +9 -0
- package/dist/cjs/adapters/REST/endpoints/app-signing-secret.cjs +17 -0
- package/dist/cjs/adapters/REST/endpoints/app-upload.cjs +28 -0
- package/dist/cjs/adapters/REST/endpoints/asset-key.cjs +34 -0
- package/dist/cjs/adapters/REST/endpoints/asset.cjs +185 -0
- package/dist/cjs/adapters/REST/endpoints/bulk-action.cjs +21 -0
- package/dist/cjs/adapters/REST/endpoints/comment.cjs +92 -0
- package/dist/cjs/adapters/REST/endpoints/concept-scheme.cjs +44 -0
- package/dist/cjs/adapters/REST/endpoints/concept.cjs +65 -0
- package/dist/cjs/adapters/REST/endpoints/content-type.cjs +56 -0
- package/dist/cjs/adapters/REST/endpoints/editor-interface.cjs +24 -0
- package/dist/cjs/adapters/REST/endpoints/entry.cjs +104 -0
- package/dist/cjs/adapters/REST/endpoints/environment-alias.cjs +44 -0
- package/dist/cjs/adapters/REST/endpoints/environment-template-installation.cjs +23 -0
- package/dist/cjs/adapters/REST/endpoints/environment-template.cjs +49 -0
- package/dist/cjs/adapters/REST/endpoints/environment.cjs +47 -0
- package/dist/cjs/adapters/REST/endpoints/extension.cjs +44 -0
- package/dist/cjs/adapters/REST/endpoints/function-log.cjs +23 -0
- package/dist/cjs/adapters/REST/endpoints/function.cjs +25 -0
- package/dist/cjs/adapters/REST/endpoints/http.cjs +29 -0
- package/dist/cjs/adapters/REST/endpoints/index.cjs +139 -0
- package/dist/cjs/adapters/REST/endpoints/locale.cjs +37 -0
- package/dist/cjs/adapters/REST/endpoints/oauth-application.cjs +147 -0
- package/dist/cjs/adapters/REST/endpoints/organization-invitation.cjs +23 -0
- package/dist/cjs/adapters/REST/endpoints/organization-membership.cjs +32 -0
- package/dist/cjs/adapters/REST/endpoints/organization.cjs +28 -0
- package/dist/cjs/adapters/REST/endpoints/personal-access-token.cjs +37 -0
- package/dist/cjs/adapters/REST/endpoints/preview-api-key.cjs +15 -0
- package/dist/cjs/adapters/REST/endpoints/raw.cjs +44 -0
- package/dist/cjs/adapters/REST/endpoints/release-action.cjs +21 -0
- package/dist/cjs/adapters/REST/endpoints/release.cjs +61 -0
- package/dist/cjs/adapters/REST/endpoints/resource-provider.cjs +18 -0
- package/dist/cjs/adapters/REST/endpoints/resource-type.cjs +30 -0
- package/dist/cjs/adapters/REST/endpoints/resource.cjs +10 -0
- package/dist/cjs/adapters/REST/endpoints/role.cjs +48 -0
- package/dist/cjs/adapters/REST/endpoints/scheduled-action.cjs +44 -0
- package/dist/cjs/adapters/REST/endpoints/snapshot.cjs +30 -0
- package/dist/cjs/adapters/REST/endpoints/space-member.cjs +11 -0
- package/dist/cjs/adapters/REST/endpoints/space-membership.cjs +60 -0
- package/dist/cjs/adapters/REST/endpoints/space.cjs +34 -0
- package/dist/cjs/adapters/REST/endpoints/tag.cjs +37 -0
- package/dist/cjs/adapters/REST/endpoints/task.cjs +40 -0
- package/dist/cjs/adapters/REST/endpoints/team-membership.cjs +35 -0
- package/dist/cjs/adapters/REST/endpoints/team-space-membership.cjs +46 -0
- package/dist/cjs/adapters/REST/endpoints/team.cjs +36 -0
- package/dist/cjs/adapters/REST/endpoints/ui-config.cjs +22 -0
- package/dist/cjs/adapters/REST/endpoints/upload-credentials.cjs +16 -0
- package/dist/cjs/adapters/REST/endpoints/upload.cjs +42 -0
- package/dist/cjs/adapters/REST/endpoints/usage.cjs +17 -0
- package/dist/cjs/adapters/REST/endpoints/user-ui-config.cjs +22 -0
- package/dist/cjs/adapters/REST/endpoints/user.cjs +27 -0
- package/dist/cjs/adapters/REST/endpoints/utils.cjs +20 -0
- package/dist/cjs/adapters/REST/endpoints/webhook.cjs +98 -0
- package/dist/cjs/adapters/REST/endpoints/workflow-definition.cjs +41 -0
- package/dist/cjs/adapters/REST/endpoints/workflow.cjs +49 -0
- package/dist/cjs/adapters/REST/endpoints/workflows-changelog.cjs +11 -0
- package/dist/cjs/adapters/REST/make-request.cjs +19 -0
- package/dist/cjs/adapters/REST/rest-adapter.cjs +32 -0
- package/dist/cjs/common-types.cjs +6 -0
- package/dist/cjs/common-utils.cjs +38 -0
- package/dist/cjs/constants/editor-interface-defaults/controls-defaults.cjs +161 -0
- package/dist/cjs/constants/editor-interface-defaults/editors-defaults.cjs +40 -0
- package/dist/cjs/constants/editor-interface-defaults/index.cjs +14 -0
- package/dist/cjs/constants/editor-interface-defaults/sidebar-defaults.cjs +71 -0
- package/dist/cjs/constants/editor-interface-defaults/types.cjs +18 -0
- package/dist/cjs/create-adapter.cjs +21 -0
- package/dist/cjs/create-app-definition-api.cjs +254 -0
- package/dist/cjs/create-contentful-api.cjs +592 -0
- package/dist/cjs/create-entry-api.cjs +481 -0
- package/dist/cjs/create-environment-api.cjs +2403 -0
- package/dist/cjs/create-environment-template-api.cjs +270 -0
- package/dist/cjs/create-organization-api.cjs +1136 -0
- package/dist/cjs/create-space-api.cjs +1591 -0
- package/dist/cjs/create-ui-config-api.cjs +55 -0
- package/dist/cjs/create-user-ui-config-api.cjs +55 -0
- package/dist/cjs/enhance-with-methods.cjs +26 -0
- package/dist/cjs/entities/access-token.cjs +36 -0
- package/dist/cjs/entities/ai-action-invocation.cjs +46 -0
- package/dist/cjs/entities/ai-action.cjs +94 -0
- package/dist/cjs/entities/api-key.cjs +59 -0
- package/dist/cjs/entities/app-access-token.cjs +17 -0
- package/dist/cjs/entities/app-action-call.cjs +67 -0
- package/dist/cjs/entities/app-action.cjs +48 -0
- package/dist/cjs/entities/app-bundle.cjs +48 -0
- package/dist/cjs/entities/app-definition.cjs +29 -0
- package/dist/cjs/entities/app-details.cjs +39 -0
- package/dist/cjs/entities/app-event-subscription.cjs +34 -0
- package/dist/cjs/entities/app-installation.cjs +55 -0
- package/dist/cjs/entities/app-key.cjs +44 -0
- package/dist/cjs/entities/app-signed-request.cjs +17 -0
- package/dist/cjs/entities/app-signing-secret.cjs +34 -0
- package/dist/cjs/entities/app-upload.cjs +47 -0
- package/dist/cjs/entities/asset-key.cjs +17 -0
- package/dist/cjs/entities/asset.cjs +124 -0
- package/dist/cjs/entities/bulk-action.cjs +60 -0
- package/dist/cjs/entities/comment.cjs +63 -0
- package/dist/cjs/entities/concept-scheme.cjs +2 -0
- package/dist/cjs/entities/concept.cjs +2 -0
- package/dist/cjs/entities/content-type.cjs +120 -0
- package/dist/cjs/entities/editor-interface.cjs +50 -0
- package/dist/cjs/entities/entry.cjs +27 -0
- package/dist/cjs/entities/environment-alias.cjs +58 -0
- package/dist/cjs/entities/environment-template-installation.cjs +23 -0
- package/dist/cjs/entities/environment-template.cjs +18 -0
- package/dist/cjs/entities/environment.cjs +34 -0
- package/dist/cjs/entities/extension.cjs +54 -0
- package/dist/cjs/entities/function-log.cjs +26 -0
- package/dist/cjs/entities/function.cjs +66 -0
- package/dist/cjs/entities/index.cjs +131 -0
- package/dist/cjs/entities/locale.cjs +57 -0
- package/dist/cjs/entities/oauth-application.cjs +66 -0
- package/dist/cjs/entities/organization-invitation.cjs +17 -0
- package/dist/cjs/entities/organization-membership.cjs +53 -0
- package/dist/cjs/entities/organization.cjs +32 -0
- package/dist/cjs/entities/personal-access-token.cjs +36 -0
- package/dist/cjs/entities/preview-api-key.cjs +31 -0
- package/dist/cjs/entities/release-action.cjs +55 -0
- package/dist/cjs/entities/release.cjs +111 -0
- package/dist/cjs/entities/resource-provider.cjs +139 -0
- package/dist/cjs/entities/resource-type.cjs +98 -0
- package/dist/cjs/entities/resource.cjs +13 -0
- package/dist/cjs/entities/role.cjs +53 -0
- package/dist/cjs/entities/scheduled-action.cjs +154 -0
- package/dist/cjs/entities/snapshot.cjs +36 -0
- package/dist/cjs/entities/space-member.cjs +23 -0
- package/dist/cjs/entities/space-membership.cjs +53 -0
- package/dist/cjs/entities/space.cjs +33 -0
- package/dist/cjs/entities/tag.cjs +56 -0
- package/dist/cjs/entities/task.cjs +57 -0
- package/dist/cjs/entities/team-membership.cjs +54 -0
- package/dist/cjs/entities/team-space-membership.cjs +53 -0
- package/dist/cjs/entities/team.cjs +53 -0
- package/dist/cjs/entities/ui-config.cjs +20 -0
- package/dist/cjs/entities/upload.cjs +38 -0
- package/dist/cjs/entities/usage.cjs +25 -0
- package/dist/cjs/entities/user-ui-config.cjs +20 -0
- package/dist/cjs/entities/user.cjs +28 -0
- package/dist/cjs/entities/webhook.cjs +77 -0
- package/dist/cjs/entities/workflow-definition.cjs +79 -0
- package/dist/cjs/index.cjs +65 -0
- package/dist/cjs/methods/action.cjs +53 -0
- package/dist/cjs/methods/content-type.cjs +51 -0
- package/dist/cjs/methods/utils.cjs +11 -0
- package/dist/cjs/plain/as-iterator.cjs +32 -0
- package/dist/cjs/plain/checks.cjs +15 -0
- package/dist/cjs/plain/pagination-helper.cjs +56 -0
- package/dist/cjs/plain/plain-client.cjs +516 -0
- package/dist/cjs/plain/wrappers/wrap.cjs +26 -0
- package/dist/cjs/upload-http-client.cjs +17 -0
- package/dist/contentful-management.browser.js +50 -34
- package/dist/contentful-management.browser.min.js +1 -1
- package/dist/contentful-management.cjs +35 -19
- package/dist/esm/create-contentful-api.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/plain/plain-client.js +1 -1
- package/dist/stats-browser-min.html +1 -1
- package/package.json +6 -6
- package/types.d.ts +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var types = require('./types.js');
|
|
4
|
+
|
|
5
|
+
const SidebarWidgetTypes = {
|
|
6
|
+
USERS: 'users-widget',
|
|
7
|
+
CONTENT_PREVIEW: 'content-preview-widget',
|
|
8
|
+
TRANSLATION: 'translation-widget',
|
|
9
|
+
INCOMING_LINKS: 'incoming-links-widget',
|
|
10
|
+
PUBLICATION: 'publication-widget',
|
|
11
|
+
RELEASES: 'releases-widget',
|
|
12
|
+
VERSIONS: 'versions-widget',
|
|
13
|
+
INFO_PANEL: 'info-panel',
|
|
14
|
+
JOBS: 'jobs-widget',
|
|
15
|
+
COMMENTS_PANEL: 'comments-panel',
|
|
16
|
+
};
|
|
17
|
+
const Publication = {
|
|
18
|
+
widgetId: SidebarWidgetTypes.PUBLICATION,
|
|
19
|
+
widgetNamespace: types.WidgetNamespace.SIDEBAR_BUILTIN,
|
|
20
|
+
name: 'Publish & Status',
|
|
21
|
+
description: 'Built-in - View entry status, publish, etc.',
|
|
22
|
+
};
|
|
23
|
+
const Releases = {
|
|
24
|
+
widgetId: SidebarWidgetTypes.RELEASES,
|
|
25
|
+
widgetNamespace: types.WidgetNamespace.SIDEBAR_BUILTIN,
|
|
26
|
+
name: 'Release',
|
|
27
|
+
description: 'Built-in - View release, add to it, etc.',
|
|
28
|
+
};
|
|
29
|
+
const ContentPreview = {
|
|
30
|
+
widgetId: SidebarWidgetTypes.CONTENT_PREVIEW,
|
|
31
|
+
widgetNamespace: types.WidgetNamespace.SIDEBAR_BUILTIN,
|
|
32
|
+
name: 'Preview',
|
|
33
|
+
description: 'Built-in - Displays preview functionality.',
|
|
34
|
+
};
|
|
35
|
+
const Links = {
|
|
36
|
+
widgetId: SidebarWidgetTypes.INCOMING_LINKS,
|
|
37
|
+
widgetNamespace: types.WidgetNamespace.SIDEBAR_BUILTIN,
|
|
38
|
+
name: 'Links',
|
|
39
|
+
description: 'Built-in - Shows where an entry is linked.',
|
|
40
|
+
};
|
|
41
|
+
const Translation = {
|
|
42
|
+
widgetId: SidebarWidgetTypes.TRANSLATION,
|
|
43
|
+
widgetNamespace: types.WidgetNamespace.SIDEBAR_BUILTIN,
|
|
44
|
+
name: 'Translation',
|
|
45
|
+
description: 'Built-in - Manage which translations are visible.',
|
|
46
|
+
};
|
|
47
|
+
const Versions = {
|
|
48
|
+
widgetId: SidebarWidgetTypes.VERSIONS,
|
|
49
|
+
widgetNamespace: types.WidgetNamespace.SIDEBAR_BUILTIN,
|
|
50
|
+
name: 'Versions',
|
|
51
|
+
description: 'Built-in - View previously published versions. Available only for master environment.',
|
|
52
|
+
};
|
|
53
|
+
const Users = {
|
|
54
|
+
widgetId: SidebarWidgetTypes.USERS,
|
|
55
|
+
widgetNamespace: types.WidgetNamespace.SIDEBAR_BUILTIN,
|
|
56
|
+
name: 'Users',
|
|
57
|
+
description: 'Built-in - Displays users on the same entry.',
|
|
58
|
+
};
|
|
59
|
+
const SidebarEntryConfiguration = [
|
|
60
|
+
Publication,
|
|
61
|
+
Releases,
|
|
62
|
+
ContentPreview,
|
|
63
|
+
Links,
|
|
64
|
+
Translation,
|
|
65
|
+
Versions,
|
|
66
|
+
Users,
|
|
67
|
+
];
|
|
68
|
+
const SidebarAssetConfiguration = [Publication, Releases, Links, Translation, Users];
|
|
69
|
+
|
|
70
|
+
exports.SidebarAssetConfiguration = SidebarAssetConfiguration;
|
|
71
|
+
exports.SidebarEntryConfiguration = SidebarEntryConfiguration;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.WidgetNamespace = void 0;
|
|
4
|
+
(function (WidgetNamespace) {
|
|
5
|
+
WidgetNamespace["BUILTIN"] = "builtin";
|
|
6
|
+
WidgetNamespace["EXTENSION"] = "extension";
|
|
7
|
+
WidgetNamespace["SIDEBAR_BUILTIN"] = "sidebar-builtin";
|
|
8
|
+
WidgetNamespace["APP"] = "app";
|
|
9
|
+
WidgetNamespace["EDITOR_BUILTIN"] = "editor-builtin";
|
|
10
|
+
})(exports.WidgetNamespace || (exports.WidgetNamespace = {}));
|
|
11
|
+
const DEFAULT_EDITOR_ID = 'default-editor';
|
|
12
|
+
/**
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
const in_ = (key, object) => key in object;
|
|
16
|
+
|
|
17
|
+
exports.DEFAULT_EDITOR_ID = DEFAULT_EDITOR_ID;
|
|
18
|
+
exports.in_ = in_;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var restAdapter = require('./adapters/REST/rest-adapter.js');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @hidden
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
function createAdapter(params) {
|
|
13
|
+
if ('apiAdapter' in params) {
|
|
14
|
+
return params.apiAdapter;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return new restAdapter.RestAdapter(params);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.createAdapter = createAdapter;
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./entities/index.js');
|
|
4
|
+
var appDefinition = require('./entities/app-definition.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
function createAppDefinitionApi(makeRequest) {
|
|
10
|
+
const { wrapAppBundle, wrapAppBundleCollection } = index.appBundle;
|
|
11
|
+
const { wrapResourceProvider } = index.resourceProvider;
|
|
12
|
+
const getParams = (data) => ({
|
|
13
|
+
appDefinitionId: data.sys.id,
|
|
14
|
+
organizationId: data.sys.organization.sys.id,
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
/**
|
|
18
|
+
* Sends an update to the server with any changes made to the object's properties
|
|
19
|
+
* @return Object returned from the server with updated changes.
|
|
20
|
+
* @example ```javascript
|
|
21
|
+
* const contentful = require('contentful-management')
|
|
22
|
+
*
|
|
23
|
+
* const client = contentful.createClient({
|
|
24
|
+
* accessToken: '<content_management_api_key>'
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* client.getOrganization('<org_id>')
|
|
28
|
+
* .then((org) => org.getAppDefinition('<app_def_id>'))
|
|
29
|
+
* .then((appDefinition) => {
|
|
30
|
+
* appDefinition.name = 'New App Definition name'
|
|
31
|
+
* return appDefinition.update()
|
|
32
|
+
* })
|
|
33
|
+
* .then((appDefinition) => console.log(`App Definition ${appDefinition.sys.id} updated.`))
|
|
34
|
+
* .catch(console.error)
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
update: function update() {
|
|
38
|
+
const data = this.toPlainObject();
|
|
39
|
+
return makeRequest({
|
|
40
|
+
entityType: 'AppDefinition',
|
|
41
|
+
action: 'update',
|
|
42
|
+
params: getParams(data),
|
|
43
|
+
headers: {},
|
|
44
|
+
payload: data,
|
|
45
|
+
}).then((data) => appDefinition.wrapAppDefinition(makeRequest, data));
|
|
46
|
+
},
|
|
47
|
+
/**
|
|
48
|
+
* Deletes this object on the server.
|
|
49
|
+
* @return Promise for the deletion. It contains no data, but the Promise error case should be handled.
|
|
50
|
+
* @example ```javascript
|
|
51
|
+
* const contentful = require('contentful-management')
|
|
52
|
+
*
|
|
53
|
+
* const client = contentful.createClient({
|
|
54
|
+
* accessToken: '<content_management_api_key>'
|
|
55
|
+
* })
|
|
56
|
+
*
|
|
57
|
+
* client.getOrganization('<org_id>')
|
|
58
|
+
* .then((org) => org.getAppDefinition('<app_def_id>'))
|
|
59
|
+
* .then((appDefinition) => appDefinition.delete())
|
|
60
|
+
* .then(() => console.log(`App Definition deleted.`))
|
|
61
|
+
* .catch(console.error)
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
delete: function del() {
|
|
65
|
+
const data = this.toPlainObject();
|
|
66
|
+
return makeRequest({
|
|
67
|
+
entityType: 'AppDefinition',
|
|
68
|
+
action: 'delete',
|
|
69
|
+
params: getParams(data),
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
/**
|
|
73
|
+
* Gets an app bundle
|
|
74
|
+
* @param id - AppBundle ID
|
|
75
|
+
* @return Promise for an AppBundle
|
|
76
|
+
* @example ```javascript
|
|
77
|
+
* const contentful = require('contentful-management')
|
|
78
|
+
* const client = contentful.createClient({
|
|
79
|
+
* accessToken: '<content_management_api_key>'
|
|
80
|
+
* })
|
|
81
|
+
*
|
|
82
|
+
* client.getOrganization('<org_id>')
|
|
83
|
+
* .then((org) => org.getAppDefinition('<app_def_id>'))
|
|
84
|
+
* .then((appDefinition) => appDefinition.getAppBundle('<app_upload_id>'))
|
|
85
|
+
* .then((appBundle) => console.log(appBundle))
|
|
86
|
+
* .catch(console.error)
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
getAppBundle(id) {
|
|
90
|
+
const raw = this.toPlainObject();
|
|
91
|
+
return makeRequest({
|
|
92
|
+
entityType: 'AppBundle',
|
|
93
|
+
action: 'get',
|
|
94
|
+
params: {
|
|
95
|
+
appBundleId: id,
|
|
96
|
+
appDefinitionId: raw.sys.id,
|
|
97
|
+
organizationId: raw.sys.organization.sys.id,
|
|
98
|
+
},
|
|
99
|
+
}).then((data) => wrapAppBundle(makeRequest, data));
|
|
100
|
+
},
|
|
101
|
+
/**
|
|
102
|
+
* Gets a collection of AppBundles
|
|
103
|
+
* @return Promise for a collection of AppBundles
|
|
104
|
+
* @example ```javascript
|
|
105
|
+
* const contentful = require('contentful-management')
|
|
106
|
+
* const client = contentful.createClient({
|
|
107
|
+
* accessToken: '<content_management_api_key>'
|
|
108
|
+
* })
|
|
109
|
+
*
|
|
110
|
+
* client.getOrganization('<org_id>')
|
|
111
|
+
* .then((org) => org.getAppDefinition('<app_def_id>'))
|
|
112
|
+
* .then((appDefinition) => appDefinition.getAppBundles())
|
|
113
|
+
* .then((response) => console.log(response.items))
|
|
114
|
+
* .catch(console.error)
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
getAppBundles(query = {}) {
|
|
118
|
+
const raw = this.toPlainObject();
|
|
119
|
+
return makeRequest({
|
|
120
|
+
entityType: 'AppBundle',
|
|
121
|
+
action: 'getMany',
|
|
122
|
+
params: { organizationId: raw.sys.organization.sys.id, appDefinitionId: raw.sys.id, query },
|
|
123
|
+
}).then((data) => wrapAppBundleCollection(makeRequest, data));
|
|
124
|
+
},
|
|
125
|
+
/**
|
|
126
|
+
* Creates an app bundle
|
|
127
|
+
* @param Object representation of the App Bundle to be created
|
|
128
|
+
* @return Promise for the newly created AppBundle
|
|
129
|
+
* @example ```javascript
|
|
130
|
+
* const contentful = require('contentful-management')
|
|
131
|
+
* const client = contentful.createClient({
|
|
132
|
+
* accessToken: '<content_management_api_key>'
|
|
133
|
+
* })
|
|
134
|
+
* client.getOrganization('<org_id>')
|
|
135
|
+
* .then((org) => org.getAppDefinition('<app_def_id>'))
|
|
136
|
+
* .then((appDefinition) => appDefinition.createAppBundle('<app_upload_id>'))
|
|
137
|
+
* .then((appBundle) => console.log(appBundle))
|
|
138
|
+
* .catch(console.error)
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
createAppBundle(data) {
|
|
142
|
+
const raw = this.toPlainObject();
|
|
143
|
+
return makeRequest({
|
|
144
|
+
entityType: 'AppBundle',
|
|
145
|
+
action: 'create',
|
|
146
|
+
params: {
|
|
147
|
+
appDefinitionId: raw.sys.id,
|
|
148
|
+
organizationId: raw.sys.organization.sys.id,
|
|
149
|
+
},
|
|
150
|
+
payload: data,
|
|
151
|
+
}).then((data) => wrapAppBundle(makeRequest, data));
|
|
152
|
+
},
|
|
153
|
+
/**
|
|
154
|
+
* Gets a list of App Installations across an org for given organization and App Definition
|
|
155
|
+
* If a spaceId is provided in the query object, it will return the App Installations for that specific space.
|
|
156
|
+
* @return Promise for the newly created AppBundle
|
|
157
|
+
* @example ```javascript
|
|
158
|
+
* const contentful = require('contentful-management')
|
|
159
|
+
* const client = contentful.createClient({
|
|
160
|
+
* accessToken: '<content_management_api_key>'
|
|
161
|
+
* })
|
|
162
|
+
* client.getAppDefinition('<organization_id>', '<app_definition_id>')
|
|
163
|
+
* .then((appDefinition) => appDefinition.getInstallationsForOrg(
|
|
164
|
+
* { spaceId: '<space_id>' } // optional
|
|
165
|
+
* ))
|
|
166
|
+
* .then((appInstallationsForOrg) => console.log(appInstallationsForOrg.items))
|
|
167
|
+
* .catch(console.error)
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
getInstallationsForOrg(query = {}) {
|
|
171
|
+
const raw = this.toPlainObject();
|
|
172
|
+
return makeRequest({
|
|
173
|
+
entityType: 'AppDefinition',
|
|
174
|
+
action: 'getInstallationsForOrg',
|
|
175
|
+
params: {
|
|
176
|
+
appDefinitionId: raw.sys.id,
|
|
177
|
+
organizationId: raw.sys.organization.sys.id,
|
|
178
|
+
query,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
/**
|
|
183
|
+
* Creates or updates a resource provider
|
|
184
|
+
* @param data representation of the ResourceProvider
|
|
185
|
+
* @return Promise for the newly created or updated ResourceProvider
|
|
186
|
+
* @example ```javascript
|
|
187
|
+
* const contentful = require('contentful-management')
|
|
188
|
+
* const client = contentful.createClient({
|
|
189
|
+
* accessToken: '<content_management_api_key>'
|
|
190
|
+
* })
|
|
191
|
+
*
|
|
192
|
+
* // You need a valid AppDefinition with an activated AppBundle that has a contentful function configured
|
|
193
|
+
* client.getOrganization('<org_id>')
|
|
194
|
+
* .then((org) => org.getAppDefinition('<app_def_id>'))
|
|
195
|
+
* .then((appDefinition) => appDefinition.upsertResourceProvider({
|
|
196
|
+
* sys: {
|
|
197
|
+
* id: '<resource_provider_id>'
|
|
198
|
+
* },
|
|
199
|
+
* type: 'function',
|
|
200
|
+
* function: {
|
|
201
|
+
* sys: {
|
|
202
|
+
* id: '<contentful_function_id>',
|
|
203
|
+
* type: 'Link'
|
|
204
|
+
* linkType: 'Function'
|
|
205
|
+
* }
|
|
206
|
+
* }
|
|
207
|
+
* }))
|
|
208
|
+
* .then((resourceProvider) => console.log(resourceProvider))
|
|
209
|
+
* .catch(console.error)
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
upsertResourceProvider(data) {
|
|
213
|
+
const raw = this.toPlainObject();
|
|
214
|
+
return makeRequest({
|
|
215
|
+
entityType: 'ResourceProvider',
|
|
216
|
+
action: 'upsert',
|
|
217
|
+
params: {
|
|
218
|
+
appDefinitionId: raw.sys.id,
|
|
219
|
+
organizationId: raw.sys.organization.sys.id,
|
|
220
|
+
},
|
|
221
|
+
payload: data,
|
|
222
|
+
}).then((payload) => wrapResourceProvider(makeRequest, payload));
|
|
223
|
+
},
|
|
224
|
+
/**
|
|
225
|
+
* Gets a Resource Provider
|
|
226
|
+
* @return Promise for a Resource Provider
|
|
227
|
+
* @example ```javascript
|
|
228
|
+
* const contentful = require('contentful-management')
|
|
229
|
+
* const client = contentful.createClient({
|
|
230
|
+
* accessToken: '<content_management_api_key>'
|
|
231
|
+
* })
|
|
232
|
+
*
|
|
233
|
+
* client.getOrganization('<org_id>')
|
|
234
|
+
* .then((org) => org.getAppDefinition('<app_def_id>'))
|
|
235
|
+
* .then((appDefinition) => appDefinition.getResourceProvider())
|
|
236
|
+
* .then((resourceProvider) => console.log(resourceProvider))
|
|
237
|
+
* .catch(console.error)
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
getResourceProvider() {
|
|
241
|
+
const raw = this.toPlainObject();
|
|
242
|
+
return makeRequest({
|
|
243
|
+
entityType: 'ResourceProvider',
|
|
244
|
+
action: 'get',
|
|
245
|
+
params: {
|
|
246
|
+
appDefinitionId: raw.sys.id,
|
|
247
|
+
organizationId: raw.sys.organization.sys.id,
|
|
248
|
+
},
|
|
249
|
+
}).then((payload) => wrapResourceProvider(makeRequest, payload));
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
module.exports = createAppDefinitionApi;
|