Merge branch 'master' into deployment-api-usage

This commit is contained in:
Martin McKeaveney 2020-10-09 21:43:28 +01:00 committed by GitHub
commit 979422be52
1 changed files with 5 additions and 2 deletions

View File

@ -69,13 +69,16 @@ exports.update = async (apiKey, property, usage) => {
try { try {
await apiKeyTable.update(buildUpdateParams(apiKey, property, usage)) await apiKeyTable.update(buildUpdateParams(apiKey, property, usage))
} catch (err) { } catch (err) {
// conditional check means the condition failed, need to check why
if (err.code === "ConditionalCheckFailedException") { if (err.code === "ConditionalCheckFailedException") {
// get the API key so we can check it // get the API key so we can check it
const keyObj = await apiKeyTable.get({ primary: apiKey }) const keyObj = await apiKeyTable.get({ primary: apiKey })
// the usage quota or usage limits didn't exist // the usage quota or usage limits didn't exist
if (keyObj && (keyObj.usageQuota == null || keyObj.usageLimits == null)) { if (keyObj && (keyObj.usageQuota == null || keyObj.usageLimits == null)) {
keyObj.usageQuota = DEFAULT_USAGE keyObj.usageQuota =
keyObj.usageLimits = DEFAULT_PLAN keyObj.usageQuota == null ? DEFAULT_USAGE : keyObj.usageQuota
keyObj.usageLimits =
keyObj.usageLimits == null ? DEFAULT_PLAN : keyObj.usageLimits
keyObj.quotaReset = getNewQuotaReset() keyObj.quotaReset = getNewQuotaReset()
await apiKeyTable.put({ item: keyObj }) await apiKeyTable.put({ item: keyObj })
return return