@webiny/api-headless-cms-ddb 5.43.2-beta.0 → 6.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dynamoDb/storage/richText.js +1 -8
- package/dynamoDb/storage/richText.js.map +1 -1
- package/operations/entry/filtering/plugins/index.js +2 -1
- package/operations/entry/filtering/plugins/index.js.map +1 -1
- package/operations/entry/filtering/plugins/searchableJsonFilterCreate.d.ts +2 -0
- package/operations/entry/filtering/plugins/searchableJsonFilterCreate.js +65 -0
- package/operations/entry/filtering/plugins/searchableJsonFilterCreate.js.map +1 -0
- package/package.json +13 -11
|
@@ -33,14 +33,7 @@ const createRichTextStorageTransformPlugin = () => {
|
|
|
33
33
|
return storageValue;
|
|
34
34
|
}
|
|
35
35
|
try {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
// We must make sure the rich text value is an object.
|
|
39
|
-
// It is possible that it is a string if developers call the API with an already stringified value.
|
|
40
|
-
if (typeof uncompressed === "string") {
|
|
41
|
-
return JSON.parse(uncompressed);
|
|
42
|
-
}
|
|
43
|
-
return uncompressed;
|
|
36
|
+
return await compressor.getCompressor().decompress(storageValue);
|
|
44
37
|
} catch {
|
|
45
38
|
return storageValue;
|
|
46
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_apiHeadlessCms","_api","createRichTextStorageTransformPlugin","StorageTransformPlugin","name","fieldType","fromStorage","field","value","storageValue","plugins","WebinyError","storageId","fieldId","compressor","oneByType","CompressorPlugin","type","ex","
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_apiHeadlessCms","_api","createRichTextStorageTransformPlugin","StorageTransformPlugin","name","fieldType","fromStorage","field","value","storageValue","plugins","WebinyError","storageId","fieldId","compressor","oneByType","CompressorPlugin","type","ex","getCompressor","decompress","toStorage","compress","exports"],"sources":["richText.ts"],"sourcesContent":["/**\n * File is @internal\n */\nimport WebinyError from \"@webiny/error\";\nimport { StorageTransformPlugin } from \"@webiny/api-headless-cms\";\nimport { CompressorPlugin } from \"@webiny/api\";\n\nexport const createRichTextStorageTransformPlugin = () => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.rich-text.default\",\n fieldType: \"rich-text\",\n fromStorage: async ({ field, value: storageValue, plugins }) => {\n if (!storageValue) {\n return storageValue;\n } else if (typeof storageValue !== \"object\") {\n throw new WebinyError(\n `RichText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n let compressor: CompressorPlugin;\n\n try {\n compressor = plugins.oneByType<CompressorPlugin>(CompressorPlugin.type);\n } catch (ex) {\n return storageValue;\n }\n\n try {\n return await compressor.getCompressor().decompress(storageValue);\n } catch {\n return storageValue;\n }\n },\n toStorage: async ({ value, plugins }) => {\n let compressor: CompressorPlugin;\n\n try {\n compressor = plugins.oneByType<CompressorPlugin>(CompressorPlugin.type);\n } catch (ex) {\n return value;\n }\n try {\n return await compressor.getCompressor().compress(value);\n } catch {\n return value;\n }\n }\n });\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKO,MAAMG,oCAAoC,GAAGA,CAAA,KAAM;EACtD,OAAO,IAAIC,sCAAsB,CAAC;IAC9BC,IAAI,EAAE,kDAAkD;IACxDC,SAAS,EAAE,WAAW;IACtBC,WAAW,EAAE,MAAAA,CAAO;MAAEC,KAAK;MAAEC,KAAK,EAAEC,YAAY;MAAEC;IAAQ,CAAC,KAAK;MAC5D,IAAI,CAACD,YAAY,EAAE;QACf,OAAOA,YAAY;MACvB,CAAC,MAAM,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;QACzC,MAAM,IAAIE,cAAW,CACjB,gFAAgFJ,KAAK,CAACK,SAAS,OAAOL,KAAK,CAACM,OAAO,GACvH,CAAC;MACL;MAEA,IAAIC,UAA4B;MAEhC,IAAI;QACAA,UAAU,GAAGJ,OAAO,CAACK,SAAS,CAAmBC,qBAAgB,CAACC,IAAI,CAAC;MAC3E,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,OAAOT,YAAY;MACvB;MAEA,IAAI;QACA,OAAO,MAAMK,UAAU,CAACK,aAAa,CAAC,CAAC,CAACC,UAAU,CAACX,YAAY,CAAC;MACpE,CAAC,CAAC,MAAM;QACJ,OAAOA,YAAY;MACvB;IACJ,CAAC;IACDY,SAAS,EAAE,MAAAA,CAAO;MAAEb,KAAK;MAAEE;IAAQ,CAAC,KAAK;MACrC,IAAII,UAA4B;MAEhC,IAAI;QACAA,UAAU,GAAGJ,OAAO,CAACK,SAAS,CAAmBC,qBAAgB,CAACC,IAAI,CAAC;MAC3E,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,OAAOV,KAAK;MAChB;MACA,IAAI;QACA,OAAO,MAAMM,UAAU,CAACK,aAAa,CAAC,CAAC,CAACG,QAAQ,CAACd,KAAK,CAAC;MAC3D,CAAC,CAAC,MAAM;QACJ,OAAOA,KAAK;MAChB;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACe,OAAA,CAAArB,oCAAA,GAAAA,oCAAA","ignoreList":[]}
|
|
@@ -7,8 +7,9 @@ exports.createFilterCreatePlugins = void 0;
|
|
|
7
7
|
var _defaultFilterCreate = require("./defaultFilterCreate");
|
|
8
8
|
var _refFilterCreate = require("./refFilterCreate");
|
|
9
9
|
var _objectFilterCreate = require("./objectFilterCreate");
|
|
10
|
+
var _searchableJsonFilterCreate = require("./searchableJsonFilterCreate");
|
|
10
11
|
const createFilterCreatePlugins = () => {
|
|
11
|
-
return [(0, _defaultFilterCreate.createDefaultFilterCreate)(), (0, _refFilterCreate.createRefFilterCreate)(), (0, _objectFilterCreate.objectFilterCreate)()];
|
|
12
|
+
return [(0, _defaultFilterCreate.createDefaultFilterCreate)(), (0, _refFilterCreate.createRefFilterCreate)(), (0, _objectFilterCreate.objectFilterCreate)(), (0, _searchableJsonFilterCreate.searchableJsonFilterCreate)()];
|
|
12
13
|
};
|
|
13
14
|
exports.createFilterCreatePlugins = createFilterCreatePlugins;
|
|
14
15
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defaultFilterCreate","require","_refFilterCreate","_objectFilterCreate","createFilterCreatePlugins","createDefaultFilterCreate","createRefFilterCreate","objectFilterCreate","exports"],"sources":["index.ts"],"sourcesContent":["import { createDefaultFilterCreate } from \"./defaultFilterCreate\";\nimport { createRefFilterCreate } from \"./refFilterCreate\";\nimport { objectFilterCreate } from \"./objectFilterCreate\";\n\nexport const createFilterCreatePlugins = () => {\n return [createDefaultFilterCreate()
|
|
1
|
+
{"version":3,"names":["_defaultFilterCreate","require","_refFilterCreate","_objectFilterCreate","_searchableJsonFilterCreate","createFilterCreatePlugins","createDefaultFilterCreate","createRefFilterCreate","objectFilterCreate","searchableJsonFilterCreate","exports"],"sources":["index.ts"],"sourcesContent":["import { createDefaultFilterCreate } from \"./defaultFilterCreate\";\nimport { createRefFilterCreate } from \"./refFilterCreate\";\nimport { objectFilterCreate } from \"./objectFilterCreate\";\nimport { searchableJsonFilterCreate } from \"./searchableJsonFilterCreate\";\n\nexport const createFilterCreatePlugins = () => {\n return [\n createDefaultFilterCreate(),\n createRefFilterCreate(),\n objectFilterCreate(),\n searchableJsonFilterCreate()\n ];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AAEO,MAAMI,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,CACH,IAAAC,8CAAyB,EAAC,CAAC,EAC3B,IAAAC,sCAAqB,EAAC,CAAC,EACvB,IAAAC,sCAAkB,EAAC,CAAC,EACpB,IAAAC,sDAA0B,EAAC,CAAC,CAC/B;AACL,CAAC;AAACC,OAAA,CAAAL,yBAAA,GAAAA,yBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.searchableJsonFilterCreate = void 0;
|
|
8
|
+
var _dotObject = _interopRequireDefault(require("dot-object"));
|
|
9
|
+
var _CmsEntryFieldFilterPlugin = require("../../../../plugins/CmsEntryFieldFilterPlugin");
|
|
10
|
+
var _where = require("../where");
|
|
11
|
+
const searchableJsonFilterCreate = () => {
|
|
12
|
+
const plugin = new _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin({
|
|
13
|
+
fieldType: "searchable-json",
|
|
14
|
+
create: params => {
|
|
15
|
+
const {
|
|
16
|
+
value: objectValue,
|
|
17
|
+
valueFilterPlugins,
|
|
18
|
+
field: parentField
|
|
19
|
+
} = params;
|
|
20
|
+
const filters = [];
|
|
21
|
+
const accessPatterns = _dotObject.default.dot(objectValue);
|
|
22
|
+
for (const key in accessPatterns) {
|
|
23
|
+
const value = accessPatterns[key];
|
|
24
|
+
if (value === undefined) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const whereParams = (0, _where.extractWhereParams)(key);
|
|
28
|
+
if (!whereParams) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const {
|
|
32
|
+
negate,
|
|
33
|
+
operation
|
|
34
|
+
} = whereParams;
|
|
35
|
+
const transformValueCallable = value => {
|
|
36
|
+
return value;
|
|
37
|
+
};
|
|
38
|
+
const fieldId = `${parentField.fieldId}.${whereParams.fieldId ?? key}`;
|
|
39
|
+
const result = {
|
|
40
|
+
field: parentField,
|
|
41
|
+
path: `values.${fieldId}`,
|
|
42
|
+
fieldPathId: `values.${fieldId}`,
|
|
43
|
+
negate,
|
|
44
|
+
plugin: valueFilterPlugins[operation],
|
|
45
|
+
compareValue: value,
|
|
46
|
+
transformValue: transformValueCallable
|
|
47
|
+
};
|
|
48
|
+
if (!result) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(result)) {
|
|
52
|
+
filters.push(...result);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
filters.push(result);
|
|
56
|
+
}
|
|
57
|
+
return filters;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
plugin.name = `headless-cms.ddb.filter.searchable-json`;
|
|
61
|
+
return plugin;
|
|
62
|
+
};
|
|
63
|
+
exports.searchableJsonFilterCreate = searchableJsonFilterCreate;
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=searchableJsonFilterCreate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_dotObject","_interopRequireDefault","require","_CmsEntryFieldFilterPlugin","_where","searchableJsonFilterCreate","plugin","CmsEntryFieldFilterPlugin","fieldType","create","params","value","objectValue","valueFilterPlugins","field","parentField","filters","accessPatterns","dot","key","undefined","whereParams","extractWhereParams","negate","operation","transformValueCallable","fieldId","result","path","fieldPathId","compareValue","transformValue","Array","isArray","push","name","exports"],"sources":["searchableJsonFilterCreate.ts"],"sourcesContent":["import dot from \"dot-object\";\nimport {\n CmsEntryFieldFilterPlugin,\n CmsEntryFieldFilterPluginCreateResponse\n} from \"~/plugins/CmsEntryFieldFilterPlugin\";\nimport { extractWhereParams } from \"~/operations/entry/filtering/where\";\n\nexport const searchableJsonFilterCreate = () => {\n const plugin = new CmsEntryFieldFilterPlugin({\n fieldType: \"searchable-json\",\n create: params => {\n const { value: objectValue, valueFilterPlugins, field: parentField } = params;\n\n const filters = [];\n\n const accessPatterns = dot.dot(objectValue);\n\n for (const key in accessPatterns) {\n const value = accessPatterns[key];\n if (value === undefined) {\n continue;\n }\n\n const whereParams = extractWhereParams(key);\n if (!whereParams) {\n continue;\n }\n const { negate, operation } = whereParams;\n\n const transformValueCallable = (value: any) => {\n return value;\n };\n\n const fieldId = `${parentField.fieldId}.${whereParams.fieldId ?? key}`;\n\n const result: CmsEntryFieldFilterPluginCreateResponse = {\n field: parentField,\n path: `values.${fieldId}`,\n fieldPathId: `values.${fieldId}`,\n negate,\n plugin: valueFilterPlugins[operation],\n compareValue: value,\n transformValue: transformValueCallable\n };\n\n if (!result) {\n continue;\n }\n if (Array.isArray(result)) {\n filters.push(...result);\n continue;\n }\n\n filters.push(result);\n }\n return filters;\n }\n });\n\n plugin.name = `headless-cms.ddb.filter.searchable-json`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,0BAA0B,GAAGA,CAAA,KAAM;EAC5C,MAAMC,MAAM,GAAG,IAAIC,oDAAyB,CAAC;IACzCC,SAAS,EAAE,iBAAiB;IAC5BC,MAAM,EAAEC,MAAM,IAAI;MACd,MAAM;QAAEC,KAAK,EAAEC,WAAW;QAAEC,kBAAkB;QAAEC,KAAK,EAAEC;MAAY,CAAC,GAAGL,MAAM;MAE7E,MAAMM,OAAO,GAAG,EAAE;MAElB,MAAMC,cAAc,GAAGC,kBAAG,CAACA,GAAG,CAACN,WAAW,CAAC;MAE3C,KAAK,MAAMO,GAAG,IAAIF,cAAc,EAAE;QAC9B,MAAMN,KAAK,GAAGM,cAAc,CAACE,GAAG,CAAC;QACjC,IAAIR,KAAK,KAAKS,SAAS,EAAE;UACrB;QACJ;QAEA,MAAMC,WAAW,GAAG,IAAAC,yBAAkB,EAACH,GAAG,CAAC;QAC3C,IAAI,CAACE,WAAW,EAAE;UACd;QACJ;QACA,MAAM;UAAEE,MAAM;UAAEC;QAAU,CAAC,GAAGH,WAAW;QAEzC,MAAMI,sBAAsB,GAAId,KAAU,IAAK;UAC3C,OAAOA,KAAK;QAChB,CAAC;QAED,MAAMe,OAAO,GAAG,GAAGX,WAAW,CAACW,OAAO,IAAIL,WAAW,CAACK,OAAO,IAAIP,GAAG,EAAE;QAEtE,MAAMQ,MAA+C,GAAG;UACpDb,KAAK,EAAEC,WAAW;UAClBa,IAAI,EAAE,UAAUF,OAAO,EAAE;UACzBG,WAAW,EAAE,UAAUH,OAAO,EAAE;UAChCH,MAAM;UACNjB,MAAM,EAAEO,kBAAkB,CAACW,SAAS,CAAC;UACrCM,YAAY,EAAEnB,KAAK;UACnBoB,cAAc,EAAEN;QACpB,CAAC;QAED,IAAI,CAACE,MAAM,EAAE;UACT;QACJ;QACA,IAAIK,KAAK,CAACC,OAAO,CAACN,MAAM,CAAC,EAAE;UACvBX,OAAO,CAACkB,IAAI,CAAC,GAAGP,MAAM,CAAC;UACvB;QACJ;QAEAX,OAAO,CAACkB,IAAI,CAACP,MAAM,CAAC;MACxB;MACA,OAAOX,OAAO;IAClB;EACJ,CAAC,CAAC;EAEFV,MAAM,CAAC6B,IAAI,GAAG,yCAAyC;EAEvD,OAAO7B,MAAM;AACjB,CAAC;AAAC8B,OAAA,CAAA/B,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms-ddb",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-alpha.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"@webiny/api-headless-cms",
|
|
@@ -22,21 +22,23 @@
|
|
|
22
22
|
],
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@webiny/api": "
|
|
26
|
-
"@webiny/api-headless-cms": "
|
|
27
|
-
"@webiny/aws-sdk": "
|
|
28
|
-
"@webiny/db-dynamodb": "
|
|
29
|
-
"@webiny/error": "
|
|
30
|
-
"@webiny/handler-db": "
|
|
31
|
-
"@webiny/utils": "
|
|
25
|
+
"@webiny/api": "6.0.0-alpha.0",
|
|
26
|
+
"@webiny/api-headless-cms": "6.0.0-alpha.0",
|
|
27
|
+
"@webiny/aws-sdk": "6.0.0-alpha.0",
|
|
28
|
+
"@webiny/db-dynamodb": "6.0.0-alpha.0",
|
|
29
|
+
"@webiny/error": "6.0.0-alpha.0",
|
|
30
|
+
"@webiny/handler-db": "6.0.0-alpha.0",
|
|
31
|
+
"@webiny/utils": "6.0.0-alpha.0",
|
|
32
32
|
"dataloader": "2.2.3",
|
|
33
|
+
"dot-object": "2.1.5",
|
|
33
34
|
"dot-prop": "6.0.1",
|
|
34
35
|
"lodash": "4.17.21"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
38
|
+
"@types/dot-object": "2.1.6",
|
|
37
39
|
"@types/jsonpack": "1.1.6",
|
|
38
|
-
"@webiny/plugins": "
|
|
39
|
-
"@webiny/project-utils": "
|
|
40
|
+
"@webiny/plugins": "6.0.0-alpha.0",
|
|
41
|
+
"@webiny/project-utils": "6.0.0-alpha.0",
|
|
40
42
|
"jest": "29.7.0",
|
|
41
43
|
"jest-dynalite": "3.6.1",
|
|
42
44
|
"typescript": "5.3.3"
|
|
@@ -49,5 +51,5 @@
|
|
|
49
51
|
"build": "node ../cli/bin.js run build",
|
|
50
52
|
"watch": "node ../cli/bin.js run watch"
|
|
51
53
|
},
|
|
52
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "a5b28fed7a242d8f56712197a8ea83aa6d2ed101"
|
|
53
55
|
}
|