;; Events service — inter-service action endpoints ;; ;; Each defaction replaces a Python handler in bp/actions/routes.py. ;; The (service ...) primitive calls the registered CalendarService method ;; with g.s (async session) + keyword args. (defaction adjust-ticket-quantity (&key entry-id count user-id session-id ticket-type-id) "Add or remove tickets for a calendar entry." (do (service "calendar" "adjust-ticket-quantity" :entry-id entry-id :count count :user-id user-id :session-id session-id :ticket-type-id ticket-type-id) {"ok" true})) (defaction claim-entries-for-order (&key order-id user-id session-id page-post-id) "Claim pending calendar entries for an order." (do (service "calendar" "claim-entries-for-order" :order-id order-id :user-id user-id :session-id session-id :page-post-id page-post-id) {"ok" true})) (defaction claim-tickets-for-order (&key order-id user-id session-id page-post-id) "Claim pending tickets for an order." (do (service "calendar" "claim-tickets-for-order" :order-id order-id :user-id user-id :session-id session-id :page-post-id page-post-id) {"ok" true})) (defaction confirm-entries-for-order (&key order-id user-id session-id) "Confirm calendar entries after payment." (do (service "calendar" "confirm-entries-for-order" :order-id order-id :user-id user-id :session-id session-id) {"ok" true})) (defaction confirm-tickets-for-order (&key order-id) "Confirm tickets after payment." (do (service "calendar" "confirm-tickets-for-order" :order-id order-id) {"ok" true})) (defaction toggle-entry-post (&key entry-id content-type content-id) "Toggle association between a calendar entry and a content item." (let ((is-associated (service "calendar" "toggle-entry-post" :entry-id entry-id :content-type content-type :content-id content-id))) {"is_associated" is-associated})) (defaction adopt-entries-for-user (&key user-id session-id) "Transfer anonymous calendar entries to a logged-in user." (do (service "calendar" "adopt-entries-for-user" :user-id user-id :session-id session-id) {"ok" true})) (defaction adopt-tickets-for-user (&key user-id session-id) "Transfer anonymous tickets to a logged-in user." (do (service "calendar" "adopt-tickets-for-user" :user-id user-id :session-id session-id) {"ok" true}))