summaryrefslogtreecommitdiff
path: root/lib/UpdateHandlers.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/UpdateHandlers.js')
-rw-r--r--lib/UpdateHandlers.js41
1 files changed, 2 insertions, 39 deletions
diff --git a/lib/UpdateHandlers.js b/lib/UpdateHandlers.js
index 6483020..2b920d2 100644
--- a/lib/UpdateHandlers.js
+++ b/lib/UpdateHandlers.js
@@ -5,8 +5,7 @@ var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();
var PodcastView = require('./PodcastView');
-
-var DDB_EPISODES_TABLE = 'podcast-episodes';
+var PodcastEpisode = require('./PodcastEpisode');
exports.handleViewUpdate = function(event, context) {
// Handle dynamo event for the views table.
@@ -125,7 +124,7 @@ exports.handleEpisodeUpdate = function(event, context) {
};
function renderViewsForFeed(feedId, callback) {
- getEpisodesForFeed(feedId, function(error, episodes) {
+ PodcastEpisode.getEpisodesForFeed(feedId, function(error, episodes) {
if (error) {
callback(error);
return;
@@ -162,39 +161,3 @@ function renderViewsForFeed(feedId, callback) {
});
});
}
-
-function getEpisodesForFeed(feedId, callback, startKey, episodes) {
- var params = {
- TableName: DDB_EPISODES_TABLE,
- ConsistentRead: true,
- KeyConditionExpression: "feedId = :feedId",
- ExpressionAttributeValues: {
- ':feedId': feedId
- }
- };
-
- if (startKey) {
- params['ExclusiveStartKey'] = startKey;
- }
-
- dynamo.query(params, function(error, data) {
- if (error != null) {
- callback(error);
- return;
- }
-
- if (!episodes) {
- episodes = data.Items;
- } else {
- episodes = episodes.concat(data.Items);
- }
-
- // If this is not the last set of responses, get more.
- var lastKey = data.LastEvaluatedKey;
- if (lastKey) {
- getEpisodesForFeed(feedId, callback, lastKey, episodes);
- } else {
- callback(null, episodes);
- }
- });
-}