summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rooms.clj2
-rw-r--r--src/site.clj8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/rooms.clj b/src/rooms.clj
index 8f54640..7997e97 100644
--- a/src/rooms.clj
+++ b/src/rooms.clj
@@ -127,7 +127,7 @@
(create-and-add-room! key)
(throw (Exception. (str "Unable to create room " key))))))
-(defn- fetch-or-create-bot-id! [nick]
+(defn fetch-or-create-bot-id! [nick]
(:user_id
(or (fetch-nick nick)
(first
diff --git a/src/site.clj b/src/site.clj
index b3aae51..567c3af 100644
--- a/src/site.clj
+++ b/src/site.clj
@@ -1085,6 +1085,13 @@ order by count desc limit ? offset ?")
(not has-access) [200 "UNKNOWN_ROOM"]
:else (do-upload session image (lookup-room room-key)))))
+(defn upload-photo [session params]
+ (let [room-key (params :room)
+ nick "~photobot"
+ user-id (rooms/fetch-or-create-bot-id! nick)
+ image (params :image)]
+ (do-upload {:is_admin true :nick nick :user_id user-id} image (lookup-room room-key))))
+
;; N.B. -- Upload responses aren't JSON-evaluated
(defn do-upload-avatar [session image]
(let [filename (format-filename (:filename image) (session :nick))
@@ -1229,6 +1236,7 @@ order by count desc limit ? offset ?")
(defroutes multipart
(POST "/upload/message" (upload session params))
+ (POST "/upload/photo" (upload-photo session params))
(POST "/upload/avatar" (upload-avatar session params)))
;; Add jpeg to list