async function getDynamoRows()

in shared/database/local/runDatabaseMigration.ts [13:30]


async function getDynamoRows(TableName: string): Promise<AttributeMap[]> {
  const getRows = async (startKey?: AttributeMap): Promise<AttributeMap[]> => {
    const userResults = await dynamo.scan({
      TableName,
      ExclusiveStartKey: startKey,
    });

    const storedUsers = userResults.Items || [];

    if (userResults.LastEvaluatedKey) {
      return [...storedUsers, ...(await getRows(userResults.LastEvaluatedKey))];
    } else {
      return storedUsers;
    }
  };

  return getRows();
}