Skip to content

Commit

Permalink
don't track progress if polling for user
Browse files Browse the repository at this point in the history
  • Loading branch information
andrew committed Jun 9, 2016
1 parent 130fdc0 commit 68479d2
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 13 deletions.
3 changes: 2 additions & 1 deletion src/cljs/ulysses/config.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@

(def api-hostname
(if (or debug? (string/includes? hostname "staging"))
"http://ulysses-api-staging.core"
; "http://ulysses-api-staging.core"
"http://localhost:8000"
"http://ulysses-api-alpha.core"))

(def api-endpoint (str api-hostname "/api"))
Expand Down
12 changes: 6 additions & 6 deletions src/cljs/ulysses/handlers.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
scroll-to
request
update-db-pagination
verify-user-poll-response
debounce-request-grant-ops
debounce-request-faculties-pool]]))

Expand Down Expand Up @@ -87,19 +88,18 @@
(fn [db _]
(request db
[:login :poll]
:req-user? false
:require-user? false
:progress? false
:handler #(dispatch [:receive-user-poll %])
;; if server didn't respond or an error occurred, log out
:error-handler #(dispatch [:receive-user-poll false]))))

(register-handler
:receive-user-poll
(fn [db [_ response]]
(if-not (and (boolean? response) response)
;; not logged in anymore, so nil the user
(assoc db :user nil)
;; TODO request actual user
(assoc db :user true))))
(assoc db :user
(when (verify-user-poll-response response)
(:user response)))))

;; ----------------------------------------------------------------------------
;; raw data
Expand Down
25 changes: 19 additions & 6 deletions src/cljs/ulysses/utils.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,10 @@
(apply max)))
metrics)))

(defn verify-user-poll-response
[response]
(-> response :user :netid string/blank? not))

;; ----------------------------------------------------------------------------
;; data transforms
;; ----------------------------------------------------------------------------
Expand Down Expand Up @@ -352,22 +356,30 @@

(defn request
"make an api request, with progress tracking"
[db endpoint & {:keys [verb params req-user? handler error-handler finish]
[db endpoint & {:keys [verb
params
require-user?
progress?
handler
error-handler
finish]
:or {verb :get
params nil
req-user? true
require-user? true
progress? true
handler noop
error-handler noop
finish noop}}]
; only allow requests if logged in or check is bypassed
(when (or (not req-user?) (:user db))
(let [progress-id (:next-progress-id db)
(when (or (not require-user?) (:user db))
(let [progress-id (when progress? (:next-progress-id db))
method (case verb :get ajax.core/GET
:post ajax.core/POST
:put ajax.core/PUT
:delete ajax.core/DELETE
ajax.core/GET)]
(dispatch [:progress progress-id 1])
(when progress?
(dispatch [:progress progress-id 1]))
(method
(string/join "/"
(cons config/api-endpoint
Expand All @@ -387,7 +399,8 @@
(error-handler e)) ; user
:finally
(fn [e]
(dispatch [:progress progress-id 100]) ; complete progress
(when progress?
(dispatch [:progress progress-id 100])) ; complete progress
(finish e))}))) ; user
db) ; (no direct db change)

Expand Down

0 comments on commit 68479d2

Please sign in to comment.