Skip to content

Commit 4ab9043

Browse files
committed
Authorize inspector when updating an inspection
1 parent f08d5c1 commit 4ab9043

File tree

5 files changed

+25
-11
lines changed

5 files changed

+25
-11
lines changed

src/madek/media_service/server/authentication/shared.clj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,3 @@
2727
:else false] :is_system_admin])
2828
(sql/join :people [:= :users.person_id :people.id])))
2929

30-
31-
(comment (sql-format user-base-query {:inline true}))

src/madek/media_service/server/authorization/main.clj

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,22 @@
2929
(defn check-system-admin [request]
3030
(get-in request [:authenticated-entity :is_system_admin]))
3131

32+
33+
(defn check-inspector-inspection-access-query [request]
34+
(-> (sql/select true)
35+
(sql/from :inspections)
36+
(sql/where [:in :inspections.state ["dispatched" "processing"]])
37+
(sql/where [:= :inspections.id (get-in request [:route :path-params :inspection-id])])
38+
(sql/where [:= :inspections.inspector_id (get-in request [:authenticated-entity :id])])))
39+
40+
(defn check-inspector-inspection-access
41+
[{tx :tx :as request}]
42+
(and
43+
(= :inspector (get-in request [:authenticated-entity :type]))
44+
(-> request check-inspector-inspection-access-query
45+
(sql-format :inline false)
46+
(->> (jdbc/query tx) first spy boolean))))
47+
3248
(defn check-inspector [request]
3349
(= :inspector (get-in request [:authenticated-entity :type])))
3450

@@ -50,7 +66,8 @@
5066
:permitted-user (case route-name
5167
:original-content (check-permitted-user-original request))
5268
:performing-inspector (case route-name
53-
:original-content (check-original-inspector-access request))
69+
:original-content (check-original-inspector-access request)
70+
:inspection (check-inspector-inspection-access request))
5471
:admin (check-admin request)
5572
:system-admin (check-system-admin request)))
5673

src/madek/media_service/server/resources/inspections/inspection/main.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
method :request-method :as request}]
2727
(case route-name
2828
:inspection (case method
29-
:patch (-> request get-inspection)
30-
:get (-> request update-inspection)
29+
:patch (-> request update-inspection)
30+
:get (-> request get-inspection)
3131
{:status 405})
3232
{:status 404}))

src/madek/media_service/server/resources/inspectors/inspector/main.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
(sql/on-conflict :id)
3434
(sql/do-update-set :description :enabled :public_key
3535
(sql/where [:= :inspectors.id inspector-id]))
36-
(sql-format :inline true)
36+
(sql-format :inline false)
3737
(->> (spy :info))
3838
(#(jdbc/execute! tx % {:return-keys true})))]
3939
{:body res}))

src/madek/media_service/utils/logging/core.cljc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@
66

77
(def DEFAULT_CONFIG
88
{:min-level [[#{
9-
;"madek.media-service.server.routing"
9+
;"madek.media-service.inspector.*"
10+
;"madek.media-service.server.authentication.jwt"
11+
;"madek.media-service.server.authorization.main"
1012
;"madek.media-service.server.resources.inspections.*"
1113
;"madek.media-service.server.resources.originals.original.*"
1214
;"madek.media-service.server.resources.settings.*"
13-
;"madek.media-service.server.authorization.main"
14-
;"madek.media-service.server.authentication.jwt"
15-
; "madek.media-service.inspector.*"
16-
"madek.media-service.server.authorization.main"
15+
;"madek.media-service.server.routing"
1716
"madek.media-service.server.resources.inspections.inspection.main"
1817
"madek.media-service.inspector.inspect.exif"
1918
} :debug]

0 commit comments

Comments
 (0)