@webiny/api-file-manager-ddb 0.0.0-unstable.5e7233243f → 0.0.0-unstable.611c5af35e
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/definitions/filesEntity.js +3 -13
- package/definitions/filesEntity.js.map +1 -1
- package/definitions/settingsEntity.js +3 -13
- package/definitions/settingsEntity.js.map +1 -1
- package/definitions/systemEntity.js +3 -13
- package/definitions/systemEntity.js.map +1 -1
- package/definitions/table.js +0 -4
- package/definitions/table.js.map +1 -1
- package/index.js +0 -5
- package/index.js.map +1 -1
- package/operations/files/FilesStorageOperations.js +9 -65
- package/operations/files/FilesStorageOperations.js.map +1 -1
- package/operations/files/fields.js +0 -3
- package/operations/files/fields.js.map +1 -1
- package/operations/files/index.js +1 -10
- package/operations/files/index.js.map +1 -1
- package/operations/settings/SettingsStorageOperations.js +4 -27
- package/operations/settings/SettingsStorageOperations.js.map +1 -1
- package/operations/settings/index.js +1 -9
- package/operations/settings/index.js.map +1 -1
- package/operations/system/SystemStorageOperations.js +5 -29
- package/operations/system/SystemStorageOperations.js.map +1 -1
- package/operations/system/index.js +1 -9
- package/operations/system/index.js.map +1 -1
- package/operations/utils.js +1 -11
- package/operations/utils.js.map +1 -1
- package/package.json +13 -13
- package/plugins/FileAttributePlugin.js +3 -13
- package/plugins/FileAttributePlugin.js.map +1 -1
- package/plugins/FileDynamoDbFieldPlugin.js +1 -6
- package/plugins/FileDynamoDbFieldPlugin.js.map +1 -1
- package/plugins/SettingsAttributePlugin.js +3 -13
- package/plugins/SettingsAttributePlugin.js.map +1 -1
- package/plugins/SystemAttributePlugin.js +3 -13
- package/plugins/SystemAttributePlugin.js.map +1 -1
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
9
|
var _dynamodbToolbox = require("dynamodb-toolbox");
|
|
13
|
-
|
|
14
10
|
var _attributes = require("@webiny/db-dynamodb/utils/attributes");
|
|
15
|
-
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
-
|
|
20
11
|
var _default = params => {
|
|
21
12
|
const {
|
|
22
13
|
context,
|
|
@@ -27,7 +18,7 @@ var _default = params => {
|
|
|
27
18
|
return new _dynamodbToolbox.Entity({
|
|
28
19
|
name: entityName,
|
|
29
20
|
table,
|
|
30
|
-
attributes:
|
|
21
|
+
attributes: (0, _objectSpread2.default)({
|
|
31
22
|
PK: {
|
|
32
23
|
partitionKey: true
|
|
33
24
|
},
|
|
@@ -76,5 +67,4 @@ var _default = params => {
|
|
|
76
67
|
}, attributes)
|
|
77
68
|
});
|
|
78
69
|
};
|
|
79
|
-
|
|
80
70
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["params","context","table","entityName","attributes","getExtraAttributes","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","key","size","meta","tags","createdOn","createdBy","tenant","locale","webinyVersion"],"sources":["filesEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\nimport { getExtraAttributes } from \"@webiny/db-dynamodb/utils/attributes\";\n\nexport interface FilesEntityParams {\n context: FileManagerContext;\n table: Table;\n}\nexport default (params: FilesEntityParams): Entity<any> => {\n const { context, table } = params;\n const entityName = \"Files\";\n const attributes = getExtraAttributes(context, entityName);\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n size: {\n type: \"number\"\n },\n type: {\n type: \"string\"\n },\n name: {\n type: \"string\"\n },\n meta: {\n type: \"map\"\n },\n tags: {\n type: \"list\"\n },\n createdOn: {\n type: \"string\"\n },\n createdBy: {\n type: \"map\"\n },\n tenant: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n },\n webinyVersion: {\n type: \"string\"\n },\n ...attributes\n }\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["params","context","table","entityName","attributes","getExtraAttributes","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","key","size","meta","tags","createdOn","createdBy","tenant","locale","webinyVersion"],"sources":["filesEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\nimport { getExtraAttributes } from \"@webiny/db-dynamodb/utils/attributes\";\n\nexport interface FilesEntityParams {\n context: FileManagerContext;\n table: Table;\n}\nexport default (params: FilesEntityParams): Entity<any> => {\n const { context, table } = params;\n const entityName = \"Files\";\n const attributes = getExtraAttributes(context, entityName);\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n size: {\n type: \"number\"\n },\n type: {\n type: \"string\"\n },\n name: {\n type: \"string\"\n },\n meta: {\n type: \"map\"\n },\n tags: {\n type: \"list\"\n },\n createdOn: {\n type: \"string\"\n },\n createdBy: {\n type: \"map\"\n },\n tenant: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n },\n webinyVersion: {\n type: \"string\"\n },\n ...attributes\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AAA0E,eAM1DA,MAAyB,IAAkB;EACvD,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGF,MAAM;EACjC,MAAMG,UAAU,GAAG,OAAO;EAC1B,MAAMC,UAAU,GAAG,IAAAC,8BAAkB,EAACJ,OAAO,EAAEE,UAAU,CAAC;EAC1D,OAAO,IAAIG,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBD,KAAK;IACLE,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,EAAE,EAAE;QACAD,IAAI,EAAE;MACV,CAAC;MACDE,GAAG,EAAE;QACDF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV,CAAC;MACDA,IAAI,EAAE;QACFA,IAAI,EAAE;MACV,CAAC;MACDN,IAAI,EAAE;QACFM,IAAI,EAAE;MACV,CAAC;MACDI,IAAI,EAAE;QACFJ,IAAI,EAAE;MACV,CAAC;MACDK,IAAI,EAAE;QACFL,IAAI,EAAE;MACV,CAAC;MACDM,SAAS,EAAE;QACPN,IAAI,EAAE;MACV,CAAC;MACDO,SAAS,EAAE;QACPP,IAAI,EAAE;MACV,CAAC;MACDQ,MAAM,EAAE;QACJR,IAAI,EAAE;MACV,CAAC;MACDS,MAAM,EAAE;QACJT,IAAI,EAAE;MACV,CAAC;MACDU,aAAa,EAAE;QACXV,IAAI,EAAE;MACV;IAAC,GACET,UAAU;EAErB,CAAC,CAAC;AACN,CAAC;AAAA"}
|
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
9
|
var _dynamodbToolbox = require("dynamodb-toolbox");
|
|
13
|
-
|
|
14
10
|
var _attributes = require("@webiny/db-dynamodb/utils/attributes");
|
|
15
|
-
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
-
|
|
20
11
|
var _default = params => {
|
|
21
12
|
const {
|
|
22
13
|
context,
|
|
@@ -27,7 +18,7 @@ var _default = params => {
|
|
|
27
18
|
return new _dynamodbToolbox.Entity({
|
|
28
19
|
name: entityName,
|
|
29
20
|
table,
|
|
30
|
-
attributes:
|
|
21
|
+
attributes: (0, _objectSpread2.default)({
|
|
31
22
|
PK: {
|
|
32
23
|
partitionKey: true
|
|
33
24
|
},
|
|
@@ -52,5 +43,4 @@ var _default = params => {
|
|
|
52
43
|
}, attributes)
|
|
53
44
|
});
|
|
54
45
|
};
|
|
55
|
-
|
|
56
46
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["params","context","table","entityName","attributes","getExtraAttributes","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","key","uploadMinFileSize","uploadMaxFileSize","srcPrefix"],"sources":["settingsEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\nimport { getExtraAttributes } from \"@webiny/db-dynamodb/utils/attributes\";\n\nexport interface SettingsEntityParams {\n context: FileManagerContext;\n table: Table;\n}\nexport default (params: SettingsEntityParams): Entity<any> => {\n const { context, table } = params;\n const entityName = \"Settings\";\n const attributes = getExtraAttributes(context, entityName);\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n uploadMinFileSize: {\n type: \"number\"\n },\n uploadMaxFileSize: {\n type: \"number\"\n },\n srcPrefix: {\n type: \"string\"\n },\n ...attributes\n }\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["params","context","table","entityName","attributes","getExtraAttributes","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","key","uploadMinFileSize","uploadMaxFileSize","srcPrefix"],"sources":["settingsEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\nimport { getExtraAttributes } from \"@webiny/db-dynamodb/utils/attributes\";\n\nexport interface SettingsEntityParams {\n context: FileManagerContext;\n table: Table;\n}\nexport default (params: SettingsEntityParams): Entity<any> => {\n const { context, table } = params;\n const entityName = \"Settings\";\n const attributes = getExtraAttributes(context, entityName);\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n uploadMinFileSize: {\n type: \"number\"\n },\n uploadMaxFileSize: {\n type: \"number\"\n },\n srcPrefix: {\n type: \"string\"\n },\n ...attributes\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AAA0E,eAM1DA,MAA4B,IAAkB;EAC1D,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGF,MAAM;EACjC,MAAMG,UAAU,GAAG,UAAU;EAC7B,MAAMC,UAAU,GAAG,IAAAC,8BAAkB,EAACJ,OAAO,EAAEE,UAAU,CAAC;EAC1D,OAAO,IAAIG,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBD,KAAK;IACLE,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,GAAG,EAAE;QACDD,IAAI,EAAE;MACV,CAAC;MACDE,iBAAiB,EAAE;QACfF,IAAI,EAAE;MACV,CAAC;MACDG,iBAAiB,EAAE;QACfH,IAAI,EAAE;MACV,CAAC;MACDI,SAAS,EAAE;QACPJ,IAAI,EAAE;MACV;IAAC,GACET,UAAU;EAErB,CAAC,CAAC;AACN,CAAC;AAAA"}
|
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
9
|
var _dynamodbToolbox = require("dynamodb-toolbox");
|
|
13
|
-
|
|
14
10
|
var _attributes = require("@webiny/db-dynamodb/utils/attributes");
|
|
15
|
-
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
-
|
|
20
11
|
var _default = params => {
|
|
21
12
|
const {
|
|
22
13
|
context,
|
|
@@ -27,7 +18,7 @@ var _default = params => {
|
|
|
27
18
|
return new _dynamodbToolbox.Entity({
|
|
28
19
|
name: entityName,
|
|
29
20
|
table,
|
|
30
|
-
attributes:
|
|
21
|
+
attributes: (0, _objectSpread2.default)({
|
|
31
22
|
PK: {
|
|
32
23
|
partitionKey: true
|
|
33
24
|
},
|
|
@@ -43,5 +34,4 @@ var _default = params => {
|
|
|
43
34
|
}, attributes)
|
|
44
35
|
});
|
|
45
36
|
};
|
|
46
|
-
|
|
47
37
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["params","context","table","entityName","attributes","getExtraAttributes","Entity","name","PK","partitionKey","SK","sortKey","version","type","tenant"],"sources":["systemEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\nimport { getExtraAttributes } from \"@webiny/db-dynamodb/utils/attributes\";\n\nexport interface SystemEntityParams {\n context: FileManagerContext;\n table: Table;\n}\nexport default (params: SystemEntityParams): Entity<any> => {\n const { context, table } = params;\n const entityName = \"System\";\n const attributes = getExtraAttributes(context, entityName);\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n version: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n },\n ...attributes\n }\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["params","context","table","entityName","attributes","getExtraAttributes","Entity","name","PK","partitionKey","SK","sortKey","version","type","tenant"],"sources":["systemEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\nimport { getExtraAttributes } from \"@webiny/db-dynamodb/utils/attributes\";\n\nexport interface SystemEntityParams {\n context: FileManagerContext;\n table: Table;\n}\nexport default (params: SystemEntityParams): Entity<any> => {\n const { context, table } = params;\n const entityName = \"System\";\n const attributes = getExtraAttributes(context, entityName);\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n version: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n },\n ...attributes\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AAA0E,eAM1DA,MAA0B,IAAkB;EACxD,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGF,MAAM;EACjC,MAAMG,UAAU,GAAG,QAAQ;EAC3B,MAAMC,UAAU,GAAG,IAAAC,8BAAkB,EAACJ,OAAO,EAAEE,UAAU,CAAC;EAC1D,OAAO,IAAIG,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBD,KAAK;IACLE,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,MAAM,EAAE;QACJD,IAAI,EAAE;MACV;IAAC,GACET,UAAU;EAErB,CAAC,CAAC;AACN,CAAC;AAAA"}
|
package/definitions/table.js
CHANGED
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _dynamodbToolbox = require("dynamodb-toolbox");
|
|
9
|
-
|
|
10
8
|
var _utils = require("../operations/utils");
|
|
11
|
-
|
|
12
9
|
var _default = params => {
|
|
13
10
|
const {
|
|
14
11
|
context
|
|
@@ -20,5 +17,4 @@ var _default = params => {
|
|
|
20
17
|
DocumentClient: (0, _utils.getDocumentClient)(context)
|
|
21
18
|
});
|
|
22
19
|
};
|
|
23
|
-
|
|
24
20
|
exports.default = _default;
|
package/definitions/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["params","context","Table","name","process","env","DB_TABLE_FILE_MANGER","DB_TABLE","getTable","partitionKey","sortKey","DocumentClient","getDocumentClient"],"sources":["table.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport { getDocumentClient, getTable } from \"~/operations/utils\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\n\nexport interface TableParams {\n context: FileManagerContext;\n}\nexport default (params: TableParams): Table => {\n const { context } = params;\n return new Table({\n name: process.env.DB_TABLE_FILE_MANGER || process.env.DB_TABLE || getTable(context),\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: getDocumentClient(context)\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["params","context","Table","name","process","env","DB_TABLE_FILE_MANGER","DB_TABLE","getTable","partitionKey","sortKey","DocumentClient","getDocumentClient"],"sources":["table.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport { getDocumentClient, getTable } from \"~/operations/utils\";\nimport { FileManagerContext } from \"@webiny/api-file-manager/types\";\n\nexport interface TableParams {\n context: FileManagerContext;\n}\nexport default (params: TableParams): Table => {\n const { context } = params;\n return new Table({\n name: process.env.DB_TABLE_FILE_MANGER || process.env.DB_TABLE || getTable(context),\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: getDocumentClient(context)\n });\n};\n"],"mappings":";;;;;;AAAA;AACA;AAAiE,eAMjDA,MAAmB,IAAY;EAC3C,MAAM;IAAEC;EAAQ,CAAC,GAAGD,MAAM;EAC1B,OAAO,IAAIE,sBAAK,CAAC;IACbC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,oBAAoB,IAAIF,OAAO,CAACC,GAAG,CAACE,QAAQ,IAAI,IAAAC,eAAQ,EAACP,OAAO,CAAC;IACnFQ,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAE,IAAAC,wBAAiB,EAACX,OAAO;EAC7C,CAAC,CAAC;AACN,CAAC;AAAA"}
|
package/index.js
CHANGED
|
@@ -4,13 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _files = require("./operations/files");
|
|
9
|
-
|
|
10
8
|
var _settings = require("./operations/settings");
|
|
11
|
-
|
|
12
9
|
var _system = require("./operations/system");
|
|
13
|
-
|
|
14
10
|
var _default = () => [new _files.FilesStorageOperationsProviderDdb(), new _settings.SettingsStorageOperationsProviderDdbPlugin(), new _system.SystemStorageOperationsProviderDdbPlugin()];
|
|
15
|
-
|
|
16
11
|
exports.default = _default;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FilesStorageOperationsProviderDdb","SettingsStorageOperationsProviderDdbPlugin","SystemStorageOperationsProviderDdbPlugin"],"sources":["index.ts"],"sourcesContent":["import { FilesStorageOperationsProviderDdb } from \"./operations/files\";\nimport { SettingsStorageOperationsProviderDdbPlugin } from \"./operations/settings\";\nimport { SystemStorageOperationsProviderDdbPlugin } from \"./operations/system\";\n\nexport default () => [\n new FilesStorageOperationsProviderDdb(),\n new SettingsStorageOperationsProviderDdbPlugin(),\n new SystemStorageOperationsProviderDdbPlugin()\n];\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["FilesStorageOperationsProviderDdb","SettingsStorageOperationsProviderDdbPlugin","SystemStorageOperationsProviderDdbPlugin"],"sources":["index.ts"],"sourcesContent":["import { FilesStorageOperationsProviderDdb } from \"./operations/files\";\nimport { SettingsStorageOperationsProviderDdbPlugin } from \"./operations/settings\";\nimport { SystemStorageOperationsProviderDdbPlugin } from \"./operations/system\";\n\nexport default () => [\n new FilesStorageOperationsProviderDdb(),\n new SettingsStorageOperationsProviderDdbPlugin(),\n new SystemStorageOperationsProviderDdbPlugin()\n];\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAA+E,eAEhE,MAAM,CACjB,IAAIA,wCAAiC,EAAE,EACvC,IAAIC,oDAA0C,EAAE,EAChD,IAAIC,gDAAwC,EAAE,CACjD;AAAA"}
|
|
@@ -1,45 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.FilesStorageOperations = void 0;
|
|
9
|
-
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
10
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
|
-
|
|
14
11
|
var _table = _interopRequireDefault(require("../../definitions/table"));
|
|
15
|
-
|
|
16
12
|
var _filesEntity = _interopRequireDefault(require("../../definitions/filesEntity"));
|
|
17
|
-
|
|
18
13
|
var _query = require("@webiny/db-dynamodb/utils/query");
|
|
19
|
-
|
|
20
14
|
var _cursor = require("@webiny/db-dynamodb/utils/cursor");
|
|
21
|
-
|
|
22
15
|
var _filter = require("@webiny/db-dynamodb/utils/filter");
|
|
23
|
-
|
|
24
16
|
var _sort = require("@webiny/db-dynamodb/utils/sort");
|
|
25
|
-
|
|
26
17
|
var _FileDynamoDbFieldPlugin = require("../../plugins/FileDynamoDbFieldPlugin");
|
|
27
|
-
|
|
28
18
|
var _batchWrite = require("@webiny/db-dynamodb/utils/batchWrite");
|
|
29
|
-
|
|
30
19
|
var _get = require("@webiny/db-dynamodb/utils/get");
|
|
31
|
-
|
|
32
20
|
var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
|
|
33
|
-
|
|
34
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
|
-
|
|
36
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
-
|
|
38
21
|
class FilesStorageOperations {
|
|
39
22
|
get context() {
|
|
40
23
|
return this._context;
|
|
41
24
|
}
|
|
42
|
-
|
|
43
25
|
constructor({
|
|
44
26
|
context
|
|
45
27
|
}) {
|
|
@@ -55,7 +37,6 @@ class FilesStorageOperations {
|
|
|
55
37
|
table: this.table
|
|
56
38
|
});
|
|
57
39
|
}
|
|
58
|
-
|
|
59
40
|
async get(params) {
|
|
60
41
|
const {
|
|
61
42
|
where
|
|
@@ -64,7 +45,6 @@ class FilesStorageOperations {
|
|
|
64
45
|
PK: this.createPartitionKey(where),
|
|
65
46
|
SK: this.createSortKey(where)
|
|
66
47
|
};
|
|
67
|
-
|
|
68
48
|
try {
|
|
69
49
|
const file = await (0, _get.get)({
|
|
70
50
|
entity: this.entity,
|
|
@@ -78,7 +58,6 @@ class FilesStorageOperations {
|
|
|
78
58
|
});
|
|
79
59
|
}
|
|
80
60
|
}
|
|
81
|
-
|
|
82
61
|
async create(params) {
|
|
83
62
|
const {
|
|
84
63
|
file
|
|
@@ -87,11 +66,9 @@ class FilesStorageOperations {
|
|
|
87
66
|
PK: this.createPartitionKey(file),
|
|
88
67
|
SK: this.createSortKey(file)
|
|
89
68
|
};
|
|
90
|
-
|
|
91
|
-
const item = _objectSpread(_objectSpread(_objectSpread({}, file), keys), {}, {
|
|
69
|
+
const item = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, file), keys), {}, {
|
|
92
70
|
TYPE: "fm.file"
|
|
93
71
|
});
|
|
94
|
-
|
|
95
72
|
try {
|
|
96
73
|
await this.entity.put(item);
|
|
97
74
|
} catch (ex) {
|
|
@@ -100,10 +77,8 @@ class FilesStorageOperations {
|
|
|
100
77
|
item
|
|
101
78
|
});
|
|
102
79
|
}
|
|
103
|
-
|
|
104
80
|
return file;
|
|
105
81
|
}
|
|
106
|
-
|
|
107
82
|
async update(params) {
|
|
108
83
|
const {
|
|
109
84
|
file
|
|
@@ -112,11 +87,9 @@ class FilesStorageOperations {
|
|
|
112
87
|
PK: this.createPartitionKey(file),
|
|
113
88
|
SK: this.createSortKey(file)
|
|
114
89
|
};
|
|
115
|
-
|
|
116
|
-
const item = _objectSpread(_objectSpread(_objectSpread({}, file), keys), {}, {
|
|
90
|
+
const item = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, file), keys), {}, {
|
|
117
91
|
TYPE: "fm.file"
|
|
118
92
|
});
|
|
119
|
-
|
|
120
93
|
try {
|
|
121
94
|
await this.entity.put(item);
|
|
122
95
|
} catch (ex) {
|
|
@@ -125,10 +98,8 @@ class FilesStorageOperations {
|
|
|
125
98
|
item
|
|
126
99
|
});
|
|
127
100
|
}
|
|
128
|
-
|
|
129
101
|
return file;
|
|
130
102
|
}
|
|
131
|
-
|
|
132
103
|
async delete(params) {
|
|
133
104
|
const {
|
|
134
105
|
file
|
|
@@ -137,7 +108,6 @@ class FilesStorageOperations {
|
|
|
137
108
|
PK: this.createPartitionKey(file),
|
|
138
109
|
SK: this.createSortKey(file)
|
|
139
110
|
};
|
|
140
|
-
|
|
141
111
|
try {
|
|
142
112
|
await this.entity.delete(keys);
|
|
143
113
|
} catch (ex) {
|
|
@@ -148,19 +118,17 @@ class FilesStorageOperations {
|
|
|
148
118
|
});
|
|
149
119
|
}
|
|
150
120
|
}
|
|
151
|
-
|
|
152
121
|
async createBatch(params) {
|
|
153
122
|
const {
|
|
154
123
|
files
|
|
155
124
|
} = params;
|
|
156
125
|
const items = files.map(file => {
|
|
157
|
-
return this.entity.putBatch(
|
|
126
|
+
return this.entity.putBatch((0, _objectSpread2.default)((0, _objectSpread2.default)({}, file), {}, {
|
|
158
127
|
PK: this.createPartitionKey(file),
|
|
159
128
|
SK: this.createSortKey(file),
|
|
160
129
|
TYPE: "fm.file"
|
|
161
130
|
}));
|
|
162
131
|
});
|
|
163
|
-
|
|
164
132
|
try {
|
|
165
133
|
await (0, _batchWrite.batchWriteAll)({
|
|
166
134
|
table: this.entity.table,
|
|
@@ -172,10 +140,8 @@ class FilesStorageOperations {
|
|
|
172
140
|
files
|
|
173
141
|
});
|
|
174
142
|
}
|
|
175
|
-
|
|
176
143
|
return files;
|
|
177
144
|
}
|
|
178
|
-
|
|
179
145
|
async list(params) {
|
|
180
146
|
const {
|
|
181
147
|
where: initialWhere,
|
|
@@ -192,7 +158,6 @@ class FilesStorageOperations {
|
|
|
192
158
|
options
|
|
193
159
|
};
|
|
194
160
|
let items = [];
|
|
195
|
-
|
|
196
161
|
try {
|
|
197
162
|
items = await (0, _query.queryAll)(queryAllParams);
|
|
198
163
|
} catch (ex) {
|
|
@@ -210,16 +175,13 @@ class FilesStorageOperations {
|
|
|
210
175
|
}
|
|
211
176
|
});
|
|
212
177
|
}
|
|
213
|
-
|
|
214
|
-
const where = _objectSpread({}, initialWhere);
|
|
215
|
-
|
|
178
|
+
const where = (0, _objectSpread2.default)({}, initialWhere);
|
|
216
179
|
if (where.search) {
|
|
217
180
|
where.contains = {
|
|
218
181
|
fields: ["name", "tags"],
|
|
219
182
|
value: where.search
|
|
220
183
|
};
|
|
221
184
|
}
|
|
222
|
-
|
|
223
185
|
delete where["tenant"];
|
|
224
186
|
delete where["locale"];
|
|
225
187
|
delete where["search"];
|
|
@@ -228,7 +190,6 @@ class FilesStorageOperations {
|
|
|
228
190
|
* Filter the read items via the code.
|
|
229
191
|
* It will build the filters out of the where input and transform the values it is using.
|
|
230
192
|
*/
|
|
231
|
-
|
|
232
193
|
const filteredFiles = (0, _filter.filterItems)({
|
|
233
194
|
plugins: this.context.plugins,
|
|
234
195
|
items,
|
|
@@ -240,7 +201,6 @@ class FilesStorageOperations {
|
|
|
240
201
|
* Sorting is also done via the code.
|
|
241
202
|
* It takes the sort input and sorts by it via the lodash sortBy method.
|
|
242
203
|
*/
|
|
243
|
-
|
|
244
204
|
const sortedFiles = (0, _sort.sortItems)({
|
|
245
205
|
items: filteredFiles,
|
|
246
206
|
sort,
|
|
@@ -254,7 +214,6 @@ class FilesStorageOperations {
|
|
|
254
214
|
* Although we do not need a cursor here, we will use it as such to keep it standardized.
|
|
255
215
|
* Number is simply encoded.
|
|
256
216
|
*/
|
|
257
|
-
|
|
258
217
|
const cursor = files.length > 0 ? (0, _cursor.encodeCursor)(start + limit) : null;
|
|
259
218
|
const meta = {
|
|
260
219
|
hasMoreItems,
|
|
@@ -263,7 +222,6 @@ class FilesStorageOperations {
|
|
|
263
222
|
};
|
|
264
223
|
return [files, meta];
|
|
265
224
|
}
|
|
266
|
-
|
|
267
225
|
async tags(params) {
|
|
268
226
|
const {
|
|
269
227
|
where: initialWhere
|
|
@@ -277,7 +235,6 @@ class FilesStorageOperations {
|
|
|
277
235
|
}
|
|
278
236
|
};
|
|
279
237
|
let results = [];
|
|
280
|
-
|
|
281
238
|
try {
|
|
282
239
|
results = await (0, _query.queryAll)(queryAllParams);
|
|
283
240
|
} catch (ex) {
|
|
@@ -286,39 +243,33 @@ class FilesStorageOperations {
|
|
|
286
243
|
query: queryAllParams
|
|
287
244
|
});
|
|
288
245
|
}
|
|
289
|
-
|
|
290
246
|
const fields = this.context.plugins.byType(_FileDynamoDbFieldPlugin.FileDynamoDbFieldPlugin.type);
|
|
291
|
-
|
|
292
|
-
const where = _objectSpread({}, initialWhere);
|
|
293
|
-
|
|
247
|
+
const where = (0, _objectSpread2.default)({}, initialWhere);
|
|
294
248
|
delete where["tenant"];
|
|
295
249
|
delete where["locale"];
|
|
250
|
+
|
|
296
251
|
/**
|
|
297
252
|
* Filter the read items via the code.
|
|
298
253
|
* It will build the filters out of the where input and transform the values it is using.
|
|
299
254
|
*/
|
|
300
|
-
|
|
301
255
|
const filteredItems = (0, _filter.filterItems)({
|
|
302
256
|
plugins: this.context.plugins,
|
|
303
257
|
items: results,
|
|
304
258
|
where,
|
|
305
259
|
fields
|
|
306
260
|
});
|
|
261
|
+
|
|
307
262
|
/**
|
|
308
263
|
* Aggregate all the tags from all the filtered items.
|
|
309
264
|
*/
|
|
310
|
-
|
|
311
265
|
const tagsObject = filteredItems.reduce((collection, item) => {
|
|
312
266
|
const tags = Array.isArray(item.tags) ? item.tags : [];
|
|
313
|
-
|
|
314
267
|
for (const tag of tags) {
|
|
315
268
|
if (!collection[tag]) {
|
|
316
269
|
collection[tag] = [];
|
|
317
270
|
}
|
|
318
|
-
|
|
319
271
|
collection[tag].push(item.id);
|
|
320
272
|
}
|
|
321
|
-
|
|
322
273
|
return collection;
|
|
323
274
|
}, {});
|
|
324
275
|
const tags = Object.keys(tagsObject);
|
|
@@ -331,19 +282,15 @@ class FilesStorageOperations {
|
|
|
331
282
|
};
|
|
332
283
|
return [tags, meta];
|
|
333
284
|
}
|
|
334
|
-
|
|
335
285
|
createQueryAllOptions({
|
|
336
286
|
where
|
|
337
287
|
}) {
|
|
338
288
|
const options = {};
|
|
339
|
-
|
|
340
289
|
if (where.id) {
|
|
341
290
|
options.eq = where.id;
|
|
342
291
|
}
|
|
343
|
-
|
|
344
292
|
return options;
|
|
345
293
|
}
|
|
346
|
-
|
|
347
294
|
createPartitionKey(params) {
|
|
348
295
|
const {
|
|
349
296
|
tenant,
|
|
@@ -351,14 +298,11 @@ class FilesStorageOperations {
|
|
|
351
298
|
} = params;
|
|
352
299
|
return `T#${tenant}#L#${locale}#FM#F`;
|
|
353
300
|
}
|
|
354
|
-
|
|
355
301
|
createSortKey(params) {
|
|
356
302
|
const {
|
|
357
303
|
id
|
|
358
304
|
} = params;
|
|
359
305
|
return id;
|
|
360
306
|
}
|
|
361
|
-
|
|
362
307
|
}
|
|
363
|
-
|
|
364
308
|
exports.FilesStorageOperations = FilesStorageOperations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FilesStorageOperations","context","_context","constructor","table","defineTable","entity","defineFilesEntity","get","params","where","keys","PK","createPartitionKey","SK","createSortKey","file","getEntityItem","cleanupItem","ex","WebinyError","message","code","error","create","item","TYPE","put","update","delete","createBatch","files","items","map","putBatch","batchWriteAll","list","initialWhere","limit","after","sort","options","createQueryAllOptions","queryAllParams","partitionKey","queryAll","queryParams","name","search","contains","fields","value","plugins","byType","FileDynamoDbFieldPlugin","type","filteredFiles","filterItems","totalCount","length","sortedFiles","sortItems","start","parseInt","decodeCursor","hasMoreItems","end","undefined","slice","cursor","encodeCursor","meta","tags","gte","reverse","results","query","filteredItems","tagsObject","reduce","collection","Array","isArray","tag","push","id","Object","eq","tenant","locale"],"sources":["FilesStorageOperations.ts"],"sourcesContent":["import {\n File,\n FileManagerContext,\n FileManagerFilesStorageOperations,\n FileManagerFilesStorageOperationsCreateBatchParams,\n FileManagerFilesStorageOperationsCreateParams,\n FileManagerFilesStorageOperationsDeleteParams,\n FileManagerFilesStorageOperationsGetParams,\n FileManagerFilesStorageOperationsListParams,\n FileManagerFilesStorageOperationsListParamsWhere,\n FileManagerFilesStorageOperationsListResponse,\n FileManagerFilesStorageOperationsListResponseMeta,\n FileManagerFilesStorageOperationsTagsParams,\n FileManagerFilesStorageOperationsTagsParamsWhere,\n FileManagerFilesStorageOperationsTagsResponse,\n FileManagerFilesStorageOperationsUpdateParams\n} from \"@webiny/api-file-manager/types\";\nimport { Entity, Table } from \"dynamodb-toolbox\";\nimport WebinyError from \"@webiny/error\";\nimport defineTable from \"~/definitions/table\";\nimport defineFilesEntity from \"~/definitions/filesEntity\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { decodeCursor, encodeCursor } from \"@webiny/db-dynamodb/utils/cursor\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { FileDynamoDbFieldPlugin } from \"~/plugins/FileDynamoDbFieldPlugin\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { get as getEntityItem } from \"@webiny/db-dynamodb/utils/get\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\n\ninterface FileItem extends File {\n PK: string;\n SK: string;\n TYPE: string;\n}\n\ninterface ConstructorParams {\n context: FileManagerContext;\n}\n\ninterface QueryAllOptionsParams {\n where: FileManagerFilesStorageOperationsListParamsWhere;\n}\n\ninterface CreatePartitionKeyParams {\n locale: string;\n tenant: string;\n}\n\ninterface CreateSortKeyParams {\n id: string;\n}\n\nexport class FilesStorageOperations implements FileManagerFilesStorageOperations {\n private readonly _context: FileManagerContext;\n private readonly table: Table;\n private readonly entity: Entity<any>;\n\n private get context(): FileManagerContext {\n return this._context;\n }\n\n public constructor({ context }: ConstructorParams) {\n this._context = context;\n this.table = defineTable({\n context\n });\n\n this.entity = defineFilesEntity({\n context,\n table: this.table\n });\n }\n\n public async get(params: FileManagerFilesStorageOperationsGetParams): Promise<File | null> {\n const { where } = params;\n const keys = {\n PK: this.createPartitionKey(where),\n SK: this.createSortKey(where)\n };\n try {\n const file = await getEntityItem<File>({\n entity: this.entity,\n keys\n });\n return cleanupItem<File>(this.entity, file);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not fetch requested file.\",\n ex.code || \"GET_FILE_ERROR\",\n {\n error: ex,\n where\n }\n );\n }\n }\n\n public async create(params: FileManagerFilesStorageOperationsCreateParams): Promise<File> {\n const { file } = params;\n\n const keys = {\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file)\n };\n const item: FileItem = {\n ...file,\n ...keys,\n TYPE: \"fm.file\"\n };\n try {\n await this.entity.put(item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create a new file in the DynamoDB.\",\n ex.code || \"CREATE_FILE_ERROR\",\n {\n error: ex,\n item\n }\n );\n }\n\n return file;\n }\n\n public async update(params: FileManagerFilesStorageOperationsUpdateParams): Promise<File> {\n const { file } = params;\n const keys = {\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file)\n };\n\n const item: FileItem = {\n ...file,\n ...keys,\n TYPE: \"fm.file\"\n };\n try {\n await this.entity.put(item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update a file in the DynamoDB.\",\n ex.code || \"UPDATE_FILE_ERROR\",\n {\n error: ex,\n item\n }\n );\n }\n return file;\n }\n\n public async delete(params: FileManagerFilesStorageOperationsDeleteParams): Promise<void> {\n const { file } = params;\n const keys = {\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file)\n };\n\n try {\n await this.entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete file from the DynamoDB.\",\n ex.code || \"DELETE_FILE_ERROR\",\n {\n error: ex,\n file,\n keys\n }\n );\n }\n }\n\n public async createBatch(\n params: FileManagerFilesStorageOperationsCreateBatchParams\n ): Promise<File[]> {\n const { files } = params;\n\n const items = files.map(file => {\n return this.entity.putBatch({\n ...file,\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file),\n TYPE: \"fm.file\"\n });\n });\n\n try {\n await batchWriteAll({\n table: this.entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not batch insert a list of files.\",\n ex.code || \"BATCH_CREATE_FILES_ERROR\",\n {\n error: ex,\n files\n }\n );\n }\n return files;\n }\n\n public async list(\n params: FileManagerFilesStorageOperationsListParams\n ): Promise<FileManagerFilesStorageOperationsListResponse> {\n const { where: initialWhere, limit, after, sort } = params;\n\n const options = this.createQueryAllOptions({\n where: initialWhere\n });\n const queryAllParams = {\n entity: this.entity,\n partitionKey: this.createPartitionKey(initialWhere),\n options\n };\n let items = [];\n try {\n items = await queryAll<File>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not query for the files.\",\n ex.code || \"FILE_LIST_ERROR\",\n {\n error: ex,\n where: initialWhere,\n limit,\n after,\n sort,\n queryParams: {\n options,\n partitionKey: queryAllParams.partitionKey,\n entity: queryAllParams.entity.name,\n table: queryAllParams.entity.table.name\n }\n }\n );\n }\n\n const where: Partial<FileManagerFilesStorageOperationsListParamsWhere> & {\n contains?: { fields: string[]; value: string };\n } = {\n ...initialWhere\n };\n if (where.search) {\n where.contains = {\n fields: [\"name\", \"tags\"],\n value: where.search\n };\n }\n delete where[\"tenant\"];\n delete where[\"locale\"];\n delete where[\"search\"];\n\n const fields = this.context.plugins.byType<FileDynamoDbFieldPlugin>(\n FileDynamoDbFieldPlugin.type\n );\n /**\n * Filter the read items via the code.\n * It will build the filters out of the where input and transform the values it is using.\n */\n const filteredFiles = filterItems({\n plugins: this.context.plugins,\n items,\n where,\n fields\n });\n\n const totalCount = filteredFiles.length;\n /**\n * Sorting is also done via the code.\n * It takes the sort input and sorts by it via the lodash sortBy method.\n */\n const sortedFiles = sortItems({\n items: filteredFiles,\n sort,\n fields\n });\n\n const start = parseInt(decodeCursor(after) || \"0\") || 0;\n const hasMoreItems = totalCount > start + limit;\n const end = limit > totalCount + start + limit ? undefined : start + limit;\n const files = sortedFiles.slice(start, end);\n /**\n * Although we do not need a cursor here, we will use it as such to keep it standardized.\n * Number is simply encoded.\n */\n const cursor = files.length > 0 ? encodeCursor(start + limit) : null;\n\n const meta = {\n hasMoreItems,\n totalCount: totalCount,\n cursor\n };\n\n return [files, meta];\n }\n\n public async tags(\n params: FileManagerFilesStorageOperationsTagsParams\n ): Promise<FileManagerFilesStorageOperationsTagsResponse> {\n const { where: initialWhere } = params;\n\n const queryAllParams = {\n entity: this.entity,\n partitionKey: this.createPartitionKey(initialWhere),\n options: {\n gte: \" \",\n reverse: false\n }\n };\n let results = [];\n try {\n results = await queryAll<File>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Error in the DynamoDB query.\",\n ex.code || \"DYNAMODB_ERROR\",\n {\n error: ex,\n query: queryAllParams\n }\n );\n }\n\n const fields = this.context.plugins.byType<FileDynamoDbFieldPlugin>(\n FileDynamoDbFieldPlugin.type\n );\n\n const where: Partial<FileManagerFilesStorageOperationsTagsParamsWhere> = {\n ...initialWhere\n };\n\n delete where[\"tenant\"];\n delete where[\"locale\"];\n\n /**\n * Filter the read items via the code.\n * It will build the filters out of the where input and transform the values it is using.\n */\n const filteredItems = filterItems({\n plugins: this.context.plugins,\n items: results,\n where,\n fields\n });\n\n /**\n * Aggregate all the tags from all the filtered items.\n */\n const tagsObject = filteredItems.reduce((collection, item) => {\n const tags = Array.isArray(item.tags) ? item.tags : [];\n for (const tag of tags) {\n if (!collection[tag]) {\n collection[tag] = [];\n }\n collection[tag].push(item.id);\n }\n return collection;\n }, {} as Record<string, string[]>);\n\n const tags: string[] = Object.keys(tagsObject);\n\n const hasMoreItems = false;\n const totalCount = tags.length;\n\n const meta: FileManagerFilesStorageOperationsListResponseMeta = {\n hasMoreItems,\n totalCount,\n cursor: null\n };\n\n return [tags, meta];\n }\n\n private createQueryAllOptions({ where }: QueryAllOptionsParams): DynamoDBToolboxQueryOptions {\n const options: DynamoDBToolboxQueryOptions = {};\n if (where.id) {\n options.eq = where.id;\n }\n return options;\n }\n\n private createPartitionKey(params: CreatePartitionKeyParams): string {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#FM#F`;\n }\n\n private createSortKey(params: CreateSortKeyParams) {\n const { id } = params;\n\n return id;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["FilesStorageOperations","context","_context","constructor","table","defineTable","entity","defineFilesEntity","get","params","where","keys","PK","createPartitionKey","SK","createSortKey","file","getEntityItem","cleanupItem","ex","WebinyError","message","code","error","create","item","TYPE","put","update","delete","createBatch","files","items","map","putBatch","batchWriteAll","list","initialWhere","limit","after","sort","options","createQueryAllOptions","queryAllParams","partitionKey","queryAll","queryParams","name","search","contains","fields","value","plugins","byType","FileDynamoDbFieldPlugin","type","filteredFiles","filterItems","totalCount","length","sortedFiles","sortItems","start","parseInt","decodeCursor","hasMoreItems","end","undefined","slice","cursor","encodeCursor","meta","tags","gte","reverse","results","query","filteredItems","tagsObject","reduce","collection","Array","isArray","tag","push","id","Object","eq","tenant","locale"],"sources":["FilesStorageOperations.ts"],"sourcesContent":["import {\n File,\n FileManagerContext,\n FileManagerFilesStorageOperations,\n FileManagerFilesStorageOperationsCreateBatchParams,\n FileManagerFilesStorageOperationsCreateParams,\n FileManagerFilesStorageOperationsDeleteParams,\n FileManagerFilesStorageOperationsGetParams,\n FileManagerFilesStorageOperationsListParams,\n FileManagerFilesStorageOperationsListParamsWhere,\n FileManagerFilesStorageOperationsListResponse,\n FileManagerFilesStorageOperationsListResponseMeta,\n FileManagerFilesStorageOperationsTagsParams,\n FileManagerFilesStorageOperationsTagsParamsWhere,\n FileManagerFilesStorageOperationsTagsResponse,\n FileManagerFilesStorageOperationsUpdateParams\n} from \"@webiny/api-file-manager/types\";\nimport { Entity, Table } from \"dynamodb-toolbox\";\nimport WebinyError from \"@webiny/error\";\nimport defineTable from \"~/definitions/table\";\nimport defineFilesEntity from \"~/definitions/filesEntity\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { decodeCursor, encodeCursor } from \"@webiny/db-dynamodb/utils/cursor\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { FileDynamoDbFieldPlugin } from \"~/plugins/FileDynamoDbFieldPlugin\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { get as getEntityItem } from \"@webiny/db-dynamodb/utils/get\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\n\ninterface FileItem extends File {\n PK: string;\n SK: string;\n TYPE: string;\n}\n\ninterface ConstructorParams {\n context: FileManagerContext;\n}\n\ninterface QueryAllOptionsParams {\n where: FileManagerFilesStorageOperationsListParamsWhere;\n}\n\ninterface CreatePartitionKeyParams {\n locale: string;\n tenant: string;\n}\n\ninterface CreateSortKeyParams {\n id: string;\n}\n\nexport class FilesStorageOperations implements FileManagerFilesStorageOperations {\n private readonly _context: FileManagerContext;\n private readonly table: Table;\n private readonly entity: Entity<any>;\n\n private get context(): FileManagerContext {\n return this._context;\n }\n\n public constructor({ context }: ConstructorParams) {\n this._context = context;\n this.table = defineTable({\n context\n });\n\n this.entity = defineFilesEntity({\n context,\n table: this.table\n });\n }\n\n public async get(params: FileManagerFilesStorageOperationsGetParams): Promise<File | null> {\n const { where } = params;\n const keys = {\n PK: this.createPartitionKey(where),\n SK: this.createSortKey(where)\n };\n try {\n const file = await getEntityItem<File>({\n entity: this.entity,\n keys\n });\n return cleanupItem<File>(this.entity, file);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not fetch requested file.\",\n ex.code || \"GET_FILE_ERROR\",\n {\n error: ex,\n where\n }\n );\n }\n }\n\n public async create(params: FileManagerFilesStorageOperationsCreateParams): Promise<File> {\n const { file } = params;\n\n const keys = {\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file)\n };\n const item: FileItem = {\n ...file,\n ...keys,\n TYPE: \"fm.file\"\n };\n try {\n await this.entity.put(item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create a new file in the DynamoDB.\",\n ex.code || \"CREATE_FILE_ERROR\",\n {\n error: ex,\n item\n }\n );\n }\n\n return file;\n }\n\n public async update(params: FileManagerFilesStorageOperationsUpdateParams): Promise<File> {\n const { file } = params;\n const keys = {\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file)\n };\n\n const item: FileItem = {\n ...file,\n ...keys,\n TYPE: \"fm.file\"\n };\n try {\n await this.entity.put(item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update a file in the DynamoDB.\",\n ex.code || \"UPDATE_FILE_ERROR\",\n {\n error: ex,\n item\n }\n );\n }\n return file;\n }\n\n public async delete(params: FileManagerFilesStorageOperationsDeleteParams): Promise<void> {\n const { file } = params;\n const keys = {\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file)\n };\n\n try {\n await this.entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete file from the DynamoDB.\",\n ex.code || \"DELETE_FILE_ERROR\",\n {\n error: ex,\n file,\n keys\n }\n );\n }\n }\n\n public async createBatch(\n params: FileManagerFilesStorageOperationsCreateBatchParams\n ): Promise<File[]> {\n const { files } = params;\n\n const items = files.map(file => {\n return this.entity.putBatch({\n ...file,\n PK: this.createPartitionKey(file),\n SK: this.createSortKey(file),\n TYPE: \"fm.file\"\n });\n });\n\n try {\n await batchWriteAll({\n table: this.entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not batch insert a list of files.\",\n ex.code || \"BATCH_CREATE_FILES_ERROR\",\n {\n error: ex,\n files\n }\n );\n }\n return files;\n }\n\n public async list(\n params: FileManagerFilesStorageOperationsListParams\n ): Promise<FileManagerFilesStorageOperationsListResponse> {\n const { where: initialWhere, limit, after, sort } = params;\n\n const options = this.createQueryAllOptions({\n where: initialWhere\n });\n const queryAllParams = {\n entity: this.entity,\n partitionKey: this.createPartitionKey(initialWhere),\n options\n };\n let items = [];\n try {\n items = await queryAll<File>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not query for the files.\",\n ex.code || \"FILE_LIST_ERROR\",\n {\n error: ex,\n where: initialWhere,\n limit,\n after,\n sort,\n queryParams: {\n options,\n partitionKey: queryAllParams.partitionKey,\n entity: queryAllParams.entity.name,\n table: queryAllParams.entity.table.name\n }\n }\n );\n }\n\n const where: Partial<FileManagerFilesStorageOperationsListParamsWhere> & {\n contains?: { fields: string[]; value: string };\n } = {\n ...initialWhere\n };\n if (where.search) {\n where.contains = {\n fields: [\"name\", \"tags\"],\n value: where.search\n };\n }\n delete where[\"tenant\"];\n delete where[\"locale\"];\n delete where[\"search\"];\n\n const fields = this.context.plugins.byType<FileDynamoDbFieldPlugin>(\n FileDynamoDbFieldPlugin.type\n );\n /**\n * Filter the read items via the code.\n * It will build the filters out of the where input and transform the values it is using.\n */\n const filteredFiles = filterItems({\n plugins: this.context.plugins,\n items,\n where,\n fields\n });\n\n const totalCount = filteredFiles.length;\n /**\n * Sorting is also done via the code.\n * It takes the sort input and sorts by it via the lodash sortBy method.\n */\n const sortedFiles = sortItems({\n items: filteredFiles,\n sort,\n fields\n });\n\n const start = parseInt(decodeCursor(after) || \"0\") || 0;\n const hasMoreItems = totalCount > start + limit;\n const end = limit > totalCount + start + limit ? undefined : start + limit;\n const files = sortedFiles.slice(start, end);\n /**\n * Although we do not need a cursor here, we will use it as such to keep it standardized.\n * Number is simply encoded.\n */\n const cursor = files.length > 0 ? encodeCursor(start + limit) : null;\n\n const meta = {\n hasMoreItems,\n totalCount: totalCount,\n cursor\n };\n\n return [files, meta];\n }\n\n public async tags(\n params: FileManagerFilesStorageOperationsTagsParams\n ): Promise<FileManagerFilesStorageOperationsTagsResponse> {\n const { where: initialWhere } = params;\n\n const queryAllParams = {\n entity: this.entity,\n partitionKey: this.createPartitionKey(initialWhere),\n options: {\n gte: \" \",\n reverse: false\n }\n };\n let results = [];\n try {\n results = await queryAll<File>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Error in the DynamoDB query.\",\n ex.code || \"DYNAMODB_ERROR\",\n {\n error: ex,\n query: queryAllParams\n }\n );\n }\n\n const fields = this.context.plugins.byType<FileDynamoDbFieldPlugin>(\n FileDynamoDbFieldPlugin.type\n );\n\n const where: Partial<FileManagerFilesStorageOperationsTagsParamsWhere> = {\n ...initialWhere\n };\n\n delete where[\"tenant\"];\n delete where[\"locale\"];\n\n /**\n * Filter the read items via the code.\n * It will build the filters out of the where input and transform the values it is using.\n */\n const filteredItems = filterItems({\n plugins: this.context.plugins,\n items: results,\n where,\n fields\n });\n\n /**\n * Aggregate all the tags from all the filtered items.\n */\n const tagsObject = filteredItems.reduce((collection, item) => {\n const tags = Array.isArray(item.tags) ? item.tags : [];\n for (const tag of tags) {\n if (!collection[tag]) {\n collection[tag] = [];\n }\n collection[tag].push(item.id);\n }\n return collection;\n }, {} as Record<string, string[]>);\n\n const tags: string[] = Object.keys(tagsObject);\n\n const hasMoreItems = false;\n const totalCount = tags.length;\n\n const meta: FileManagerFilesStorageOperationsListResponseMeta = {\n hasMoreItems,\n totalCount,\n cursor: null\n };\n\n return [tags, meta];\n }\n\n private createQueryAllOptions({ where }: QueryAllOptionsParams): DynamoDBToolboxQueryOptions {\n const options: DynamoDBToolboxQueryOptions = {};\n if (where.id) {\n options.eq = where.id;\n }\n return options;\n }\n\n private createPartitionKey(params: CreatePartitionKeyParams): string {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#FM#F`;\n }\n\n private createSortKey(params: CreateSortKeyParams) {\n const { id } = params;\n\n return id;\n }\n}\n"],"mappings":"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"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _FileDynamoDbFieldPlugin = require("../../plugins/FileDynamoDbFieldPlugin");
|
|
9
|
-
|
|
10
8
|
var _default = () => [new _FileDynamoDbFieldPlugin.FileDynamoDbFieldPlugin({
|
|
11
9
|
field: "id"
|
|
12
10
|
}),
|
|
@@ -38,5 +36,4 @@ new _FileDynamoDbFieldPlugin.FileDynamoDbFieldPlugin({
|
|
|
38
36
|
field: "createdOn",
|
|
39
37
|
type: "date"
|
|
40
38
|
})];
|
|
41
|
-
|
|
42
39
|
exports.default = _default;
|