about summary refs log tree commit diff
path: root/users/aspen/bbbg/src/bbbg/db/event_attendee.clj
diff options
context:
space:
mode:
Diffstat (limited to 'users/aspen/bbbg/src/bbbg/db/event_attendee.clj')
-rw-r--r--users/aspen/bbbg/src/bbbg/db/event_attendee.clj17
1 files changed, 17 insertions, 0 deletions
diff --git a/users/aspen/bbbg/src/bbbg/db/event_attendee.clj b/users/aspen/bbbg/src/bbbg/db/event_attendee.clj
new file mode 100644
index 0000000000..31411e5d45
--- /dev/null
+++ b/users/aspen/bbbg/src/bbbg/db/event_attendee.clj
@@ -0,0 +1,17 @@
+(ns bbbg.db.event-attendee
+  (:require honeysql-postgres.format
+            [bbbg.db :as db]
+            [bbbg.util.core :as u]))
+
+(defn upsert-all!
+  [db attendees]
+  (when (seq attendees)
+    (db/execute!
+     db
+     {:insert-into :event-attendee
+      :values (map #(->> %
+                         (db/process-key-map :event-attendee)
+                         (u/map-keys keyword))
+                   attendees)
+      :upsert {:on-conflict [:event-id :attendee-id]
+               :do-update-set [:rsvpd-attending]}})))