diff options
Diffstat (limited to 'users/grfn/bbbg/src/bbbg/db/attendee.clj')
-rw-r--r-- | users/grfn/bbbg/src/bbbg/db/attendee.clj | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/users/grfn/bbbg/src/bbbg/db/attendee.clj b/users/grfn/bbbg/src/bbbg/db/attendee.clj index 06f495c57e3d..089b92457dca 100644 --- a/users/grfn/bbbg/src/bbbg/db/attendee.clj +++ b/users/grfn/bbbg/src/bbbg/db/attendee.clj @@ -6,7 +6,8 @@ honeysql-postgres.helpers [honeysql.helpers :refer - [merge-group-by merge-join merge-left-join merge-select merge-where]])) + [merge-group-by merge-join merge-left-join merge-select merge-where]] + [bbbg.util.core :as u])) (defn search ([q] (search {:select [:attendee.*] :from [:attendee]} q)) @@ -41,6 +42,19 @@ [:not :event_attendee.attended]]) :no-shows])))) +(defn upsert-all! + [db attendees] + (db/list + db + {:insert-into :attendee + :values (map #(->> % + (db/process-key-map :attendee) + (u/map-keys keyword)) + attendees) + :upsert {:on-conflict [:meetup-user-id] + :do-update-set [:meetup-name]} + :returning [:id :meetup-user-id]})) + (comment (def db (:db bbbg.core/system)) (db/database? db) |