diff options
Diffstat (limited to 'src/clj/queue_api/routes/services.clj')
-rw-r--r-- | src/clj/queue_api/routes/services.clj | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/clj/queue_api/routes/services.clj b/src/clj/queue_api/routes/services.clj index 0b26281..766f831 100644 --- a/src/clj/queue_api/routes/services.clj +++ b/src/clj/queue_api/routes/services.clj @@ -44,10 +44,14 @@ :return {:job_request {:job_id s/Any :agent_id String}} :body-params [agent_id :- String] :summary "Request a job to a given agent" - (let [j (db/dequeue-job agent_id)] - (if (nil? j) - (bad-request {:message "Agent does not exist"}) - (ok {:job_request {:job_id j :agent_id agent_id}})))) + + (let [a (agent agent_id)] + (if (nil? a) + (not-found {:message "Agent does not exist"})) + (let [j (db/dequeue-job agent_id)] + (if (nil? j) + (not-found {:message "There is no job available for given agent"}) + (ok {:job_request {:job_id j :agent_id agent_id}}))))) (GET "/" [] :return {:completed [String] |