Skip to content

Commit a204f1a

Browse files
plexusoxalorg
authored andcommitted
Prefer non-namespaced maps
Add a placeholder for the reaction schema
1 parent 03ac261 commit a204f1a

File tree

2 files changed

+142
-144
lines changed

2 files changed

+142
-144
lines changed

profiles/dev/user.clj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
(ns user
22
(:require [reloaded.repl :as reloaded]))
33

4+
(alter-var-root #'*print-namespace-maps* (constantly false))
5+
;; (set! *print-namespace-maps* false)
6+
47
(defmacro jit [sym]
58
`(or (resolve '~sym)
69
(do

src/clojurians_log/db/schema.clj

Lines changed: 139 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -1,164 +1,159 @@
11
(ns clojurians-log.db.schema)
22

33
(def message-schema
4-
[#:db{:ident :message/key
5-
:cardinality :db.cardinality/one
6-
:valueType :db.type/string
7-
:unique :db.unique/identity
8-
:doc "Key consisting of channel id + ts. Useful for upserts and refs."}
9-
#:db{:ident :message/text
10-
:valueType :db.type/string
11-
:cardinality :db.cardinality/one
12-
:doc "Message text (markdown)"}
13-
#:db{:ident :message/channel
14-
:valueType :db.type/ref
15-
:cardinality :db.cardinality/one
16-
:doc "Channel the message was posted in."
17-
:index true}
18-
#:db{:ident :message/user
19-
:valueType :db.type/ref
20-
:cardinality :db.cardinality/one
21-
:doc "User who posted the message"}
22-
#:db{:ident :message/ts
23-
:valueType :db.type/string
24-
:cardinality :db.cardinality/one
25-
:doc "Message timestamp (seconds since epoch up to 6 decimals). Stored as string because it is used by slack as a kind of identifier. Unique per channel."}
26-
#_#:db{:ident :message/inst
27-
:valueType :db.type/instant
28-
:cardinality :db.cardinality/one
29-
:doc "Same as :message/ts, but parsed to java.util.Date. This is lossy: Date has milisecond precision, ts has microseconds."}
30-
#:db{:ident :message/thread-ts
31-
:valueType :db.type/string
32-
:cardinality :db.cardinality/one
33-
:doc "Thread parent message timestamp (seconds since epoch up to 6 decimals). Stored as string because it is used by slack as a kind of identifier. Unique per channel."
34-
:index true}
35-
#:db{:ident :message/thread-inst
36-
:valueType :db.type/instant
37-
:cardinality :db.cardinality/one
38-
:doc "Same as :message/thread-ts, but parsed to java.util.Date. This is lossy: Date has milisecond precision, ts has microseconds."}
39-
#:db{:ident :message/day
40-
:valueType :db.type/string
41-
:cardinality :db.cardinality/one
42-
:doc "The day this message is categorized under, e.g. 2017-11-20."
43-
:index true}
44-
#_#:db{:ident :message/team
45-
:valueType :db.type/ref
46-
:cardinality :db.cardinality/one}
47-
#_#:db{:ident :message/source-team
48-
:valueType :db.type/ref
49-
:cardinality :db.cardinality/one}])
4+
[{:db/ident :message/key
5+
:db/cardinality :db.cardinality/one
6+
:db/valueType :db.type/string
7+
:db/unique :db.unique/identity
8+
:db/doc "Key consisting of channel id + ts. Useful for upserts and refs."}
9+
{:db/ident :message/text
10+
:db/valueType :db.type/string
11+
:db/cardinality :db.cardinality/one
12+
:db/doc "Message text (markdown)"}
13+
{:db/ident :message/channel
14+
:db/valueType :db.type/ref
15+
:db/cardinality :db.cardinality/one
16+
:db/doc "Channel the message was posted in."
17+
:db/index true}
18+
{:db/ident :message/user
19+
:db/valueType :db.type/ref
20+
:db/cardinality :db.cardinality/one
21+
:db/doc "User who posted the message"}
22+
{:db/ident :message/ts
23+
:db/valueType :db.type/string
24+
:db/cardinality :db.cardinality/one
25+
:db/doc "Message timestamp (seconds since epoch up to 6 decimals). Stored as string because it is used by slack as a kind of identifier. Unique per channel."}
26+
{:db/ident :message/thread-ts
27+
:db/valueType :db.type/string
28+
:db/cardinality :db.cardinality/one
29+
:db/doc "Thread parent message timestamp (seconds since epoch up to 6 decimals). Stored as string because it is used by slack as a kind of identifier. Unique per channel."
30+
:db/index true}
31+
{:db/ident :message/thread-inst
32+
:db/valueType :db.type/instant
33+
:db/cardinality :db.cardinality/one
34+
:db/doc "Same as :message/thread-ts, but parsed to java.util.Date. This is lossy: Date has milisecond precision, ts has microseconds."}
35+
{:db/ident :message/day
36+
:db/valueType :db.type/string
37+
:db/cardinality :db.cardinality/one
38+
:db/doc "The day this message is categorized under, e.g. 2017-11-20."
39+
:db/index true}])
5040

5141
(def event-schema
52-
[#:db{:ident :event/subtype
53-
:valueType :db.type/string
54-
:cardinality :db.cardinality/one}
55-
#:db{:ident :event/ts
56-
:valueType :db.type/string
57-
:cardinality :db.cardinality/one}])
42+
[{:db/ident :event/subtype
43+
:db/valueType :db.type/string
44+
:db/cardinality :db.cardinality/one}
45+
{:db/ident :event/ts
46+
:db/valueType :db.type/string
47+
:db/cardinality :db.cardinality/one}])
5848

5949
(def user-schema
60-
[#:db{:ident :user/slack-id,
61-
:valueType :db.type/string,
62-
:cardinality :db.cardinality/one,
63-
:unique :db.unique/identity,
64-
:doc "Internal user identifier used by slack. Alphanumeric, starts with U."}
65-
#:db{:ident :user/name,
66-
:valueType :db.type/string,
67-
:cardinality :db.cardinality/one,
68-
:unique :db.unique/identity,
69-
:doc "A user's public handle."}
70-
#:db{:ident :user/real-name,
71-
:valueType :db.type/string,
72-
:cardinality :db.cardinality/one}
73-
#:db{:ident :user/admin?,
74-
:cardinality :db.cardinality/one,
75-
:valueType :db.type/boolean}
76-
#:db{:ident :user/owner?,
77-
:cardinality :db.cardinality/one,
78-
:valueType :db.type/boolean}
79-
#:db{:ident :user/profile,
80-
:valueType :db.type/ref,
81-
:cardinality :db.cardinality/one,
82-
:doc "Reference to a user's profile, which contains email, avatar, display name, etc."}])
50+
[{:db/ident :user/slack-id
51+
:db/valueType :db.type/string
52+
:db/cardinality :db.cardinality/one
53+
:db/unique :db.unique/identity
54+
:db/doc "Internal user identifier used by slack. Alphanumeric starts with U."}
55+
{:db/ident :user/name
56+
:db/valueType :db.type/string
57+
:db/cardinality :db.cardinality/one
58+
:db/unique :db.unique/identity
59+
:db/doc "A user's public handle."}
60+
{:db/ident :user/real-name
61+
:db/valueType :db.type/string
62+
:db/cardinality :db.cardinality/one}
63+
{:db/ident :user/admin?
64+
:db/cardinality :db.cardinality/one
65+
:db/valueType :db.type/boolean}
66+
{:db/ident :user/owner?
67+
:db/cardinality :db.cardinality/one
68+
:db/valueType :db.type/boolean}
69+
{:db/ident :user/profile
70+
:db/valueType :db.type/ref
71+
:db/cardinality :db.cardinality/one
72+
:db/doc "Reference to a user's profile which contains email, avatar, display name, etc."}])
8373

8474
(def user-profile-schema
85-
[#:db{:ident :user-profile/email
86-
:cardinality :db.cardinality/one
87-
:valueType :db.type/string}
88-
#:db{:ident :user-profile/first-name
89-
:cardinality :db.cardinality/one
90-
:valueType :db.type/string}
91-
#:db{:ident :user-profile/last-name
92-
:cardinality :db.cardinality/one
93-
:valueType :db.type/string}
94-
#:db{:ident :user-profile/display-name
95-
:cardinality :db.cardinality/one
96-
:valueType :db.type/string}
97-
#:db{:ident :user-profile/display-name-normalized
98-
:cardinality :db.cardinality/one
99-
:valueType :db.type/string}
100-
#:db{:ident :user-profile/real-name
101-
:cardinality :db.cardinality/one
102-
:valueType :db.type/string}
103-
#:db{:ident :user-profile/real-name-normalized
104-
:cardinality :db.cardinality/one
105-
:valueType :db.type/string}
106-
#:db{:ident :user-profile/avatar-hash
107-
:cardinality :db.cardinality/one
108-
:valueType :db.type/string}
109-
#:db{:ident :user-profile/title
110-
:cardinality :db.cardinality/one
111-
:valueType :db.type/string}
112-
#:db{:ident :user-profile/image-original
113-
:cardinality :db.cardinality/one
114-
:valueType :db.type/string}
115-
#:db{:ident :user-profile/image-24
116-
:cardinality :db.cardinality/one
117-
:valueType :db.type/string}
118-
#:db{:ident :user-profile/image-32
119-
:cardinality :db.cardinality/one
120-
:valueType :db.type/string}
121-
#:db{:ident :user-profile/image-48
122-
:cardinality :db.cardinality/one
123-
:valueType :db.type/string}
124-
#:db{:ident :user-profile/image-72
125-
:cardinality :db.cardinality/one
126-
:valueType :db.type/string}
127-
#:db{:ident :user-profile/image-192
128-
:cardinality :db.cardinality/one
129-
:valueType :db.type/string}
130-
#:db{:ident :user-profile/image-512
131-
:cardinality :db.cardinality/one
132-
:valueType :db.type/string}])
75+
[{:db/ident :user-profile/email
76+
:db/cardinality :db.cardinality/one
77+
:db/valueType :db.type/string}
78+
{:db/ident :user-profile/first-name
79+
:db/cardinality :db.cardinality/one
80+
:db/valueType :db.type/string}
81+
{:db/ident :user-profile/last-name
82+
:db/cardinality :db.cardinality/one
83+
:db/valueType :db.type/string}
84+
{:db/ident :user-profile/display-name
85+
:db/cardinality :db.cardinality/one
86+
:db/valueType :db.type/string}
87+
{:db/ident :user-profile/display-name-normalized
88+
:db/cardinality :db.cardinality/one
89+
:db/valueType :db.type/string}
90+
{:db/ident :user-profile/real-name
91+
:db/cardinality :db.cardinality/one
92+
:db/valueType :db.type/string}
93+
{:db/ident :user-profile/real-name-normalized
94+
:db/cardinality :db.cardinality/one
95+
:db/valueType :db.type/string}
96+
{:db/ident :user-profile/avatar-hash
97+
:db/cardinality :db.cardinality/one
98+
:db/valueType :db.type/string}
99+
{:db/ident :user-profile/title
100+
:db/cardinality :db.cardinality/one
101+
:db/valueType :db.type/string}
102+
{:db/ident :user-profile/image-original
103+
:db/cardinality :db.cardinality/one
104+
:db/valueType :db.type/string}
105+
{:db/ident :user-profile/image-24
106+
:db/cardinality :db.cardinality/one
107+
:db/valueType :db.type/string}
108+
{:db/ident :user-profile/image-32
109+
:db/cardinality :db.cardinality/one
110+
:db/valueType :db.type/string}
111+
{:db/ident :user-profile/image-48
112+
:db/cardinality :db.cardinality/one
113+
:db/valueType :db.type/string}
114+
{:db/ident :user-profile/image-72
115+
:db/cardinality :db.cardinality/one
116+
:db/valueType :db.type/string}
117+
{:db/ident :user-profile/image-192
118+
:db/cardinality :db.cardinality/one
119+
:db/valueType :db.type/string}
120+
{:db/ident :user-profile/image-512
121+
:db/cardinality :db.cardinality/one
122+
:db/valueType :db.type/string}])
133123

134124
(def channel-schema
135-
[#:db{:ident :channel/slack-id
136-
:valueType :db.type/string
137-
:cardinality :db.cardinality/one
138-
:unique :db.unique/identity}
139-
#:db{:ident :channel/name
140-
:valueType :db.type/string
141-
:cardinality :db.cardinality/one
142-
:unique :db.unique/identity}
143-
#:db{:ident :channel/created
144-
:valueType :db.type/long
145-
:cardinality :db.cardinality/one}
146-
#:db{:ident :channel/creator
147-
:valueType :db.type/ref
148-
:cardinality :db.cardinality/one}])
125+
[{:db/ident :channel/slack-id
126+
:db/valueType :db.type/string
127+
:db/cardinality :db.cardinality/one
128+
:db/unique :db.unique/identity}
129+
{:db/ident :channel/name
130+
:db/valueType :db.type/string
131+
:db/cardinality :db.cardinality/one
132+
:db/unique :db.unique/identity}
133+
{:db/ident :channel/created
134+
:db/valueType :db.type/long
135+
:db/cardinality :db.cardinality/one}
136+
{:db/ident :channel/creator
137+
:db/valueType :db.type/ref
138+
:db/cardinality :db.cardinality/one}])
149139

150140
(def emoji-schema
151-
[#:db{:ident :emoji/shortcode
152-
:valueType :db.type/string
153-
:cardinality :db.cardinality/one}
154-
#:db{:ident :emoji/url
155-
:valueType :db.type/string
156-
:cardinality :db.cardinality/one}])
141+
[{:db/ident :emoji/shortcode
142+
:db/valueType :db.type/string
143+
:db/cardinality :db.cardinality/one}
144+
{:db/ident :emoji/url
145+
:db/valueType :db.type/string
146+
:db/cardinality :db.cardinality/one}])
147+
148+
(def reaction-schema
149+
[#_{:db/ident :reaction/reaction
150+
,,,}])
157151

158152
(def full-schema
159153
(concat message-schema
160154
event-schema
161155
user-schema
162156
user-profile-schema
163157
channel-schema
164-
emoji-schema))
158+
emoji-schema
159+
reaction-schema))

0 commit comments

Comments
 (0)