summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tags.clj31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/tags.clj b/src/tags.clj
index 53236c5..fb530ea 100644
--- a/src/tags.clj
+++ b/src/tags.clj
@@ -332,21 +332,22 @@ WHERE EXISTS
(defn fetch-dumps-by-ids
([ids] (fetch-dumps-by-ids ids nil))
([ids viewer-nick]
- (let [ids (map maybe-parse-int ids)
- query (fetch-dumps-by-message-id-query :num-messages (count ids))
- raw-rows (do-select (vec (concat [query] ids)))
- tagged-rows (map parse-tags-from-row-as-tag-map raw-rows)
- index-func (fn [row]
- (index-of #(= (:message_id row) %) ids))]
- (for [m (sort-by index-func tagged-rows)]
- (let [favers (get (:tags m) "favorite")
- favorited (and viewer-nick
- (boolean (some #(= % viewer-nick) favers)))
- filtered-favers (filter #(not= % (:nick m)) favers)]
- (assoc m
- :favers filtered-favers
- :favorited favorited
- :count (count filtered-favers)))))))
+ (if-not (empty? ids)
+ (let [ids (map maybe-parse-int ids)
+ query (fetch-dumps-by-message-id-query :num-messages (count ids))
+ raw-rows (do-select (vec (concat [query] ids)))
+ tagged-rows (map parse-tags-from-row-as-tag-map raw-rows)
+ index-func (fn [row]
+ (index-of #(= (:message_id row) %) ids))]
+ (for [m (sort-by index-func tagged-rows)]
+ (let [favers (get (:tags m) "favorite")
+ favorited (and viewer-nick
+ (boolean (some #(= % viewer-nick) favers)))
+ filtered-favers (filter #(not= % (:nick m)) favers)]
+ (assoc m
+ :favers filtered-favers
+ :favorited favorited
+ :count (count filtered-favers))))))))
(defn fetch-dump-by-id
([m-id]