@webiny/api-prerendering-service-so-ddb 0.0.0-mt-3 → 0.0.0-unstable.2af142b57e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/definitions/queueJob.d.ts +2 -2
  2. package/definitions/queueJob.js +3 -12
  3. package/definitions/queueJob.js.map +1 -0
  4. package/definitions/render.d.ts +2 -2
  5. package/definitions/render.js +6 -21
  6. package/definitions/render.js.map +1 -0
  7. package/definitions/{tagUrlLink.d.ts → renderLegacy.d.ts} +2 -2
  8. package/definitions/renderLegacy.js +47 -0
  9. package/definitions/renderLegacy.js.map +1 -0
  10. package/definitions/settings.d.ts +8 -0
  11. package/definitions/settings.js +35 -0
  12. package/definitions/settings.js.map +1 -0
  13. package/definitions/table.d.ts +3 -2
  14. package/definitions/table.js +7 -4
  15. package/definitions/table.js.map +1 -0
  16. package/definitions/tagPathLink.d.ts +9 -0
  17. package/definitions/tagPathLink.js +41 -0
  18. package/definitions/tagPathLink.js.map +1 -0
  19. package/definitions/tagPathLinkLegacy.d.ts +9 -0
  20. package/definitions/tagPathLinkLegacy.js +44 -0
  21. package/definitions/tagPathLinkLegacy.js.map +1 -0
  22. package/definitions/tenantEntity.d.ts +7 -0
  23. package/definitions/tenantEntity.js +37 -0
  24. package/definitions/tenantEntity.js.map +1 -0
  25. package/index.js +28 -32
  26. package/index.js.map +1 -0
  27. package/operations/queueJob.d.ts +6 -0
  28. package/operations/{queueJob/index.js → queueJob.js} +5 -28
  29. package/operations/queueJob.js.map +1 -0
  30. package/operations/render.d.ts +21 -0
  31. package/operations/{render/index.js → render.js} +117 -127
  32. package/operations/render.js.map +1 -0
  33. package/operations/settings.d.ts +6 -0
  34. package/operations/settings.js +62 -0
  35. package/operations/settings.js.map +1 -0
  36. package/operations/tenant.d.ts +6 -0
  37. package/operations/tenant.js +28 -0
  38. package/operations/tenant.js.map +1 -0
  39. package/package.json +17 -17
  40. package/types.d.ts +9 -2
  41. package/types.js +3 -2
  42. package/types.js.map +1 -0
  43. package/definitions/tagUrlLink.js +0 -53
  44. package/operations/queueJob/index.d.ts +0 -6
  45. package/operations/render/index.d.ts +0 -16
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createSettingsStorageOperations = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
10
+ var _get = require("@webiny/db-dynamodb/utils/get");
11
+ const createSettingsStorageOperations = params => {
12
+ const {
13
+ entity
14
+ } = params;
15
+ const getSettings = async (variant = "default") => {
16
+ const keys = {
17
+ PK: "PS#SETTINGS",
18
+ SK: variant
19
+ };
20
+ try {
21
+ const result = await (0, _get.get)({
22
+ entity,
23
+ keys
24
+ });
25
+ if (!result) {
26
+ throw Error();
27
+ }
28
+ return result.data;
29
+ } catch (ex) {
30
+ throw new _error.default(ex.message || "Could not load prerendering settings!", ex.code || "GET_SETTINGS_ERROR", {
31
+ keys,
32
+ params
33
+ });
34
+ }
35
+ };
36
+ const saveSettings = async params => {
37
+ const {
38
+ settings,
39
+ variant = "default"
40
+ } = params;
41
+ const keys = {
42
+ PK: "PS#SETTINGS",
43
+ SK: variant
44
+ };
45
+ try {
46
+ await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, keys), {}, {
47
+ TYPE: "ps.settings",
48
+ data: settings
49
+ }));
50
+ return settings;
51
+ } catch (ex) {
52
+ throw new _error.default(ex.message || "Could not save settings.", ex.code || "SAVE_SETTINGS_ERROR", {
53
+ keys
54
+ });
55
+ }
56
+ };
57
+ return {
58
+ getSettings,
59
+ saveSettings
60
+ };
61
+ };
62
+ exports.createSettingsStorageOperations = createSettingsStorageOperations;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSettingsStorageOperations","params","entity","getSettings","variant","keys","PK","SK","result","get","Error","data","ex","WebinyError","message","code","saveSettings","settings","put","TYPE"],"sources":["settings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceSaveSettingsParams,\n PrerenderingServiceSettingsStorageOperations,\n PrerenderingSettings\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\n\nexport interface CreateSettingsStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createSettingsStorageOperations = (\n params: CreateSettingsStorageOperationsParams\n): PrerenderingServiceSettingsStorageOperations => {\n const { entity } = params;\n\n const getSettings = async (variant = \"default\"): Promise<PrerenderingSettings> => {\n const keys = {\n PK: \"PS#SETTINGS\",\n SK: variant\n };\n\n try {\n const result = await get<{ data: PrerenderingSettings }>({\n entity,\n keys\n });\n\n if (!result) {\n throw Error();\n }\n\n return result.data;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load prerendering settings!\",\n ex.code || \"GET_SETTINGS_ERROR\",\n {\n keys,\n params\n }\n );\n }\n };\n\n const saveSettings = async (params: PrerenderingServiceSaveSettingsParams) => {\n const { settings, variant = \"default\" } = params;\n const keys = {\n PK: \"PS#SETTINGS\",\n SK: variant\n };\n\n try {\n await entity.put({\n ...keys,\n TYPE: \"ps.settings\",\n data: settings\n });\n\n return settings;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not save settings.\",\n ex.code || \"SAVE_SETTINGS_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n return {\n getSettings,\n saveSettings\n };\n};\n"],"mappings":";;;;;;;;AAAA;AAOA;AAMO,MAAMA,+BAA+B,GACxCC,MAA6C,IACE;EAC/C,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,WAAW,GAAG,OAAOC,OAAO,GAAG,SAAS,KAAoC;IAC9E,MAAMC,IAAI,GAAG;MACTC,EAAE,EAAE,aAAa;MACjBC,EAAE,EAAEH;IACR,CAAC;IAED,IAAI;MACA,MAAMI,MAAM,GAAG,MAAM,IAAAC,QAAG,EAAiC;QACrDP,MAAM;QACNG;MACJ,CAAC,CAAC;MAEF,IAAI,CAACG,MAAM,EAAE;QACT,MAAME,KAAK,EAAE;MACjB;MAEA,OAAOF,MAAM,CAACG,IAAI;IACtB,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,uCAAuC,EACrDF,EAAE,CAACG,IAAI,IAAI,oBAAoB,EAC/B;QACIV,IAAI;QACJJ;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMe,YAAY,GAAG,MAAOf,MAA6C,IAAK;IAC1E,MAAM;MAAEgB,QAAQ;MAAEb,OAAO,GAAG;IAAU,CAAC,GAAGH,MAAM;IAChD,MAAMI,IAAI,GAAG;MACTC,EAAE,EAAE,aAAa;MACjBC,EAAE,EAAEH;IACR,CAAC;IAED,IAAI;MACA,MAAMF,MAAM,CAACgB,GAAG,6DACTb,IAAI;QACPc,IAAI,EAAE,aAAa;QACnBR,IAAI,EAAEM;MAAQ,GAChB;MAEF,OAAOA,QAAQ;IACnB,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,0BAA0B,EACxCF,EAAE,CAACG,IAAI,IAAI,qBAAqB,EAChC;QACIV;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,OAAO;IACHF,WAAW;IACXa;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -0,0 +1,6 @@
1
+ import { PrerenderingServiceTenantStorageOperations } from "@webiny/api-prerendering-service/types";
2
+ import { Entity } from "dynamodb-toolbox";
3
+ export interface CreateTenantStorageOperationsParams {
4
+ entity: Entity<any>;
5
+ }
6
+ export declare const createTenantStorageOperations: (params: CreateTenantStorageOperationsParams) => PrerenderingServiceTenantStorageOperations;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTenantStorageOperations = void 0;
7
+ var _query = require("@webiny/db-dynamodb/utils/query");
8
+ var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
9
+ const createTenantStorageOperations = params => {
10
+ const {
11
+ entity
12
+ } = params;
13
+ const getTenantIds = async () => {
14
+ const tenants = await (0, _query.queryAll)({
15
+ entity,
16
+ partitionKey: "TENANTS",
17
+ options: {
18
+ index: "GSI1",
19
+ gt: " "
20
+ }
21
+ });
22
+ return (0, _cleanup.cleanupItems)(entity, tenants).map(tenant => tenant.id);
23
+ };
24
+ return {
25
+ getTenantIds
26
+ };
27
+ };
28
+ exports.createTenantStorageOperations = createTenantStorageOperations;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTenantStorageOperations","params","entity","getTenantIds","tenants","queryAll","partitionKey","options","index","gt","cleanupItems","map","tenant","id"],"sources":["tenant.ts"],"sourcesContent":["import { PrerenderingServiceTenantStorageOperations } from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\n\nexport interface CreateTenantStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createTenantStorageOperations = (\n params: CreateTenantStorageOperationsParams\n): PrerenderingServiceTenantStorageOperations => {\n const { entity } = params;\n\n const getTenantIds = async (): Promise<string[]> => {\n const tenants = await queryAll<{ id: string }>({\n entity,\n partitionKey: \"TENANTS\",\n options: {\n index: \"GSI1\",\n gt: \" \"\n }\n });\n\n return cleanupItems(entity, tenants).map(tenant => tenant.id);\n };\n\n return {\n getTenantIds\n };\n};\n"],"mappings":";;;;;;AAEA;AACA;AAMO,MAAMA,6BAA6B,GACtCC,MAA2C,IACE;EAC7C,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,YAAY,GAAG,YAA+B;IAChD,MAAMC,OAAO,GAAG,MAAM,IAAAC,eAAQ,EAAiB;MAC3CH,MAAM;MACNI,YAAY,EAAE,SAAS;MACvBC,OAAO,EAAE;QACLC,KAAK,EAAE,MAAM;QACbC,EAAE,EAAE;MACR;IACJ,CAAC,CAAC;IAEF,OAAO,IAAAC,qBAAY,EAACR,MAAM,EAAEE,OAAO,CAAC,CAACO,GAAG,CAACC,MAAM,IAAIA,MAAM,CAACC,EAAE,CAAC;EACjE,CAAC;EAED,OAAO;IACHV;EACJ,CAAC;AACL,CAAC;AAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-prerendering-service-so-ddb",
3
- "version": "0.0.0-mt-3",
3
+ "version": "0.0.0-unstable.2af142b57e",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,28 +17,28 @@
17
17
  "author": "Webiny Ltd",
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@babel/runtime": "7.15.4",
21
- "@webiny/api-prerendering-service": "0.0.0-mt-3",
22
- "@webiny/error": "0.0.0-mt-3",
23
- "dynamodb-toolbox": "0.3.4"
20
+ "@babel/runtime": "7.20.13",
21
+ "@webiny/api-prerendering-service": "0.0.0-unstable.2af142b57e",
22
+ "@webiny/error": "0.0.0-unstable.2af142b57e",
23
+ "dynamodb-toolbox": "0.3.5"
24
24
  },
25
25
  "devDependencies": {
26
- "@babel/cli": "^7.5.5",
27
- "@babel/core": "^7.5.5",
28
- "@babel/plugin-proposal-export-default-from": "^7.5.2",
29
- "@babel/preset-env": "^7.5.5",
30
- "@babel/preset-typescript": "^7.8.3",
31
- "@webiny/cli": "^0.0.0-mt-3",
32
- "@webiny/db": "^0.0.0-mt-3",
33
- "@webiny/db-dynamodb": "^0.0.0-mt-3",
34
- "@webiny/handler-aws": "^0.0.0-mt-3",
35
- "@webiny/project-utils": "^0.0.0-mt-3",
26
+ "@babel/cli": "^7.19.3",
27
+ "@babel/core": "^7.19.3",
28
+ "@babel/plugin-proposal-export-default-from": "^7.16.0",
29
+ "@babel/preset-env": "^7.19.4",
30
+ "@babel/preset-typescript": "^7.18.6",
31
+ "@webiny/cli": "^0.0.0-unstable.2af142b57e",
32
+ "@webiny/db": "^0.0.0-unstable.2af142b57e",
33
+ "@webiny/db-dynamodb": "^0.0.0-unstable.2af142b57e",
34
+ "@webiny/handler-aws": "^0.0.0-unstable.2af142b57e",
35
+ "@webiny/project-utils": "^0.0.0-unstable.2af142b57e",
36
36
  "jest-dynalite": "^3.3.1",
37
37
  "jest-environment-node": "^27.3.0",
38
38
  "prettier": "^2.3.2",
39
39
  "rimraf": "^3.0.2",
40
40
  "ttypescript": "^1.5.12",
41
- "typescript": "^4.1.3"
41
+ "typescript": "4.7.4"
42
42
  },
43
43
  "publishConfig": {
44
44
  "access": "public",
@@ -55,5 +55,5 @@
55
55
  ]
56
56
  }
57
57
  },
58
- "gitHead": "ebea815be2be99404591cba465cc1fe88355bd48"
58
+ "gitHead": "2af142b57e7cdc433f5098b3b6d43ae6caa5d54e"
59
59
  }
package/types.d.ts CHANGED
@@ -7,15 +7,17 @@ export declare type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig
7
7
  export declare type Attributes = Record<string, AttributeDefinition>;
8
8
  export declare enum ENTITIES {
9
9
  RENDER = "PrerenderingServiceRender",
10
+ SETTINGS = "PrerenderingServiceSettings",
10
11
  QUEUE_JOB = "PrerenderingServiceQueueJob",
11
- TAG_URL_LINK = "PrerenderingServiceTagUrlLink"
12
+ TAG_PATH_LINK = "PrerenderingServiceTagPathLink",
13
+ TENANT = "Tenant"
12
14
  }
13
15
  export interface PrerenderingServiceFactoryParams {
14
16
  documentClient: DocumentClient;
15
17
  table?: TableModifier;
16
18
  attributes?: Record<ENTITIES, Attributes>;
17
19
  }
18
- export declare type Entities = "render" | "queueJob" | "tagUrlLink";
20
+ export declare type Entities = "render" | "queueJob" | "tagPathLink";
19
21
  export interface PrerenderingServiceStorageOperations extends BasePrerenderingServiceStorageOperations {
20
22
  getTable(): Table;
21
23
  getEntities(): Record<Entities, Entity<any>>;
@@ -26,3 +28,8 @@ export interface PrerenderingServiceFactory {
26
28
  export interface TableModifier {
27
29
  (table: TableConstructor): TableConstructor;
28
30
  }
31
+ export interface DataContainer<T> {
32
+ PK: string;
33
+ SK: string;
34
+ data: T;
35
+ }
package/types.js CHANGED
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ENTITIES = void 0;
7
7
  let ENTITIES;
8
8
  exports.ENTITIES = ENTITIES;
9
-
10
9
  (function (ENTITIES) {
11
10
  ENTITIES["RENDER"] = "PrerenderingServiceRender";
11
+ ENTITIES["SETTINGS"] = "PrerenderingServiceSettings";
12
12
  ENTITIES["QUEUE_JOB"] = "PrerenderingServiceQueueJob";
13
- ENTITIES["TAG_URL_LINK"] = "PrerenderingServiceTagUrlLink";
13
+ ENTITIES["TAG_PATH_LINK"] = "PrerenderingServiceTagPathLink";
14
+ ENTITIES["TENANT"] = "Tenant";
14
15
  })(ENTITIES || (exports.ENTITIES = ENTITIES = {}));
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ENTITIES"],"sources":["types.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table, Entity } from \"dynamodb-toolbox\";\nimport { DynamoDBTypes, TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nimport { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from \"@webiny/api-prerendering-service/types\";\n\nexport type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport type Attributes = Record<string, AttributeDefinition>;\n\nexport enum ENTITIES {\n RENDER = \"PrerenderingServiceRender\",\n SETTINGS = \"PrerenderingServiceSettings\",\n QUEUE_JOB = \"PrerenderingServiceQueueJob\",\n TAG_PATH_LINK = \"PrerenderingServiceTagPathLink\",\n TENANT = \"Tenant\"\n}\n\nexport interface PrerenderingServiceFactoryParams {\n documentClient: DocumentClient;\n table?: TableModifier;\n attributes?: Record<ENTITIES, Attributes>;\n}\n\nexport type Entities = \"render\" | \"queueJob\" | \"tagPathLink\";\n\nexport interface PrerenderingServiceStorageOperations\n extends BasePrerenderingServiceStorageOperations {\n getTable(): Table;\n getEntities(): Record<Entities, Entity<any>>;\n}\n\nexport interface PrerenderingServiceFactory {\n (params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;\n}\n\nexport interface TableModifier {\n (table: TableConstructor): TableConstructor;\n}\n\nexport interface DataContainer<T> {\n PK: string;\n SK: string;\n data: T;\n}\n"],"mappings":";;;;;;IAaYA,QAAQ;AAAA;AAAA,WAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,wBAARA,QAAQ"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createTagUrlLinkEntity = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _dynamodbToolbox = require("dynamodb-toolbox");
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
-
18
- const createTagUrlLinkEntity = params => {
19
- const {
20
- entityName,
21
- attributes,
22
- table
23
- } = params;
24
- return new _dynamodbToolbox.Entity({
25
- name: entityName,
26
- table,
27
- attributes: _objectSpread({
28
- PK: {
29
- partitionKey: true
30
- },
31
- SK: {
32
- sortKey: true
33
- },
34
- TYPE: {
35
- type: "string"
36
- },
37
- namespace: {
38
- type: "string"
39
- },
40
- url: {
41
- type: "string"
42
- },
43
- value: {
44
- type: "string"
45
- },
46
- key: {
47
- type: "string"
48
- }
49
- }, attributes || {})
50
- });
51
- };
52
-
53
- exports.createTagUrlLinkEntity = createTagUrlLinkEntity;
@@ -1,6 +0,0 @@
1
- import { PrerenderingServiceQueueJobStorageOperations } from "@webiny/api-prerendering-service/types";
2
- import { Entity } from "dynamodb-toolbox";
3
- export interface Params {
4
- entity: Entity<any>;
5
- }
6
- export declare const createQueueJobStorageOperations: (params: Params) => PrerenderingServiceQueueJobStorageOperations;
@@ -1,16 +0,0 @@
1
- import { PrerenderingServiceRenderStorageOperations } from "@webiny/api-prerendering-service/types";
2
- import { Entity } from "dynamodb-toolbox";
3
- import { Tag } from "@webiny/api-prerendering-service/queue/add/types";
4
- export interface Params {
5
- entity: Entity<any>;
6
- tagUrlLinkEntity: Entity<any>;
7
- }
8
- export interface CreateTagUrlLinkPartitionKeyParams {
9
- namespace: string;
10
- tag: Pick<Tag, "key">;
11
- }
12
- export interface CreateTagUrlLinkSortKeyParams {
13
- tag: Tag;
14
- url?: string;
15
- }
16
- export declare const createRenderStorageOperations: (params: Params) => PrerenderingServiceRenderStorageOperations;