Skip to content

Commit 4a6bbfd

Browse files
committed
pass context to every method of the impl
1 parent 9c48747 commit 4a6bbfd

File tree

10 files changed

+147
-98
lines changed

10 files changed

+147
-98
lines changed

src/dev/mem_lrs/server.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,4 @@
155155
(def s nil)
156156
(-main)
157157

158-
(com.yetanalytics.lrs/get-statements lrs {} {:limit 1} #{}))
158+
(com.yetanalytics.lrs/get-statements lrs {} {} {:limit 1} #{}))

src/main/com/yetanalytics/lrs.cljc

Lines changed: 61 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -19,137 +19,149 @@
1919

2020
(defn get-about
2121
"Get information about this LRS"
22-
[lrs auth-identity]
22+
[lrs ctx auth-identity]
2323
(p/try-sync
24-
(p/-get-about lrs auth-identity)))
24+
(p/-get-about lrs ctx auth-identity)))
2525

2626
(s/fdef get-about
2727
:args (s/cat :lrs (with-lrs-gen ::p/about-resource-instance)
28+
:ctx map?
2829
:auth-identity (s/nilable ::auth/identity))
2930
:ret ::p/get-about-ret)
3031

3132
(defn get-about-async
3233
"Get information about this LRS. Returns a promise channel."
33-
[lrs auth-identity]
34-
(p/-get-about-async lrs auth-identity))
34+
[lrs ctx auth-identity]
35+
(p/-get-about-async lrs ctx auth-identity))
3536

3637
(s/fdef get-about-async
3738
:args (s/cat :lrs (with-lrs-gen ::p/about-resource-async-instance)
39+
:ctx map?
3840
:auth-identity (s/nilable ::auth/identity))
39-
:ret ::p/get-about-asyc-ret)
41+
:ret ::p/get-about-async-ret)
4042

4143
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4244
;; Documents
4345
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4446

4547
(defn set-document
46-
[lrs auth-identity params document merge?]
48+
[lrs ctx auth-identity params document merge?]
4749
(p/try-sync
48-
(p/-set-document lrs auth-identity params document merge?)))
50+
(p/-set-document lrs ctx auth-identity params document merge?)))
4951

5052
(s/fdef set-document
5153
:args (s/cat :lrs (with-lrs-gen ::p/document-resource-instance)
54+
:ctx map?
5255
:auth-identity ::auth/identity
5356
:params ::p/set-document-params
5457
:document :com.yetanalytics.lrs.xapi/document
5558
:merge? (s/nilable boolean?))
5659
:ret ::p/set-document-ret)
5760

5861
(defn set-document-async
59-
[lrs auth-identity params document merge?]
60-
(p/-set-document-async lrs auth-identity params document merge?))
62+
[lrs ctx auth-identity params document merge?]
63+
(p/-set-document-async lrs ctx auth-identity params document merge?))
6164

6265
(s/fdef set-document-async
6366
:args (s/cat :lrs (with-lrs-gen
6467
::p/document-resource-async-instance)
68+
:ctx map?
6569
:auth-identity ::auth/identity
6670
:params ::p/set-document-params
6771
:document :com.yetanalytics.lrs.xapi/document
6872
:merge? (s/nilable boolean?))
6973
:ret ::p/set-document-async-ret)
7074

7175
(defn get-document
72-
[lrs auth-identity params]
76+
[lrs ctx auth-identity params]
7377
(p/try-sync
74-
(p/-get-document lrs auth-identity params)))
78+
(p/-get-document lrs ctx auth-identity params)))
7579

7680
(s/fdef get-document
7781
:args (s/cat :lrs (with-lrs-gen ::p/document-resource-instance)
82+
:ctx map?
7883
:auth-identity ::auth/identity
7984
:params ::p/get-document-params)
8085
:ret ::p/get-document-ret)
8186

8287
(defn get-document-async
83-
[lrs auth-identity params]
84-
(p/-get-document-async lrs auth-identity params))
88+
[lrs ctx auth-identity params]
89+
(p/-get-document-async lrs ctx auth-identity params))
8590

8691
(s/fdef get-document-async
8792
:args (s/cat :lrs (with-lrs-gen
8893
::p/document-resource-async-instance)
94+
:ctx map?
8995
:auth-identity ::auth/identity
9096
:params ::p/get-document-params)
9197
:ret ::p/get-document-async-ret)
9298

9399
(defn get-document-ids
94-
[lrs auth-identity params]
100+
[lrs ctx auth-identity params]
95101
(p/try-sync
96-
(p/-get-document-ids lrs auth-identity params)))
102+
(p/-get-document-ids lrs ctx auth-identity params)))
97103

98104
(s/fdef get-document-ids
99105
:args (s/cat :lrs (with-lrs-gen ::p/document-resource-instance)
106+
:ctx map?
100107
:auth-identity ::auth/identity
101108
:params ::p/get-document-ids-params)
102109
:ret ::p/get-document-ids-ret)
103110

104111
(defn get-document-ids-async
105-
[lrs auth-identity params]
106-
(p/-get-document-ids-async lrs auth-identity params))
112+
[lrs ctx auth-identity params]
113+
(p/-get-document-ids-async lrs ctx auth-identity params))
107114

108115
(s/fdef get-document-ids-async
109116
:args (s/cat :lrs (with-lrs-gen
110117
::p/document-resource-async-instance)
118+
:ctx map?
111119
:auth-identity ::auth/identity
112120
:params ::p/get-document-ids-params)
113121
:ret ::p/get-document-ids-async-ret)
114122

115123
(defn delete-document
116-
[lrs auth-identity params]
124+
[lrs ctx auth-identity params]
117125
(p/try-sync
118-
(p/-delete-document lrs auth-identity params)))
126+
(p/-delete-document lrs ctx auth-identity params)))
119127

120128
(s/fdef delete-document
121129
:args (s/cat :lrs (with-lrs-gen ::p/document-resource-instance)
130+
:ctx map?
122131
:auth-identity ::auth/identity
123132
:params ::p/delete-document-params)
124133
:ret ::p/delete-document-ret)
125134

126135
(defn delete-document-async
127-
[lrs auth-identity params]
128-
(p/-delete-document-async lrs auth-identity params))
136+
[lrs ctx auth-identity params]
137+
(p/-delete-document-async lrs ctx auth-identity params))
129138

130139
(s/fdef delete-document-async
131140
:args (s/cat :lrs (with-lrs-gen ::p/document-resource-async-instance)
141+
:ctx map?
132142
:auth-identity ::auth/identity
133143
:params ::p/delete-document-params)
134144
:ret ::p/delete-document-async-ret)
135145

136146
(defn delete-documents
137-
[lrs auth-identity params]
147+
[lrs ctx auth-identity params]
138148
(p/try-sync
139-
(p/-delete-documents lrs auth-identity params)))
149+
(p/-delete-documents lrs ctx auth-identity params)))
140150

141151
(s/fdef delete-documents
142152
:args (s/cat :lrs (with-lrs-gen ::p/document-resource-instance)
153+
:ctx map?
143154
:auth-identity ::auth/identity
144155
:params ::p/delete-documents-params)
145156
:ret ::p/delete-documents-ret)
146157

147158
(defn delete-documents-async
148-
[lrs auth-identity params]
149-
(p/-delete-documents-async lrs auth-identity params))
159+
[lrs ctx auth-identity params]
160+
(p/-delete-documents-async lrs ctx auth-identity params))
150161

151162
(s/fdef delete-documents-async
152163
:args (s/cat :lrs (with-lrs-gen ::p/document-resource-async-instance)
164+
:ctx map?
153165
:auth-identity ::auth/identity
154166
:params ::p/delete-documents-params)
155167
:ret ::p/delete-documents-async-ret)
@@ -161,24 +173,26 @@
161173

162174
(defn get-activity
163175
"Get the canonical representation of an activity"
164-
[lrs auth-identity params]
176+
[lrs ctx auth-identity params]
165177
(p/try-sync
166-
(p/-get-activity lrs auth-identity params)))
178+
(p/-get-activity lrs ctx auth-identity params)))
167179

168180
(s/fdef get-activity
169181
:args (s/cat :lrs (with-lrs-gen ::p/activity-info-resource-instance)
182+
:ctx map?
170183
:auth-identity ::auth/identity
171184
:params :xapi.activities.GET.request/params)
172185
:ret ::p/get-activity-ret)
173186

174187
(defn get-activity-async
175188
"Get the canonical representation of an activity"
176-
[lrs auth-identity params]
177-
(p/-get-activity-async lrs auth-identity params))
189+
[lrs ctx auth-identity params]
190+
(p/-get-activity-async lrs ctx auth-identity params))
178191

179192
(s/fdef get-activity-async
180193
:args (s/cat :lrs (with-lrs-gen
181194
::p/activity-info-resource-async-instance)
195+
:ctx map?
182196
:auth-identity ::auth/identity
183197
:params :xapi.activities.GET.request/params)
184198
:ret ::p/get-activity-async-ret)
@@ -190,24 +204,26 @@
190204

191205
(defn get-person
192206
"Get an object representing an actor"
193-
[lrs auth-identity params]
207+
[lrs ctx auth-identity params]
194208
(p/try-sync
195-
(p/-get-person lrs auth-identity params)))
209+
(p/-get-person lrs ctx auth-identity params)))
196210

197211
(s/fdef get-person
198212
:args (s/cat :lrs (with-lrs-gen ::p/agent-info-resource-instance)
213+
:ctx map?
199214
:auth-identity ::auth/identity
200215
:params ::p/get-person-params)
201216
:ret ::p/get-person-ret)
202217

203218
(defn get-person-async
204219
"Get an object representing an actor"
205-
[lrs auth-identity params]
206-
(p/-get-person-async lrs auth-identity params))
220+
[lrs ctx auth-identity params]
221+
(p/-get-person-async lrs ctx auth-identity params))
207222

208223
(s/fdef get-person-async
209224
:args (s/cat :lrs (with-lrs-gen
210225
::p/agent-info-resource-async-instance)
226+
:ctx map?
211227
:auth-identity ::auth/identity
212228
:params ::p/get-person-params)
213229
:ret ::p/get-person-async-ret)
@@ -221,51 +237,55 @@
221237

222238
(defn store-statements
223239
"Store statements and attachments in the LRS"
224-
[lrs auth-identity statements attachments]
240+
[lrs ctx auth-identity statements attachments]
225241
(p/try-sync
226-
(p/-store-statements lrs auth-identity statements attachments)))
242+
(p/-store-statements lrs ctx auth-identity statements attachments)))
227243

228244
(s/fdef store-statements
229245
:args (s/cat :lrs (with-lrs-gen ::p/statements-resource-instance)
246+
:ctx map?
230247
:auth-identity ::auth/identity
231248
:statements ::xs/statements
232249
:attachments ::ss/attachments)
233250
:ret ::p/store-statements-ret)
234251

235252
(defn store-statements-async
236253
"Store statements and attachments in the LRS"
237-
[lrs auth-identity statements attachments]
238-
(p/-store-statements-async lrs auth-identity statements attachments))
254+
[lrs ctx auth-identity statements attachments]
255+
(p/-store-statements-async lrs ctx auth-identity statements attachments))
239256

240257
(s/fdef store-statements-async
241258
:args (s/cat :lrs (with-lrs-gen
242259
::p/statements-resource-async-instance)
260+
:ctx map?
243261
:auth-identity ::auth/identity
244262
:statements ::xs/statements
245263
:attachments ::ss/attachments)
246264
:ret ::p/store-statements-async-ret)
247265

248266
(defn get-statements
249267
"Get statements from the LRS"
250-
[lrs auth-identity params ltags]
268+
[lrs ctx auth-identity params ltags]
251269
(p/try-sync
252-
(p/-get-statements lrs auth-identity params ltags)))
270+
(p/-get-statements lrs ctx auth-identity params ltags)))
253271

254272
(s/fdef get-statements
255273
:args (s/cat :lrs (with-lrs-gen ::p/statements-resource-instance)
274+
:ctx map?
256275
:auth-identity ::auth/identity
257276
:params ::p/get-statements-params
258277
:ltags (s/coll-of ::xs/language-tag))
259278
:ret ::p/get-statements-ret)
260279

261280
(defn get-statements-async
262281
"Get statements from the LRS"
263-
[lrs auth-identity params ltags]
264-
(p/-get-statements-async lrs auth-identity params ltags))
282+
[lrs ctx auth-identity params ltags]
283+
(p/-get-statements-async lrs ctx auth-identity params ltags))
265284

266285
(s/fdef get-statements-async
267286
:args (s/cat :lrs (with-lrs-gen
268287
::p/statements-resource-async-instance)
288+
:ctx map?
269289
:auth-identity ::auth/identity
270290
:params ::p/get-statements-params
271291
:ltags (s/coll-of ::xs/language-tag))

src/main/com/yetanalytics/lrs/impl/memory.cljc

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -882,31 +882,31 @@
882882
#?(:clj
883883
(def sync-lrs-input
884884
'(`~p/AboutResource
885-
(-get-about [_ _]
885+
(-get-about [_ _ _]
886886
(get-about state))
887887
`~p/StatementsResource
888-
(-store-statements [_ _ statements attachments]
888+
(-store-statements [_ _ _ statements attachments]
889889
(store-statements-sync state statements attachments))
890-
(-get-statements [_ _ params ltags]
890+
(-get-statements [_ _ _ params ltags]
891891
(get-statements-sync state xapi-path-prefix params ltags))
892892
(-consistent-through [_ _ _]
893893
(ss/now-stamp))
894894
`~p/DocumentResource
895-
(-set-document [lrs _ params document merge?]
895+
(-set-document [lrs _ _ params document merge?]
896896
(set-doc state params document merge?))
897-
(-get-document [_ _ params]
897+
(-get-document [_ _ _ params]
898898
(get-doc state params))
899-
(-get-document-ids [_ _ params]
899+
(-get-document-ids [_ _ _ params]
900900
(get-doc-ids state params))
901-
(-delete-document [lrs _ params]
901+
(-delete-document [lrs _ _ params]
902902
(delete-doc state params))
903-
(-delete-documents [lrs _ params]
903+
(-delete-documents [lrs _ _ params]
904904
(delete-docs state params))
905905
`~p/AgentInfoResource
906-
(-get-person [_ _ params]
906+
(-get-person [_ _ _ params]
907907
(get-person state params))
908908
`~p/ActivityInfoResource
909-
(-get-activity [_ _ params]
909+
(-get-activity [_ _ _ params]
910910
(get-activity state params))
911911
`~p/LRSAuth
912912
(-authenticate [lrs ctx]
@@ -917,31 +917,31 @@
917917
#?(:clj
918918
(def async-lrs-input
919919
'(`~p/AboutResourceAsync
920-
(-get-about-async [lrs auth-identity]
920+
(-get-about-async [lrs _ auth-identity]
921921
(a/go (get-about state)))
922922
`~p/StatementsResourceAsync
923-
(-store-statements-async [lrs auth-identity stmts attachments]
923+
(-store-statements-async [lrs _ auth-identity stmts attachments]
924924
(a/go (store-statements-sync state stmts attachments)))
925-
(-get-statements-async [_ _ params ltags]
925+
(-get-statements-async [_ _ _ params ltags]
926926
(get-statements-async state xapi-path-prefix params ltags))
927927
(-consistent-through-async [_ _ _]
928928
(a/go (ss/now-stamp)))
929929
`~p/DocumentResourceAsync
930-
(-set-document-async [lrs auth-identity params doc merge?]
930+
(-set-document-async [lrs _ auth-identity params doc merge?]
931931
(a/go (set-doc state params doc merge?)))
932-
(-get-document-async [lrs auth-identity params]
932+
(-get-document-async [lrs _ auth-identity params]
933933
(a/go (get-doc state params)))
934-
(-get-document-ids-async [lrs auth-identity params]
934+
(-get-document-ids-async [lrs _ auth-identity params]
935935
(a/go (get-doc-ids state params)))
936-
(-delete-document-async [lrs auth-identity params]
936+
(-delete-document-async [lrs _ auth-identity params]
937937
(a/go (delete-doc state params)))
938-
(-delete-documents-async [lrs auth-identity params]
938+
(-delete-documents-async [lrs _ auth-identity params]
939939
(a/go (delete-docs state params)))
940940
`~p/AgentInfoResourceAsync
941-
(-get-person-async [lrs auth-identity params]
941+
(-get-person-async [lrs _ auth-identity params]
942942
(a/go (get-person state params)))
943943
`~p/ActivityInfoResourceAsync
944-
(-get-activity-async [lrs auth-identity params]
944+
(-get-activity-async [lrs _ auth-identity params]
945945
(a/go (get-activity state params)))
946946
`~p/LRSAuthAsync
947947
(-authenticate-async [lrs ctx]

src/main/com/yetanalytics/lrs/pedestal/routes/about.cljc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@
2727
:keys [com.yetanalytics/lrs] :as ctx}]
2828
(if (p/about-resource-async? lrs)
2929
(a/go (get-response ctx
30-
(a/<! (lrs/get-about-async lrs auth-identity))))
31-
(get-response ctx (lrs/get-about lrs auth-identity))))})
30+
(a/<! (lrs/get-about-async lrs ctx auth-identity))))
31+
(get-response ctx (lrs/get-about lrs ctx auth-identity))))})

0 commit comments

Comments
 (0)