diff options
| author | timb <timb@mb.local> | 2010-04-09 19:16:50 -0700 |
|---|---|---|
| committer | timb <timb@mb.local> | 2010-04-09 19:16:50 -0700 |
| commit | 99c8ae25e4bc2b095f956fdc7a90f66c55014e02 (patch) | |
| tree | fc4a099b2679e4afc3700fe6683f528c2af062a8 /src/site.clj | |
| parent | 362e6c8760711626da079611aa457aa00ce4b5b7 (diff) | |
| parent | 956291711de6afb17137160a67ac710be0ace1e1 (diff) | |
Merge branch 'master' of ssh://dump.fm/pichat/repo
Diffstat (limited to 'src/site.clj')
| -rw-r--r-- | src/site.clj | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/site.clj b/src/site.clj index 1ecec31..fc61686 100644 --- a/src/site.clj +++ b/src/site.clj @@ -106,6 +106,10 @@ (< (count n) 3) "NICK_TOO_SHORT" (not (re-matches nick-regex n)) "NICK_INVALID_CHARS")) +(defn check-nick [nick] + (let [query "SELECT * FROM users WHERE LOWER(nick) = ? LIMIT 1"] + (> (count (do-select [query (s/lower-case nick)])) 0))) + (defn fetch-nick [nick] (let [query "SELECT * FROM users WHERE nick = ? LIMIT 1"] (first (do-select [query nick])))) @@ -387,7 +391,7 @@ hash (params :hash) invalid-nick-reason (is-invalid-nick? nick)] (cond invalid-nick-reason (resp-error invalid-nick-reason) - (fetch-nick nick) (resp-error "NICK_TAKEN") + (check-nick nick) (resp-error "NICK_TAKEN") :else (with-connection *db* (insert-values :users [:nick :hash :email] |
