feat: Update ParenScript users.lisp with API fixes and audio player color
- Fix user management API endpoints to match backend changes
- Add user-id to form data for role updates and activation/deactivation
- Change endpoints from /users/{id}/action to /user/action format
- Handle Radiance API data wrapping properly
- Add confirmation prompt for user activation
- Update audio player background color to match app panels (#1a2332)
Incorporates changes from main branch users.js updates
This commit is contained in:
parent
ed13589202
commit
070e8d8dac
|
|
@ -91,18 +91,21 @@
|
|||
;; Update user role
|
||||
(defun update-user-role (user-id new-role)
|
||||
(let ((form-data (ps:new (-form-data))))
|
||||
(ps:chain form-data (append "user-id" user-id))
|
||||
(ps:chain form-data (append "role" new-role))
|
||||
|
||||
(ps:chain
|
||||
(fetch (+ "/api/asteroid/users/" user-id "/role")
|
||||
(fetch "/api/asteroid/user/role"
|
||||
(ps:create :method "POST" :body form-data))
|
||||
(then (lambda (response) (ps:chain response (json))))
|
||||
(then (lambda (result)
|
||||
(if (= (ps:@ result status) "success")
|
||||
;; Handle Radiance API data wrapping
|
||||
(let ((data (or (ps:@ result data) result)))
|
||||
(if (= (ps:@ data status) "success")
|
||||
(progn
|
||||
(load-user-stats)
|
||||
(alert "User role updated successfully"))
|
||||
(alert (+ "Error updating user role: " (ps:@ result message))))))
|
||||
(alert (ps:@ data message)))
|
||||
(alert (+ "Error updating user role: " (ps:@ data message)))))))
|
||||
(catch (lambda (error)
|
||||
(ps:chain console (error "Error updating user role:" error))
|
||||
(alert "Error updating user role. Please try again."))))))
|
||||
|
|
@ -112,37 +115,52 @@
|
|||
(when (not (confirm "Are you sure you want to deactivate this user?"))
|
||||
(return))
|
||||
|
||||
(let ((form-data (ps:new (-form-data))))
|
||||
(ps:chain form-data (append "user-id" user-id))
|
||||
(ps:chain form-data (append "active" 0))
|
||||
|
||||
(ps:chain
|
||||
(fetch (+ "/api/asteroid/users/" user-id "/deactivate")
|
||||
(ps:create :method "POST"))
|
||||
(fetch "/api/asteroid/user/activate"
|
||||
(ps:create :method "POST" :body form-data))
|
||||
(then (lambda (response) (ps:chain response (json))))
|
||||
(then (lambda (result)
|
||||
(if (= (ps:@ result status) "success")
|
||||
;; Handle Radiance API data wrapping
|
||||
(let ((data (or (ps:@ result data) result)))
|
||||
(if (= (ps:@ data status) "success")
|
||||
(progn
|
||||
(load-users)
|
||||
(load-user-stats)
|
||||
(alert "User deactivated successfully"))
|
||||
(alert (+ "Error deactivating user: " (ps:@ result message))))))
|
||||
(alert (ps:@ data message)))
|
||||
(alert (+ "Error deactivating user: " (ps:@ data message)))))))
|
||||
(catch (lambda (error)
|
||||
(ps:chain console (error "Error deactivating user:" error))
|
||||
(alert "Error deactivating user. Please try again.")))))
|
||||
(alert "Error deactivating user. Please try again."))))))
|
||||
|
||||
;; Activate user
|
||||
(defun activate-user (user-id)
|
||||
(when (not (confirm "Are you sure you want to activate this user?"))
|
||||
(return))
|
||||
|
||||
(let ((form-data (ps:new (-form-data))))
|
||||
(ps:chain form-data (append "user-id" user-id))
|
||||
(ps:chain form-data (append "active" 1))
|
||||
|
||||
(ps:chain
|
||||
(fetch (+ "/api/asteroid/users/" user-id "/activate")
|
||||
(ps:create :method "POST"))
|
||||
(fetch "/api/asteroid/user/activate"
|
||||
(ps:create :method "POST" :body form-data))
|
||||
(then (lambda (response) (ps:chain response (json))))
|
||||
(then (lambda (result)
|
||||
(if (= (ps:@ result status) "success")
|
||||
;; Handle Radiance API data wrapping
|
||||
(let ((data (or (ps:@ result data) result)))
|
||||
(if (= (ps:@ data status) "success")
|
||||
(progn
|
||||
(load-users)
|
||||
(load-user-stats)
|
||||
(alert "User activated successfully"))
|
||||
(alert (+ "Error activating user: " (ps:@ result message))))))
|
||||
(alert (ps:@ data message)))
|
||||
(alert (+ "Error activating user: " (ps:@ data message)))))))
|
||||
(catch (lambda (error)
|
||||
(ps:chain console (error "Error activating user:" error))
|
||||
(alert "Error activating user. Please try again.")))))
|
||||
(alert "Error activating user. Please try again."))))))
|
||||
|
||||
;; Toggle create user form
|
||||
(defun toggle-create-user-form ()
|
||||
|
|
|
|||
|
|
@ -306,7 +306,7 @@
|
|||
:text-align center)
|
||||
|
||||
((:and audio |::-webkit-media-controls-panel|)
|
||||
:background-color "#1a1a1a")
|
||||
:background-color "#1a2332")
|
||||
|
||||
;; ((:and audio (:or |::-webkit-media-controls-mute-button|
|
||||
;; |::-webkit-media-controls-play-button|
|
||||
|
|
|
|||
Loading…
Reference in New Issue