in source/services/api/admin/lib/admin.js [193:249]
async _listApplicationAuthorizations(applicationId, lastevalkey) {
let applicationAuthorizations = [];
let params = {
TableName: process.env.AUTHORIZATIONS_TABLE,
IndexName: 'ApplicationAuthorizations',
KeyConditionExpression: 'application_id = :appId',
ExpressionAttributeValues: {
':appId': applicationId
},
Limit: 500
};
if (lastevalkey) {
params.ExclusiveStartKey = lastevalkey;
}
let docClient = new AWS.DynamoDB.DocumentClient(this.config);
try {
let result = await docClient.query(params).promise();
result.Items.forEach(function(item) {
applicationAuthorizations.push({
'ApiKeyId': item.api_key_id,
'ApiKeyDescription': item.api_key_description,
'ApiKeyName': item.api_key_name,
'ApiKeyValue': item.api_key_value,
'ApplicationId': item.application_id,
'UpdatedAt': item.updated_at,
'CreatedAt': item.created_at,
'Enabled': item.enabled
});
});
// If there is more data, load more data and append them to authorizations
if (result.LastEvaluatedKey) {
let moreResult = await this._listApplicationAuthorizations(applicationId, lastevalkey);
moreResult.Items.forEach(function(item) {
applicationAuthorizations.push({
'ApiKeyId': item.api_key_id,
'ApiKeyDescription': item.api_key_description,
'ApiKeyName': item.api_key_name,
'ApiKeyValue': item.api_key_value,
'ApplicationId': item.application_id,
'UpdatedAt': item.updated_at,
'CreatedAt': item.created_at,
'Enabled': item.enabled
});
});
}
return Promise.resolve({
'Authorizations': applicationAuthorizations,
'Count': applicationAuthorizations.length
});
} catch (err) {
return Promise.reject(err);
}
}