@webiny/api-prerendering-service-so-ddb 5.39.0-beta.1 → 5.39.0-beta.2
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 +2 -2
- package/definitions/queueJob.js +6 -7
- package/definitions/queueJob.js.map +1 -1
- package/definitions/render.d.ts +2 -2
- package/definitions/render.js +6 -7
- package/definitions/render.js.map +1 -1
- package/definitions/renderLegacy.d.ts +2 -2
- package/definitions/renderLegacy.js +6 -7
- package/definitions/renderLegacy.js.map +1 -1
- package/definitions/settings.d.ts +2 -2
- package/definitions/settings.js +6 -7
- package/definitions/settings.js.map +1 -1
- package/definitions/table.d.ts +4 -4
- package/definitions/table.js +5 -3
- package/definitions/table.js.map +1 -1
- package/definitions/tagPathLink.d.ts +49 -3
- package/definitions/tagPathLink.js +6 -7
- package/definitions/tagPathLink.js.map +1 -1
- package/definitions/tagPathLinkLegacy.d.ts +55 -3
- package/definitions/tagPathLinkLegacy.js +6 -7
- package/definitions/tagPathLinkLegacy.js.map +1 -1
- package/definitions/tenantEntity.d.ts +2 -2
- package/definitions/tenantEntity.js +2 -2
- package/definitions/tenantEntity.js.map +1 -1
- package/index.js +16 -13
- package/index.js.map +1 -1
- package/operations/queueJob.d.ts +1 -1
- package/operations/queueJob.js +10 -7
- package/operations/queueJob.js.map +1 -1
- package/operations/render.d.ts +2 -3
- package/operations/render.js +17 -10
- package/operations/render.js.map +1 -1
- package/operations/settings.d.ts +1 -1
- package/operations/settings.js +9 -5
- package/operations/settings.js.map +1 -1
- package/operations/tenant.d.ts +1 -1
- package/operations/tenant.js.map +1 -1
- package/package.json +10 -17
- package/types.d.ts +7 -8
- package/types.js.map +1 -1
@@ -1,7 +1,7 @@
|
|
1
|
-
import { Entity, Table } from "dynamodb
|
1
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
2
2
|
import { Attributes } from "../types";
|
3
3
|
export interface CreateQueueJobEntityParams {
|
4
|
-
table: Table
|
4
|
+
table: Table<string, string, string>;
|
5
5
|
entityName: string;
|
6
6
|
attributes: Attributes;
|
7
7
|
}
|
package/definitions/queueJob.js
CHANGED
@@ -1,22 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
7
6
|
exports.createQueueJobEntity = void 0;
|
8
|
-
var
|
9
|
-
var _dynamodbToolbox = require("dynamodb-toolbox");
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
10
8
|
const createQueueJobEntity = params => {
|
11
9
|
const {
|
12
10
|
entityName,
|
13
11
|
attributes,
|
14
12
|
table
|
15
13
|
} = params;
|
16
|
-
return new
|
14
|
+
return new _toolbox.Entity({
|
17
15
|
name: entityName,
|
18
16
|
table,
|
19
|
-
attributes:
|
17
|
+
attributes: {
|
20
18
|
PK: {
|
21
19
|
partitionKey: true
|
22
20
|
},
|
@@ -31,8 +29,9 @@ const createQueueJobEntity = params => {
|
|
31
29
|
},
|
32
30
|
args: {
|
33
31
|
type: "map"
|
34
|
-
}
|
35
|
-
|
32
|
+
},
|
33
|
+
...(attributes || {})
|
34
|
+
}
|
36
35
|
});
|
37
36
|
};
|
38
37
|
exports.createQueueJobEntity = createQueueJobEntity;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createQueueJobEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","args","exports"],"sources":["queueJob.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateQueueJobEntityParams {\n table: Table<string, string, string>;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createQueueJobEntity = (params: CreateQueueJobEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\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 args: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,oBAAoB,GAAIC,MAAkC,IAAkB;EACrF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,eAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU,EAAE;MACRI,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,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACD,IAAIT,UAAU,IAAI,CAAC,CAAC;IACxB;EACJ,CAAC,CAAC;AACN,CAAC;AAACY,OAAA,CAAAf,oBAAA,GAAAA,oBAAA"}
|
package/definitions/render.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { Entity, Table } from "dynamodb
|
1
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
2
2
|
import { Attributes } from "../types";
|
3
3
|
export interface CreateRenderEntityParams {
|
4
|
-
table: Table
|
4
|
+
table: Table<string, string, string>;
|
5
5
|
entityName: string;
|
6
6
|
attributes: Attributes;
|
7
7
|
}
|
package/definitions/render.js
CHANGED
@@ -1,22 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
7
6
|
exports.createRenderEntity = void 0;
|
8
|
-
var
|
9
|
-
var _dynamodbToolbox = require("dynamodb-toolbox");
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
10
8
|
const createRenderEntity = params => {
|
11
9
|
const {
|
12
10
|
entityName,
|
13
11
|
attributes,
|
14
12
|
table
|
15
13
|
} = params;
|
16
|
-
return new
|
14
|
+
return new _toolbox.Entity({
|
17
15
|
name: entityName,
|
18
16
|
table,
|
19
|
-
attributes:
|
17
|
+
attributes: {
|
20
18
|
PK: {
|
21
19
|
partitionKey: true
|
22
20
|
},
|
@@ -34,8 +32,9 @@ const createRenderEntity = params => {
|
|
34
32
|
},
|
35
33
|
data: {
|
36
34
|
type: "map"
|
37
|
-
}
|
38
|
-
|
35
|
+
},
|
36
|
+
...(attributes || {})
|
37
|
+
}
|
39
38
|
});
|
40
39
|
};
|
41
40
|
exports.createRenderEntity = createRenderEntity;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","GSI1_PK","GSI1_SK","data","exports"],"sources":["render.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table<string, string, string>;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createRenderEntity = (params: CreateRenderEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\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 GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,kBAAkB,GAAIC,MAAgC,IAAkB;EACjF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,eAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU,EAAE;MACRI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,OAAO,EAAE;QACLF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV,CAAC;MACD,IAAIT,UAAU,IAAI,CAAC,CAAC;IACxB;EACJ,CAAC,CAAC;AACN,CAAC;AAACa,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { Entity, Table } from "dynamodb
|
1
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
2
2
|
import { Attributes } from "../types";
|
3
3
|
export interface CreateRenderEntityParams {
|
4
|
-
table: Table
|
4
|
+
table: Table<string, string, string>;
|
5
5
|
entityName: string;
|
6
6
|
attributes: Attributes;
|
7
7
|
}
|
@@ -1,22 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
7
6
|
exports.createRenderEntity = void 0;
|
8
|
-
var
|
9
|
-
var _dynamodbToolbox = require("dynamodb-toolbox");
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
10
8
|
const createRenderEntity = params => {
|
11
9
|
const {
|
12
10
|
entityName,
|
13
11
|
attributes,
|
14
12
|
table
|
15
13
|
} = params;
|
16
|
-
return new
|
14
|
+
return new _toolbox.Entity({
|
17
15
|
name: entityName,
|
18
16
|
table,
|
19
|
-
attributes:
|
17
|
+
attributes: {
|
20
18
|
PK: {
|
21
19
|
partitionKey: true
|
22
20
|
},
|
@@ -40,8 +38,9 @@ const createRenderEntity = params => {
|
|
40
38
|
},
|
41
39
|
files: {
|
42
40
|
type: "list"
|
43
|
-
}
|
44
|
-
|
41
|
+
},
|
42
|
+
...(attributes || {})
|
43
|
+
}
|
45
44
|
});
|
46
45
|
};
|
47
46
|
exports.createRenderEntity = createRenderEntity;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","args","configuration","files","exports"],"sources":["renderLegacy.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table<string, string, string>;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createRenderEntity = (params: CreateRenderEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\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 namespace: {\n type: \"string\"\n },\n url: {\n type: \"string\"\n },\n args: {\n type: \"map\"\n },\n configuration: {\n type: \"map\"\n },\n files: {\n type: \"list\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,kBAAkB,GAAIC,MAAgC,IAAkB;EACjF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,eAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU,EAAE;MACRI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,SAAS,EAAE;QACPD,IAAI,EAAE;MACV,CAAC;MACDE,GAAG,EAAE;QACDF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV,CAAC;MACDI,aAAa,EAAE;QACXJ,IAAI,EAAE;MACV,CAAC;MACDK,KAAK,EAAE;QACHL,IAAI,EAAE;MACV,CAAC;MACD,IAAIT,UAAU,IAAI,CAAC,CAAC;IACxB;EACJ,CAAC,CAAC;AACN,CAAC;AAACe,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { Entity, Table } from "dynamodb
|
1
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
2
2
|
import { Attributes } from "../types";
|
3
3
|
export interface CreateSettingsEntityParams {
|
4
|
-
table: Table
|
4
|
+
table: Table<string, string, string>;
|
5
5
|
entityName: string;
|
6
6
|
attributes: Attributes;
|
7
7
|
}
|
package/definitions/settings.js
CHANGED
@@ -1,22 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
7
6
|
exports.createSettingsEntity = void 0;
|
8
|
-
var
|
9
|
-
var _dynamodbToolbox = require("dynamodb-toolbox");
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
10
8
|
const createSettingsEntity = params => {
|
11
9
|
const {
|
12
10
|
entityName,
|
13
11
|
attributes,
|
14
12
|
table
|
15
13
|
} = params;
|
16
|
-
return new
|
14
|
+
return new _toolbox.Entity({
|
17
15
|
name: entityName,
|
18
16
|
table,
|
19
|
-
attributes:
|
17
|
+
attributes: {
|
20
18
|
PK: {
|
21
19
|
partitionKey: true
|
22
20
|
},
|
@@ -28,8 +26,9 @@ const createSettingsEntity = params => {
|
|
28
26
|
},
|
29
27
|
data: {
|
30
28
|
type: "map"
|
31
|
-
}
|
32
|
-
|
29
|
+
},
|
30
|
+
...(attributes || {})
|
31
|
+
}
|
33
32
|
});
|
34
33
|
};
|
35
34
|
exports.createSettingsEntity = createSettingsEntity;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createSettingsEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","data","exports"],"sources":["settings.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateSettingsEntityParams {\n table: Table<string, string, string>;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createSettingsEntity = (params: CreateSettingsEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\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 data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,oBAAoB,GAAIC,MAAkC,IAAkB;EACrF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,eAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU,EAAE;MACRI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,IAAI,EAAE;QACFD,IAAI,EAAE;MACV,CAAC;MACD,IAAIT,UAAU,IAAI,CAAC,CAAC;IACxB;EACJ,CAAC,CAAC;AACN,CAAC;AAACW,OAAA,CAAAd,oBAAA,GAAAA,oBAAA"}
|
package/definitions/table.d.ts
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
import {
|
2
|
-
import { Table } from "dynamodb
|
1
|
+
import { DynamoDBClient } from "@webiny/aws-sdk/client-dynamodb";
|
2
|
+
import { Table } from "@webiny/db-dynamodb/toolbox";
|
3
3
|
import { TableModifier } from "../types";
|
4
4
|
interface CreateTableParams {
|
5
5
|
table?: TableModifier;
|
6
|
-
documentClient:
|
6
|
+
documentClient: DynamoDBClient;
|
7
7
|
}
|
8
|
-
export declare const createTable: (params: CreateTableParams) => Table
|
8
|
+
export declare const createTable: (params: CreateTableParams) => Table<string, string, string>;
|
9
9
|
export {};
|
package/definitions/table.js
CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createTable = void 0;
|
7
|
-
var
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
8
8
|
const createTable = params => {
|
9
9
|
const {
|
10
10
|
table,
|
@@ -20,10 +20,12 @@ const createTable = params => {
|
|
20
20
|
partitionKey: "GSI1_PK",
|
21
21
|
sortKey: "GSI1_SK"
|
22
22
|
}
|
23
|
-
}
|
23
|
+
},
|
24
|
+
autoExecute: true,
|
25
|
+
autoParse: true
|
24
26
|
};
|
25
27
|
const config = typeof table === "function" ? table(tableConfig) : tableConfig;
|
26
|
-
return new
|
28
|
+
return new _toolbox.Table(config);
|
27
29
|
};
|
28
30
|
exports.createTable = createTable;
|
29
31
|
|
package/definitions/table.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createTable","params","table","documentClient","tableConfig","name","process","env","DB_TABLE_PRERENDERING_SERVICE","DB_TABLE","partitionKey","sortKey","DocumentClient","indexes","GSI1","autoExecute","autoParse","config","Table","exports"],"sources":["table.ts"],"sourcesContent":["import { DynamoDBClient } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { TableModifier } from \"~/types\";\nimport { TableConstructor } from \"@webiny/db-dynamodb/toolbox\";\n\ninterface CreateTableParams {\n table?: TableModifier;\n documentClient: DynamoDBClient;\n}\n\nexport const createTable = (params: CreateTableParams): Table<string, string, string> => {\n const { table, documentClient } = params;\n\n const tableConfig: TableConstructor<string, string, string> = {\n name: (process.env.DB_TABLE_PRERENDERING_SERVICE || process.env.DB_TABLE) as string,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n indexes: {\n GSI1: {\n partitionKey: \"GSI1_PK\",\n sortKey: \"GSI1_SK\"\n }\n },\n autoExecute: true,\n autoParse: true\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,WAAW,GAAIC,MAAyB,IAAoC;EACrF,MAAM;IAAEC,KAAK;IAAEC;EAAe,CAAC,GAAGF,MAAM;EAExC,MAAMG,WAAqD,GAAG;IAC1DC,IAAI,EAAGC,OAAO,CAACC,GAAG,CAACC,6BAA6B,IAAIF,OAAO,CAACC,GAAG,CAACE,QAAmB;IACnFC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAET,cAAc;IAC9BU,OAAO,EAAE;MACLC,IAAI,EAAE;QACFJ,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb;IACJ,CAAC;IACDI,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC;EAED,MAAMC,MAAM,GAAG,OAAOf,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACE,WAAW,CAAC,GAAGA,WAAW;EAE7E,OAAO,IAAIc,cAAK,CAACD,MAAM,CAAC;AAC5B,CAAC;AAACE,OAAA,CAAAnB,WAAA,GAAAA,WAAA"}
|
@@ -1,9 +1,55 @@
|
|
1
|
-
import { Entity, Table } from "dynamodb
|
1
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
2
2
|
import { Attributes } from "../types";
|
3
3
|
interface CreateTagPathLinkEntityParams {
|
4
|
-
table: Table
|
4
|
+
table: Table<string, string, string>;
|
5
5
|
entityName: string;
|
6
6
|
attributes: Attributes;
|
7
7
|
}
|
8
|
-
export declare const createTagPathLinkEntity: (params: CreateTagPathLinkEntityParams) => Entity<{
|
8
|
+
export declare const createTagPathLinkEntity: (params: CreateTagPathLinkEntityParams) => Entity<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, boolean, boolean, boolean, string, string, string, boolean, {
|
9
|
+
PK: {
|
10
|
+
partitionKey: true;
|
11
|
+
};
|
12
|
+
SK: {
|
13
|
+
sortKey: true;
|
14
|
+
};
|
15
|
+
TYPE: {
|
16
|
+
type: "string";
|
17
|
+
};
|
18
|
+
GSI1_PK: {
|
19
|
+
type: "string";
|
20
|
+
};
|
21
|
+
GSI1_SK: {
|
22
|
+
type: "string";
|
23
|
+
};
|
24
|
+
data: {
|
25
|
+
type: "map";
|
26
|
+
};
|
27
|
+
}, {
|
28
|
+
PK: {
|
29
|
+
partitionKey: true;
|
30
|
+
};
|
31
|
+
SK: {
|
32
|
+
sortKey: true;
|
33
|
+
};
|
34
|
+
TYPE: {
|
35
|
+
type: "string";
|
36
|
+
};
|
37
|
+
GSI1_PK: {
|
38
|
+
type: "string";
|
39
|
+
};
|
40
|
+
GSI1_SK: {
|
41
|
+
type: "string";
|
42
|
+
};
|
43
|
+
data: {
|
44
|
+
type: "map";
|
45
|
+
};
|
46
|
+
}, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
|
47
|
+
[x: string]: any;
|
48
|
+
[x: number]: any;
|
49
|
+
[x: symbol]: any;
|
50
|
+
}, {
|
51
|
+
[x: string]: any;
|
52
|
+
[x: number]: any;
|
53
|
+
[x: symbol]: any;
|
54
|
+
}>;
|
9
55
|
export {};
|
@@ -1,22 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
7
6
|
exports.createTagPathLinkEntity = void 0;
|
8
|
-
var
|
9
|
-
var _dynamodbToolbox = require("dynamodb-toolbox");
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
10
8
|
const createTagPathLinkEntity = params => {
|
11
9
|
const {
|
12
10
|
entityName,
|
13
11
|
attributes,
|
14
12
|
table
|
15
13
|
} = params;
|
16
|
-
return new
|
14
|
+
return new _toolbox.Entity({
|
17
15
|
name: entityName,
|
18
16
|
table,
|
19
|
-
attributes:
|
17
|
+
attributes: {
|
20
18
|
PK: {
|
21
19
|
partitionKey: true
|
22
20
|
},
|
@@ -34,8 +32,9 @@ const createTagPathLinkEntity = params => {
|
|
34
32
|
},
|
35
33
|
data: {
|
36
34
|
type: "map"
|
37
|
-
}
|
38
|
-
|
35
|
+
},
|
36
|
+
...(attributes || {})
|
37
|
+
}
|
39
38
|
});
|
40
39
|
};
|
41
40
|
exports.createTagPathLinkEntity = createTagPathLinkEntity;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createTagPathLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","GSI1_PK","GSI1_SK","data","exports"],"sources":["tagPathLink.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagPathLinkEntityParams {\n table: Table<string, string, string>;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createTagPathLinkEntity = (params: CreateTagPathLinkEntityParams) => {\n const { entityName, attributes, table } = params;\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 GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,eAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU,EAAE;MACRI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,OAAO,EAAE;QACLF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV,CAAC;MACD,IAAIT,UAAU,IAAI,CAAC,CAAC;IACxB;EACJ,CAAC,CAAC;AACN,CAAC;AAACa,OAAA,CAAAhB,uBAAA,GAAAA,uBAAA"}
|
@@ -1,9 +1,61 @@
|
|
1
|
-
import { Entity, Table } from "dynamodb
|
1
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
2
2
|
import { Attributes } from "../types";
|
3
3
|
interface CreateTagUrlLinkEntityParams {
|
4
|
-
table: Table
|
4
|
+
table: Table<string, string, string>;
|
5
5
|
entityName: string;
|
6
6
|
attributes: Attributes;
|
7
7
|
}
|
8
|
-
export declare const createTagUrlLinkEntity: (params: CreateTagUrlLinkEntityParams) => Entity<{
|
8
|
+
export declare const createTagUrlLinkEntity: (params: CreateTagUrlLinkEntityParams) => Entity<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, boolean, boolean, boolean, string, string, string, boolean, {
|
9
|
+
PK: {
|
10
|
+
partitionKey: true;
|
11
|
+
};
|
12
|
+
SK: {
|
13
|
+
sortKey: true;
|
14
|
+
};
|
15
|
+
TYPE: {
|
16
|
+
type: "string";
|
17
|
+
};
|
18
|
+
namespace: {
|
19
|
+
type: "string";
|
20
|
+
};
|
21
|
+
url: {
|
22
|
+
type: "string";
|
23
|
+
};
|
24
|
+
value: {
|
25
|
+
type: "string";
|
26
|
+
};
|
27
|
+
key: {
|
28
|
+
type: "string";
|
29
|
+
};
|
30
|
+
}, {
|
31
|
+
PK: {
|
32
|
+
partitionKey: true;
|
33
|
+
};
|
34
|
+
SK: {
|
35
|
+
sortKey: true;
|
36
|
+
};
|
37
|
+
TYPE: {
|
38
|
+
type: "string";
|
39
|
+
};
|
40
|
+
namespace: {
|
41
|
+
type: "string";
|
42
|
+
};
|
43
|
+
url: {
|
44
|
+
type: "string";
|
45
|
+
};
|
46
|
+
value: {
|
47
|
+
type: "string";
|
48
|
+
};
|
49
|
+
key: {
|
50
|
+
type: "string";
|
51
|
+
};
|
52
|
+
}, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
|
53
|
+
[x: string]: any;
|
54
|
+
[x: number]: any;
|
55
|
+
[x: symbol]: any;
|
56
|
+
}, {
|
57
|
+
[x: string]: any;
|
58
|
+
[x: number]: any;
|
59
|
+
[x: symbol]: any;
|
60
|
+
}>;
|
9
61
|
export {};
|
@@ -1,22 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
7
6
|
exports.createTagUrlLinkEntity = void 0;
|
8
|
-
var
|
9
|
-
var _dynamodbToolbox = require("dynamodb-toolbox");
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
10
8
|
const createTagUrlLinkEntity = params => {
|
11
9
|
const {
|
12
10
|
entityName,
|
13
11
|
attributes,
|
14
12
|
table
|
15
13
|
} = params;
|
16
|
-
return new
|
14
|
+
return new _toolbox.Entity({
|
17
15
|
name: entityName,
|
18
16
|
table,
|
19
|
-
attributes:
|
17
|
+
attributes: {
|
20
18
|
PK: {
|
21
19
|
partitionKey: true
|
22
20
|
},
|
@@ -37,8 +35,9 @@ const createTagUrlLinkEntity = params => {
|
|
37
35
|
},
|
38
36
|
key: {
|
39
37
|
type: "string"
|
40
|
-
}
|
41
|
-
|
38
|
+
},
|
39
|
+
...(attributes || {})
|
40
|
+
}
|
42
41
|
});
|
43
42
|
};
|
44
43
|
exports.createTagUrlLinkEntity = createTagUrlLinkEntity;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createTagUrlLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","value","key","exports"],"sources":["tagPathLinkLegacy.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagUrlLinkEntityParams {\n table: Table<string, string, string>;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createTagUrlLinkEntity = (params: CreateTagUrlLinkEntityParams) => {\n const { entityName, attributes, table } = params;\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 namespace: {\n type: \"string\"\n },\n url: {\n type: \"string\"\n },\n value: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,sBAAsB,GAAIC,MAAoC,IAAK;EAC5E,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,eAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU,EAAE;MACRI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,SAAS,EAAE;QACPD,IAAI,EAAE;MACV,CAAC;MACDE,GAAG,EAAE;QACDF,IAAI,EAAE;MACV,CAAC;MACDG,KAAK,EAAE;QACHH,IAAI,EAAE;MACV,CAAC;MACDI,GAAG,EAAE;QACDJ,IAAI,EAAE;MACV,CAAC;MACD,IAAIT,UAAU,IAAI,CAAC,CAAC;IACxB;EACJ,CAAC,CAAC;AACN,CAAC;AAACc,OAAA,CAAAjB,sBAAA,GAAAA,sBAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { Entity, Table } from "dynamodb
|
1
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
2
2
|
interface Params {
|
3
|
-
table: Table
|
3
|
+
table: Table<string, string, string>;
|
4
4
|
entityName: string;
|
5
5
|
}
|
6
6
|
export declare const createTenantEntity: ({ entityName, table }: Params) => Entity<any>;
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createTenantEntity = void 0;
|
7
|
-
var
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
8
8
|
const createTenantEntity = ({
|
9
9
|
entityName,
|
10
10
|
table
|
11
11
|
}) => {
|
12
|
-
return new
|
12
|
+
return new _toolbox.Entity({
|
13
13
|
table,
|
14
14
|
name: entityName,
|
15
15
|
attributes: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_toolbox","require","createTenantEntity","entityName","table","Entity","name","attributes","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","TYPE","id","exports"],"sources":["tenantEntity.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\n\ninterface Params {\n table: Table<string, string, string>;\n entityName: string;\n}\n\nexport const createTenantEntity = ({ entityName, table }: Params): Entity<any> => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n }\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOO,MAAMC,kBAAkB,GAAGA,CAAC;EAAEC,UAAU;EAAEC;AAAc,CAAC,KAAkB;EAC9E,OAAO,IAAIC,eAAM,CAAC;IACdD,KAAK;IACLE,IAAI,EAAEH,UAAU;IAChBI,UAAU,EAAE;MACRC,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACDG,EAAE,EAAE;QACAH,IAAI,EAAE;MACV;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACI,OAAA,CAAAf,kBAAA,GAAAA,kBAAA"}
|
package/index.js
CHANGED
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.createPrerenderingServiceStorageOperations = void 0;
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
10
9
|
var _types = require("./types");
|
11
10
|
var _table = require("./definitions/table");
|
@@ -68,19 +67,23 @@ const createPrerenderingServiceStorageOperations = params => {
|
|
68
67
|
table: tableInstance
|
69
68
|
})
|
70
69
|
};
|
71
|
-
return
|
70
|
+
return {
|
72
71
|
getTable: () => tableInstance,
|
73
|
-
getEntities: () => entities
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
72
|
+
getEntities: () => entities,
|
73
|
+
...(0, _render2.createRenderStorageOperations)({
|
74
|
+
entity: entities.render,
|
75
|
+
tagPathLinkEntity: entities.tagPathLink
|
76
|
+
}),
|
77
|
+
...(0, _queueJob2.createQueueJobStorageOperations)({
|
78
|
+
entity: entities.queueJob
|
79
|
+
}),
|
80
|
+
...(0, _settings2.createSettingsStorageOperations)({
|
81
|
+
entity: entities.settings
|
82
|
+
}),
|
83
|
+
...(0, _tenant.createTenantStorageOperations)({
|
84
|
+
entity: entities.tenant
|
85
|
+
})
|
86
|
+
};
|
84
87
|
};
|
85
88
|
exports.createPrerenderingServiceStorageOperations = createPrerenderingServiceStorageOperations;
|
86
89
|
|
package/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_types","_table","_render","_settings","_queueJob","_render2","_tenant","_settings2","_queueJob2","_tagPathLink","_tenantEntity","reservedFields","isReserved","name","includes","WebinyError","createPrerenderingServiceStorageOperations","params","attributes","table","documentClient","Object","values","forEach","attrs","keys","tableInstance","createTable","entities","render","createRenderEntity","entityName","ENTITIES","RENDER","settings","createSettingsEntity","SETTINGS","queueJob","createQueueJobEntity","QUEUE_JOB","tagPathLink","createTagPathLinkEntity","TAG_PATH_LINK","tenant","createTenantEntity","TENANT","
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_types","_table","_render","_settings","_queueJob","_render2","_tenant","_settings2","_queueJob2","_tagPathLink","_tenantEntity","reservedFields","isReserved","name","includes","WebinyError","createPrerenderingServiceStorageOperations","params","attributes","table","documentClient","Object","values","forEach","attrs","keys","tableInstance","createTable","entities","render","createRenderEntity","entityName","ENTITIES","RENDER","settings","createSettingsEntity","SETTINGS","queueJob","createQueueJobEntity","QUEUE_JOB","tagPathLink","createTagPathLinkEntity","TAG_PATH_LINK","tenant","createTenantEntity","TENANT","getTable","getEntities","createRenderStorageOperations","entity","tagPathLinkEntity","createQueueJobStorageOperations","createSettingsStorageOperations","createTenantStorageOperations","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ENTITIES, PrerenderingServiceFactory, PrerenderingServiceFactoryParams } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createRenderEntity } from \"~/definitions/render\";\nimport { createSettingsEntity } from \"~/definitions/settings\";\nimport { createQueueJobEntity } from \"~/definitions/queueJob\";\nimport { createRenderStorageOperations } from \"~/operations/render\";\nimport { createTenantStorageOperations } from \"~/operations/tenant\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\nimport { createQueueJobStorageOperations } from \"~/operations/queueJob\";\nimport { createTagPathLinkEntity } from \"~/definitions/tagPathLink\";\nimport { createTenantEntity } from \"~/definitions/tenantEntity\";\n\nconst reservedFields = [\"PK\", \"SK\", \"index\", \"data\", \"TYPE\", \"__type\", \"GSI1_PK\", \"GSI1_SK\"];\n\nconst isReserved = (name: string): void => {\n if (reservedFields.includes(name) === false) {\n return;\n }\n throw new WebinyError(`Attribute name \"${name}\" is not allowed.`, \"ATTRIBUTE_NOT_ALLOWED\", {\n name\n });\n};\n\nexport const createPrerenderingServiceStorageOperations: PrerenderingServiceFactory = (\n params: PrerenderingServiceFactoryParams\n) => {\n const { attributes, table, documentClient } = params;\n\n if (attributes) {\n Object.values(attributes).forEach(attrs => {\n Object.keys(attrs).forEach(isReserved);\n });\n }\n\n const tableInstance = createTable({ table, documentClient });\n\n const entities = {\n render: createRenderEntity({\n entityName: ENTITIES.RENDER,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.RENDER] : {}\n }),\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n queueJob: createQueueJobEntity({\n entityName: ENTITIES.QUEUE_JOB,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.QUEUE_JOB] : {}\n }),\n tagPathLink: createTagPathLinkEntity({\n entityName: ENTITIES.TAG_PATH_LINK,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.TAG_PATH_LINK] : {}\n }),\n tenant: createTenantEntity({\n entityName: ENTITIES.TENANT,\n table: tableInstance\n })\n };\n\n return {\n getTable: () => tableInstance,\n getEntities: () => entities,\n ...createRenderStorageOperations({\n entity: entities.render,\n tagPathLinkEntity: entities.tagPathLink\n }),\n ...createQueueJobStorageOperations({\n entity: entities.queueJob\n }),\n ...createSettingsStorageOperations({\n entity: entities.settings\n }),\n ...createTenantStorageOperations({\n entity: entities.tenant\n })\n };\n};\n"],"mappings":"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"}
|
package/operations/queueJob.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PrerenderingServiceQueueJobStorageOperations } from "@webiny/api-prerendering-service/types";
|
2
|
-
import { Entity } from "dynamodb
|
2
|
+
import { Entity } from "@webiny/db-dynamodb/toolbox";
|
3
3
|
export interface CreateQueueJobStorageOperationsParams {
|
4
4
|
entity: Entity<any>;
|
5
5
|
}
|
package/operations/queueJob.js
CHANGED
@@ -5,11 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.createQueueJobStorageOperations = void 0;
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
10
9
|
var _batchWrite = require("@webiny/db-dynamodb/utils/batchWrite");
|
11
10
|
var _query = require("@webiny/db-dynamodb/utils/query");
|
12
|
-
var
|
11
|
+
var _dbDynamodb = require("@webiny/db-dynamodb");
|
13
12
|
const createQueueJobStorageOperations = params => {
|
14
13
|
const {
|
15
14
|
entity
|
@@ -32,9 +31,14 @@ const createQueueJobStorageOperations = params => {
|
|
32
31
|
SK: createQueueJobSortKey(queueJob.id)
|
33
32
|
};
|
34
33
|
try {
|
35
|
-
await
|
36
|
-
|
37
|
-
|
34
|
+
await (0, _dbDynamodb.put)({
|
35
|
+
entity,
|
36
|
+
item: {
|
37
|
+
...queueJob,
|
38
|
+
...keys,
|
39
|
+
TYPE: createQueueJobType()
|
40
|
+
}
|
41
|
+
});
|
38
42
|
return queueJob;
|
39
43
|
} catch (ex) {
|
40
44
|
throw new _error.default(ex.message || "Could not create render record.", ex.code || "CREATE_RENDER_ERROR", {
|
@@ -52,8 +56,7 @@ const createQueueJobStorageOperations = params => {
|
|
52
56
|
}
|
53
57
|
};
|
54
58
|
try {
|
55
|
-
|
56
|
-
return (0, _cleanup.cleanupItems)(entity, results);
|
59
|
+
return await (0, _query.queryAllClean)(queryAllParams);
|
57
60
|
} catch (ex) {
|
58
61
|
throw new _error.default(ex.message || "Could not list queue jobs records.", ex.code || "LIST_QUEUE_JOBS_ERROR", {
|
59
62
|
partitionKey: queryAllParams.partitionKey,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_batchWrite","_query","
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_batchWrite","_query","_dbDynamodb","createQueueJobStorageOperations","params","entity","createQueueJobPartitionKey","createQueueJobSortKey","id","createQueueJobType","createQueueJob","queueJob","keys","PK","SK","put","item","TYPE","ex","WebinyError","message","code","listQueueJobs","queryAllParams","partitionKey","options","gte","queryAllClean","deleteQueueJobs","queueJobs","items","map","job","deleteBatch","batchWriteAll","table","exports"],"sources":["queueJob.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceQueueJobStorageOperations,\n PrerenderingServiceStorageOperationsCreateQueueJobParams,\n PrerenderingServiceStorageOperationsDeleteQueueJobsParams,\n QueueJob\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { queryAllClean, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { put } from \"@webiny/db-dynamodb\";\n\nexport interface CreateQueueJobStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createQueueJobStorageOperations = (\n params: CreateQueueJobStorageOperationsParams\n): PrerenderingServiceQueueJobStorageOperations => {\n const { entity } = params;\n\n const createQueueJobPartitionKey = (): string => {\n return \"PS#Q#JOB\";\n };\n const createQueueJobSortKey = (id: string): string => {\n return id;\n };\n\n const createQueueJobType = () => {\n return \"ps.queue.job\";\n };\n\n const createQueueJob = async (\n params: PrerenderingServiceStorageOperationsCreateQueueJobParams\n ): Promise<QueueJob> => {\n const { queueJob } = params;\n const keys = {\n PK: createQueueJobPartitionKey(),\n SK: createQueueJobSortKey(queueJob.id)\n };\n\n try {\n await put({\n entity,\n item: {\n ...queueJob,\n ...keys,\n TYPE: createQueueJobType()\n }\n });\n return queueJob;\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 queueJob\n }\n );\n }\n };\n\n const listQueueJobs = async () => {\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createQueueJobPartitionKey(),\n options: {\n gte: \" \"\n }\n };\n\n try {\n return await queryAllClean<QueueJob>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list queue jobs records.\",\n ex.code || \"LIST_QUEUE_JOBS_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n };\n\n const deleteQueueJobs = async (\n params: PrerenderingServiceStorageOperationsDeleteQueueJobsParams\n ) => {\n const { queueJobs } = params;\n\n const items = queueJobs.map(job => {\n return entity.deleteBatch({\n PK: createQueueJobPartitionKey(),\n SK: createQueueJobSortKey(job.id)\n });\n });\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n return queueJobs;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete queue jobs records.\",\n ex.code || \"DELETE_QUEUE_JOBS_ERROR\",\n {\n queueJobs\n }\n );\n }\n };\n\n return {\n createQueueJob,\n deleteQueueJobs,\n listQueueJobs\n };\n};\n"],"mappings":"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"}
|
package/operations/render.d.ts
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
import { PrerenderingServiceRenderStorageOperations } from "@webiny/api-prerendering-service/types";
|
2
|
-
import { Entity } from "dynamodb
|
3
|
-
import { Tag } from "@webiny/api-prerendering-service/types";
|
1
|
+
import { PrerenderingServiceRenderStorageOperations, Tag } from "@webiny/api-prerendering-service/types";
|
2
|
+
import { Entity } from "@webiny/db-dynamodb/toolbox";
|
4
3
|
export interface CreateRenderStorageOperationsParams {
|
5
4
|
entity: Entity<any>;
|
6
5
|
tagPathLinkEntity: Entity<any>;
|
package/operations/render.js
CHANGED
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.createRenderStorageOperations = void 0;
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
10
9
|
var _get = require("@webiny/db-dynamodb/utils/get");
|
11
10
|
var _query = require("@webiny/db-dynamodb/utils/query");
|
12
11
|
var _batchRead = require("@webiny/db-dynamodb/utils/batchRead");
|
13
12
|
var _batchWrite = require("@webiny/db-dynamodb/utils/batchWrite");
|
14
13
|
var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
|
14
|
+
var _dbDynamodb = require("@webiny/db-dynamodb");
|
15
15
|
const createRenderStorageOperations = params => {
|
16
16
|
const {
|
17
17
|
entity,
|
@@ -109,12 +109,16 @@ const createRenderStorageOperations = params => {
|
|
109
109
|
SK: createRenderSortKey()
|
110
110
|
};
|
111
111
|
try {
|
112
|
-
await
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
112
|
+
await (0, _dbDynamodb.put)({
|
113
|
+
entity,
|
114
|
+
item: {
|
115
|
+
...keys,
|
116
|
+
data: render,
|
117
|
+
TYPE: createRenderType(),
|
118
|
+
GSI1_PK: createRenderGSI1PartitionKey(render.tenant),
|
119
|
+
GSI1_SK: render.path
|
120
|
+
}
|
121
|
+
});
|
118
122
|
return render;
|
119
123
|
} catch (ex) {
|
120
124
|
throw new _error.default(ex.message || "Could not create render record.", ex.code || "CREATE_RENDER_ERROR", {
|
@@ -132,7 +136,10 @@ const createRenderStorageOperations = params => {
|
|
132
136
|
SK: createRenderSortKey()
|
133
137
|
};
|
134
138
|
try {
|
135
|
-
await
|
139
|
+
await (0, _dbDynamodb.deleteItem)({
|
140
|
+
entity,
|
141
|
+
keys
|
142
|
+
});
|
136
143
|
} catch (ex) {
|
137
144
|
throw new _error.default(ex.message || "Could not delete render record.", ex.code || "DELETE_RENDER_ERROR", {
|
138
145
|
keys,
|
@@ -198,8 +205,8 @@ const createRenderStorageOperations = params => {
|
|
198
205
|
}
|
199
206
|
};
|
200
207
|
try {
|
201
|
-
const results = await (0, _query.
|
202
|
-
return
|
208
|
+
const results = await (0, _query.queryAllClean)(queryAllParams);
|
209
|
+
return results.map(item => item.data);
|
203
210
|
} catch (ex) {
|
204
211
|
throw new _error.default(ex.message || "Could not list render records.", ex.code || "LIST_RENDER_ERROR", {
|
205
212
|
partitionKey: queryAllParams.partitionKey,
|
package/operations/render.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_get","_query","_batchRead","_batchWrite","_cleanup","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","_objectSpread2","default","TYPE","GSI1_PK","GSI1_SK","deleteRender","delete","listRendersByTag","links","listTagPathLinks","items","map","link","getBatch","results","batchReadAll","table","cleanupItems","item","listRenders","queryAllParams","partitionKey","options","index","gte","queryAll","createTagPathLinks","tagPathLinks","putBatch","batchWriteAll","deleteTagPathLinks","tags","deleteBatch","beginsWith","exports"],"sources":["render.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceRenderStorageOperations,\n PrerenderingServiceStorageOperationsCreateRenderParams,\n PrerenderingServiceStorageOperationsCreateTagPathLinksParams,\n PrerenderingServiceStorageOperationsDeleteRenderParams,\n PrerenderingServiceStorageOperationsDeleteTagPathLinksParams,\n PrerenderingServiceStorageOperationsGetRenderParams,\n PrerenderingServiceStorageOperationsListRendersParams,\n PrerenderingServiceStorageOperationsListTagPathLinksParams,\n Render,\n TagPathLink\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { Tag } from \"@webiny/api-prerendering-service/types\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { DataContainer } from \"~/types\";\n\nexport interface CreateRenderStorageOperationsParams {\n entity: Entity<any>;\n tagPathLinkEntity: Entity<any>;\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 entity.put({\n ...keys,\n data: render,\n TYPE: createRenderType(),\n GSI1_PK: createRenderGSI1PartitionKey(render.tenant),\n GSI1_SK: render.path\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 entity.delete(keys);\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 queryAll<DataContainer<Render>>(queryAllParams);\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.\",\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 items = tagPathLinks.map(item => {\n return tagPathLinkEntity.putBatch({\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 try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\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 const items = tags.map(tag => {\n return tagPathLinkEntity.deleteBatch({\n PK: createTagPathLinkPartitionKey({\n tag,\n tenant,\n path\n }),\n SK: createTagPathLinkSortKey({\n tag,\n path\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\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: DynamoDBToolboxQueryOptions = { index: \"GSI1\" };\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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"}
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_get","_query","_batchRead","_batchWrite","_cleanup","_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","putBatch","batchWriteAll","deleteTagPathLinks","tags","deleteBatch","beginsWith","queryAll","exports"],"sources":["render.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\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 { Entity, EntityQueryOptions } from \"@webiny/db-dynamodb/toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\nimport { queryAll, queryAllClean, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { DataContainer } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\n\nexport interface CreateRenderStorageOperationsParams {\n entity: Entity<any>;\n tagPathLinkEntity: Entity<any>;\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 items = tagPathLinks.map(item => {\n return tagPathLinkEntity.putBatch({\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 try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\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 const items = tags.map(tag => {\n return tagPathLinkEntity.deleteBatch({\n PK: createTagPathLinkPartitionKey({\n tag,\n tenant,\n path\n }),\n SK: createTagPathLinkSortKey({\n tag,\n path\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\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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"}
|
package/operations/settings.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PrerenderingServiceSettingsStorageOperations } from "@webiny/api-prerendering-service/types";
|
2
|
-
import { Entity } from "dynamodb
|
2
|
+
import { Entity } from "@webiny/db-dynamodb/toolbox";
|
3
3
|
export interface CreateSettingsStorageOperationsParams {
|
4
4
|
entity: Entity<any>;
|
5
5
|
}
|
package/operations/settings.js
CHANGED
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.createSettingsStorageOperations = void 0;
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
10
9
|
var _get = require("@webiny/db-dynamodb/utils/get");
|
10
|
+
var _dbDynamodb = require("@webiny/db-dynamodb");
|
11
11
|
const createSettingsStorageOperations = params => {
|
12
12
|
const {
|
13
13
|
entity
|
@@ -43,10 +43,14 @@ const createSettingsStorageOperations = params => {
|
|
43
43
|
SK: variant
|
44
44
|
};
|
45
45
|
try {
|
46
|
-
await
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
await (0, _dbDynamodb.put)({
|
47
|
+
entity,
|
48
|
+
item: {
|
49
|
+
...keys,
|
50
|
+
TYPE: "ps.settings",
|
51
|
+
data: settings
|
52
|
+
}
|
53
|
+
});
|
50
54
|
return settings;
|
51
55
|
} catch (ex) {
|
52
56
|
throw new _error.default(ex.message || "Could not save settings.", ex.code || "SAVE_SETTINGS_ERROR", {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_get","createSettingsStorageOperations","params","entity","getSettings","variant","keys","PK","SK","result","get","Error","data","ex","WebinyError","message","code","saveSettings","settings","put","
|
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","saveSettings","settings","put","item","TYPE","exports"],"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 \"@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 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 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;QACJJ;MACJ,CACJ,CAAC;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,MAAM,IAAAc,eAAG,EAAC;QACNhB,MAAM;QACNiB,IAAI,EAAE;UACF,GAAGd,IAAI;UACPe,IAAI,EAAE,aAAa;UACnBT,IAAI,EAAEM;QACV;MACJ,CAAC,CAAC;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,CACJ,CAAC;IACL;EACJ,CAAC;EAED,OAAO;IACHF,WAAW;IACXa;EACJ,CAAC;AACL,CAAC;AAACK,OAAA,CAAArB,+BAAA,GAAAA,+BAAA"}
|
package/operations/tenant.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PrerenderingServiceTenantStorageOperations } from "@webiny/api-prerendering-service/types";
|
2
|
-
import { Entity } from "dynamodb
|
2
|
+
import { Entity } from "@webiny/db-dynamodb/toolbox";
|
3
3
|
export interface CreateTenantStorageOperationsParams {
|
4
4
|
entity: Entity<any>;
|
5
5
|
}
|
package/operations/tenant.js.map
CHANGED
@@ -1 +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 { PrerenderingServiceTenantStorageOperations } from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb
|
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 { PrerenderingServiceTenantStorageOperations } from \"@webiny/api-prerendering-service/types\";\nimport { 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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@webiny/api-prerendering-service-so-ddb",
|
3
|
-
"version": "5.39.0-beta.
|
3
|
+
"version": "5.39.0-beta.2",
|
4
4
|
"main": "index.js",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -19,9 +19,9 @@
|
|
19
19
|
"license": "MIT",
|
20
20
|
"dependencies": {
|
21
21
|
"@babel/runtime": "7.22.6",
|
22
|
-
"@webiny/api-prerendering-service": "5.39.0-beta.
|
23
|
-
"@webiny/
|
24
|
-
"
|
22
|
+
"@webiny/api-prerendering-service": "5.39.0-beta.2",
|
23
|
+
"@webiny/aws-sdk": "5.39.0-beta.2",
|
24
|
+
"@webiny/error": "5.39.0-beta.2"
|
25
25
|
},
|
26
26
|
"devDependencies": {
|
27
27
|
"@babel/cli": "7.22.6",
|
@@ -29,11 +29,11 @@
|
|
29
29
|
"@babel/plugin-proposal-export-default-from": "7.18.10",
|
30
30
|
"@babel/preset-env": "7.22.7",
|
31
31
|
"@babel/preset-typescript": "7.22.5",
|
32
|
-
"@webiny/cli": "5.39.0-beta.
|
33
|
-
"@webiny/db": "5.39.0-beta.
|
34
|
-
"@webiny/db-dynamodb": "5.39.0-beta.
|
35
|
-
"@webiny/handler-aws": "5.39.0-beta.
|
36
|
-
"@webiny/project-utils": "5.39.0-beta.
|
32
|
+
"@webiny/cli": "5.39.0-beta.2",
|
33
|
+
"@webiny/db": "5.39.0-beta.2",
|
34
|
+
"@webiny/db-dynamodb": "5.39.0-beta.2",
|
35
|
+
"@webiny/handler-aws": "5.39.0-beta.2",
|
36
|
+
"@webiny/project-utils": "5.39.0-beta.2",
|
37
37
|
"jest-dynalite": "3.6.1",
|
38
38
|
"prettier": "2.8.8",
|
39
39
|
"rimraf": "3.0.2",
|
@@ -48,12 +48,5 @@
|
|
48
48
|
"build": "yarn webiny run build",
|
49
49
|
"watch": "yarn webiny run watch"
|
50
50
|
},
|
51
|
-
"
|
52
|
-
"ignore": {
|
53
|
-
"src": [
|
54
|
-
"aws-sdk"
|
55
|
-
]
|
56
|
-
}
|
57
|
-
},
|
58
|
-
"gitHead": "a22d4ab9fbb4ad35106687cbe17b51a84afd4976"
|
51
|
+
"gitHead": "193039382160557448f23f43685f29136f58f87a"
|
59
52
|
}
|
package/types.d.ts
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
1
|
+
import { DynamoDBClient } from "@webiny/aws-sdk/client-dynamodb";
|
2
|
+
import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
3
|
+
import { TableConstructor } from "@webiny/db-dynamodb/toolbox";
|
4
|
+
import { AttributeDefinition } from "@webiny/db-dynamodb/toolbox";
|
5
5
|
import { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from "@webiny/api-prerendering-service/types";
|
6
|
-
export declare type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;
|
7
6
|
export declare type Attributes = Record<string, AttributeDefinition>;
|
8
7
|
export declare enum ENTITIES {
|
9
8
|
RENDER = "PrerenderingServiceRender",
|
@@ -13,20 +12,20 @@ export declare enum ENTITIES {
|
|
13
12
|
TENANT = "Tenant"
|
14
13
|
}
|
15
14
|
export interface PrerenderingServiceFactoryParams {
|
16
|
-
documentClient:
|
15
|
+
documentClient: DynamoDBClient;
|
17
16
|
table?: TableModifier;
|
18
17
|
attributes?: Record<ENTITIES, Attributes>;
|
19
18
|
}
|
20
19
|
export declare type Entities = "render" | "queueJob" | "tagPathLink";
|
21
20
|
export interface PrerenderingServiceStorageOperations extends BasePrerenderingServiceStorageOperations {
|
22
|
-
getTable(): Table
|
21
|
+
getTable(): Table<string, string, string>;
|
23
22
|
getEntities(): Record<Entities, Entity<any>>;
|
24
23
|
}
|
25
24
|
export interface PrerenderingServiceFactory {
|
26
25
|
(params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;
|
27
26
|
}
|
28
27
|
export interface TableModifier {
|
29
|
-
(table: TableConstructor): TableConstructor
|
28
|
+
(table: TableConstructor<string, string, string>): TableConstructor<string, string, string>;
|
30
29
|
}
|
31
30
|
export interface DataContainer<T> {
|
32
31
|
PK: string;
|
package/types.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["ENTITIES","exports"],"sources":["types.ts"],"sourcesContent":["import {
|
1
|
+
{"version":3,"names":["ENTITIES","exports"],"sources":["types.ts"],"sourcesContent":["import { DynamoDBClient } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { TableConstructor } from \"@webiny/db-dynamodb/toolbox\";\nimport { AttributeDefinition } from \"@webiny/db-dynamodb/toolbox\";\nimport { 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: DynamoDBClient;\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,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAAAC,OAAA,CAAAD,QAAA,GAAAA,QAAA"}
|