@webiny/api-prerendering-service-so-ddb 5.27.0-beta.0 → 5.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["queueJob.ts"],"names":["createQueueJobEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","args"],"mappings":";;;;;;;;;;;AAAA;;;;;;AASO,MAAMA,oBAAoB,GAAIC,MAAD,IAAqD;AACrF,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAAoCH,MAA1C;AACA,SAAO,IAAII,uBAAJ,CAAW;AACdC,IAAAA,IAAI,EAAEJ,UADQ;AAEdE,IAAAA,KAFc;AAGdD,IAAAA,UAAU;AACNI,MAAAA,EAAE,EAAE;AACAC,QAAAA,YAAY,EAAE;AADd,OADE;AAINC,MAAAA,EAAE,EAAE;AACAC,QAAAA,OAAO,EAAE;AADT,OAJE;AAONC,MAAAA,IAAI,EAAE;AACFC,QAAAA,IAAI,EAAE;AADJ,OAPA;AAUNC,MAAAA,EAAE,EAAE;AACAD,QAAAA,IAAI,EAAE;AADN,OAVE;AAaNE,MAAAA,IAAI,EAAE;AACFF,QAAAA,IAAI,EAAE;AADJ;AAbA,OAgBFT,UAAU,IAAI,EAhBZ;AAHI,GAAX,CAAP;AAsBH,CAxBM","sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateQueueJobEntityParams {\n table: Table;\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"]}
1
+ {"version":3,"names":["createQueueJobEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","args"],"sources":["queueJob.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateQueueJobEntityParams {\n table: Table;\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;;;;;;AASO,MAAMA,oBAAoB,GAAIC,MAAD,IAAqD;EACrF,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,EAAE,EAAE;QACAD,IAAI,EAAE;MADN,CAVE;MAaNE,IAAI,EAAE;QACFF,IAAI,EAAE;MADJ;IAbA,GAgBFT,UAAU,IAAI,EAhBZ;EAHI,CAAX,CAAP;AAsBH,CAxBM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["render.ts"],"names":["createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","args","configuration","files"],"mappings":";;;;;;;;;;;AAAA;;;;;;AASO,MAAMA,kBAAkB,GAAIC,MAAD,IAAmD;AACjF,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAAoCH,MAA1C;AACA,SAAO,IAAII,uBAAJ,CAAW;AACdC,IAAAA,IAAI,EAAEJ,UADQ;AAEdE,IAAAA,KAFc;AAGdD,IAAAA,UAAU;AACNI,MAAAA,EAAE,EAAE;AACAC,QAAAA,YAAY,EAAE;AADd,OADE;AAINC,MAAAA,EAAE,EAAE;AACAC,QAAAA,OAAO,EAAE;AADT,OAJE;AAONC,MAAAA,IAAI,EAAE;AACFC,QAAAA,IAAI,EAAE;AADJ,OAPA;AAUNC,MAAAA,SAAS,EAAE;AACPD,QAAAA,IAAI,EAAE;AADC,OAVL;AAaNE,MAAAA,GAAG,EAAE;AACDF,QAAAA,IAAI,EAAE;AADL,OAbC;AAgBNG,MAAAA,IAAI,EAAE;AACFH,QAAAA,IAAI,EAAE;AADJ,OAhBA;AAmBNI,MAAAA,aAAa,EAAE;AACXJ,QAAAA,IAAI,EAAE;AADK,OAnBT;AAsBNK,MAAAA,KAAK,EAAE;AACHL,QAAAA,IAAI,EAAE;AADH;AAtBD,OAyBFT,UAAU,IAAI,EAzBZ;AAHI,GAAX,CAAP;AA+BH,CAjCM","sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table;\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"]}
1
+ {"version":3,"names":["createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","args","configuration","files"],"sources":["render.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table;\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;;;;;;AASO,MAAMA,kBAAkB,GAAIC,MAAD,IAAmD;EACjF,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,SAAS,EAAE;QACPD,IAAI,EAAE;MADC,CAVL;MAaNE,GAAG,EAAE;QACDF,IAAI,EAAE;MADL,CAbC;MAgBNG,IAAI,EAAE;QACFH,IAAI,EAAE;MADJ,CAhBA;MAmBNI,aAAa,EAAE;QACXJ,IAAI,EAAE;MADK,CAnBT;MAsBNK,KAAK,EAAE;QACHL,IAAI,EAAE;MADH;IAtBD,GAyBFT,UAAU,IAAI,EAzBZ;EAHI,CAAX,CAAP;AA+BH,CAjCM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["table.ts"],"names":["createTable","params","table","documentClient","tableConfig","name","process","env","DB_TABLE_PRERENDERING_SERVICE","DB_TABLE","partitionKey","sortKey","DocumentClient","config","Table"],"mappings":";;;;;;;AACA;;AASO,MAAMA,WAAW,GAAIC,MAAD,IAAsC;AAC7D,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAA4BF,MAAlC;AAEA,QAAMG,WAA6B,GAAG;AAClCC,IAAAA,IAAI,EAAGC,OAAO,CAACC,GAAR,CAAYC,6BAAZ,IAA6CF,OAAO,CAACC,GAAR,CAAYE,QAD9B;AAElCC,IAAAA,YAAY,EAAE,IAFoB;AAGlCC,IAAAA,OAAO,EAAE,IAHyB;AAIlCC,IAAAA,cAAc,EAAET;AAJkB,GAAtC;AAOA,QAAMU,MAAM,GAAG,OAAOX,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,CAACE,WAAD,CAAnC,GAAmDA,WAAlE;AAEA,SAAO,IAAIU,sBAAJ,CAAUD,MAAV,CAAP;AACH,CAbM","sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table } from \"dynamodb-toolbox\";\nimport { TableModifier } from \"~/types\";\nimport { TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\n\ninterface CreateTableParams {\n table?: TableModifier;\n documentClient: DocumentClient;\n}\n\nexport const createTable = (params: CreateTableParams): Table => {\n const { table, documentClient } = params;\n\n const tableConfig: TableConstructor = {\n name: (process.env.DB_TABLE_PRERENDERING_SERVICE || process.env.DB_TABLE) as string,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"]}
1
+ {"version":3,"names":["createTable","params","table","documentClient","tableConfig","name","process","env","DB_TABLE_PRERENDERING_SERVICE","DB_TABLE","partitionKey","sortKey","DocumentClient","config","Table"],"sources":["table.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table } from \"dynamodb-toolbox\";\nimport { TableModifier } from \"~/types\";\nimport { TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\n\ninterface CreateTableParams {\n table?: TableModifier;\n documentClient: DocumentClient;\n}\n\nexport const createTable = (params: CreateTableParams): Table => {\n const { table, documentClient } = params;\n\n const tableConfig: TableConstructor = {\n name: (process.env.DB_TABLE_PRERENDERING_SERVICE || process.env.DB_TABLE) as string,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"],"mappings":";;;;;;;AACA;;AASO,MAAMA,WAAW,GAAIC,MAAD,IAAsC;EAC7D,MAAM;IAAEC,KAAF;IAASC;EAAT,IAA4BF,MAAlC;EAEA,MAAMG,WAA6B,GAAG;IAClCC,IAAI,EAAGC,OAAO,CAACC,GAAR,CAAYC,6BAAZ,IAA6CF,OAAO,CAACC,GAAR,CAAYE,QAD9B;IAElCC,YAAY,EAAE,IAFoB;IAGlCC,OAAO,EAAE,IAHyB;IAIlCC,cAAc,EAAET;EAJkB,CAAtC;EAOA,MAAMU,MAAM,GAAG,OAAOX,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,CAACE,WAAD,CAAnC,GAAmDA,WAAlE;EAEA,OAAO,IAAIU,sBAAJ,CAAUD,MAAV,CAAP;AACH,CAbM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["tagUrlLink.ts"],"names":["createTagUrlLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","value","key"],"mappings":";;;;;;;;;;;AAAA;;;;;;AASO,MAAMA,sBAAsB,GAAIC,MAAD,IAA0C;AAC5E,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAAoCH,MAA1C;AACA,SAAO,IAAII,uBAAJ,CAAW;AACdC,IAAAA,IAAI,EAAEJ,UADQ;AAEdE,IAAAA,KAFc;AAGdD,IAAAA,UAAU;AACNI,MAAAA,EAAE,EAAE;AACAC,QAAAA,YAAY,EAAE;AADd,OADE;AAINC,MAAAA,EAAE,EAAE;AACAC,QAAAA,OAAO,EAAE;AADT,OAJE;AAONC,MAAAA,IAAI,EAAE;AACFC,QAAAA,IAAI,EAAE;AADJ,OAPA;AAUNC,MAAAA,SAAS,EAAE;AACPD,QAAAA,IAAI,EAAE;AADC,OAVL;AAaNE,MAAAA,GAAG,EAAE;AACDF,QAAAA,IAAI,EAAE;AADL,OAbC;AAgBNG,MAAAA,KAAK,EAAE;AACHH,QAAAA,IAAI,EAAE;AADH,OAhBD;AAmBNI,MAAAA,GAAG,EAAE;AACDJ,QAAAA,IAAI,EAAE;AADL;AAnBC,OAsBFT,UAAU,IAAI,EAtBZ;AAHI,GAAX,CAAP;AA4BH,CA9BM","sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagUrlLinkEntityParams {\n table: Table;\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"]}
1
+ {"version":3,"names":["createTagUrlLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","value","key"],"sources":["tagUrlLink.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagUrlLinkEntityParams {\n table: Table;\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;;;;;;AASO,MAAMA,sBAAsB,GAAIC,MAAD,IAA0C;EAC5E,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,SAAS,EAAE;QACPD,IAAI,EAAE;MADC,CAVL;MAaNE,GAAG,EAAE;QACDF,IAAI,EAAE;MADL,CAbC;MAgBNG,KAAK,EAAE;QACHH,IAAI,EAAE;MADH,CAhBD;MAmBNI,GAAG,EAAE;QACDJ,IAAI,EAAE;MADL;IAnBC,GAsBFT,UAAU,IAAI,EAtBZ;EAHI,CAAX,CAAP;AA4BH,CA9BM"}
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["reservedFields","isReserved","name","includes","WebinyError","createPrerenderingServiceStorageOperations","params","attributes","table","documentClient","Object","values","forEach","attrs","keys","tableInstance","entities","render","entityName","ENTITIES","RENDER","queueJob","QUEUE_JOB","tagUrlLink","TAG_URL_LINK","getTable","getEntities","entity","tagUrlLinkEntity"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,cAAc,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,OAAb,EAAsB,MAAtB,EAA8B,MAA9B,EAAsC,QAAtC,EAAgD,SAAhD,EAA2D,SAA3D,CAAvB;;AAEA,MAAMC,UAAU,GAAIC,IAAD,IAAwB;AACvC,MAAIF,cAAc,CAACG,QAAf,CAAwBD,IAAxB,MAAkC,KAAtC,EAA6C;AACzC;AACH;;AACD,QAAM,IAAIE,cAAJ,CAAiB,mBAAkBF,IAAK,mBAAxC,EAA4D,uBAA5D,EAAqF;AACvFA,IAAAA;AADuF,GAArF,CAAN;AAGH,CAPD;;AASO,MAAMG,0CAAsE,GAC/EC,MADkF,IAEjF;AACD,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,KAAd;AAAqBC,IAAAA;AAArB,MAAwCH,MAA9C;;AAEA,MAAIC,UAAJ,EAAgB;AACZG,IAAAA,MAAM,CAACC,MAAP,CAAcJ,UAAd,EAA0BK,OAA1B,CAAkCC,KAAK,IAAI;AACvCH,MAAAA,MAAM,CAACI,IAAP,CAAYD,KAAZ,EAAmBD,OAAnB,CAA2BX,UAA3B;AACH,KAFD;AAGH;;AAED,QAAMc,aAAa,GAAG,wBAAY;AAAEP,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAZ,CAAtB;AAEA,QAAMO,QAAQ,GAAG;AACbC,IAAAA,MAAM,EAAE,gCAAmB;AACvBC,MAAAA,UAAU,EAAEC,gBAASC,MADE;AAEvBZ,MAAAA,KAAK,EAAEO,aAFgB;AAGvBR,MAAAA,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACY,gBAASC,MAAV,CAAb,GAAiC;AAHhC,KAAnB,CADK;AAMbC,IAAAA,QAAQ,EAAE,oCAAqB;AAC3BH,MAAAA,UAAU,EAAEC,gBAASG,SADM;AAE3Bd,MAAAA,KAAK,EAAEO,aAFoB;AAG3BR,MAAAA,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACY,gBAASG,SAAV,CAAb,GAAoC;AAH/B,KAArB,CANG;AAWbC,IAAAA,UAAU,EAAE,wCAAuB;AAC/BL,MAAAA,UAAU,EAAEC,gBAASK,YADU;AAE/BhB,MAAAA,KAAK,EAAEO,aAFwB;AAG/BR,MAAAA,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACY,gBAASK,YAAV,CAAb,GAAuC;AAH9B,KAAvB;AAXC,GAAjB;AAkBA;AACIC,IAAAA,QAAQ,EAAE,MAAMV,aADpB;AAEIW,IAAAA,WAAW,EAAE,MAAMV;AAFvB,KAGO,4CAA8B;AAC7BW,IAAAA,MAAM,EAAEX,QAAQ,CAACC,MADY;AAE7BW,IAAAA,gBAAgB,EAAEZ,QAAQ,CAACO;AAFE,GAA9B,CAHP,GAOO,gDAAgC;AAC/BI,IAAAA,MAAM,EAAEX,QAAQ,CAACK;AADc,GAAhC,CAPP;AAWH,CA1CM","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ENTITIES, PrerenderingServiceFactory, PrerenderingServiceFactoryParams } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createRenderEntity } from \"~/definitions/render\";\nimport { createQueueJobEntity } from \"~/definitions/queueJob\";\nimport { createRenderStorageOperations } from \"~/operations/render\";\nimport { createQueueJobStorageOperations } from \"~/operations/queueJob\";\nimport { createTagUrlLinkEntity } from \"~/definitions/tagUrlLink\";\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 queueJob: createQueueJobEntity({\n entityName: ENTITIES.QUEUE_JOB,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.QUEUE_JOB] : {}\n }),\n tagUrlLink: createTagUrlLinkEntity({\n entityName: ENTITIES.TAG_URL_LINK,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.TAG_URL_LINK] : {}\n })\n };\n\n return {\n getTable: () => tableInstance,\n getEntities: () => entities,\n ...createRenderStorageOperations({\n entity: entities.render,\n tagUrlLinkEntity: entities.tagUrlLink\n }),\n ...createQueueJobStorageOperations({\n entity: entities.queueJob\n })\n };\n};\n"]}
1
+ {"version":3,"names":["reservedFields","isReserved","name","includes","WebinyError","createPrerenderingServiceStorageOperations","params","attributes","table","documentClient","Object","values","forEach","attrs","keys","tableInstance","createTable","entities","render","createRenderEntity","entityName","ENTITIES","RENDER","queueJob","createQueueJobEntity","QUEUE_JOB","tagUrlLink","createTagUrlLinkEntity","TAG_URL_LINK","getTable","getEntities","createRenderStorageOperations","entity","tagUrlLinkEntity","createQueueJobStorageOperations"],"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 { createQueueJobEntity } from \"~/definitions/queueJob\";\nimport { createRenderStorageOperations } from \"~/operations/render\";\nimport { createQueueJobStorageOperations } from \"~/operations/queueJob\";\nimport { createTagUrlLinkEntity } from \"~/definitions/tagUrlLink\";\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 queueJob: createQueueJobEntity({\n entityName: ENTITIES.QUEUE_JOB,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.QUEUE_JOB] : {}\n }),\n tagUrlLink: createTagUrlLinkEntity({\n entityName: ENTITIES.TAG_URL_LINK,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.TAG_URL_LINK] : {}\n })\n };\n\n return {\n getTable: () => tableInstance,\n getEntities: () => entities,\n ...createRenderStorageOperations({\n entity: entities.render,\n tagUrlLinkEntity: entities.tagUrlLink\n }),\n ...createQueueJobStorageOperations({\n entity: entities.queueJob\n })\n };\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,cAAc,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,OAAb,EAAsB,MAAtB,EAA8B,MAA9B,EAAsC,QAAtC,EAAgD,SAAhD,EAA2D,SAA3D,CAAvB;;AAEA,MAAMC,UAAU,GAAIC,IAAD,IAAwB;EACvC,IAAIF,cAAc,CAACG,QAAf,CAAwBD,IAAxB,MAAkC,KAAtC,EAA6C;IACzC;EACH;;EACD,MAAM,IAAIE,cAAJ,CAAiB,mBAAkBF,IAAK,mBAAxC,EAA4D,uBAA5D,EAAqF;IACvFA;EADuF,CAArF,CAAN;AAGH,CAPD;;AASO,MAAMG,0CAAsE,GAC/EC,MADkF,IAEjF;EACD,MAAM;IAAEC,UAAF;IAAcC,KAAd;IAAqBC;EAArB,IAAwCH,MAA9C;;EAEA,IAAIC,UAAJ,EAAgB;IACZG,MAAM,CAACC,MAAP,CAAcJ,UAAd,EAA0BK,OAA1B,CAAkCC,KAAK,IAAI;MACvCH,MAAM,CAACI,IAAP,CAAYD,KAAZ,EAAmBD,OAAnB,CAA2BX,UAA3B;IACH,CAFD;EAGH;;EAED,MAAMc,aAAa,GAAG,IAAAC,kBAAA,EAAY;IAAER,KAAF;IAASC;EAAT,CAAZ,CAAtB;EAEA,MAAMQ,QAAQ,GAAG;IACbC,MAAM,EAAE,IAAAC,0BAAA,EAAmB;MACvBC,UAAU,EAAEC,eAAA,CAASC,MADE;MAEvBd,KAAK,EAAEO,aAFgB;MAGvBR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAA,CAASC,MAAV,CAAb,GAAiC;IAHhC,CAAnB,CADK;IAMbC,QAAQ,EAAE,IAAAC,8BAAA,EAAqB;MAC3BJ,UAAU,EAAEC,eAAA,CAASI,SADM;MAE3BjB,KAAK,EAAEO,aAFoB;MAG3BR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAA,CAASI,SAAV,CAAb,GAAoC;IAH/B,CAArB,CANG;IAWbC,UAAU,EAAE,IAAAC,kCAAA,EAAuB;MAC/BP,UAAU,EAAEC,eAAA,CAASO,YADU;MAE/BpB,KAAK,EAAEO,aAFwB;MAG/BR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAA,CAASO,YAAV,CAAb,GAAuC;IAH9B,CAAvB;EAXC,CAAjB;EAkBA;IACIC,QAAQ,EAAE,MAAMd,aADpB;IAEIe,WAAW,EAAE,MAAMb;EAFvB,GAGO,IAAAc,sCAAA,EAA8B;IAC7BC,MAAM,EAAEf,QAAQ,CAACC,MADY;IAE7Be,gBAAgB,EAAEhB,QAAQ,CAACS;EAFE,CAA9B,CAHP,GAOO,IAAAQ,0CAAA,EAAgC;IAC/BF,MAAM,EAAEf,QAAQ,CAACM;EADc,CAAhC,CAPP;AAWH,CA1CM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["createQueueJobStorageOperations","params","entity","createQueueJobPartitionKey","createQueueJobSortKey","id","createQueueJobType","createQueueJob","queueJob","keys","PK","SK","put","TYPE","ex","WebinyError","message","code","listQueueJobs","queryAllParams","partitionKey","options","gte","results","deleteQueueJobs","queueJobs","items","map","job","deleteBatch","table"],"mappings":";;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;AAMO,MAAMA,+BAA+B,GACxCC,MAD2C,IAEI;AAC/C,QAAM;AAAEC,IAAAA;AAAF,MAAaD,MAAnB;;AAEA,QAAME,0BAA0B,GAAG,MAAc;AAC7C,WAAO,UAAP;AACH,GAFD;;AAGA,QAAMC,qBAAqB,GAAIC,EAAD,IAAwB;AAClD,WAAOA,EAAP;AACH,GAFD;;AAIA,QAAMC,kBAAkB,GAAG,MAAM;AAC7B,WAAO,cAAP;AACH,GAFD;;AAIA,QAAMC,cAAc,GAAG,MACnBN,MADmB,IAEC;AACpB,UAAM;AAAEO,MAAAA;AAAF,QAAeP,MAArB;AACA,UAAMQ,IAAI,GAAG;AACTC,MAAAA,EAAE,EAAEP,0BAA0B,EADrB;AAETQ,MAAAA,EAAE,EAAEP,qBAAqB,CAACI,QAAQ,CAACH,EAAV;AAFhB,KAAb;;AAKA,QAAI;AACA,YAAMH,MAAM,CAACU,GAAP,+CACCJ,QADD,GAECC,IAFD;AAGFI,QAAAA,IAAI,EAAEP,kBAAkB;AAHtB,SAAN;AAKA,aAAOE,QAAP;AACH,KAPD,CAOE,OAAOM,EAAP,EAAW;AACT,YAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,iCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;AACIR,QAAAA,IADJ;AAEID,QAAAA;AAFJ,OAHE,CAAN;AAQH;AACJ,GA1BD;;AA4BA,QAAMU,aAAa,GAAG,YAAY;AAC9B,UAAMC,cAA8B,GAAG;AACnCjB,MAAAA,MADmC;AAEnCkB,MAAAA,YAAY,EAAEjB,0BAA0B,EAFL;AAGnCkB,MAAAA,OAAO,EAAE;AACLC,QAAAA,GAAG,EAAE;AADA;AAH0B,KAAvC;;AAQA,QAAI;AACA,YAAMC,OAAO,GAAG,MAAM,qBAAmBJ,cAAnB,CAAtB;AAEA,aAAO,2BAAajB,MAAb,EAAqBqB,OAArB,CAAP;AACH,KAJD,CAIE,OAAOT,EAAP,EAAW;AACT,YAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,oCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,uBAFT,EAGF;AACIG,QAAAA,YAAY,EAAED,cAAc,CAACC,YADjC;AAEIC,QAAAA,OAAO,EAAEF,cAAc,CAACE;AAF5B,OAHE,CAAN;AAQH;AACJ,GAvBD;;AAyBA,QAAMG,eAAe,GAAG,MACpBvB,MADoB,IAEnB;AACD,UAAM;AAAEwB,MAAAA;AAAF,QAAgBxB,MAAtB;AAEA,UAAMyB,KAAK,GAAGD,SAAS,CAACE,GAAV,CAAcC,GAAG,IAAI;AAC/B,aAAO1B,MAAM,CAAC2B,WAAP,CAAmB;AACtBnB,QAAAA,EAAE,EAAEP,0BAA0B,EADR;AAEtBQ,QAAAA,EAAE,EAAEP,qBAAqB,CAACwB,GAAG,CAACvB,EAAL;AAFH,OAAnB,CAAP;AAIH,KALa,CAAd;;AAOA,QAAI;AACA,YAAM,+BAAc;AAChByB,QAAAA,KAAK,EAAE5B,MAAM,CAAC4B,KADE;AAEhBJ,QAAAA;AAFgB,OAAd,CAAN;AAIA,aAAOD,SAAP;AACH,KAND,CAME,OAAOX,EAAP,EAAW;AACT,YAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,sCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,yBAFT,EAGF;AACIQ,QAAAA;AADJ,OAHE,CAAN;AAOH;AACJ,GA3BD;;AA6BA,SAAO;AACHlB,IAAAA,cADG;AAEHiB,IAAAA,eAFG;AAGHN,IAAAA;AAHG,GAAP;AAKH,CAvGM","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 \"dynamodb-toolbox\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\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 entity.put({\n ...queueJob,\n ...keys,\n TYPE: createQueueJobType()\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 const results = await queryAll<QueueJob>(queryAllParams);\n\n return cleanupItems(entity, results);\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"]}
1
+ {"version":3,"names":["createQueueJobStorageOperations","params","entity","createQueueJobPartitionKey","createQueueJobSortKey","id","createQueueJobType","createQueueJob","queueJob","keys","PK","SK","put","TYPE","ex","WebinyError","message","code","listQueueJobs","queryAllParams","partitionKey","options","gte","results","queryAll","cleanupItems","deleteQueueJobs","queueJobs","items","map","job","deleteBatch","batchWriteAll","table"],"sources":["index.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 \"dynamodb-toolbox\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\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 entity.put({\n ...queueJob,\n ...keys,\n TYPE: createQueueJobType()\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 const results = await queryAll<QueueJob>(queryAllParams);\n\n return cleanupItems(entity, results);\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":";;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;AAMO,MAAMA,+BAA+B,GACxCC,MAD2C,IAEI;EAC/C,MAAM;IAAEC;EAAF,IAAaD,MAAnB;;EAEA,MAAME,0BAA0B,GAAG,MAAc;IAC7C,OAAO,UAAP;EACH,CAFD;;EAGA,MAAMC,qBAAqB,GAAIC,EAAD,IAAwB;IAClD,OAAOA,EAAP;EACH,CAFD;;EAIA,MAAMC,kBAAkB,GAAG,MAAM;IAC7B,OAAO,cAAP;EACH,CAFD;;EAIA,MAAMC,cAAc,GAAG,MACnBN,MADmB,IAEC;IACpB,MAAM;MAAEO;IAAF,IAAeP,MAArB;IACA,MAAMQ,IAAI,GAAG;MACTC,EAAE,EAAEP,0BAA0B,EADrB;MAETQ,EAAE,EAAEP,qBAAqB,CAACI,QAAQ,CAACH,EAAV;IAFhB,CAAb;;IAKA,IAAI;MACA,MAAMH,MAAM,CAACU,GAAP,+CACCJ,QADD,GAECC,IAFD;QAGFI,IAAI,EAAEP,kBAAkB;MAHtB,GAAN;MAKA,OAAOE,QAAP;IACH,CAPD,CAOE,OAAOM,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,iCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;QACIR,IADJ;QAEID;MAFJ,CAHE,CAAN;IAQH;EACJ,CA1BD;;EA4BA,MAAMU,aAAa,GAAG,YAAY;IAC9B,MAAMC,cAA8B,GAAG;MACnCjB,MADmC;MAEnCkB,YAAY,EAAEjB,0BAA0B,EAFL;MAGnCkB,OAAO,EAAE;QACLC,GAAG,EAAE;MADA;IAH0B,CAAvC;;IAQA,IAAI;MACA,MAAMC,OAAO,GAAG,MAAM,IAAAC,eAAA,EAAmBL,cAAnB,CAAtB;MAEA,OAAO,IAAAM,qBAAA,EAAavB,MAAb,EAAqBqB,OAArB,CAAP;IACH,CAJD,CAIE,OAAOT,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,oCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,uBAFT,EAGF;QACIG,YAAY,EAAED,cAAc,CAACC,YADjC;QAEIC,OAAO,EAAEF,cAAc,CAACE;MAF5B,CAHE,CAAN;IAQH;EACJ,CAvBD;;EAyBA,MAAMK,eAAe,GAAG,MACpBzB,MADoB,IAEnB;IACD,MAAM;MAAE0B;IAAF,IAAgB1B,MAAtB;IAEA,MAAM2B,KAAK,GAAGD,SAAS,CAACE,GAAV,CAAcC,GAAG,IAAI;MAC/B,OAAO5B,MAAM,CAAC6B,WAAP,CAAmB;QACtBrB,EAAE,EAAEP,0BAA0B,EADR;QAEtBQ,EAAE,EAAEP,qBAAqB,CAAC0B,GAAG,CAACzB,EAAL;MAFH,CAAnB,CAAP;IAIH,CALa,CAAd;;IAOA,IAAI;MACA,MAAM,IAAA2B,yBAAA,EAAc;QAChBC,KAAK,EAAE/B,MAAM,CAAC+B,KADE;QAEhBL;MAFgB,CAAd,CAAN;MAIA,OAAOD,SAAP;IACH,CAND,CAME,OAAOb,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,sCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,yBAFT,EAGF;QACIU;MADJ,CAHE,CAAN;IAOH;EACJ,CA3BD;;EA6BA,OAAO;IACHpB,cADG;IAEHmB,eAFG;IAGHR;EAHG,CAAP;AAKH,CAvGM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["createRenderStorageOperations","params","entity","tagUrlLinkEntity","createRenderPartitionKey","namespace","startsWith","replace","createRenderSortKey","url","createRenderType","createTagUrlLinkPartitionKey","tag","key","createTagUrlLinkSortKey","values","value","push","join","createTagUrlLinkType","getRender","where","keys","PK","SK","result","ex","WebinyError","message","code","createRender","render","put","TYPE","deleteRender","delete","listRendersByTag","links","listTagUrlLinks","items","map","link","getBatch","results","table","listRenders","queryAllParams","partitionKey","options","gte","createTagUrlLinks","tagUrlLinks","item","putBatch","deleteTagUrlLinks","tags","deleteBatch","beginsWith"],"mappings":"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","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceRenderStorageOperations,\n PrerenderingServiceStorageOperationsCreateRenderParams,\n PrerenderingServiceStorageOperationsCreateTagUrlLinksParams,\n PrerenderingServiceStorageOperationsDeleteRenderParams,\n PrerenderingServiceStorageOperationsDeleteTagUrlLinksParams,\n PrerenderingServiceStorageOperationsGetRenderParams,\n PrerenderingServiceStorageOperationsListRendersParams,\n PrerenderingServiceStorageOperationsListTagUrlLinksParams,\n Render,\n TagUrlLink\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/queue/add/types\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\n\nexport interface CreateRenderStorageOperationsParams {\n entity: Entity<any>;\n tagUrlLinkEntity: Entity<any>;\n}\n\nexport interface CreateTagUrlLinkPartitionKeyParams {\n namespace: string;\n tag: Pick<Tag, \"key\">;\n}\n\nexport interface CreateTagUrlLinkSortKeyParams {\n tag: Tag;\n url?: string;\n}\n\nexport const createRenderStorageOperations = (\n params: CreateRenderStorageOperationsParams\n): PrerenderingServiceRenderStorageOperations => {\n const { entity, tagUrlLinkEntity } = params;\n\n const createRenderPartitionKey = (namespace: string): string => {\n /**\n * For backwards compatibility remove the T# if it exists.\n */\n if (namespace.startsWith(\"T#\")) {\n namespace = namespace.replace(/^T#/, \"\");\n }\n return `T#${namespace}#PS#RENDER`;\n };\n\n const createRenderSortKey = (url: string): string => {\n return url;\n };\n\n const createRenderType = (): string => {\n return \"ps.render\";\n };\n\n const createTagUrlLinkPartitionKey = (params: CreateTagUrlLinkPartitionKeyParams): string => {\n const { tag } = params;\n let { namespace } = params;\n if (namespace.startsWith(\"T#\")) {\n namespace = namespace.replace(/^T#/, \"\");\n }\n return `T#${namespace}#PS#TAG#${tag.key}`;\n };\n\n const createTagUrlLinkSortKey = (params: CreateTagUrlLinkSortKeyParams): string => {\n const { tag, url } = params;\n const values = [tag.value];\n if (url) {\n values.push(url);\n }\n return values.join(\"#\");\n };\n\n const createTagUrlLinkType = (): string => {\n return \"ps.tagUrlLink\";\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.namespace),\n SK: createRenderSortKey(where.url)\n };\n\n try {\n const result = await get<Render>({\n entity,\n keys\n });\n return cleanupItem(entity, result);\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.namespace),\n SK: createRenderSortKey(render.url)\n };\n\n try {\n await entity.put({\n ...render,\n ...keys,\n TYPE: createRenderType()\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.namespace),\n SK: createRenderSortKey(render.url)\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 { namespace, 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 listTagUrlLinks({\n where: {\n namespace,\n tag\n }\n });\n\n const items = links.map(link => {\n return entity.getBatch({\n PK: createRenderPartitionKey(namespace),\n SK: createRenderSortKey(link.url)\n });\n });\n try {\n const results = await batchReadAll<Render>({\n table: entity.table,\n items\n });\n return cleanupItems(entity, results);\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 { namespace, tag } = where;\n\n if (tag) {\n return listRendersByTag(params);\n }\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createRenderPartitionKey(namespace),\n options: {\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAll<Render>(queryAllParams);\n\n return cleanupItems(entity, results);\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 createTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsCreateTagUrlLinksParams\n ) => {\n const { tagUrlLinks } = params;\n\n const items = tagUrlLinks.map(item => {\n return tagUrlLinkEntity.putBatch({\n ...item,\n TYPE: createTagUrlLinkType(),\n PK: createTagUrlLinkPartitionKey({\n namespace: item.namespace,\n tag: item\n }),\n SK: createTagUrlLinkSortKey({\n tag: item,\n url: item.url\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagUrlLinkEntity.table,\n items\n });\n return tagUrlLinks;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create tagUrlLink records.\",\n ex.code || \"CREATE_URL_TAG_LINKS_ERROR\",\n {\n tagUrlLinks\n }\n );\n }\n };\n\n const deleteTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsDeleteTagUrlLinksParams\n ): Promise<void> => {\n const { namespace, tags, url } = params;\n const items = tags.map(tag => {\n return tagUrlLinkEntity.deleteBatch({\n PK: createTagUrlLinkPartitionKey({\n tag,\n namespace\n }),\n SK: createTagUrlLinkSortKey({\n tag,\n url\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagUrlLinkEntity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete tagUrlLink records.\",\n ex.code || \"DELETE_URL_TAG_LINKS_ERROR\",\n {\n tags,\n namespace,\n url\n }\n );\n }\n };\n\n const listTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsListTagUrlLinksParams\n ) => {\n const { where } = params;\n const { namespace, tag } = where;\n\n const partitionKey = createTagUrlLinkPartitionKey({\n namespace,\n tag\n });\n\n const options: DynamoDBToolboxQueryOptions = {};\n if (tag.value) {\n options.beginsWith = `${tag.value}#`;\n } else {\n options.gte = \" \";\n }\n\n const queryAllParams: QueryAllParams = {\n entity: tagUrlLinkEntity,\n partitionKey,\n options\n };\n\n try {\n const results = await queryAll<TagUrlLink>(queryAllParams);\n\n return cleanupItems(tagUrlLinkEntity, results);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tagUrlLink records.\",\n ex.code || \"LIST_TAG_URL_LINK_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n };\n\n return {\n createRender,\n deleteRender,\n listRenders,\n getRender,\n createTagUrlLinks,\n deleteTagUrlLinks,\n listTagUrlLinks\n };\n};\n"]}
1
+ {"version":3,"names":["createRenderStorageOperations","params","entity","tagUrlLinkEntity","createRenderPartitionKey","namespace","startsWith","replace","createRenderSortKey","url","createRenderType","createTagUrlLinkPartitionKey","tag","key","createTagUrlLinkSortKey","values","value","push","join","createTagUrlLinkType","getRender","where","keys","PK","SK","result","get","cleanupItem","ex","WebinyError","message","code","createRender","render","put","TYPE","deleteRender","delete","listRendersByTag","links","listTagUrlLinks","items","map","link","getBatch","results","batchReadAll","table","cleanupItems","listRenders","queryAllParams","partitionKey","options","gte","queryAll","createTagUrlLinks","tagUrlLinks","item","putBatch","batchWriteAll","deleteTagUrlLinks","tags","deleteBatch","beginsWith"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceRenderStorageOperations,\n PrerenderingServiceStorageOperationsCreateRenderParams,\n PrerenderingServiceStorageOperationsCreateTagUrlLinksParams,\n PrerenderingServiceStorageOperationsDeleteRenderParams,\n PrerenderingServiceStorageOperationsDeleteTagUrlLinksParams,\n PrerenderingServiceStorageOperationsGetRenderParams,\n PrerenderingServiceStorageOperationsListRendersParams,\n PrerenderingServiceStorageOperationsListTagUrlLinksParams,\n Render,\n TagUrlLink\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/queue/add/types\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\n\nexport interface CreateRenderStorageOperationsParams {\n entity: Entity<any>;\n tagUrlLinkEntity: Entity<any>;\n}\n\nexport interface CreateTagUrlLinkPartitionKeyParams {\n namespace: string;\n tag: Pick<Tag, \"key\">;\n}\n\nexport interface CreateTagUrlLinkSortKeyParams {\n tag: Tag;\n url?: string;\n}\n\nexport const createRenderStorageOperations = (\n params: CreateRenderStorageOperationsParams\n): PrerenderingServiceRenderStorageOperations => {\n const { entity, tagUrlLinkEntity } = params;\n\n const createRenderPartitionKey = (namespace: string): string => {\n /**\n * For backwards compatibility remove the T# if it exists.\n */\n if (namespace.startsWith(\"T#\")) {\n namespace = namespace.replace(/^T#/, \"\");\n }\n return `T#${namespace}#PS#RENDER`;\n };\n\n const createRenderSortKey = (url: string): string => {\n return url;\n };\n\n const createRenderType = (): string => {\n return \"ps.render\";\n };\n\n const createTagUrlLinkPartitionKey = (params: CreateTagUrlLinkPartitionKeyParams): string => {\n const { tag } = params;\n let { namespace } = params;\n if (namespace.startsWith(\"T#\")) {\n namespace = namespace.replace(/^T#/, \"\");\n }\n return `T#${namespace}#PS#TAG#${tag.key}`;\n };\n\n const createTagUrlLinkSortKey = (params: CreateTagUrlLinkSortKeyParams): string => {\n const { tag, url } = params;\n const values = [tag.value];\n if (url) {\n values.push(url);\n }\n return values.join(\"#\");\n };\n\n const createTagUrlLinkType = (): string => {\n return \"ps.tagUrlLink\";\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.namespace),\n SK: createRenderSortKey(where.url)\n };\n\n try {\n const result = await get<Render>({\n entity,\n keys\n });\n return cleanupItem(entity, result);\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.namespace),\n SK: createRenderSortKey(render.url)\n };\n\n try {\n await entity.put({\n ...render,\n ...keys,\n TYPE: createRenderType()\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.namespace),\n SK: createRenderSortKey(render.url)\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 { namespace, 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 listTagUrlLinks({\n where: {\n namespace,\n tag\n }\n });\n\n const items = links.map(link => {\n return entity.getBatch({\n PK: createRenderPartitionKey(namespace),\n SK: createRenderSortKey(link.url)\n });\n });\n try {\n const results = await batchReadAll<Render>({\n table: entity.table,\n items\n });\n return cleanupItems(entity, results);\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 { namespace, tag } = where;\n\n if (tag) {\n return listRendersByTag(params);\n }\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createRenderPartitionKey(namespace),\n options: {\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAll<Render>(queryAllParams);\n\n return cleanupItems(entity, results);\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 createTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsCreateTagUrlLinksParams\n ) => {\n const { tagUrlLinks } = params;\n\n const items = tagUrlLinks.map(item => {\n return tagUrlLinkEntity.putBatch({\n ...item,\n TYPE: createTagUrlLinkType(),\n PK: createTagUrlLinkPartitionKey({\n namespace: item.namespace,\n tag: item\n }),\n SK: createTagUrlLinkSortKey({\n tag: item,\n url: item.url\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagUrlLinkEntity.table,\n items\n });\n return tagUrlLinks;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create tagUrlLink records.\",\n ex.code || \"CREATE_URL_TAG_LINKS_ERROR\",\n {\n tagUrlLinks\n }\n );\n }\n };\n\n const deleteTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsDeleteTagUrlLinksParams\n ): Promise<void> => {\n const { namespace, tags, url } = params;\n const items = tags.map(tag => {\n return tagUrlLinkEntity.deleteBatch({\n PK: createTagUrlLinkPartitionKey({\n tag,\n namespace\n }),\n SK: createTagUrlLinkSortKey({\n tag,\n url\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagUrlLinkEntity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete tagUrlLink records.\",\n ex.code || \"DELETE_URL_TAG_LINKS_ERROR\",\n {\n tags,\n namespace,\n url\n }\n );\n }\n };\n\n const listTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsListTagUrlLinksParams\n ) => {\n const { where } = params;\n const { namespace, tag } = where;\n\n const partitionKey = createTagUrlLinkPartitionKey({\n namespace,\n tag\n });\n\n const options: DynamoDBToolboxQueryOptions = {};\n if (tag.value) {\n options.beginsWith = `${tag.value}#`;\n } else {\n options.gte = \" \";\n }\n\n const queryAllParams: QueryAllParams = {\n entity: tagUrlLinkEntity,\n partitionKey,\n options\n };\n\n try {\n const results = await queryAll<TagUrlLink>(queryAllParams);\n\n return cleanupItems(tagUrlLinkEntity, results);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tagUrlLink records.\",\n ex.code || \"LIST_TAG_URL_LINK_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n };\n\n return {\n createRender,\n deleteRender,\n listRenders,\n getRender,\n createTagUrlLinks,\n deleteTagUrlLinks,\n listTagUrlLinks\n };\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-prerendering-service-so-ddb",
3
- "version": "5.27.0-beta.0",
3
+ "version": "5.28.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,9 +17,9 @@
17
17
  "author": "Webiny Ltd",
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@babel/runtime": "7.16.7",
21
- "@webiny/api-prerendering-service": "5.27.0-beta.0",
22
- "@webiny/error": "5.27.0-beta.0",
20
+ "@babel/runtime": "7.18.3",
21
+ "@webiny/api-prerendering-service": "5.28.0",
22
+ "@webiny/error": "5.28.0",
23
23
  "dynamodb-toolbox": "0.3.5"
24
24
  },
25
25
  "devDependencies": {
@@ -28,11 +28,11 @@
28
28
  "@babel/plugin-proposal-export-default-from": "^7.16.0",
29
29
  "@babel/preset-env": "^7.16.4",
30
30
  "@babel/preset-typescript": "^7.16.0",
31
- "@webiny/cli": "^5.27.0-beta.0",
32
- "@webiny/db": "^5.27.0-beta.0",
33
- "@webiny/db-dynamodb": "^5.27.0-beta.0",
34
- "@webiny/handler-aws": "^5.27.0-beta.0",
35
- "@webiny/project-utils": "^5.27.0-beta.0",
31
+ "@webiny/cli": "^5.28.0",
32
+ "@webiny/db": "^5.28.0",
33
+ "@webiny/db-dynamodb": "^5.28.0",
34
+ "@webiny/handler-aws": "^5.28.0",
35
+ "@webiny/project-utils": "^5.28.0",
36
36
  "jest-dynalite": "^3.3.1",
37
37
  "jest-environment-node": "^27.3.0",
38
38
  "prettier": "^2.3.2",
@@ -55,5 +55,5 @@
55
55
  ]
56
56
  }
57
57
  },
58
- "gitHead": "9e557dd294ae37cf84f17e0e8158c2ed16e2d415"
58
+ "gitHead": "9fd082a2e4a0e0116ee5a07e2a9ca385e8ac0173"
59
59
  }
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["types.ts"],"names":["ENTITIES"],"mappings":";;;;;;IAaYA,Q;;;WAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,wBAAAA,Q","sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table, Entity } from \"dynamodb-toolbox\";\nimport { DynamoDBTypes, TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nimport { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from \"@webiny/api-prerendering-service/types\";\n\nexport type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport type Attributes = Record<string, AttributeDefinition>;\n\nexport enum ENTITIES {\n RENDER = \"PrerenderingServiceRender\",\n QUEUE_JOB = \"PrerenderingServiceQueueJob\",\n TAG_URL_LINK = \"PrerenderingServiceTagUrlLink\"\n}\n\nexport interface PrerenderingServiceFactoryParams {\n documentClient: DocumentClient;\n table?: TableModifier;\n attributes?: Record<ENTITIES, Attributes>;\n}\n\nexport type Entities = \"render\" | \"queueJob\" | \"tagUrlLink\";\n\nexport interface PrerenderingServiceStorageOperations\n extends BasePrerenderingServiceStorageOperations {\n getTable(): Table;\n getEntities(): Record<Entities, Entity<any>>;\n}\n\nexport interface PrerenderingServiceFactory {\n (params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;\n}\n\nexport interface TableModifier {\n (table: TableConstructor): TableConstructor;\n}\n"]}
1
+ {"version":3,"names":["ENTITIES"],"sources":["types.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table, Entity } from \"dynamodb-toolbox\";\nimport { DynamoDBTypes, TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nimport { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from \"@webiny/api-prerendering-service/types\";\n\nexport type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport type Attributes = Record<string, AttributeDefinition>;\n\nexport enum ENTITIES {\n RENDER = \"PrerenderingServiceRender\",\n QUEUE_JOB = \"PrerenderingServiceQueueJob\",\n TAG_URL_LINK = \"PrerenderingServiceTagUrlLink\"\n}\n\nexport interface PrerenderingServiceFactoryParams {\n documentClient: DocumentClient;\n table?: TableModifier;\n attributes?: Record<ENTITIES, Attributes>;\n}\n\nexport type Entities = \"render\" | \"queueJob\" | \"tagUrlLink\";\n\nexport interface PrerenderingServiceStorageOperations\n extends BasePrerenderingServiceStorageOperations {\n getTable(): Table;\n getEntities(): Record<Entities, Entity<any>>;\n}\n\nexport interface PrerenderingServiceFactory {\n (params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;\n}\n\nexport interface TableModifier {\n (table: TableConstructor): TableConstructor;\n}\n"],"mappings":";;;;;;IAaYA,Q;;;WAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;GAAAA,Q,wBAAAA,Q"}