async _deleteApplicationAuthorizations()

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`
      });
    }
  }