Class: V0::PrescriptionsController
- Inherits:
-
RxController
- Object
- ActionController::API
- ApplicationController
- RxController
- V0::PrescriptionsController
- Includes:
- Filterable
- Defined in:
- app/controllers/v0/prescriptions_controller.rb
Constant Summary
Constants inherited from ApplicationController
ApplicationController::VERSION_STATUS
Constants included from SignIn::Authentication
SignIn::Authentication::BEARER_PATTERN
Constants included from ExceptionHandling
ExceptionHandling::SKIP_SENTRY_EXCEPTION_TYPES
Instance Attribute Summary
Attributes inherited from ApplicationController
Instance Method Summary collapse
- #collection_resource ⇒ Object private
-
#index ⇒ Object
This index action supports various parameters described below, all are optional This comment can be removed once documentation is finalized.
- #refill ⇒ Object
- #show ⇒ Object
Methods included from Filterable
#filter_params, #filter_query, #valid_filters?, #validate_filter_params!
Methods inherited from RxController
#authorize, #client, #raise_access_denied
Methods included from JsonApiPaginationLinks
#base_path, #build_page_url, #next_link, #pagination_links, #prev_link
Methods included from MHVControllerConcerns
Methods inherited from ApplicationController
#clear_saved_form, #cors_preflight, #pagination_params, #render_job_id, #routing_error, #set_csrf_header
Methods included from Traceable
Methods included from SentryControllerLogging
#set_tags_and_extra_context, #tags_context, #user_context
Methods included from SentryLogging
#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger, #set_sentry_metadata
Methods included from Instrumentation
Methods included from SignIn::Authentication
#access_token, #access_token_authenticate, #authenticate, #authenticate_access_token, #bearer_token, #cookie_access_token, #handle_authenticate_error, #load_user, #load_user_object, #scrub_bearer_token, #validate_request_ip
Methods included from Headers
Methods included from ExceptionHandling
#render_errors, #report_mapped_exception, #report_original_exception, #skip_sentry_exception?, #skip_sentry_exception_types
Methods included from AuthenticationAndSSOConcerns
#authenticate, #clear_session, #extend_session!, #load_user, #log_sso_info, #render_unauthorized, #reset_session, #set_api_cookie!, #set_current_user, #set_session_expiration_header, #set_session_object, #sign_in_service_exp_time, #sign_in_service_session, #sso_cookie_content, #sso_logging_info, #validate_inbound_login_params, #validate_session
Methods included from SignIn::AudienceValidator
#authenticate, #validate_audience!
Instance Method Details
#collection_resource ⇒ Object (private)
41 42 43 44 45 46 47 48 |
# File 'app/controllers/v0/prescriptions_controller.rb', line 41 def collection_resource case params[:refill_status] when nil client.get_history_rxs when 'active' client.get_active_rxs end end |
#index ⇒ Object
This index action supports various parameters described below, all are optional This comment can be removed once documentation is finalized
14 15 16 17 18 19 20 21 22 23 |
# File 'app/controllers/v0/prescriptions_controller.rb', line 14 def index resource = collection_resource resource = params[:filter].present? ? resource.find_by(filter_params) : resource resource = resource.sort(params[:sort]) resource = resource.paginate(**pagination_params) links = pagination_links(resource) = { meta: resource., links: } render json: PrescriptionSerializer.new(resource.data, ) end |
#refill ⇒ Object
34 35 36 37 |
# File 'app/controllers/v0/prescriptions_controller.rb', line 34 def refill client.post_refill_rx(params[:id]) head :no_content end |
#show ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'app/controllers/v0/prescriptions_controller.rb', line 25 def show id = params[:id].try(:to_i) resource = client.get_rx(id) raise Common::Exceptions::RecordNotFound, id if resource.blank? = { meta: resource. } render json: PrescriptionSerializer.new(resource, ) end |