diff --git a/packages/spacecat-shared-data-access/docs/schema.json b/packages/spacecat-shared-data-access/docs/schema.json index 1b79c1bec..e1518f393 100644 --- a/packages/spacecat-shared-data-access/docs/schema.json +++ b/packages/spacecat-shared-data-access/docs/schema.json @@ -201,7 +201,7 @@ "AttributeType": "S" }, "SortKey": { - "AttributeName": "SK", + "AttributeName": "auditType", "AttributeType": "S" } }, @@ -214,10 +214,6 @@ "AttributeName": "auditResult", "AttributeType": "M" }, - { - "AttributeName": "auditType", - "AttributeType": "S" - }, { "AttributeName": "expiresAt", "AttributeType": "N" diff --git a/packages/spacecat-shared-data-access/src/service/audits/accessPatterns.js b/packages/spacecat-shared-data-access/src/service/audits/accessPatterns.js index cbb142e55..7f88103af 100644 --- a/packages/spacecat-shared-data-access/src/service/audits/accessPatterns.js +++ b/packages/spacecat-shared-data-access/src/service/audits/accessPatterns.js @@ -158,10 +158,10 @@ export const getLatestAuditForSite = async ( ) => { const latestAudit = await dynamoClient.query({ TableName: config.tableNameLatestAudits, - KeyConditionExpression: 'siteId = :siteId AND begins_with(SK, :auditType)', + KeyConditionExpression: 'siteId = :siteId AND begins_with(auditType, :auditType)', ExpressionAttributeValues: { ':siteId': siteId, - ':auditType': `${auditType}#`, + ':auditType': `${auditType}`, }, Limit: 1, }); @@ -221,13 +221,18 @@ async function removeAudits( ) { const tableName = latest ? config.tableNameLatestAudits : config.tableNameAudits; // TODO: use batch-remove (needs dynamo client update) - const removeAuditPromises = audits.map((audit) => dynamoClient.removeItem( - tableName, - { - siteId: audit.getSiteId(), - SK: `${audit.getAuditType()}#${audit.getAuditedAt()}`, - }, - )); + const removeAuditPromises = audits.map((audit) => { + const sortKey = latest + ? { auditType: `${audit.getAuditType()}` } + : { SK: `${audit.getAuditType()}#${audit.getAuditedAt()}` }; + return dynamoClient.removeItem( + tableName, + { + siteId: audit.getSiteId(), + ...sortKey, + }, + ); + }); await Promise.all(removeAuditPromises); } diff --git a/packages/spacecat-shared-data-access/test/it/generateSampleData.js b/packages/spacecat-shared-data-access/test/it/generateSampleData.js index bb6479e34..14cffb638 100644 --- a/packages/spacecat-shared-data-access/test/it/generateSampleData.js +++ b/packages/spacecat-shared-data-access/test/it/generateSampleData.js @@ -111,7 +111,7 @@ function generateAuditData( // Modify the audit data for the latest_audits table let GSI1SK = `${audit.auditType}#`; if (audit.auditType === 'lhs-mobile') { - GSI1SK += Object.values(audit.auditResult).map((score) => (parseFloat(score) * 100).toFixed(0)).join('#'); + GSI1SK += Object.values(audit.auditResult.scores).map((score) => (parseFloat(score) * 100).toFixed(0)).join('#'); } else { GSI1SK += Object.values(audit.auditResult).join('#'); }