UNPKG

dynalite

Version:

An implementation of Amazon's DynamoDB built on LevelDB

29 lines (24 loc) 853 B
exports.types = { ResourceArn: { type: 'String', }, } exports.custom = function (data, store) { if (data.ResourceArn == null) { return 'Invalid TableArn' } if (!/^.+:.+:.+:.+:.+:.+\/.+$/.test(data.ResourceArn)) { var username = 'dynalite' var accessDeniedError = new Error accessDeniedError.statusCode = 400 accessDeniedError.body = { __type: 'com.amazon.coral.service#AccessDeniedException', Message: 'User: arn:aws:iam::' + store.tableDb.awsAccountId + ':' + username + ' is not authorized to perform: ' + 'dynamodb:ListTagsOfResource on resource: ' + (data.ResourceArn || '*'), } throw accessDeniedError } if (!/^arn:aws:dynamodb:.+:\d+:table\/[^/]{2}[^/]+$/.test(data.ResourceArn)) { return 'Invalid TableArn: Invalid ResourceArn provided as input ' + data.ResourceArn } }