Class: SMController
- Inherits:
-
ApplicationController
- Object
- ActionController::API
- ApplicationController
- SMController
- Includes:
- JsonApiPaginationLinks, MHVControllerConcerns
- Defined in:
- app/controllers/sm_controller.rb
Direct Known Subclasses
V0::AttachmentsController, V0::FoldersController, V0::MessageDraftsController, V0::MessagesController, V0::MessagingPreferencesController, V0::TriageTeamsController
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
- #authorize ⇒ Object protected
- #client ⇒ Object protected
- #raise_access_denied ⇒ Object protected
- #use_cache? ⇒ Boolean protected
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
#authorize ⇒ Object (protected)
16 17 18 |
# File 'app/controllers/sm_controller.rb', line 16 def raise_access_denied unless current_user.(:legacy_mhv_messaging, :access?) end |
#client ⇒ Object (protected)
12 13 14 |
# File 'app/controllers/sm_controller.rb', line 12 def client @client ||= SM::Client.new(session: { user_id: current_user.mhv_correlation_id }) end |
#raise_access_denied ⇒ Object (protected)
20 21 22 |
# File 'app/controllers/sm_controller.rb', line 20 def raise_access_denied raise Common::Exceptions::Forbidden, detail: 'You do not have access to messaging' end |
#use_cache? ⇒ Boolean (protected)
24 25 26 |
# File 'app/controllers/sm_controller.rb', line 24 def use_cache? params[:useCache]&.downcase == 'true' end |