                                org (or (:existing-org ctx) (org-res/get-org conn org-slug))
                                org-uuid (:uuid org)
                                board (or (:existing-board ctx)
-                                         (when (= slug (:slug board-res/default-drafts-storyboard))
-                                            (board-res/drafts-storyboard org-uuid (:user ctx)))
-                                         (board-res/get-board conn org-uuid slug))]
+                                         (if (= slug (:slug board-res/default-drafts-storyboard))
+                                            (board-res/drafts-storyboard org-uuid (:user ctx))
+                                            (board-res/get-board conn org-uuid slug)))]
                         {:existing-org org :existing-board board}
                         false))
 

    (-> board 
      (assoc :authors author-reps)
      (assoc :viewers viewer-reps)
      (assoc :stories story-reps))))

;; ----- Validations -----


      (assoc :entries entry-reps)
      (assoc :topics (sort-by :name topics)))))

(defun- assemble-storyboard
  "Assemble the story, author, and viewer data needed for a board response."

  ;; Draft storyboard
  ([conn org :guard map? board :guard #(= (:slug %) (:slug board-res/default-drafts-storyboard)) ctx]
  (let [org-slug (:slug org)
        slug (:slug board)
        stories (story-res/list-stories-by-org-author conn (:uuid org) (-> ctx :user :user-id) :draft)
        storyboard-uuids (distinct (map :board-uuid stories))
        storyboards (filter map? (map #(board-res/get-board conn %) storyboard-uuids))
        storyboard-map (zipmap (map :uuid storyboards) storyboards)
        story-reps (map #(story-rep/render-story-for-collection org (or (storyboard-map (:board-uuid %)) board) %
                            (comments %) (reactions %)
                            (:access-level ctx) (-> ctx :user :user-id))
                      stories)]
    (assemble-storyboard org-slug board story-reps ctx)))

  ;; Regular storyboard
  ([conn org :guard map? board :guard map? ctx]
  (let [org-slug (:slug org)
        stories (story-res/list-stories-by-board conn (:uuid board))
        story-reps (map #(story-rep/render-story-for-collection org board %
                            (comments %) (reactions %)
                            (:access-level ctx) (-> ctx :user :user-id))
                      stories)]
    (assemble-storyboard org-slug board story-reps ctx)))

  ;; Recursion to finish up both kinds of storyboards
  ([org-slug :guard string? board :guard map? story-reps :guard seq? ctx]
  (let [slug (:slug board)
        authors (:authors board)
        author-reps (map #(board-rep/render-author-for-collection org-slug slug % (:access-level ctx)) authors)
        viewers (:viewers board)
