26 lines
813 B
Clojure
26 lines
813 B
Clojure
(ns ldview.models.entity
|
|
(:use korma.core
|
|
[ldview.models.db])
|
|
(:require [ldview.models.user :as user]))
|
|
|
|
(defn all []
|
|
(select entries))
|
|
|
|
(defn exists? [ld-uid]
|
|
(not (empty? (select entities
|
|
(fields :id)
|
|
(where {:ld_uid ld-uid})
|
|
(limit 1)))))
|
|
|
|
(defn create! [fields]
|
|
(let [user (user/unique-user (:user fields))
|
|
competition-id (competition/latest)]
|
|
(if-not (exists? (:ld_uid fields))
|
|
(insert entries (values {
|
|
:ld_uid (:ld_uid fields)
|
|
:title (:title fields)
|
|
:description (:description fields)
|
|
:user_id (:id user)
|
|
:competition_id (:id competition)})))))
|
|
|