@webiny/api-aco 0.0.0-ee-vpcs.549378cf03 → 0.0.0-unstable.2af142b57e
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 +15 -0
- package/createAcoContext.d.ts +3 -0
- package/createAcoContext.js +63 -0
- package/createAcoContext.js.map +1 -0
- package/createAcoCrud.d.ts +2 -0
- package/createAcoCrud.js +17 -0
- package/createAcoCrud.js.map +1 -0
- package/createAcoFields.d.ts +2 -0
- package/createAcoFields.js +40 -0
- package/createAcoFields.js.map +1 -0
- package/createAcoGraphQL.d.ts +3 -0
- package/createAcoGraphQL.js +91 -0
- package/createAcoGraphQL.js.map +1 -0
- package/createAcoHooks.d.ts +2 -0
- package/createAcoHooks.js +11 -0
- package/createAcoHooks.js.map +1 -0
- package/createAcoModels.d.ts +2 -0
- package/createAcoModels.js +67 -0
- package/createAcoModels.js.map +1 -0
- package/createAcoStorageOperations.d.ts +10 -0
- package/createAcoStorageOperations.js +19 -0
- package/createAcoStorageOperations.js.map +1 -0
- package/folder/folder.crud.d.ts +3 -0
- package/folder/folder.crud.js +92 -0
- package/folder/folder.crud.js.map +1 -0
- package/folder/folder.gql.d.ts +3 -0
- package/folder/folder.gql.js +103 -0
- package/folder/folder.gql.js.map +1 -0
- package/folder/folder.model.d.ts +4 -0
- package/folder/folder.model.js +79 -0
- package/folder/folder.model.js.map +1 -0
- package/folder/folder.so.d.ts +8 -0
- package/folder/folder.so.js +156 -0
- package/folder/folder.so.js.map +1 -0
- package/folder/folder.types.d.ts +83 -0
- package/folder/folder.types.js +5 -0
- package/folder/folder.types.js.map +1 -0
- package/folder/onFolderBeforeDelete.hook.d.ts +2 -0
- package/folder/onFolderBeforeDelete.hook.js +53 -0
- package/folder/onFolderBeforeDelete.hook.js.map +1 -0
- package/index.d.ts +1 -9
- package/index.js +7 -64
- package/index.js.map +1 -1
- package/package.json +22 -20
- package/record/record.crud.d.ts +3 -0
- package/record/record.crud.js +92 -0
- package/record/record.crud.js.map +1 -0
- package/record/record.gql.d.ts +3 -0
- package/record/record.gql.js +118 -0
- package/record/record.gql.js.map +1 -0
- package/record/record.model.d.ts +4 -0
- package/record/record.model.js +75 -0
- package/record/record.model.js.map +1 -0
- package/record/record.so.d.ts +8 -0
- package/record/record.so.js +100 -0
- package/record/record.so.js.map +1 -0
- package/record/record.types.d.ts +92 -0
- package/record/record.types.js +5 -0
- package/record/record.types.js.map +1 -0
- package/types.d.ts +20 -201
- package/types.js.map +1 -1
- package/utils/createModelField.d.ts +6 -0
- package/utils/createModelField.js +39 -0
- package/utils/createModelField.js.map +1 -0
- package/utils/fieldResolver.d.ts +16 -0
- package/utils/fieldResolver.js +44 -0
- package/utils/fieldResolver.js.map +1 -0
- package/utils/getFieldValues.d.ts +2 -0
- package/utils/getFieldValues.js +12 -0
- package/utils/getFieldValues.js.map +1 -0
- package/utils/isInstallationPending.d.ts +4 -0
- package/utils/isInstallationPending.js +21 -0
- package/utils/isInstallationPending.js.map +1 -0
- package/utils/modelFactory.d.ts +15 -0
- package/utils/modelFactory.js +23 -0
- package/utils/modelFactory.js.map +1 -0
- package/utils/resolve.d.ts +2 -0
- package/utils/resolve.js +15 -0
- package/utils/resolve.js.map +1 -0
- package/context/folders.d.ts +0 -2
- package/context/folders.js +0 -261
- package/context/folders.js.map +0 -1
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -22
- package/context/index.js.map +0 -1
- package/context/links.d.ts +0 -2
- package/context/links.js +0 -270
- package/context/links.js.map +0 -1
- package/graphql/base.gql.d.ts +0 -3
- package/graphql/base.gql.js +0 -63
- package/graphql/base.gql.js.map +0 -1
- package/graphql/folders.gql.d.ts +0 -3
- package/graphql/folders.gql.js +0 -126
- package/graphql/folders.gql.js.map +0 -1
- package/graphql/index.d.ts +0 -1
- package/graphql/index.js +0 -15
- package/graphql/index.js.map +0 -1
- package/graphql/links.gql.d.ts +0 -3
- package/graphql/links.gql.js +0 -123
- package/graphql/links.gql.js.map +0 -1
- package/subscriptions/afterFolderDelete.d.ts +0 -3
- package/subscriptions/afterFolderDelete.js +0 -62
- package/subscriptions/afterFolderDelete.js.map +0 -1
- package/subscriptions/index.d.ts +0 -3
- package/subscriptions/index.js +0 -14
- package/subscriptions/index.js.map +0 -1
package/types.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { TenancyContext } from "@webiny/api-tenancy/types";
|
|
1
|
+
import { Tenant, TenancyContext } from "@webiny/api-tenancy/types";
|
|
2
2
|
import { Context as BaseContext } from "@webiny/handler/types";
|
|
3
|
-
import { I18NContext } from "@webiny/api-i18n/types";
|
|
3
|
+
import { I18NContext, I18NLocale } from "@webiny/api-i18n/types";
|
|
4
4
|
import { SecurityContext, SecurityIdentity } from "@webiny/api-security/types";
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import { CmsContext } from "@webiny/api-headless-cms/types";
|
|
6
|
+
import { AcoSearchRecordCrud, AcoSearchRecordStorageOperations } from "./record/record.types";
|
|
7
|
+
import { AcoFolderCrud, AcoFolderStorageOperations } from "./folder/folder.types";
|
|
8
|
+
export interface User {
|
|
7
9
|
id: string;
|
|
8
10
|
type: string;
|
|
9
11
|
displayName: string | null;
|
|
@@ -13,207 +15,24 @@ export interface ListMeta {
|
|
|
13
15
|
totalCount: number;
|
|
14
16
|
hasMoreItems: boolean;
|
|
15
17
|
}
|
|
16
|
-
export interface
|
|
18
|
+
export interface AcoBaseFields {
|
|
17
19
|
id: string;
|
|
18
|
-
|
|
19
|
-
slug: string;
|
|
20
|
-
type: string;
|
|
21
|
-
parentId?: string;
|
|
22
|
-
createdOn: string;
|
|
23
|
-
createdBy: CreatedBy;
|
|
24
|
-
tenant: string;
|
|
25
|
-
locale: string;
|
|
26
|
-
webinyVersion: string;
|
|
27
|
-
}
|
|
28
|
-
export declare type FolderInput = Pick<Folder, "name" | "slug" | "type" | "parentId">;
|
|
29
|
-
export interface GetFolderParams {
|
|
30
|
-
id: string;
|
|
31
|
-
}
|
|
32
|
-
export interface ListFoldersWhere {
|
|
33
|
-
type: string;
|
|
34
|
-
}
|
|
35
|
-
export interface ListFoldersParams {
|
|
36
|
-
where: ListFoldersWhere;
|
|
37
|
-
}
|
|
38
|
-
export interface CreateFolderParams {
|
|
39
|
-
folder: Folder;
|
|
40
|
-
}
|
|
41
|
-
export interface UpdateFolderParams {
|
|
42
|
-
original: Folder;
|
|
43
|
-
folder: Folder;
|
|
44
|
-
}
|
|
45
|
-
export interface DeleteFolderParams {
|
|
46
|
-
folder: Folder;
|
|
47
|
-
}
|
|
48
|
-
export interface StorageOperationsGetFolderParams {
|
|
49
|
-
id?: string;
|
|
50
|
-
slug?: string;
|
|
51
|
-
type?: string;
|
|
52
|
-
parentId?: string;
|
|
53
|
-
tenant: string;
|
|
54
|
-
locale: string;
|
|
55
|
-
}
|
|
56
|
-
export interface StorageOperationsListFoldersParams extends ListFoldersParams {
|
|
57
|
-
where: ListFoldersParams["where"] & {
|
|
58
|
-
tenant: string;
|
|
59
|
-
locale: string;
|
|
60
|
-
};
|
|
61
|
-
sort: string[];
|
|
62
|
-
}
|
|
63
|
-
export declare type StorageOperationsCreateFolderParams = CreateFolderParams;
|
|
64
|
-
export declare type StorageOperationsUpdateFolderParams = UpdateFolderParams;
|
|
65
|
-
export declare type StorageOperationsDeleteFolderParams = DeleteFolderParams;
|
|
66
|
-
export interface OnFolderBeforeCreateTopicParams {
|
|
67
|
-
folder: Folder;
|
|
68
|
-
}
|
|
69
|
-
export interface OnFolderAfterCreateTopicParams {
|
|
70
|
-
folder: Folder;
|
|
71
|
-
}
|
|
72
|
-
export interface OnFolderBeforeUpdateTopicParams {
|
|
73
|
-
folder: Folder;
|
|
74
|
-
original: Folder;
|
|
75
|
-
}
|
|
76
|
-
export interface OnFolderAfterUpdateTopicParams {
|
|
77
|
-
folder: Folder;
|
|
78
|
-
original: Folder;
|
|
79
|
-
}
|
|
80
|
-
export interface OnFolderBeforeDeleteTopicParams {
|
|
81
|
-
folder: Folder;
|
|
82
|
-
}
|
|
83
|
-
export interface OnFolderAfterDeleteTopicParams {
|
|
84
|
-
folder: Folder;
|
|
85
|
-
}
|
|
86
|
-
export interface Link {
|
|
87
|
-
id: string;
|
|
88
|
-
linkId: string;
|
|
89
|
-
folderId: string;
|
|
20
|
+
entryId: string;
|
|
90
21
|
createdOn: string;
|
|
91
|
-
createdBy:
|
|
92
|
-
|
|
93
|
-
locale: string;
|
|
94
|
-
webinyVersion: string;
|
|
22
|
+
createdBy: User;
|
|
23
|
+
savedOn: string;
|
|
95
24
|
}
|
|
96
|
-
export
|
|
97
|
-
|
|
98
|
-
|
|
25
|
+
export interface AdvancedContentOrganisation {
|
|
26
|
+
folder: AcoFolderCrud;
|
|
27
|
+
search: AcoSearchRecordCrud;
|
|
99
28
|
}
|
|
100
|
-
export interface
|
|
101
|
-
where: ListLinksWhere;
|
|
102
|
-
limit?: number;
|
|
103
|
-
after?: string | null;
|
|
104
|
-
}
|
|
105
|
-
export declare type ListLinksResponse = [Link[], ListMeta];
|
|
106
|
-
export interface CreateLinkParams {
|
|
107
|
-
link: Link;
|
|
108
|
-
}
|
|
109
|
-
export interface UpdateLinkParams {
|
|
110
|
-
original: Link;
|
|
111
|
-
link: Link;
|
|
112
|
-
}
|
|
113
|
-
export interface DeleteLinkParams {
|
|
114
|
-
link: Link;
|
|
115
|
-
}
|
|
116
|
-
export interface DeleteLinksParams {
|
|
117
|
-
tenant: string;
|
|
118
|
-
locale: string;
|
|
119
|
-
folderIds: string[];
|
|
120
|
-
}
|
|
121
|
-
export interface StorageOperationsGetLinkParams {
|
|
122
|
-
id?: string;
|
|
123
|
-
folderId?: string;
|
|
124
|
-
tenant: string;
|
|
125
|
-
locale: string;
|
|
126
|
-
}
|
|
127
|
-
export interface StorageOperationsListLinksParams extends ListLinksParams {
|
|
128
|
-
where: ListLinksParams["where"] & {
|
|
129
|
-
tenant: string;
|
|
130
|
-
locale: string;
|
|
131
|
-
};
|
|
132
|
-
sort: string[];
|
|
133
|
-
}
|
|
134
|
-
export declare type StorageOperationListLinksResponse = ListLinksResponse;
|
|
135
|
-
export declare type StorageOperationsCreateLinkParams = CreateLinkParams;
|
|
136
|
-
export declare type StorageOperationsUpdateLinkParams = UpdateLinkParams;
|
|
137
|
-
export declare type StorageOperationsDeleteLinkParams = DeleteLinkParams;
|
|
138
|
-
export declare type StorageOperationsDeleteLinksParams = DeleteLinksParams;
|
|
139
|
-
export interface OnLinkBeforeCreateTopicParams {
|
|
140
|
-
link: Link;
|
|
141
|
-
}
|
|
142
|
-
export interface OnLinkAfterCreateTopicParams {
|
|
143
|
-
link: Link;
|
|
144
|
-
}
|
|
145
|
-
export interface OnLinkBeforeUpdateTopicParams {
|
|
146
|
-
link: Link;
|
|
147
|
-
original: Link;
|
|
148
|
-
}
|
|
149
|
-
export interface OnLinkAfterUpdateTopicParams {
|
|
150
|
-
link: Link;
|
|
151
|
-
original: Link;
|
|
152
|
-
}
|
|
153
|
-
export interface OnLinkBeforeDeleteTopicParams {
|
|
154
|
-
link: Link;
|
|
155
|
-
}
|
|
156
|
-
export interface OnLinkAfterDeleteTopicParams {
|
|
157
|
-
link: Link;
|
|
158
|
-
}
|
|
159
|
-
export interface OnLinkBeforeDeleteBatchTopicParams {
|
|
160
|
-
folderIds: string[];
|
|
161
|
-
}
|
|
162
|
-
export interface OnLinkAfterDeleteBatchTopicParams {
|
|
163
|
-
folderIds: string[];
|
|
164
|
-
}
|
|
165
|
-
export interface ACOContext extends BaseContext, I18NContext, TenancyContext, SecurityContext {
|
|
166
|
-
folders: Folders;
|
|
167
|
-
}
|
|
168
|
-
export declare type Folders = IFolders & ILinks;
|
|
169
|
-
export interface IFolders {
|
|
170
|
-
getFolder(params: GetFolderParams): Promise<Folder>;
|
|
171
|
-
listFolders(params: ListFoldersParams): Promise<Folder[]>;
|
|
172
|
-
createFolder(input: FolderInput): Promise<Folder>;
|
|
173
|
-
updateFolder(id: string, input: Partial<Folder>): Promise<Folder>;
|
|
174
|
-
deleteFolder(id: string): Promise<void>;
|
|
175
|
-
onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;
|
|
176
|
-
onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;
|
|
177
|
-
onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;
|
|
178
|
-
onFolderAfterUpdate: Topic<OnFolderAfterUpdateTopicParams>;
|
|
179
|
-
onFolderBeforeDelete: Topic<OnFolderBeforeDeleteTopicParams>;
|
|
180
|
-
onFolderAfterDelete: Topic<OnFolderAfterDeleteTopicParams>;
|
|
181
|
-
}
|
|
182
|
-
export interface ILinks {
|
|
183
|
-
getLink(id: string): Promise<Link>;
|
|
184
|
-
listLinks(params: ListLinksParams): Promise<ListLinksResponse>;
|
|
185
|
-
createLink(input: LinkInput): Promise<Link>;
|
|
186
|
-
updateLink(id: string, input: Partial<Link>): Promise<Link>;
|
|
187
|
-
deleteLink(id: string): Promise<void>;
|
|
188
|
-
deleteLinks(folderIds: string[]): Promise<void>;
|
|
189
|
-
onLinkBeforeCreate: Topic<OnLinkBeforeCreateTopicParams>;
|
|
190
|
-
onLinkAfterCreate: Topic<OnLinkAfterCreateTopicParams>;
|
|
191
|
-
onLinkBeforeUpdate: Topic<OnLinkBeforeUpdateTopicParams>;
|
|
192
|
-
onLinkAfterUpdate: Topic<OnLinkAfterUpdateTopicParams>;
|
|
193
|
-
onLinkBeforeDelete: Topic<OnLinkBeforeDeleteTopicParams>;
|
|
194
|
-
onLinkAfterDelete: Topic<OnLinkAfterDeleteTopicParams>;
|
|
195
|
-
onLinkBeforeDeleteBatch: Topic<OnLinkBeforeDeleteBatchTopicParams>;
|
|
196
|
-
onLinkAfterDeleteBatch: Topic<OnLinkAfterDeleteBatchTopicParams>;
|
|
197
|
-
}
|
|
198
|
-
export interface FoldersConfig {
|
|
199
|
-
getTenantId: () => string;
|
|
200
|
-
getLocaleCode: () => string;
|
|
29
|
+
export interface CreateAcoParams {
|
|
201
30
|
getIdentity: () => SecurityIdentity;
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
export interface FoldersStorageOperations {
|
|
206
|
-
getFolder(params: StorageOperationsGetFolderParams): Promise<Folder | undefined>;
|
|
207
|
-
listFolders(params: StorageOperationsListFoldersParams): Promise<Folder[]>;
|
|
208
|
-
createFolder(params: StorageOperationsCreateFolderParams): Promise<Folder>;
|
|
209
|
-
updateFolder(params: StorageOperationsUpdateFolderParams): Promise<Folder>;
|
|
210
|
-
deleteFolder(params: StorageOperationsDeleteFolderParams): Promise<void>;
|
|
31
|
+
getLocale: () => I18NLocale;
|
|
32
|
+
getTenant: () => Tenant;
|
|
33
|
+
storageOperations: AcoStorageOperations;
|
|
211
34
|
}
|
|
212
|
-
export
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
createLink(params: StorageOperationsCreateLinkParams): Promise<Link>;
|
|
216
|
-
updateLink(params: StorageOperationsUpdateLinkParams): Promise<Link>;
|
|
217
|
-
deleteLink(params: StorageOperationsDeleteLinkParams): Promise<void>;
|
|
218
|
-
deleteLinks(params: StorageOperationsDeleteLinksParams): Promise<void>;
|
|
35
|
+
export declare type AcoStorageOperations = AcoFolderStorageOperations & AcoSearchRecordStorageOperations;
|
|
36
|
+
export interface AcoContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, CmsContext {
|
|
37
|
+
aco: AdvancedContentOrganisation;
|
|
219
38
|
}
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { TenancyContext } from \"@webiny/api-tenancy/types\";\nimport { Context as BaseContext } from \"@webiny/handler/types\";\nimport { I18NContext } from \"@webiny/api-i18n/types\";\nimport { SecurityContext, SecurityIdentity } from \"@webiny/api-security/types\";\nimport {
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { Tenant, TenancyContext } from \"@webiny/api-tenancy/types\";\nimport { Context as BaseContext } from \"@webiny/handler/types\";\nimport { I18NContext, I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityContext, SecurityIdentity } from \"@webiny/api-security/types\";\nimport { CmsContext } from \"@webiny/api-headless-cms/types\";\nimport { AcoSearchRecordCrud, AcoSearchRecordStorageOperations } from \"~/record/record.types\";\nimport { AcoFolderCrud, AcoFolderStorageOperations } from \"~/folder/folder.types\";\n\nexport interface User {\n id: string;\n type: string;\n displayName: string | null;\n}\n\nexport interface ListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\nexport interface AcoBaseFields {\n id: string;\n entryId: string;\n createdOn: string;\n createdBy: User;\n savedOn: string;\n}\n\nexport interface AdvancedContentOrganisation {\n folder: AcoFolderCrud;\n search: AcoSearchRecordCrud;\n}\n\nexport interface CreateAcoParams {\n getIdentity: () => SecurityIdentity;\n getLocale: () => I18NLocale;\n getTenant: () => Tenant;\n storageOperations: AcoStorageOperations;\n}\n\nexport type AcoStorageOperations = AcoFolderStorageOperations & AcoSearchRecordStorageOperations;\n\nexport interface AcoContext\n extends BaseContext,\n I18NContext,\n TenancyContext,\n SecurityContext,\n CmsContext {\n aco: AdvancedContentOrganisation;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CmsModelField } from "@webiny/api-headless-cms/types";
|
|
2
|
+
export interface CreateModelFieldParams extends Omit<CmsModelField, "id" | "storageId" | "fieldId"> {
|
|
3
|
+
fieldId?: string;
|
|
4
|
+
parent: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const createModelField: (params: CreateModelFieldParams) => CmsModelField;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createModelField = void 0;
|
|
8
|
+
var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
|
|
9
|
+
const createModelField = params => {
|
|
10
|
+
const {
|
|
11
|
+
label,
|
|
12
|
+
fieldId: initialFieldId,
|
|
13
|
+
type,
|
|
14
|
+
parent,
|
|
15
|
+
settings = {},
|
|
16
|
+
listValidation = [],
|
|
17
|
+
validation = [],
|
|
18
|
+
multipleValues = false,
|
|
19
|
+
predefinedValues = {
|
|
20
|
+
values: [],
|
|
21
|
+
enabled: false
|
|
22
|
+
}
|
|
23
|
+
} = params;
|
|
24
|
+
const fieldId = initialFieldId ? (0, _camelCase.default)(initialFieldId) : (0, _camelCase.default)(label);
|
|
25
|
+
const id = `${(0, _camelCase.default)(parent)}_${fieldId}`;
|
|
26
|
+
return {
|
|
27
|
+
id,
|
|
28
|
+
storageId: fieldId,
|
|
29
|
+
fieldId,
|
|
30
|
+
label,
|
|
31
|
+
type,
|
|
32
|
+
settings,
|
|
33
|
+
listValidation,
|
|
34
|
+
validation,
|
|
35
|
+
multipleValues,
|
|
36
|
+
predefinedValues
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.createModelField = createModelField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createModelField","params","label","fieldId","initialFieldId","type","parent","settings","listValidation","validation","multipleValues","predefinedValues","values","enabled","camelCase","id","storageId"],"sources":["createModelField.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport camelCase from \"lodash/camelCase\";\n\nexport interface CreateModelFieldParams\n extends Omit<CmsModelField, \"id\" | \"storageId\" | \"fieldId\"> {\n fieldId?: string;\n parent: string;\n}\n\nexport const createModelField = (params: CreateModelFieldParams): CmsModelField => {\n const {\n label,\n fieldId: initialFieldId,\n type,\n parent,\n settings = {},\n listValidation = [],\n validation = [],\n multipleValues = false,\n predefinedValues = {\n values: [],\n enabled: false\n }\n } = params;\n\n const fieldId = initialFieldId ? camelCase(initialFieldId) : camelCase(label);\n const id = `${camelCase(parent)}_${fieldId}`;\n\n return {\n id,\n storageId: fieldId,\n fieldId,\n label,\n type,\n settings,\n listValidation,\n validation,\n multipleValues,\n predefinedValues\n };\n};\n"],"mappings":";;;;;;;AACA;AAQO,MAAMA,gBAAgB,GAAIC,MAA8B,IAAoB;EAC/E,MAAM;IACFC,KAAK;IACLC,OAAO,EAAEC,cAAc;IACvBC,IAAI;IACJC,MAAM;IACNC,QAAQ,GAAG,CAAC,CAAC;IACbC,cAAc,GAAG,EAAE;IACnBC,UAAU,GAAG,EAAE;IACfC,cAAc,GAAG,KAAK;IACtBC,gBAAgB,GAAG;MACfC,MAAM,EAAE,EAAE;MACVC,OAAO,EAAE;IACb;EACJ,CAAC,GAAGZ,MAAM;EAEV,MAAME,OAAO,GAAGC,cAAc,GAAG,IAAAU,kBAAS,EAACV,cAAc,CAAC,GAAG,IAAAU,kBAAS,EAACZ,KAAK,CAAC;EAC7E,MAAMa,EAAE,GAAI,GAAE,IAAAD,kBAAS,EAACR,MAAM,CAAE,IAAGH,OAAQ,EAAC;EAE5C,OAAO;IACHY,EAAE;IACFC,SAAS,EAAEb,OAAO;IAClBA,OAAO;IACPD,KAAK;IACLG,IAAI;IACJE,QAAQ;IACRC,cAAc;IACdC,UAAU;IACVC,cAAc;IACdC;EACJ,CAAC;AACL,CAAC;AAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CmsContext, CmsEntry, CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
+
import { AcoBaseFields } from "../types";
|
|
3
|
+
interface Transformer {
|
|
4
|
+
fieldId: keyof AcoBaseFields;
|
|
5
|
+
model: any;
|
|
6
|
+
field: any;
|
|
7
|
+
}
|
|
8
|
+
interface GetFieldValuesParams {
|
|
9
|
+
entry: CmsEntry;
|
|
10
|
+
fields: string[];
|
|
11
|
+
transformers?: Transformer[];
|
|
12
|
+
context: CmsContext;
|
|
13
|
+
}
|
|
14
|
+
export declare const getFieldValues: <T extends AcoBaseFields>(params: GetFieldValuesParams) => Promise<T>;
|
|
15
|
+
export declare const getTransformer: (model: CmsModel, fieldId: string) => Transformer;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getTransformer = exports.getFieldValues = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
10
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
11
|
+
const getFieldValues = async params => {
|
|
12
|
+
const {
|
|
13
|
+
entry,
|
|
14
|
+
context,
|
|
15
|
+
transformers = [],
|
|
16
|
+
fields
|
|
17
|
+
} = params;
|
|
18
|
+
const values = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _pick.default)(entry, fields)), entry.values);
|
|
19
|
+
/**
|
|
20
|
+
* Transform field value for each transformers.
|
|
21
|
+
*/
|
|
22
|
+
for (const transformer of transformers) {
|
|
23
|
+
const {
|
|
24
|
+
fieldId,
|
|
25
|
+
model,
|
|
26
|
+
field
|
|
27
|
+
} = transformer;
|
|
28
|
+
// Get transformed value (eg. data decompression)
|
|
29
|
+
values[fieldId] = await (0, _apiHeadlessCms.entryFieldFromStorageTransform)({
|
|
30
|
+
context,
|
|
31
|
+
model,
|
|
32
|
+
field,
|
|
33
|
+
value: values[fieldId]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return values;
|
|
37
|
+
};
|
|
38
|
+
exports.getFieldValues = getFieldValues;
|
|
39
|
+
const getTransformer = (model, fieldId) => ({
|
|
40
|
+
fieldId: fieldId,
|
|
41
|
+
model: model,
|
|
42
|
+
field: model.fields.find(field => field.fieldId === fieldId)
|
|
43
|
+
});
|
|
44
|
+
exports.getTransformer = getTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getFieldValues","params","entry","context","transformers","fields","values","pick","transformer","fieldId","model","field","entryFieldFromStorageTransform","value","getTransformer","find"],"sources":["fieldResolver.ts"],"sourcesContent":["import pick from \"lodash/pick\";\nimport { CmsContext, CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { entryFieldFromStorageTransform } from \"@webiny/api-headless-cms\";\nimport { AcoBaseFields } from \"~/types\";\n\ninterface Transformer {\n fieldId: keyof AcoBaseFields;\n model: any;\n field: any;\n}\n\ninterface GetFieldValuesParams {\n entry: CmsEntry;\n fields: string[];\n transformers?: Transformer[];\n context: CmsContext;\n}\n\nexport const getFieldValues = async <T extends AcoBaseFields>(\n params: GetFieldValuesParams\n): Promise<T> => {\n const { entry, context, transformers = [], fields } = params;\n const values = {\n ...pick(entry, fields),\n ...entry.values\n } as T;\n /**\n * Transform field value for each transformers.\n */\n for (const transformer of transformers) {\n const { fieldId, model, field } = transformer;\n // Get transformed value (eg. data decompression)\n values[fieldId] = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: values[fieldId]\n });\n }\n\n return values;\n};\n\nexport const getTransformer = (model: CmsModel, fieldId: string): Transformer => ({\n fieldId: fieldId as unknown as keyof AcoBaseFields,\n model: model,\n field: model.fields.find(field => field.fieldId === fieldId)\n});\n"],"mappings":";;;;;;;;AAAA;AAEA;AAgBO,MAAMA,cAAc,GAAG,MAC1BC,MAA4B,IACf;EACb,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,YAAY,GAAG,EAAE;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EAC5D,MAAMK,MAAM,+DACL,IAAAC,aAAI,EAACL,KAAK,EAAEG,MAAM,CAAC,GACnBH,KAAK,CAACI,MAAM,CACb;EACN;AACJ;AACA;EACI,KAAK,MAAME,WAAW,IAAIJ,YAAY,EAAE;IACpC,MAAM;MAAEK,OAAO;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAGH,WAAW;IAC7C;IACAF,MAAM,CAACG,OAAO,CAAC,GAAG,MAAM,IAAAG,8CAA8B,EAAC;MACnDT,OAAO;MACPO,KAAK;MACLC,KAAK;MACLE,KAAK,EAAEP,MAAM,CAACG,OAAO;IACzB,CAAC,CAAC;EACN;EAEA,OAAOH,MAAM;AACjB,CAAC;AAAC;AAEK,MAAMQ,cAAc,GAAG,CAACJ,KAAe,EAAED,OAAe,MAAmB;EAC9EA,OAAO,EAAEA,OAAyC;EAClDC,KAAK,EAAEA,KAAK;EACZC,KAAK,EAAED,KAAK,CAACL,MAAM,CAACU,IAAI,CAACJ,KAAK,IAAIA,KAAK,CAACF,OAAO,KAAKA,OAAO;AAC/D,CAAC,CAAC;AAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getFieldValues = getFieldValues;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
10
|
+
function getFieldValues(entry, fields) {
|
|
11
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _pick.default)(entry, fields)), entry.values);
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getFieldValues","entry","fields","pick","values"],"sources":["getFieldValues.ts"],"sourcesContent":["import pick from \"lodash/pick\";\n\nimport { CmsEntry } from \"@webiny/api-headless-cms/types\";\n\nexport function getFieldValues(entry: CmsEntry, fields: string[]): any {\n return { ...pick(entry, fields), ...entry.values };\n}\n"],"mappings":";;;;;;;;AAAA;AAIO,SAASA,cAAc,CAACC,KAAe,EAAEC,MAAgB,EAAO;EACnE,mEAAY,IAAAC,aAAI,EAACF,KAAK,EAAEC,MAAM,CAAC,GAAKD,KAAK,CAACG,MAAM;AACpD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isInstallationPending = void 0;
|
|
7
|
+
const isInstallationPending = ({
|
|
8
|
+
tenancy,
|
|
9
|
+
i18n
|
|
10
|
+
}) => {
|
|
11
|
+
/**
|
|
12
|
+
* In case of a fresh webiny project "tenant" and "locale" won't be there until
|
|
13
|
+
* installation is completed. So, we need to skip "ACO" creation till then.
|
|
14
|
+
*/
|
|
15
|
+
const tenant = tenancy.getCurrentTenant();
|
|
16
|
+
if (!tenant) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
return !i18n.getContentLocale();
|
|
20
|
+
};
|
|
21
|
+
exports.isInstallationPending = isInstallationPending;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isInstallationPending","tenancy","i18n","tenant","getCurrentTenant","getContentLocale"],"sources":["isInstallationPending.ts"],"sourcesContent":["import { AcoContext } from \"~/types\";\n\ntype CheckInstallationParams = Pick<AcoContext, \"tenancy\" | \"i18n\">;\nexport const isInstallationPending = ({ tenancy, i18n }: CheckInstallationParams): boolean => {\n /**\n * In case of a fresh webiny project \"tenant\" and \"locale\" won't be there until\n * installation is completed. So, we need to skip \"ACO\" creation till then.\n */\n const tenant = tenancy.getCurrentTenant();\n if (!tenant) {\n return true;\n }\n\n return !i18n.getContentLocale();\n};\n"],"mappings":";;;;;;AAGO,MAAMA,qBAAqB,GAAG,CAAC;EAAEC,OAAO;EAAEC;AAA8B,CAAC,KAAc;EAC1F;AACJ;AACA;AACA;EACI,MAAMC,MAAM,GAAGF,OAAO,CAACG,gBAAgB,EAAE;EACzC,IAAI,CAACD,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,OAAO,CAACD,IAAI,CAACG,gBAAgB,EAAE;AACnC,CAAC;AAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CmsModelPlugin } from "@webiny/api-headless-cms";
|
|
2
|
+
import { CmsModel, CmsGroup } from "@webiny/api-headless-cms/types";
|
|
3
|
+
interface Params {
|
|
4
|
+
group: Pick<CmsGroup, "id" | "name">;
|
|
5
|
+
/**
|
|
6
|
+
* Locale and tenant do not need to be defined.
|
|
7
|
+
* In that case model is not bound to any locale or tenant.
|
|
8
|
+
* You can bind it to locale, tenant, both or none.
|
|
9
|
+
*/
|
|
10
|
+
locale?: string;
|
|
11
|
+
tenant?: string;
|
|
12
|
+
modelDefinition: Omit<CmsModel, "locale" | "tenant" | "webinyVersion" | "group">;
|
|
13
|
+
}
|
|
14
|
+
export declare const modelFactory: (params: Params) => CmsModelPlugin;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.modelFactory = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
10
|
+
const modelFactory = params => {
|
|
11
|
+
const {
|
|
12
|
+
group,
|
|
13
|
+
locale,
|
|
14
|
+
tenant,
|
|
15
|
+
modelDefinition
|
|
16
|
+
} = params;
|
|
17
|
+
return (0, _apiHeadlessCms.createCmsModel)((0, _objectSpread2.default)({
|
|
18
|
+
group,
|
|
19
|
+
locale,
|
|
20
|
+
tenant
|
|
21
|
+
}, modelDefinition));
|
|
22
|
+
};
|
|
23
|
+
exports.modelFactory = modelFactory;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["modelFactory","params","group","locale","tenant","modelDefinition","createCmsModel"],"sources":["modelFactory.ts"],"sourcesContent":["import { CmsModelPlugin, createCmsModel } from \"@webiny/api-headless-cms\";\nimport { CmsModel, CmsGroup } from \"@webiny/api-headless-cms/types\";\n\ninterface Params {\n group: Pick<CmsGroup, \"id\" | \"name\">;\n /**\n * Locale and tenant do not need to be defined.\n * In that case model is not bound to any locale or tenant.\n * You can bind it to locale, tenant, both or none.\n */\n locale?: string;\n tenant?: string;\n modelDefinition: Omit<CmsModel, \"locale\" | \"tenant\" | \"webinyVersion\" | \"group\">;\n}\n\nexport const modelFactory = (params: Params): CmsModelPlugin => {\n const { group, locale, tenant, modelDefinition } = params;\n\n return createCmsModel({\n group,\n locale,\n tenant,\n ...modelDefinition\n });\n};\n"],"mappings":";;;;;;;;AAAA;AAeO,MAAMA,YAAY,GAAIC,MAAc,IAAqB;EAC5D,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAgB,CAAC,GAAGJ,MAAM;EAEzD,OAAO,IAAAK,8BAAc;IACjBJ,KAAK;IACLC,MAAM;IACNC;EAAM,GACHC,eAAe,EACpB;AACN,CAAC;AAAC"}
|
package/utils/resolve.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolve = void 0;
|
|
7
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
8
|
+
const resolve = async fn => {
|
|
9
|
+
try {
|
|
10
|
+
return new _handlerGraphql.Response(await fn());
|
|
11
|
+
} catch (e) {
|
|
12
|
+
return new _handlerGraphql.ErrorResponse(e);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.resolve = resolve;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolve","fn","Response","e","ErrorResponse"],"sources":["resolve.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql\";\n\nexport const resolve = async (fn: () => Promise<any>) => {\n try {\n return new Response(await fn());\n } catch (e) {\n return new ErrorResponse(e);\n }\n};\n"],"mappings":";;;;;;AAAA;AAEO,MAAMA,OAAO,GAAG,MAAOC,EAAsB,IAAK;EACrD,IAAI;IACA,OAAO,IAAIC,wBAAQ,CAAC,MAAMD,EAAE,EAAE,CAAC;EACnC,CAAC,CAAC,OAAOE,CAAC,EAAE;IACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
|
package/context/folders.d.ts
DELETED