about summary refs log tree commit diff
path: root/users/aspen/bbbg/src/bbbg/db/user.clj
blob: 700105ef63509d62beddcdc8f08bc010784ff3d2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(ns bbbg.db.user
  (:require [bbbg.db :as db]
            [bbbg.user :as user]))

(defn create! [db attrs]
  (db/insert! db
              :public.user
              (select-keys attrs [::user/id
                                  ::user/username
                                  ::user/discord-user-id])))

(defn find-or-create! [db attrs]
  (or
   (db/fetch db {:select [:*]
                 :from [:public.user]
                 :where [:=
                         :discord-user-id
                         (::user/discord-user-id attrs)]})
   (create! db attrs)))