Class: ApiEngineBase::UserController

Inherits:
ApplicationController show all
Includes:
SchemaHelper
Defined in:
app/controllers/api_engine_base/user_controller.rb

Constant Summary

Constants inherited from ApplicationController

ApplicationController::AUTHENTICATION_EXPIRE_HEADER, ApplicationController::AUTHENTICATION_HEADER, ApplicationController::AUTHENTICATION_WITH_RESET

Instance Method Summary collapse

Methods included from SchemaHelper

#invalid_arguments!, #schema_succesful!

Methods inherited from ApplicationController

#authenticate_user!, #authenticate_user_without_email_verification!, #authorize_user!, #current_user, #safe_boolean

Instance Method Details

#modifyObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/api_engine_base/user_controller.rb', line 14

def modify
  result = ApiEngineBase::UserAttributes::Modify.(user: current_user, **modify_params)
  if result.success?
    schema = ApiEngineBase::Schema::User.convert_user_object(user: current_user.reload)
    status = 201
    schema_succesful!(status:, schema:)
  else
    if result.invalid_arguments
      invalid_arguments!(
        status: 400,
        message: result.msg,
        argument_object: result.invalid_argument_hash,
        schema: ApiEngineBase::Schema::PlainText::LoginRequest
      )
    else
      status = 500
      schema = ApiEngineBase::Schema::Error::Base.new(status:, message: result.msg)
      render(json: schema.to_h, status:)
    end
  end
end

#showObject



9
10
11
12
# File 'app/controllers/api_engine_base/user_controller.rb', line 9

def show
  schema = ApiEngineBase::Schema::User.convert_user_object(user: current_user)
  schema_succesful!(status: 200, schema:)
end