in source/services/api/admin/lib/admin.js [295:325]
async _deleteApplicationAuthorizations(applicationId) {
const docClient = new AWS.DynamoDB.DocumentClient(this.config);
try {
// Lookup authorizations associated with application
let authorizationResults = await docClient.query({
TableName: process.env.AUTHORIZATIONS_TABLE,
IndexName: process.env.APPLICATION_AUTHORIZATIONS_INDEX,
KeyConditionExpression: 'application_id = :appId',
ExpressionAttributeValues: {
':appId': applicationId
},
ProjectionExpression: 'api_key_id'
}).promise();
if (authorizationResults.Items.length === 0) {
console.log(`No authorizations for this application`);
return Promise.resolve(true);
}
for (const item of authorizationResults.Items) {
await this.deleteAuthorization(item.api_key_id, applicationId);
}
return Promise.resolve(true);
} catch (err) {
console.log(JSON.stringify(err));
return Promise.reject({
code: 500,
error: 'InternalFailure',
message: `Error occurred while attempting to delete application`
});
}
}