@webiny/api-headless-cms-ddb 0.0.0-unstable.e53eceafb5 → 0.0.0-unstable.e6f0dc8ca7
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 +6 -20
- package/definitions/entry.d.ts +4 -6
- package/definitions/entry.js +5 -180
- package/definitions/entry.js.map +1 -1
- package/definitions/group.d.ts +4 -6
- package/definitions/group.js +5 -58
- package/definitions/group.js.map +1 -1
- package/definitions/model.d.ts +4 -6
- package/definitions/model.js +5 -102
- package/definitions/model.js.map +1 -1
- package/definitions/table.d.ts +3 -5
- package/definitions/table.js +6 -28
- package/definitions/table.js.map +1 -1
- package/definitions/types.d.ts +61 -0
- package/definitions/types.js +3 -0
- package/definitions/types.js.map +1 -0
- package/dynamoDb/index.d.ts +1 -1
- package/dynamoDb/index.js +4 -13
- package/dynamoDb/index.js.map +1 -1
- package/dynamoDb/path/locationFolderId.d.ts +1 -1
- package/dynamoDb/path/locationFolderId.js +5 -14
- package/dynamoDb/path/locationFolderId.js.map +1 -1
- package/dynamoDb/path/plainObject.d.ts +1 -1
- package/dynamoDb/path/plainObject.js +5 -14
- package/dynamoDb/path/plainObject.js.map +1 -1
- package/dynamoDb/transformValue/datetime.d.ts +1 -1
- package/dynamoDb/transformValue/datetime.js +5 -12
- package/dynamoDb/transformValue/datetime.js.map +1 -1
- package/index.d.ts +2 -3
- package/index.js +62 -92
- package/index.js.map +1 -1
- package/operations/entry/dataLoader/DataLoaderCache.d.ts +1 -2
- package/operations/entry/dataLoader/DataLoaderCache.js +3 -13
- package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -1
- package/operations/entry/dataLoader/constants.js +1 -7
- package/operations/entry/dataLoader/constants.js.map +1 -1
- package/operations/entry/dataLoader/createBatchScheduleFn.js +4 -10
- package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -1
- package/operations/entry/dataLoader/getAllEntryRevisions.d.ts +3 -3
- package/operations/entry/dataLoader/getAllEntryRevisions.js +16 -26
- package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -1
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.d.ts +3 -3
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +27 -33
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.d.ts +3 -3
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +27 -33
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getRevisionById.d.ts +3 -3
- package/operations/entry/dataLoader/getRevisionById.js +29 -35
- package/operations/entry/dataLoader/getRevisionById.js.map +1 -1
- package/operations/entry/dataLoader/index.d.ts +3 -3
- package/operations/entry/dataLoader/index.js +10 -31
- package/operations/entry/dataLoader/index.js.map +1 -1
- package/operations/entry/dataLoader/types.d.ts +4 -4
- package/operations/entry/dataLoader/types.js +1 -5
- package/operations/entry/dataLoader/types.js.map +1 -1
- package/operations/entry/dataLoaders.d.ts +11 -12
- package/operations/entry/dataLoaders.js +16 -24
- package/operations/entry/dataLoaders.js.map +1 -1
- package/operations/entry/filtering/createExpressions.d.ts +7 -6
- package/operations/entry/filtering/createExpressions.js +29 -35
- package/operations/entry/filtering/createExpressions.js.map +1 -1
- package/operations/entry/filtering/createFields.d.ts +2 -2
- package/operations/entry/filtering/createFields.js +20 -22
- package/operations/entry/filtering/createFields.js.map +1 -1
- package/operations/entry/filtering/extractSort.d.ts +5 -5
- package/operations/entry/filtering/extractSort.js +38 -23
- package/operations/entry/filtering/extractSort.js.map +1 -1
- package/operations/entry/filtering/filter.d.ts +7 -6
- package/operations/entry/filtering/filter.js +22 -27
- package/operations/entry/filtering/filter.js.map +1 -1
- package/operations/entry/filtering/fullTextSearch.d.ts +4 -4
- package/operations/entry/filtering/fullTextSearch.js +7 -15
- package/operations/entry/filtering/fullTextSearch.js.map +1 -1
- package/operations/entry/filtering/getValue.js +1 -8
- package/operations/entry/filtering/getValue.js.map +1 -1
- package/operations/entry/filtering/index.d.ts +2 -2
- package/operations/entry/filtering/index.js +2 -19
- package/operations/entry/filtering/index.js.map +1 -1
- package/operations/entry/filtering/mapPlugins.d.ts +1 -1
- package/operations/entry/filtering/mapPlugins.js +3 -11
- package/operations/entry/filtering/mapPlugins.js.map +1 -1
- package/operations/entry/filtering/plugins/defaultFilterCreate.d.ts +1 -1
- package/operations/entry/filtering/plugins/defaultFilterCreate.js +10 -18
- package/operations/entry/filtering/plugins/defaultFilterCreate.js.map +1 -1
- package/operations/entry/filtering/plugins/index.d.ts +1 -1
- package/operations/entry/filtering/plugins/index.js +6 -13
- package/operations/entry/filtering/plugins/index.js.map +1 -1
- package/operations/entry/filtering/plugins/objectFilterCreate.d.ts +1 -1
- package/operations/entry/filtering/plugins/objectFilterCreate.js +15 -21
- package/operations/entry/filtering/plugins/objectFilterCreate.js.map +1 -1
- package/operations/entry/filtering/plugins/refFilterCreate.d.ts +2 -2
- package/operations/entry/filtering/plugins/refFilterCreate.js +16 -22
- package/operations/entry/filtering/plugins/refFilterCreate.js.map +1 -1
- package/operations/entry/filtering/plugins/searchableJsonFilterCreate.d.ts +1 -1
- package/operations/entry/filtering/plugins/searchableJsonFilterCreate.js +14 -17
- package/operations/entry/filtering/plugins/searchableJsonFilterCreate.js.map +1 -1
- package/operations/entry/filtering/sort.d.ts +5 -5
- package/operations/entry/filtering/sort.js +15 -19
- package/operations/entry/filtering/sort.js.map +1 -1
- package/operations/entry/filtering/systemFields.d.ts +2 -4
- package/operations/entry/filtering/systemFields.js +70 -29
- package/operations/entry/filtering/systemFields.js.map +1 -1
- package/operations/entry/filtering/transform.d.ts +1 -1
- package/operations/entry/filtering/transform.js +1 -8
- package/operations/entry/filtering/transform.js.map +1 -1
- package/operations/entry/filtering/types.d.ts +4 -4
- package/operations/entry/filtering/types.js +1 -5
- package/operations/entry/filtering/types.js.map +1 -1
- package/operations/entry/filtering/values.d.ts +1 -1
- package/operations/entry/filtering/values.js +4 -12
- package/operations/entry/filtering/values.js.map +1 -1
- package/operations/entry/filtering/where.js +1 -8
- package/operations/entry/filtering/where.js.map +1 -1
- package/operations/entry/index.d.ts +4 -3
- package/operations/entry/index.js +279 -388
- package/operations/entry/index.js.map +1 -1
- package/operations/entry/keys.d.ts +40 -2
- package/operations/entry/keys.js +53 -30
- package/operations/entry/keys.js.map +1 -1
- package/operations/group/index.d.ts +4 -5
- package/operations/group/index.js +37 -69
- package/operations/group/index.js.map +1 -1
- package/operations/model/index.d.ts +3 -3
- package/operations/model/index.js +36 -59
- package/operations/model/index.js.map +1 -1
- package/package.json +24 -20
- package/plugins/CmsEntryFieldFilterPathPlugin.d.ts +2 -2
- package/plugins/CmsEntryFieldFilterPathPlugin.js +4 -12
- package/plugins/CmsEntryFieldFilterPathPlugin.js.map +1 -1
- package/plugins/CmsEntryFieldFilterPlugin.d.ts +5 -5
- package/plugins/CmsEntryFieldFilterPlugin.js +2 -8
- package/plugins/CmsEntryFieldFilterPlugin.js.map +1 -1
- package/plugins/CmsEntryFieldSortingPlugin.d.ts +2 -2
- package/plugins/CmsEntryFieldSortingPlugin.js +3 -11
- package/plugins/CmsEntryFieldSortingPlugin.js.map +1 -1
- package/plugins/CmsFieldFilterValueTransformPlugin.d.ts +1 -1
- package/plugins/CmsFieldFilterValueTransformPlugin.js +2 -9
- package/plugins/CmsFieldFilterValueTransformPlugin.js.map +1 -1
- package/plugins/index.d.ts +4 -4
- package/plugins/index.js +4 -49
- package/plugins/index.js.map +1 -1
- package/types.d.ts +20 -20
- package/types.js +1 -8
- package/types.js.map +1 -1
- package/definitions/system.d.ts +0 -10
- package/definitions/system.js +0 -42
- package/definitions/system.js.map +0 -1
- package/dynamoDb/storage/longText.d.ts +0 -10
- package/dynamoDb/storage/longText.js +0 -94
- package/dynamoDb/storage/longText.js.map +0 -1
- package/dynamoDb/storage/richText.d.ts +0 -2
- package/dynamoDb/storage/richText.js +0 -61
- package/dynamoDb/storage/richText.js.map +0 -1
- package/operations/system/index.d.ts +0 -7
- package/operations/system/index.js +0 -94
- package/operations/system/index.js.map +0 -1
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createGroupsStorageOperations = void 0;
|
|
8
|
-
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
-
var _get = require("@webiny/db-dynamodb/utils/get");
|
|
10
|
-
var _query = require("@webiny/db-dynamodb/utils/query");
|
|
11
|
-
var _filter = require("@webiny/db-dynamodb/utils/filter");
|
|
12
|
-
var _ValueFilterPlugin = require("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin");
|
|
13
|
-
var _sort = require("@webiny/db-dynamodb/utils/sort");
|
|
14
|
-
var _dbDynamodb = require("@webiny/db-dynamodb");
|
|
1
|
+
import WebinyError from "@webiny/error";
|
|
2
|
+
import { sortItems } from "@webiny/db-dynamodb";
|
|
3
|
+
import { FilterUtil } from "@webiny/db-dynamodb/feature/FilterUtil/index.js";
|
|
15
4
|
const createPartitionKey = params => {
|
|
16
5
|
const {
|
|
17
|
-
tenant
|
|
18
|
-
locale
|
|
6
|
+
tenant
|
|
19
7
|
} = params;
|
|
20
|
-
return `T#${tenant}#
|
|
8
|
+
return `T#${tenant}#CMS#CMG`;
|
|
21
9
|
};
|
|
22
10
|
const createSortKeys = params => {
|
|
23
11
|
const {
|
|
@@ -28,38 +16,32 @@ const createSortKeys = params => {
|
|
|
28
16
|
const createKeys = params => {
|
|
29
17
|
return {
|
|
30
18
|
PK: createPartitionKey(params),
|
|
31
|
-
SK: createSortKeys(params)
|
|
19
|
+
SK: createSortKeys(params),
|
|
20
|
+
GSI_TENANT: params.tenant
|
|
32
21
|
};
|
|
33
22
|
};
|
|
34
23
|
const createType = () => {
|
|
35
24
|
return "cms.group";
|
|
36
25
|
};
|
|
37
|
-
const createGroupsStorageOperations = params => {
|
|
26
|
+
export const createGroupsStorageOperations = params => {
|
|
38
27
|
const {
|
|
39
28
|
entity,
|
|
40
|
-
|
|
29
|
+
container
|
|
41
30
|
} = params;
|
|
42
|
-
const
|
|
43
|
-
if (filteringPlugins.length === 0) {
|
|
44
|
-
throw new _error.default("DynamoDB filtering plugins not loaded.", "MISSING_DYNAMODB_FILTERING_PLUGINS");
|
|
45
|
-
}
|
|
31
|
+
const filterUtil = container.resolve(FilterUtil);
|
|
46
32
|
const create = async params => {
|
|
47
33
|
const {
|
|
48
34
|
group
|
|
49
35
|
} = params;
|
|
50
36
|
const keys = createKeys(group);
|
|
51
37
|
try {
|
|
52
|
-
await
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
TYPE: createType(),
|
|
57
|
-
...keys
|
|
58
|
-
}
|
|
38
|
+
await entity.put({
|
|
39
|
+
data: group,
|
|
40
|
+
TYPE: createType(),
|
|
41
|
+
...keys
|
|
59
42
|
});
|
|
60
|
-
return group;
|
|
61
43
|
} catch (ex) {
|
|
62
|
-
throw new
|
|
44
|
+
throw new WebinyError(ex.message || "Could not create group.", ex.code || "CREATE_GROUP_ERROR", {
|
|
63
45
|
error: ex,
|
|
64
46
|
group,
|
|
65
47
|
keys
|
|
@@ -72,17 +54,13 @@ const createGroupsStorageOperations = params => {
|
|
|
72
54
|
} = params;
|
|
73
55
|
const keys = createKeys(group);
|
|
74
56
|
try {
|
|
75
|
-
await
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
TYPE: createType(),
|
|
80
|
-
...keys
|
|
81
|
-
}
|
|
57
|
+
await entity.put({
|
|
58
|
+
data: group,
|
|
59
|
+
TYPE: createType(),
|
|
60
|
+
...keys
|
|
82
61
|
});
|
|
83
|
-
return group;
|
|
84
62
|
} catch (ex) {
|
|
85
|
-
throw new
|
|
63
|
+
throw new WebinyError(ex.message || "Could not update group.", ex.code || "UPDATE_GROUP_ERROR", {
|
|
86
64
|
error: ex,
|
|
87
65
|
group,
|
|
88
66
|
keys
|
|
@@ -95,13 +73,9 @@ const createGroupsStorageOperations = params => {
|
|
|
95
73
|
} = params;
|
|
96
74
|
const keys = createKeys(group);
|
|
97
75
|
try {
|
|
98
|
-
await (
|
|
99
|
-
entity,
|
|
100
|
-
keys
|
|
101
|
-
});
|
|
102
|
-
return group;
|
|
76
|
+
await entity.delete(keys);
|
|
103
77
|
} catch (ex) {
|
|
104
|
-
throw new
|
|
78
|
+
throw new WebinyError(ex.message || "Could not delete group.", ex.code || "DELETE_GROUP_ERROR", {
|
|
105
79
|
error: ex,
|
|
106
80
|
group,
|
|
107
81
|
keys
|
|
@@ -111,12 +85,10 @@ const createGroupsStorageOperations = params => {
|
|
|
111
85
|
const get = async params => {
|
|
112
86
|
const keys = createKeys(params);
|
|
113
87
|
try {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
keys
|
|
117
|
-
});
|
|
88
|
+
const result = await entity.get(keys);
|
|
89
|
+
return result?.data || null;
|
|
118
90
|
} catch (ex) {
|
|
119
|
-
throw new
|
|
91
|
+
throw new WebinyError(ex.message || "Could not get group.", ex.code || "GET_GROUP_ERROR", {
|
|
120
92
|
error: ex,
|
|
121
93
|
...params,
|
|
122
94
|
keys
|
|
@@ -128,37 +100,34 @@ const createGroupsStorageOperations = params => {
|
|
|
128
100
|
sort,
|
|
129
101
|
where
|
|
130
102
|
} = params;
|
|
131
|
-
const queryAllParams = {
|
|
132
|
-
entity,
|
|
133
|
-
partitionKey: createPartitionKey(where),
|
|
134
|
-
options: {
|
|
135
|
-
gte: " "
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
103
|
let records = [];
|
|
139
104
|
try {
|
|
140
|
-
|
|
105
|
+
const ddbRecords = await entity.queryAll({
|
|
106
|
+
partitionKey: createPartitionKey(where),
|
|
107
|
+
options: {
|
|
108
|
+
gte: " "
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
records = ddbRecords.map(item => item.data);
|
|
141
112
|
} catch (ex) {
|
|
142
|
-
throw new
|
|
113
|
+
throw new WebinyError(ex.message || "Could not list groups.", ex.code || "LIST_GROUP_ERROR", {
|
|
143
114
|
error: ex,
|
|
144
115
|
...params,
|
|
145
116
|
sort,
|
|
146
117
|
where
|
|
147
118
|
});
|
|
148
119
|
}
|
|
149
|
-
const filteredItems =
|
|
120
|
+
const filteredItems = filterUtil.filter({
|
|
150
121
|
items: records,
|
|
151
122
|
where,
|
|
152
|
-
fields: []
|
|
153
|
-
plugins
|
|
123
|
+
fields: []
|
|
154
124
|
});
|
|
155
125
|
if (!sort || sort.length === 0) {
|
|
156
126
|
return filteredItems;
|
|
157
127
|
}
|
|
158
|
-
return
|
|
128
|
+
return sortItems({
|
|
159
129
|
items: filteredItems,
|
|
160
|
-
sort
|
|
161
|
-
fields: []
|
|
130
|
+
sort
|
|
162
131
|
});
|
|
163
132
|
};
|
|
164
133
|
return {
|
|
@@ -169,6 +138,5 @@ const createGroupsStorageOperations = params => {
|
|
|
169
138
|
list
|
|
170
139
|
};
|
|
171
140
|
};
|
|
172
|
-
exports.createGroupsStorageOperations = createGroupsStorageOperations;
|
|
173
141
|
|
|
174
142
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_get","_query","_filter","_ValueFilterPlugin","_sort","_dbDynamodb","createPartitionKey","params","tenant","locale","createSortKeys","id","createKeys","PK","SK","createType","createGroupsStorageOperations","entity","plugins","filteringPlugins","byType","ValueFilterPlugin","type","length","WebinyError","create","group","keys","put","item","TYPE","ex","message","code","error","update","deleteGroup","deleteItem","get","getClean","list","sort","where","queryAllParams","partitionKey","options","gte","records","queryAll","filteredItems","filterItems","items","fields","sortItems","delete","exports"],"sources":["index.ts"],"sourcesContent":["import type {\n CmsGroup,\n CmsGroupStorageOperations,\n CmsGroupStorageOperationsCreateParams,\n CmsGroupStorageOperationsDeleteParams,\n CmsGroupStorageOperationsGetParams,\n CmsGroupStorageOperationsListParams,\n CmsGroupStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport WebinyError from \"@webiny/error\";\nimport { getClean } from \"@webiny/db-dynamodb/utils/get\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { ValueFilterPlugin } from \"@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\n\ninterface PartitionKeyParams {\n tenant: string;\n locale: string;\n}\nconst createPartitionKey = (params: PartitionKeyParams): string => {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#CMS#CMG`;\n};\n\ninterface SortKeyParams {\n id: string;\n}\nconst createSortKeys = (params: SortKeyParams): string => {\n const { id } = params;\n return id;\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n}\nconst createKeys = (params: PartitionKeyParams & SortKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKeys(params)\n };\n};\n\nconst createType = (): string => {\n return \"cms.group\";\n};\n\ninterface CreateGroupsStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createGroupsStorageOperations = (\n params: CreateGroupsStorageOperationsParams\n): CmsGroupStorageOperations => {\n const { entity, plugins } = params;\n\n const filteringPlugins = plugins.byType<ValueFilterPlugin>(ValueFilterPlugin.type);\n if (filteringPlugins.length === 0) {\n throw new WebinyError(\n \"DynamoDB filtering plugins not loaded.\",\n \"MISSING_DYNAMODB_FILTERING_PLUGINS\"\n );\n }\n\n const create = async (params: CmsGroupStorageOperationsCreateParams) => {\n const { group } = params;\n const keys = createKeys(group);\n try {\n await put({\n entity,\n item: {\n ...group,\n TYPE: createType(),\n ...keys\n }\n });\n return group;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create group.\",\n ex.code || \"CREATE_GROUP_ERROR\",\n {\n error: ex,\n group,\n keys\n }\n );\n }\n };\n const update = async (params: CmsGroupStorageOperationsUpdateParams) => {\n const { group } = params;\n const keys = createKeys(group);\n try {\n await put({\n entity,\n item: {\n ...group,\n TYPE: createType(),\n ...keys\n }\n });\n return group;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update group.\",\n ex.code || \"UPDATE_GROUP_ERROR\",\n {\n error: ex,\n group,\n keys\n }\n );\n }\n };\n const deleteGroup = async (params: CmsGroupStorageOperationsDeleteParams) => {\n const { group } = params;\n const keys = createKeys(group);\n try {\n await deleteItem({\n entity,\n keys\n });\n return group;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete group.\",\n ex.code || \"DELETE_GROUP_ERROR\",\n {\n error: ex,\n group,\n keys\n }\n );\n }\n };\n const get = async (params: CmsGroupStorageOperationsGetParams) => {\n const keys = createKeys(params);\n\n try {\n return await getClean<CmsGroup>({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get group.\",\n ex.code || \"GET_GROUP_ERROR\",\n {\n error: ex,\n ...params,\n keys\n }\n );\n }\n };\n const list = async (params: CmsGroupStorageOperationsListParams) => {\n const { sort, where } = params;\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey(where),\n options: {\n gte: \" \"\n }\n };\n\n let records: CmsGroup[] = [];\n try {\n records = await queryAll(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list groups.\",\n ex.code || \"LIST_GROUP_ERROR\",\n {\n error: ex,\n ...params,\n sort,\n where\n }\n );\n }\n\n const filteredItems = filterItems({\n items: records,\n where,\n fields: [],\n plugins\n });\n if (!sort || sort.length === 0) {\n return filteredItems;\n }\n return sortItems({\n items: filteredItems,\n sort,\n fields: []\n });\n };\n\n return {\n create,\n update,\n delete: deleteGroup,\n get,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["WebinyError","sortItems","FilterUtil","createPartitionKey","params","tenant","createSortKeys","id","createKeys","PK","SK","GSI_TENANT","createType","createGroupsStorageOperations","entity","container","filterUtil","resolve","create","group","keys","put","data","TYPE","ex","message","code","error","update","deleteGroup","delete","get","result","list","sort","where","records","ddbRecords","queryAll","partitionKey","options","gte","map","item","filteredItems","filter","items","fields","length"],"sources":["index.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsGroup,\n CmsGroupStorageOperations,\n CmsGroupStorageOperationsCreateParams,\n CmsGroupStorageOperationsDeleteParams,\n CmsGroupStorageOperationsGetParams,\n CmsGroupStorageOperationsListParams,\n CmsGroupStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport WebinyError from \"@webiny/error\";\nimport { sortItems } from \"@webiny/db-dynamodb\";\nimport type { IGroupEntity } from \"~/definitions/types.js\";\nimport { FilterUtil } from \"@webiny/db-dynamodb/feature/FilterUtil/index.js\";\n\ninterface PartitionKeyParams {\n tenant: string;\n}\nconst createPartitionKey = (params: PartitionKeyParams): string => {\n const { tenant } = params;\n return `T#${tenant}#CMS#CMG`;\n};\n\ninterface SortKeyParams {\n id: string;\n}\nconst createSortKeys = (params: SortKeyParams): string => {\n const { id } = params;\n return id;\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n GSI_TENANT: string;\n}\nconst createKeys = (params: PartitionKeyParams & SortKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKeys(params),\n GSI_TENANT: params.tenant\n };\n};\n\nconst createType = (): string => {\n return \"cms.group\";\n};\n\ninterface CreateGroupsStorageOperationsParams {\n entity: IGroupEntity;\n container: CmsContext[\"container\"];\n}\nexport const createGroupsStorageOperations = (\n params: CreateGroupsStorageOperationsParams\n): CmsGroupStorageOperations => {\n const { entity, container } = params;\n const filterUtil = container.resolve(FilterUtil);\n\n const create = async (params: CmsGroupStorageOperationsCreateParams) => {\n const { group } = params;\n const keys = createKeys(group);\n try {\n await entity.put({\n data: group,\n TYPE: createType(),\n ...keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create group.\",\n ex.code || \"CREATE_GROUP_ERROR\",\n {\n error: ex,\n group,\n keys\n }\n );\n }\n };\n const update = async (params: CmsGroupStorageOperationsUpdateParams) => {\n const { group } = params;\n const keys = createKeys(group);\n try {\n await entity.put({\n data: group,\n TYPE: createType(),\n ...keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update group.\",\n ex.code || \"UPDATE_GROUP_ERROR\",\n {\n error: ex,\n group,\n keys\n }\n );\n }\n };\n const deleteGroup = async (params: CmsGroupStorageOperationsDeleteParams) => {\n const { group } = params;\n const keys = createKeys(group);\n try {\n await entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete group.\",\n ex.code || \"DELETE_GROUP_ERROR\",\n {\n error: ex,\n group,\n keys\n }\n );\n }\n };\n const get = async (params: CmsGroupStorageOperationsGetParams) => {\n const keys = createKeys(params);\n\n try {\n const result = await entity.get(keys);\n\n return result?.data || null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get group.\",\n ex.code || \"GET_GROUP_ERROR\",\n {\n error: ex,\n ...params,\n keys\n }\n );\n }\n };\n const list = async (params: CmsGroupStorageOperationsListParams) => {\n const { sort, where } = params;\n\n let records: CmsGroup[] = [];\n try {\n const ddbRecords = await entity.queryAll({\n partitionKey: createPartitionKey(where),\n options: {\n gte: \" \"\n }\n });\n records = ddbRecords.map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list groups.\",\n ex.code || \"LIST_GROUP_ERROR\",\n {\n error: ex,\n ...params,\n sort,\n where\n }\n );\n }\n\n const filteredItems = filterUtil.filter({\n items: records,\n where,\n fields: []\n });\n if (!sort || sort.length === 0) {\n return filteredItems;\n }\n\n return sortItems({\n items: filteredItems,\n sort\n });\n };\n\n return {\n create,\n update,\n delete: deleteGroup,\n get,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CmsModelStorageOperations } from "@webiny/api-headless-cms/types";
|
|
2
|
-
import type {
|
|
1
|
+
import type { CmsModelStorageOperations } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import type { IModelEntity } from "../../definitions/types.js";
|
|
3
3
|
interface CreateModelsStorageOperationsParams {
|
|
4
|
-
entity:
|
|
4
|
+
entity: IModelEntity;
|
|
5
5
|
}
|
|
6
6
|
export declare const createModelsStorageOperations: (params: CreateModelsStorageOperationsParams) => CmsModelStorageOperations;
|
|
7
7
|
export {};
|
|
@@ -1,26 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createModelsStorageOperations = void 0;
|
|
8
|
-
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
-
var _get = require("@webiny/db-dynamodb/utils/get");
|
|
10
|
-
var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
|
|
11
|
-
var _query = require("@webiny/db-dynamodb/utils/query");
|
|
12
|
-
var _dbDynamodb = require("@webiny/db-dynamodb");
|
|
1
|
+
import WebinyError from "@webiny/error";
|
|
2
|
+
import { convertException } from "@webiny/utils";
|
|
13
3
|
const createPartitionKey = params => {
|
|
14
4
|
const {
|
|
15
|
-
tenant
|
|
16
|
-
locale
|
|
5
|
+
tenant
|
|
17
6
|
} = params;
|
|
18
7
|
if (!tenant) {
|
|
19
|
-
throw new
|
|
20
|
-
} else if (!locale) {
|
|
21
|
-
throw new _error.default(`Missing locale variable when creating model partitionKey.`);
|
|
8
|
+
throw new WebinyError(`Missing tenant variable when creating model partitionKey.`);
|
|
22
9
|
}
|
|
23
|
-
return `T#${tenant}#
|
|
10
|
+
return `T#${tenant}#CMS#CM`;
|
|
24
11
|
};
|
|
25
12
|
const createSortKey = params => {
|
|
26
13
|
return params.modelId;
|
|
@@ -28,13 +15,14 @@ const createSortKey = params => {
|
|
|
28
15
|
const createKeys = params => {
|
|
29
16
|
return {
|
|
30
17
|
PK: createPartitionKey(params),
|
|
31
|
-
SK: createSortKey(params)
|
|
18
|
+
SK: createSortKey(params),
|
|
19
|
+
GSI_TENANT: params.tenant
|
|
32
20
|
};
|
|
33
21
|
};
|
|
34
22
|
const createType = () => {
|
|
35
23
|
return "cms.model";
|
|
36
24
|
};
|
|
37
|
-
const createModelsStorageOperations = params => {
|
|
25
|
+
export const createModelsStorageOperations = params => {
|
|
38
26
|
const {
|
|
39
27
|
entity
|
|
40
28
|
} = params;
|
|
@@ -44,18 +32,15 @@ const createModelsStorageOperations = params => {
|
|
|
44
32
|
} = params;
|
|
45
33
|
const keys = createKeys(model);
|
|
46
34
|
try {
|
|
47
|
-
await
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
...keys,
|
|
52
|
-
TYPE: createType()
|
|
53
|
-
}
|
|
35
|
+
await entity.put({
|
|
36
|
+
data: model,
|
|
37
|
+
...keys,
|
|
38
|
+
TYPE: createType()
|
|
54
39
|
});
|
|
55
40
|
return model;
|
|
56
41
|
} catch (ex) {
|
|
57
|
-
throw new
|
|
58
|
-
error: ex,
|
|
42
|
+
throw new WebinyError(`Could not create CMS Content Model.`, "CREATE_MODEL_ERROR", {
|
|
43
|
+
error: convertException(ex),
|
|
59
44
|
model,
|
|
60
45
|
keys
|
|
61
46
|
});
|
|
@@ -67,17 +52,14 @@ const createModelsStorageOperations = params => {
|
|
|
67
52
|
} = params;
|
|
68
53
|
const keys = createKeys(model);
|
|
69
54
|
try {
|
|
70
|
-
await
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
...keys,
|
|
75
|
-
TYPE: createType()
|
|
76
|
-
}
|
|
55
|
+
await entity.put({
|
|
56
|
+
data: model,
|
|
57
|
+
...keys,
|
|
58
|
+
TYPE: createType()
|
|
77
59
|
});
|
|
78
60
|
return model;
|
|
79
61
|
} catch (ex) {
|
|
80
|
-
throw new
|
|
62
|
+
throw new WebinyError(ex.message || "Could not update model.", ex.code || "MODEL_UPDATE_ERROR", {
|
|
81
63
|
error: ex,
|
|
82
64
|
model,
|
|
83
65
|
keys
|
|
@@ -90,13 +72,9 @@ const createModelsStorageOperations = params => {
|
|
|
90
72
|
} = params;
|
|
91
73
|
const keys = createKeys(model);
|
|
92
74
|
try {
|
|
93
|
-
await (
|
|
94
|
-
entity,
|
|
95
|
-
keys
|
|
96
|
-
});
|
|
97
|
-
return model;
|
|
75
|
+
await entity.delete(keys);
|
|
98
76
|
} catch (ex) {
|
|
99
|
-
throw new
|
|
77
|
+
throw new WebinyError(ex.message || "Could not delete model.", ex.code || "MODEL_DELETE_ERROR", {
|
|
100
78
|
error: ex,
|
|
101
79
|
model,
|
|
102
80
|
keys
|
|
@@ -106,12 +84,10 @@ const createModelsStorageOperations = params => {
|
|
|
106
84
|
const get = async params => {
|
|
107
85
|
const keys = createKeys(params);
|
|
108
86
|
try {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
keys
|
|
112
|
-
});
|
|
87
|
+
const result = await entity.get(keys);
|
|
88
|
+
return result?.data || null;
|
|
113
89
|
} catch (ex) {
|
|
114
|
-
throw new
|
|
90
|
+
throw new WebinyError(ex.message || "Could not get model.", ex.code || "MODEL_GET_ERROR", {
|
|
115
91
|
error: ex,
|
|
116
92
|
keys
|
|
117
93
|
});
|
|
@@ -121,19 +97,21 @@ const createModelsStorageOperations = params => {
|
|
|
121
97
|
const {
|
|
122
98
|
where
|
|
123
99
|
} = params;
|
|
124
|
-
const
|
|
125
|
-
entity,
|
|
126
|
-
partitionKey: createPartitionKey(where),
|
|
127
|
-
options: {
|
|
128
|
-
gte: " "
|
|
129
|
-
}
|
|
130
|
-
};
|
|
100
|
+
const partitionKey = createPartitionKey(where);
|
|
131
101
|
try {
|
|
132
|
-
|
|
102
|
+
const result = await entity.queryAll({
|
|
103
|
+
partitionKey,
|
|
104
|
+
options: {
|
|
105
|
+
gte: " "
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
return result.map(item => {
|
|
109
|
+
return item.data;
|
|
110
|
+
});
|
|
133
111
|
} catch (ex) {
|
|
134
|
-
throw new
|
|
112
|
+
throw new WebinyError(ex.message || "Could not list models.", ex.code || "MODEL_LIST_ERROR", {
|
|
135
113
|
error: ex,
|
|
136
|
-
partitionKey
|
|
114
|
+
partitionKey
|
|
137
115
|
});
|
|
138
116
|
}
|
|
139
117
|
};
|
|
@@ -145,6 +123,5 @@ const createModelsStorageOperations = params => {
|
|
|
145
123
|
list
|
|
146
124
|
};
|
|
147
125
|
};
|
|
148
|
-
exports.createModelsStorageOperations = createModelsStorageOperations;
|
|
149
126
|
|
|
150
127
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["WebinyError","convertException","createPartitionKey","params","tenant","createSortKey","modelId","createKeys","PK","SK","GSI_TENANT","createType","createModelsStorageOperations","entity","create","model","keys","put","data","TYPE","ex","error","update","message","code","deleteModel","delete","get","result","list","where","partitionKey","queryAll","options","gte","map","item"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsModelStorageOperations,\n CmsModelStorageOperationsCreateParams,\n CmsModelStorageOperationsDeleteParams,\n CmsModelStorageOperationsGetParams,\n CmsModelStorageOperationsListParams,\n CmsModelStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { convertException } from \"@webiny/utils\";\nimport type { IModelEntity } from \"~/definitions/types.js\";\n\ninterface PartitionKeysParams {\n tenant: string;\n}\nconst createPartitionKey = (params: PartitionKeysParams): string => {\n const { tenant } = params;\n if (!tenant) {\n throw new WebinyError(`Missing tenant variable when creating model partitionKey.`);\n }\n return `T#${tenant}#CMS#CM`;\n};\n\ninterface SortKeyParams {\n modelId: string;\n}\nconst createSortKey = (params: SortKeyParams): string => {\n return params.modelId;\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n GSI_TENANT: string;\n}\nconst createKeys = (params: PartitionKeysParams & SortKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey(params),\n GSI_TENANT: params.tenant\n };\n};\n\nconst createType = (): string => {\n return \"cms.model\";\n};\n\ninterface CreateModelsStorageOperationsParams {\n entity: IModelEntity;\n}\nexport const createModelsStorageOperations = (\n params: CreateModelsStorageOperationsParams\n): CmsModelStorageOperations => {\n const { entity } = params;\n\n const create = async (params: CmsModelStorageOperationsCreateParams) => {\n const { model } = params;\n\n const keys = createKeys(model);\n\n try {\n await entity.put({\n data: model,\n ...keys,\n TYPE: createType()\n });\n return model;\n } catch (ex) {\n throw new WebinyError(`Could not create CMS Content Model.`, \"CREATE_MODEL_ERROR\", {\n error: convertException(ex),\n model,\n keys\n });\n }\n };\n\n const update = async (params: CmsModelStorageOperationsUpdateParams) => {\n const { model } = params;\n\n const keys = createKeys(model);\n\n try {\n await entity.put({\n data: model,\n ...keys,\n TYPE: createType()\n });\n return model;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update model.\",\n ex.code || \"MODEL_UPDATE_ERROR\",\n {\n error: ex,\n model,\n keys\n }\n );\n }\n };\n\n const deleteModel = async (params: CmsModelStorageOperationsDeleteParams) => {\n const { model } = params;\n const keys = createKeys(model);\n\n try {\n await entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete model.\",\n ex.code || \"MODEL_DELETE_ERROR\",\n {\n error: ex,\n model,\n keys\n }\n );\n }\n };\n\n const get = async (params: CmsModelStorageOperationsGetParams) => {\n const keys = createKeys(params);\n\n try {\n const result = await entity.get(keys);\n return result?.data || null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get model.\",\n ex.code || \"MODEL_GET_ERROR\",\n {\n error: ex,\n keys\n }\n );\n }\n };\n\n const list = async (params: CmsModelStorageOperationsListParams) => {\n const { where } = params;\n\n const partitionKey = createPartitionKey(where);\n\n try {\n const result = await entity.queryAll({\n partitionKey,\n options: {\n gte: \" \"\n }\n });\n return result.map(item => {\n return item.data;\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list models.\",\n ex.code || \"MODEL_LIST_ERROR\",\n {\n error: ex,\n partitionKey\n }\n );\n }\n };\n\n return {\n create,\n update,\n delete: deleteModel,\n get,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms-ddb",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.0.0-unstable.e6f0dc8ca7",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./index.js",
|
|
7
|
+
"./*": "./*"
|
|
8
|
+
},
|
|
5
9
|
"keywords": [
|
|
6
10
|
"@webiny/api-headless-cms",
|
|
7
11
|
"storage-operations",
|
|
@@ -22,34 +26,34 @@
|
|
|
22
26
|
],
|
|
23
27
|
"license": "MIT",
|
|
24
28
|
"dependencies": {
|
|
25
|
-
"@webiny/api": "0.0.0-unstable.
|
|
26
|
-
"@webiny/api-headless-cms": "0.0.0-unstable.
|
|
27
|
-
"@webiny/aws-sdk": "0.0.0-unstable.
|
|
28
|
-
"@webiny/db-dynamodb": "0.0.0-unstable.
|
|
29
|
-
"@webiny/error": "0.0.0-unstable.
|
|
30
|
-
"@webiny/
|
|
31
|
-
"@webiny/
|
|
29
|
+
"@webiny/api": "0.0.0-unstable.e6f0dc8ca7",
|
|
30
|
+
"@webiny/api-headless-cms": "0.0.0-unstable.e6f0dc8ca7",
|
|
31
|
+
"@webiny/aws-sdk": "0.0.0-unstable.e6f0dc8ca7",
|
|
32
|
+
"@webiny/db-dynamodb": "0.0.0-unstable.e6f0dc8ca7",
|
|
33
|
+
"@webiny/error": "0.0.0-unstable.e6f0dc8ca7",
|
|
34
|
+
"@webiny/feature": "0.0.0-unstable.e6f0dc8ca7",
|
|
35
|
+
"@webiny/handler": "0.0.0-unstable.e6f0dc8ca7",
|
|
36
|
+
"@webiny/handler-db": "0.0.0-unstable.e6f0dc8ca7",
|
|
37
|
+
"@webiny/utils": "0.0.0-unstable.e6f0dc8ca7",
|
|
32
38
|
"dataloader": "2.2.3",
|
|
33
39
|
"dot-object": "2.1.5",
|
|
34
|
-
"dot-prop": "
|
|
35
|
-
"lodash": "4.
|
|
40
|
+
"dot-prop": "10.1.0",
|
|
41
|
+
"lodash": "4.18.1"
|
|
36
42
|
},
|
|
37
43
|
"devDependencies": {
|
|
38
44
|
"@types/dot-object": "2.1.6",
|
|
39
45
|
"@types/jsonpack": "1.1.6",
|
|
40
|
-
"@webiny/
|
|
41
|
-
"@webiny/
|
|
42
|
-
"
|
|
46
|
+
"@webiny/build-tools": "0.0.0-unstable.e6f0dc8ca7",
|
|
47
|
+
"@webiny/di": "0.2.3",
|
|
48
|
+
"@webiny/plugins": "0.0.0-unstable.e6f0dc8ca7",
|
|
49
|
+
"@webiny/project-utils": "0.0.0-unstable.e6f0dc8ca7",
|
|
43
50
|
"jest-dynalite": "3.6.1",
|
|
44
|
-
"typescript": "
|
|
51
|
+
"typescript": "6.0.3",
|
|
52
|
+
"vitest": "4.1.5"
|
|
45
53
|
},
|
|
46
54
|
"publishConfig": {
|
|
47
55
|
"access": "public",
|
|
48
56
|
"directory": "dist"
|
|
49
57
|
},
|
|
50
|
-
"
|
|
51
|
-
"build": "node ../cli/bin.js run build",
|
|
52
|
-
"watch": "node ../cli/bin.js run watch"
|
|
53
|
-
},
|
|
54
|
-
"gitHead": "e53eceafb5ce1a3872c9b4548939bb2eae5b1aef"
|
|
58
|
+
"gitHead": "e6f0dc8ca741c1fcc3fec9a5b9e86fdd49544641"
|
|
55
59
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Plugin } from "@webiny/plugins/Plugin";
|
|
2
|
-
import type { CmsModelField } from "@webiny/api-headless-cms/types";
|
|
1
|
+
import { Plugin } from "@webiny/plugins/Plugin.js";
|
|
2
|
+
import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
|
|
3
3
|
export interface CreatePathCallableParams {
|
|
4
4
|
field: Partial<CmsModelField> & Pick<CmsModelField, "fieldId" | "storageId" | "id">;
|
|
5
5
|
index?: number;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.CmsEntryFieldFilterPathPlugin = void 0;
|
|
8
|
-
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
-
var _Plugin = require("@webiny/plugins/Plugin");
|
|
10
|
-
class CmsEntryFieldFilterPathPlugin extends _Plugin.Plugin {
|
|
1
|
+
import WebinyError from "@webiny/error";
|
|
2
|
+
import { Plugin } from "@webiny/plugins/Plugin.js";
|
|
3
|
+
export class CmsEntryFieldFilterPathPlugin extends Plugin {
|
|
11
4
|
static type = "cms-field-filter-path";
|
|
12
5
|
get fieldType() {
|
|
13
6
|
return this.config.fieldType;
|
|
@@ -40,9 +33,8 @@ class CmsEntryFieldFilterPathPlugin extends _Plugin.Plugin {
|
|
|
40
33
|
} else if (typeof this.config.path === "string") {
|
|
41
34
|
return this.config.path;
|
|
42
35
|
}
|
|
43
|
-
throw new
|
|
36
|
+
throw new WebinyError(`Missing path in "${this.name}" plugin.`);
|
|
44
37
|
}
|
|
45
38
|
}
|
|
46
|
-
exports.CmsEntryFieldFilterPathPlugin = CmsEntryFieldFilterPathPlugin;
|
|
47
39
|
|
|
48
40
|
//# sourceMappingURL=CmsEntryFieldFilterPathPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["WebinyError","Plugin","CmsEntryFieldFilterPathPlugin","type","fieldType","config","constructor","name","canUse","field","parents","fieldId","Array","isArray","length","includes","createPath","params","path"],"sources":["CmsEntryFieldFilterPathPlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Plugin } from \"@webiny/plugins/Plugin.js\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface CreatePathCallableParams {\n field: Partial<CmsModelField> & Pick<CmsModelField, \"fieldId\" | \"storageId\" | \"id\">;\n index?: number;\n}\nexport interface CreatePathCallable {\n (params: CreatePathCallableParams): string;\n}\nexport interface CmsEntryFieldFilterPathPluginParams {\n fieldType: string;\n fieldId?: string[];\n path: string | CreatePathCallable;\n canUse?: (field: Pick<CmsModelField, \"fieldId\" | \"type\">, parents?: string[]) => boolean;\n}\nexport class CmsEntryFieldFilterPathPlugin extends Plugin {\n public static override readonly type: string = \"cms-field-filter-path\";\n\n private readonly config: CmsEntryFieldFilterPathPluginParams;\n\n public get fieldType(): string {\n return this.config.fieldType;\n }\n\n public constructor(config: CmsEntryFieldFilterPathPluginParams) {\n super();\n\n this.config = config;\n\n /**\n * We expect error here because we know that `this.constructor.type` is defined, but TS does not.\n */\n // @ts-expect-error\n this.name = `${this.constructor.type}-${this.config.fieldType}`;\n }\n\n public canUse(field: Pick<CmsModelField, \"fieldId\" | \"type\">, parents: string[]): boolean {\n if (field.type !== this.config.fieldType) {\n return false;\n } else if (this.config.canUse) {\n return this.config.canUse(field, parents);\n }\n const fieldId = this.config.fieldId;\n if (!fieldId || Array.isArray(fieldId) === false || fieldId.length === 0) {\n return true;\n }\n return fieldId.includes(field.fieldId);\n }\n\n public createPath(params: CreatePathCallableParams): string {\n if (typeof this.config.path === \"function\") {\n return this.config.path(params);\n } else if (typeof this.config.path === \"string\") {\n return this.config.path;\n }\n throw new WebinyError(`Missing path in \"${this.name}\" plugin.`);\n }\n}\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,MAAM,QAAQ,2BAA2B;AAgBlD,OAAO,MAAMC,6BAA6B,SAASD,MAAM,CAAC;EACtD,OAAgCE,IAAI,GAAW,uBAAuB;EAItE,IAAWC,SAASA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACC,MAAM,CAACD,SAAS;EAChC;EAEOE,WAAWA,CAACD,MAA2C,EAAE;IAC5D,KAAK,CAAC,CAAC;IAEP,IAAI,CAACA,MAAM,GAAGA,MAAM;;IAEpB;AACR;AACA;IACQ;IACA,IAAI,CAACE,IAAI,GAAG,GAAG,IAAI,CAACD,WAAW,CAACH,IAAI,IAAI,IAAI,CAACE,MAAM,CAACD,SAAS,EAAE;EACnE;EAEOI,MAAMA,CAACC,KAA8C,EAAEC,OAAiB,EAAW;IACtF,IAAID,KAAK,CAACN,IAAI,KAAK,IAAI,CAACE,MAAM,CAACD,SAAS,EAAE;MACtC,OAAO,KAAK;IAChB,CAAC,MAAM,IAAI,IAAI,CAACC,MAAM,CAACG,MAAM,EAAE;MAC3B,OAAO,IAAI,CAACH,MAAM,CAACG,MAAM,CAACC,KAAK,EAAEC,OAAO,CAAC;IAC7C;IACA,MAAMC,OAAO,GAAG,IAAI,CAACN,MAAM,CAACM,OAAO;IACnC,IAAI,CAACA,OAAO,IAAIC,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,KAAK,KAAK,IAAIA,OAAO,CAACG,MAAM,KAAK,CAAC,EAAE;MACtE,OAAO,IAAI;IACf;IACA,OAAOH,OAAO,CAACI,QAAQ,CAACN,KAAK,CAACE,OAAO,CAAC;EAC1C;EAEOK,UAAUA,CAACC,MAAgC,EAAU;IACxD,IAAI,OAAO,IAAI,CAACZ,MAAM,CAACa,IAAI,KAAK,UAAU,EAAE;MACxC,OAAO,IAAI,CAACb,MAAM,CAACa,IAAI,CAACD,MAAM,CAAC;IACnC,CAAC,MAAM,IAAI,OAAO,IAAI,CAACZ,MAAM,CAACa,IAAI,KAAK,QAAQ,EAAE;MAC7C,OAAO,IAAI,CAACb,MAAM,CAACa,IAAI;IAC3B;IACA,MAAM,IAAIlB,WAAW,CAAC,oBAAoB,IAAI,CAACO,IAAI,WAAW,CAAC;EACnE;AACJ","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Plugin } from "@webiny/plugins";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import
|
|
2
|
+
import type { Field } from "../operations/entry/filtering/types.js";
|
|
3
|
+
import type { CmsFieldFilterValueTransformPlugin } from "../types.js";
|
|
4
|
+
import { ValueFilterRegistry } from "@webiny/db-dynamodb/feature/ValueFilter/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* This plugin is used to create the filter.
|
|
7
7
|
* Internally we have default one + the one for the reference field - because it is actually an object when filtering.
|
|
@@ -16,7 +16,7 @@ interface CmsEntryFieldFilterPluginCreateParams<T = any> {
|
|
|
16
16
|
field: Field;
|
|
17
17
|
fields: Record<string, Field>;
|
|
18
18
|
operation: string;
|
|
19
|
-
|
|
19
|
+
valueFilterRegistry: ValueFilterRegistry.Interface;
|
|
20
20
|
transformValuePlugins: Record<string, CmsFieldFilterValueTransformPlugin>;
|
|
21
21
|
getFilterCreatePlugin: (type: string) => CmsEntryFieldFilterPlugin;
|
|
22
22
|
negate: boolean;
|
|
@@ -27,7 +27,7 @@ export interface CmsEntryFieldFilterPluginCreateResponse {
|
|
|
27
27
|
field: Field;
|
|
28
28
|
path: string;
|
|
29
29
|
fieldPathId: string;
|
|
30
|
-
|
|
30
|
+
filter: ValueFilterRegistry.Filter;
|
|
31
31
|
negate: boolean;
|
|
32
32
|
compareValue: any;
|
|
33
33
|
transformValue: <I = any, O = any>(value: I) => O;
|