@webiny/api-prerendering-service-so-ddb 0.0.0-mt-2 → 0.0.0-unstable.06b2ede40f
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/queueJob.d.ts +6 -5
- package/definitions/queueJob.js +8 -16
- package/definitions/queueJob.js.map +1 -0
- package/definitions/render.d.ts +6 -5
- package/definitions/render.js +10 -24
- package/definitions/render.js.map +1 -0
- package/definitions/renderLegacy.d.ts +9 -0
- package/definitions/renderLegacy.js +48 -0
- package/definitions/renderLegacy.js.map +1 -0
- package/definitions/settings.d.ts +9 -0
- package/definitions/settings.js +36 -0
- package/definitions/settings.js.map +1 -0
- package/definitions/table.d.ts +7 -6
- package/definitions/table.js +13 -6
- package/definitions/table.js.map +1 -0
- package/definitions/tagPathLink.d.ts +56 -0
- package/definitions/tagPathLink.js +42 -0
- package/definitions/tagPathLink.js.map +1 -0
- package/definitions/tagPathLinkLegacy.d.ts +62 -0
- package/definitions/tagPathLinkLegacy.js +45 -0
- package/definitions/tagPathLinkLegacy.js.map +1 -0
- package/definitions/tenantEntity.d.ts +8 -0
- package/definitions/tenantEntity.js +39 -0
- package/definitions/tenantEntity.js.map +1 -0
- package/index.d.ts +1 -1
- package/index.js +39 -38
- package/index.js.map +1 -0
- package/operations/queueJob.d.ts +6 -0
- package/operations/{queueJob/index.js → queueJob.js} +24 -43
- package/operations/queueJob.js.map +1 -0
- package/operations/render.d.ts +20 -0
- package/operations/render.js +330 -0
- package/operations/render.js.map +1 -0
- package/operations/settings.d.ts +6 -0
- package/operations/settings.js +68 -0
- package/operations/settings.js.map +1 -0
- package/operations/tenant.d.ts +6 -0
- package/operations/tenant.js +29 -0
- package/operations/tenant.js.map +1 -0
- package/package.json +16 -31
- package/types.d.ts +18 -12
- package/types.js +8 -6
- package/types.js.map +1 -0
- package/definitions/tagUrlLink.d.ts +0 -8
- package/definitions/tagUrlLink.js +0 -53
- package/operations/queueJob/index.d.ts +0 -6
- package/operations/render/index.d.ts +0 -16
- package/operations/render/index.js +0 -336
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_dbDynamodb","createRenderStorageOperations","params","entity","tagPathLinkEntity","createRenderPartitionKey","tenant","path","startsWith","replace","createRenderSortKey","createRenderGSI1PartitionKey","createRenderType","createTagPathLinkPartitionKey","tag","key","value","createTagPathLinkSortKey","values","push","join","createTagPathLinkGSI1PartitionKey","createTagPathLinkGSI1SortKey","createTagPathLinkType","getRender","where","keys","PK","SK","result","get","dbItem","cleanupItem","data","ex","WebinyError","message","code","createRender","render","put","item","TYPE","GSI1_PK","GSI1_SK","deleteRender","deleteItem","listRendersByTag","links","listTagPathLinks","items","map","link","getBatch","results","batchReadAll","table","cleanupItems","listRenders","queryAllParams","partitionKey","options","index","gte","queryAllClean","createTagPathLinks","tagPathLinks","tagPathLinksBatch","createEntityWriteBatch","execute","deleteTagPathLinks","tags","delete","beginsWith","queryAll","exports"],"sources":["render.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n PrerenderingServiceRenderStorageOperations,\n PrerenderingServiceStorageOperationsCreateRenderParams,\n PrerenderingServiceStorageOperationsCreateTagPathLinksParams,\n PrerenderingServiceStorageOperationsDeleteRenderParams,\n PrerenderingServiceStorageOperationsDeleteTagPathLinksParams,\n PrerenderingServiceStorageOperationsGetRenderParams,\n PrerenderingServiceStorageOperationsListRendersParams,\n PrerenderingServiceStorageOperationsListTagPathLinksParams,\n Render,\n Tag,\n TagPathLink\n} from \"@webiny/api-prerendering-service/types\";\nimport type { Entity, EntityQueryOptions } from \"@webiny/db-dynamodb/toolbox\";\nimport {\n batchReadAll,\n cleanupItem,\n cleanupItems,\n createEntityWriteBatch,\n deleteItem,\n get,\n put,\n queryAll,\n queryAllClean\n} from \"@webiny/db-dynamodb\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb\";\nimport type { DataContainer } from \"~/types\";\n\nexport interface CreateRenderStorageOperationsParams {\n entity: Entity;\n tagPathLinkEntity: Entity;\n}\n\nexport interface CreateTagPathLinkPartitionKeyParams {\n tenant: string;\n tag: Tag;\n path: string;\n}\n\nexport interface CreateTagPathLinkGSI1PartitionKeyParams {\n tenant: string;\n tag: Tag;\n}\n\nexport interface CreateTagPathLinkSortKeyParams {\n tag: Tag;\n path?: string;\n}\n\nexport const createRenderStorageOperations = (\n params: CreateRenderStorageOperationsParams\n): PrerenderingServiceRenderStorageOperations => {\n const { entity, tagPathLinkEntity } = params;\n\n const createRenderPartitionKey = (tenant: string, path: string): string => {\n /**\n * For backwards compatibility remove the T# if it exists.\n */\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#RENDER#${path}`;\n };\n\n const createRenderSortKey = (): string => {\n return \"A\";\n };\n\n const createRenderGSI1PartitionKey = (tenant: string): string => {\n return `T#${tenant}#PS#RENDER`;\n };\n\n const createRenderType = (): string => {\n return \"ps.render\";\n };\n\n const createTagPathLinkPartitionKey = (params: CreateTagPathLinkPartitionKeyParams): string => {\n const { tag, path } = params;\n let { tenant } = params;\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#TAG#${tag.key}#${tag.value}#${path}`;\n };\n\n const createTagPathLinkSortKey = (params: CreateTagPathLinkSortKeyParams): string => {\n const { tag, path } = params;\n const values = [tag.value];\n if (path) {\n values.push(path);\n }\n return values.join(\"#\");\n };\n\n const createTagPathLinkGSI1PartitionKey = (\n params: CreateTagPathLinkGSI1PartitionKeyParams\n ): string => {\n let { tenant } = params;\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#TAG`;\n };\n\n const createTagPathLinkGSI1SortKey = (params: CreateTagPathLinkSortKeyParams): string => {\n const { tag, path } = params;\n\n return `${tag.key}#${tag.value}#${path}`;\n };\n\n const createTagPathLinkType = (): string => {\n return \"ps.tagPathLink\";\n };\n\n const getRender = async (\n params: PrerenderingServiceStorageOperationsGetRenderParams\n ): Promise<Render | null> => {\n const { where } = params;\n\n const keys = {\n PK: createRenderPartitionKey(where.tenant, where.path),\n SK: createRenderSortKey()\n };\n\n try {\n const result = await get<DataContainer<Render>>({\n entity,\n keys\n });\n\n const dbItem = cleanupItem(entity, result);\n\n return dbItem ? dbItem.data : null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get render record by given key.\",\n ex.code || \"GET_RENDER_ERROR\",\n {\n keys,\n params\n }\n );\n }\n };\n const createRender = async (params: PrerenderingServiceStorageOperationsCreateRenderParams) => {\n const { render } = params;\n\n const keys = {\n PK: createRenderPartitionKey(render.tenant, render.path),\n SK: createRenderSortKey()\n };\n\n try {\n await put({\n entity,\n item: {\n ...keys,\n data: render,\n TYPE: createRenderType(),\n GSI1_PK: createRenderGSI1PartitionKey(render.tenant),\n GSI1_SK: render.path\n }\n });\n\n return render;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create render record.\",\n ex.code || \"CREATE_RENDER_ERROR\",\n {\n keys,\n render\n }\n );\n }\n };\n const deleteRender = async (\n params: PrerenderingServiceStorageOperationsDeleteRenderParams\n ): Promise<void> => {\n const { render } = params;\n\n const keys = {\n PK: createRenderPartitionKey(render.tenant, render.path),\n SK: createRenderSortKey()\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete render record.\",\n ex.code || \"DELETE_RENDER_ERROR\",\n {\n keys,\n render\n }\n );\n }\n };\n\n const listRendersByTag = async (\n params: PrerenderingServiceStorageOperationsListRendersParams\n ) => {\n const { where } = params;\n const { tenant, tag } = where;\n /**\n * Possibly there is no tag.key so no need to go further\n */\n if (!tag || !tag.key) {\n return [];\n }\n\n const links = await listTagPathLinks({\n where: {\n tenant,\n tag\n }\n });\n\n const items = links.map(link => {\n return entity.getBatch({\n PK: createRenderPartitionKey(tenant, link.path),\n SK: createRenderSortKey()\n });\n });\n try {\n const results = await batchReadAll<DataContainer<Render>>({\n table: entity.table,\n items\n });\n return cleanupItems(entity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list render records after links.\",\n ex.code || \"LIST_LINKS_RENDER_ERROR\",\n {\n links\n }\n );\n }\n };\n\n const listRenders = async (params: PrerenderingServiceStorageOperationsListRendersParams) => {\n const { where } = params;\n const { tenant, tag } = where;\n\n if (tag) {\n return listRendersByTag(params);\n }\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createRenderGSI1PartitionKey(tenant),\n options: {\n index: \"GSI1\",\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAllClean<DataContainer<Render>>(queryAllParams);\n\n return results.map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list render records.\",\n ex.code || \"LIST_RENDER_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n };\n\n const createTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsCreateTagPathLinksParams\n ) => {\n const { tagPathLinks } = params;\n\n const tagPathLinksBatch = createEntityWriteBatch({\n entity: tagPathLinkEntity,\n put: tagPathLinks.map(item => {\n return {\n data: item,\n TYPE: createTagPathLinkType(),\n PK: createTagPathLinkPartitionKey({\n tenant: item.tenant,\n tag: item,\n path: item.path\n }),\n SK: createTagPathLinkSortKey({\n tag: item,\n path: item.path\n }),\n GSI1_PK: createTagPathLinkGSI1PartitionKey({ tag: item, tenant: item.tenant }),\n GSI1_SK: createTagPathLinkGSI1SortKey({ tag: item, path: item.path })\n };\n })\n });\n\n try {\n await tagPathLinksBatch.execute();\n return tagPathLinks;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create tagPathLink records.\",\n ex.code || \"CREATE_URL_TAG_LINKS_ERROR\",\n {\n tagPathLinks\n }\n );\n }\n };\n\n const deleteTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsDeleteTagPathLinksParams\n ): Promise<void> => {\n const { tenant, tags, path } = params;\n\n const tagPathLinksBatch = createEntityWriteBatch({\n entity: tagPathLinkEntity,\n delete: tags.map(tag => {\n return {\n PK: createTagPathLinkPartitionKey({\n tag,\n tenant,\n path\n }),\n SK: createTagPathLinkSortKey({\n tag,\n path\n })\n };\n })\n });\n\n try {\n await tagPathLinksBatch.execute();\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete tagPathLink records.\",\n ex.code || \"DELETE_URL_TAG_LINKS_ERROR\",\n {\n tags,\n tenant,\n path\n }\n );\n }\n };\n\n const listTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsListTagPathLinksParams\n ) => {\n const { where } = params;\n const { tenant, tag } = where;\n\n const partitionKey = createTagPathLinkGSI1PartitionKey({\n tenant,\n tag\n });\n\n const options: EntityQueryOptions = {\n index: \"GSI1\"\n };\n\n if (tag.value) {\n options.beginsWith = `${tag.key}#${tag.value}#`;\n } else {\n options.beginsWith = `${tag.key}#`;\n }\n\n const queryAllParams: QueryAllParams = {\n entity: tagPathLinkEntity,\n partitionKey,\n options\n };\n\n try {\n const results = await queryAll<DataContainer<TagPathLink>>(queryAllParams);\n\n return cleanupItems(tagPathLinkEntity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tagPathLink records.\",\n ex.code || \"LIST_TAG_PATH_LINK_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n };\n\n return {\n createRender,\n deleteRender,\n listRenders,\n getRender,\n createTagPathLinks,\n deleteTagPathLinks,\n listTagPathLinks\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PrerenderingServiceSettingsStorageOperations } from "@webiny/api-prerendering-service/types";
|
|
2
|
+
import type { Entity } from "@webiny/db-dynamodb/toolbox";
|
|
3
|
+
export interface CreateSettingsStorageOperationsParams {
|
|
4
|
+
entity: Entity<any>;
|
|
5
|
+
}
|
|
6
|
+
export declare const createSettingsStorageOperations: (params: CreateSettingsStorageOperationsParams) => PrerenderingServiceSettingsStorageOperations;
|
|
@@ -0,0 +1,68 @@
|
|
|
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 _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
+
var _get = require("@webiny/db-dynamodb/utils/get");
|
|
10
|
+
var _dbDynamodb = require("@webiny/db-dynamodb");
|
|
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
|
+
entity: entity.name
|
|
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 (0, _dbDynamodb.put)({
|
|
47
|
+
entity,
|
|
48
|
+
item: {
|
|
49
|
+
...keys,
|
|
50
|
+
TYPE: "ps.settings",
|
|
51
|
+
data: settings
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return settings;
|
|
55
|
+
} catch (ex) {
|
|
56
|
+
throw new _error.default(ex.message || "Could not save settings.", ex.code || "SAVE_SETTINGS_ERROR", {
|
|
57
|
+
keys
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
getSettings,
|
|
63
|
+
saveSettings
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
exports.createSettingsStorageOperations = createSettingsStorageOperations;
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_get","_dbDynamodb","createSettingsStorageOperations","params","entity","getSettings","variant","keys","PK","SK","result","get","Error","data","ex","WebinyError","message","code","name","saveSettings","settings","put","item","TYPE","exports"],"sources":["settings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n PrerenderingServiceSaveSettingsParams,\n PrerenderingServiceSettingsStorageOperations,\n PrerenderingSettings\n} from \"@webiny/api-prerendering-service/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\nimport { put } from \"@webiny/db-dynamodb\";\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 entity: entity.name\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 put({\n entity,\n item: {\n ...keys,\n TYPE: \"ps.settings\",\n data: settings\n }\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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAOA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAMO,MAAMG,+BAA+B,GACxCC,MAA6C,IACE;EAC/C,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,WAAW,GAAG,MAAAA,CAAOC,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,CAAC,CAAC;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;QACJH,MAAM,EAAEA,MAAM,CAACc;MACnB,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMC,YAAY,GAAG,MAAOhB,MAA6C,IAAK;IAC1E,MAAM;MAAEiB,QAAQ;MAAEd,OAAO,GAAG;IAAU,CAAC,GAAGH,MAAM;IAChD,MAAMI,IAAI,GAAG;MACTC,EAAE,EAAE,aAAa;MACjBC,EAAE,EAAEH;IACR,CAAC;IAED,IAAI;MACA,MAAM,IAAAe,eAAG,EAAC;QACNjB,MAAM;QACNkB,IAAI,EAAE;UACF,GAAGf,IAAI;UACPgB,IAAI,EAAE,aAAa;UACnBV,IAAI,EAAEO;QACV;MACJ,CAAC,CAAC;MAEF,OAAOA,QAAQ;IACnB,CAAC,CAAC,OAAON,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,0BAA0B,EACxCF,EAAE,CAACG,IAAI,IAAI,qBAAqB,EAChC;QACIV;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,OAAO;IACHF,WAAW;IACXc;EACJ,CAAC;AACL,CAAC;AAACK,OAAA,CAAAtB,+BAAA,GAAAA,+BAAA","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PrerenderingServiceTenantStorageOperations } from "@webiny/api-prerendering-service/types";
|
|
2
|
+
import type { Entity } from "@webiny/db-dynamodb/toolbox";
|
|
3
|
+
export interface CreateTenantStorageOperationsParams {
|
|
4
|
+
entity: Entity<any>;
|
|
5
|
+
}
|
|
6
|
+
export declare const createTenantStorageOperations: (params: CreateTenantStorageOperationsParams) => PrerenderingServiceTenantStorageOperations;
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
const createTenantStorageOperations = params => {
|
|
9
|
+
const {
|
|
10
|
+
entity
|
|
11
|
+
} = params;
|
|
12
|
+
const getTenantIds = async () => {
|
|
13
|
+
const tenants = await (0, _query.queryAll)({
|
|
14
|
+
entity,
|
|
15
|
+
partitionKey: "TENANTS",
|
|
16
|
+
options: {
|
|
17
|
+
index: "GSI1",
|
|
18
|
+
gt: " "
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return tenants.map(tenant => tenant.data.id);
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
getTenantIds
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
exports.createTenantStorageOperations = createTenantStorageOperations;
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=tenant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_query","require","createTenantStorageOperations","params","entity","getTenantIds","tenants","queryAll","partitionKey","options","index","gt","map","tenant","data","id","exports"],"sources":["tenant.ts"],"sourcesContent":["import type { PrerenderingServiceTenantStorageOperations } from \"@webiny/api-prerendering-service/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\n\nexport interface CreateTenantStorageOperationsParams {\n entity: Entity<any>;\n}\n\ninterface Tenant {\n data: { id: string };\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<Tenant>({\n entity,\n partitionKey: \"TENANTS\",\n options: {\n index: \"GSI1\",\n gt: \" \"\n }\n });\n\n return tenants.map(tenant => tenant.data.id);\n };\n\n return { getTenantIds };\n};\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAUO,MAAMC,6BAA6B,GACtCC,MAA2C,IACE;EAC7C,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,YAAY,GAAG,MAAAA,CAAA,KAA+B;IAChD,MAAMC,OAAO,GAAG,MAAM,IAAAC,eAAQ,EAAS;MACnCH,MAAM;MACNI,YAAY,EAAE,SAAS;MACvBC,OAAO,EAAE;QACLC,KAAK,EAAE,MAAM;QACbC,EAAE,EAAE;MACR;IACJ,CAAC,CAAC;IAEF,OAAOL,OAAO,CAACM,GAAG,CAACC,MAAM,IAAIA,MAAM,CAACC,IAAI,CAACC,EAAE,CAAC;EAChD,CAAC;EAED,OAAO;IAAEV;EAAa,CAAC;AAC3B,CAAC;AAACW,OAAA,CAAAd,6BAAA,GAAAA,6BAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-prerendering-service-so-ddb",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-unstable.06b2ede40f",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -11,49 +11,34 @@
|
|
|
11
11
|
"@webiny/api-prerendering-service",
|
|
12
12
|
"storage-operations",
|
|
13
13
|
"dynamodb",
|
|
14
|
+
"ddb",
|
|
14
15
|
"ps:ddb"
|
|
15
16
|
],
|
|
16
17
|
"description": "A DynamoDB storage operations for the Prerendering Service API.",
|
|
17
18
|
"author": "Webiny Ltd",
|
|
18
19
|
"license": "MIT",
|
|
19
20
|
"dependencies": {
|
|
20
|
-
"@
|
|
21
|
-
"@webiny/
|
|
22
|
-
"@webiny/error": "0.0.0-
|
|
23
|
-
"dynamodb-toolbox": "0.3.4"
|
|
21
|
+
"@webiny/api-prerendering-service": "0.0.0-unstable.06b2ede40f",
|
|
22
|
+
"@webiny/aws-sdk": "0.0.0-unstable.06b2ede40f",
|
|
23
|
+
"@webiny/error": "0.0.0-unstable.06b2ede40f"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@
|
|
27
|
-
"@
|
|
28
|
-
"@
|
|
29
|
-
"@
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"@webiny/handler-aws": "^0.0.0-mt-2",
|
|
35
|
-
"@webiny/project-utils": "^0.0.0-mt-2",
|
|
36
|
-
"jest-dynalite": "^3.3.1",
|
|
37
|
-
"jest-environment-node": "^27.3.0",
|
|
38
|
-
"prettier": "^2.3.2",
|
|
39
|
-
"rimraf": "^3.0.2",
|
|
40
|
-
"ttypescript": "^1.5.12",
|
|
41
|
-
"typescript": "^4.1.3"
|
|
26
|
+
"@webiny/db": "0.0.0-unstable.06b2ede40f",
|
|
27
|
+
"@webiny/db-dynamodb": "0.0.0-unstable.06b2ede40f",
|
|
28
|
+
"@webiny/handler-aws": "0.0.0-unstable.06b2ede40f",
|
|
29
|
+
"@webiny/project-utils": "0.0.0-unstable.06b2ede40f",
|
|
30
|
+
"jest-dynalite": "3.6.1",
|
|
31
|
+
"prettier": "2.8.8",
|
|
32
|
+
"rimraf": "6.0.1",
|
|
33
|
+
"typescript": "5.3.3"
|
|
42
34
|
},
|
|
43
35
|
"publishConfig": {
|
|
44
36
|
"access": "public",
|
|
45
37
|
"directory": "dist"
|
|
46
38
|
},
|
|
47
39
|
"scripts": {
|
|
48
|
-
"build": "
|
|
49
|
-
"watch": "
|
|
40
|
+
"build": "node ../cli/bin.js run build",
|
|
41
|
+
"watch": "node ../cli/bin.js run watch"
|
|
50
42
|
},
|
|
51
|
-
"
|
|
52
|
-
"ignore": {
|
|
53
|
-
"src": [
|
|
54
|
-
"aws-sdk"
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
"gitHead": "3c0dcfb3c22c9f83107fdb97b25014cd03d9db7d"
|
|
43
|
+
"gitHead": "06b2ede40fc2212a70eeafd74afd50b56fb0ce82"
|
|
59
44
|
}
|
package/types.d.ts
CHANGED
|
@@ -1,28 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from "@webiny/api-prerendering-service/types";
|
|
6
|
-
export
|
|
7
|
-
export declare type Attributes = Record<string, AttributeDefinition>;
|
|
1
|
+
import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
|
|
2
|
+
import type { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
|
3
|
+
import type { TableConstructor } from "@webiny/db-dynamodb/toolbox";
|
|
4
|
+
import type { AttributeDefinition } from "@webiny/db-dynamodb/toolbox";
|
|
5
|
+
import type { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from "@webiny/api-prerendering-service/types";
|
|
6
|
+
export type Attributes = Record<string, AttributeDefinition>;
|
|
8
7
|
export declare enum ENTITIES {
|
|
9
8
|
RENDER = "PrerenderingServiceRender",
|
|
9
|
+
SETTINGS = "PrerenderingServiceSettings",
|
|
10
10
|
QUEUE_JOB = "PrerenderingServiceQueueJob",
|
|
11
|
-
|
|
11
|
+
TAG_PATH_LINK = "PrerenderingServiceTagPathLink",
|
|
12
|
+
TENANT = "Tenant"
|
|
12
13
|
}
|
|
13
14
|
export interface PrerenderingServiceFactoryParams {
|
|
14
|
-
documentClient:
|
|
15
|
+
documentClient: DynamoDBDocument;
|
|
15
16
|
table?: TableModifier;
|
|
16
17
|
attributes?: Record<ENTITIES, Attributes>;
|
|
17
18
|
}
|
|
18
|
-
export
|
|
19
|
+
export type Entities = "render" | "queueJob" | "tagPathLink";
|
|
19
20
|
export interface PrerenderingServiceStorageOperations extends BasePrerenderingServiceStorageOperations {
|
|
20
|
-
getTable(): Table
|
|
21
|
+
getTable(): Table<string, string, string>;
|
|
21
22
|
getEntities(): Record<Entities, Entity<any>>;
|
|
22
23
|
}
|
|
23
24
|
export interface PrerenderingServiceFactory {
|
|
24
25
|
(params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;
|
|
25
26
|
}
|
|
26
27
|
export interface TableModifier {
|
|
27
|
-
(table: TableConstructor): TableConstructor
|
|
28
|
+
(table: TableConstructor<string, string, string>): TableConstructor<string, string, string>;
|
|
29
|
+
}
|
|
30
|
+
export interface DataContainer<T> {
|
|
31
|
+
PK: string;
|
|
32
|
+
SK: string;
|
|
33
|
+
data: T;
|
|
28
34
|
}
|
package/types.js
CHANGED
|
@@ -4,11 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ENTITIES = void 0;
|
|
7
|
-
let ENTITIES
|
|
8
|
-
exports.ENTITIES = ENTITIES;
|
|
9
|
-
|
|
10
|
-
(function (ENTITIES) {
|
|
7
|
+
let ENTITIES = exports.ENTITIES = /*#__PURE__*/function (ENTITIES) {
|
|
11
8
|
ENTITIES["RENDER"] = "PrerenderingServiceRender";
|
|
9
|
+
ENTITIES["SETTINGS"] = "PrerenderingServiceSettings";
|
|
12
10
|
ENTITIES["QUEUE_JOB"] = "PrerenderingServiceQueueJob";
|
|
13
|
-
ENTITIES["
|
|
14
|
-
|
|
11
|
+
ENTITIES["TAG_PATH_LINK"] = "PrerenderingServiceTagPathLink";
|
|
12
|
+
ENTITIES["TENANT"] = "Tenant";
|
|
13
|
+
return ENTITIES;
|
|
14
|
+
}({});
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=types.js.map
|
package/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ENTITIES","exports"],"sources":["types.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport type { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport type { TableConstructor } from \"@webiny/db-dynamodb/toolbox\";\nimport type { AttributeDefinition } from \"@webiny/db-dynamodb/toolbox\";\nimport type { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from \"@webiny/api-prerendering-service/types\";\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: DynamoDBDocument;\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<string, string, string>;\n getEntities(): Record<Entities, Entity<any>>;\n}\n\nexport interface PrerenderingServiceFactory {\n (params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;\n}\n\nexport interface TableModifier {\n (table: TableConstructor<string, string, string>): TableConstructor<string, string, string>;\n}\n\nexport interface DataContainer<T> {\n PK: string;\n SK: string;\n data: T;\n}\n"],"mappings":";;;;;;IAQYA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
|
|
@@ -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;
|