forked from threatgrid/ctim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
feedback.cljc
29 lines (24 loc) · 896 Bytes
/
feedback.cljc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(ns ctim.schemas.feedback
(:require [ctim.schemas.common :as c]
#?(:clj [flanders.core :as f :refer [def-entity-type def-eq]]
:cljs [flanders.core :as f :refer-macros [def-entity-type def-eq]])))
(def type-identifier "feedback")
(def-eq FeedbackTypeIdentifier type-identifier)
(def-entity-type Feedback
"Feedback on any entity. Is it wrong? If so why? Was
it right-on, and worthy of confirmation?"
c/base-entity-entries
c/sourcable-object-entries
(f/required-entries
(f/entry :type FeedbackTypeIdentifier)
(f/entry :entity_id c/Reference)
(f/entry :feedback #{-1 0 1})
(f/entry :reason f/any-str)))
(def-entity-type NewFeedback
"Schema for submitting new Feedback"
(:entries Feedback)
c/base-new-entity-entries
(f/optional-entries
(f/entry :type FeedbackTypeIdentifier)))
(def FeedbackRef
(c/ref-for-type type-identifier))