Class: ApiEngineBase::AdminController
- Inherits:
-
ApplicationController
- Object
- ActionController::API
- ApplicationController
- ApiEngineBase::AdminController
- Includes:
- SchemaHelper
- Defined in:
- app/controllers/api_engine_base/admin_controller.rb
Constant Summary
Constants inherited from ApplicationController
ApiEngineBase::ApplicationController::AUTHENTICATION_EXPIRE_HEADER, ApiEngineBase::ApplicationController::AUTHENTICATION_HEADER, ApiEngineBase::ApplicationController::AUTHENTICATION_WITH_RESET
Instance Method Summary collapse
- #impersonate ⇒ Object
- #modify ⇒ Object
- #modify_role ⇒ Object
-
#show ⇒ Object
Pagination is needed here.
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
#impersonate ⇒ Object
58 59 60 |
# File 'app/controllers/api_engine_base/admin_controller.rb', line 58 def impersonate # TODO: @matt-taylor end |
#modify ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/controllers/api_engine_base/admin_controller.rb', line 18 def modify result = ApiEngineBase::UserAttributes::Modify.(user:, admin_user:, **modify_params) if result.success? schema = ApiEngineBase::Schema::User.convert_user_object(user: 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 server_error!(result:) end end end |
#modify_role ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/controllers/api_engine_base/admin_controller.rb', line 38 def modify_role result = ApiEngineBase::UserAttributes::Roles.(user:, admin_user:, roles: params[:roles] || []) if result.success? schema = ApiEngineBase::Schema::User.convert_user_object(user: 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 server_error!(result:) end end end |
#show ⇒ Object
Pagination is needed here
12 13 14 15 16 |
# File 'app/controllers/api_engine_base/admin_controller.rb', line 12 def show schemafied_users = User.all.map { ApiEngineBase::Schema::User.convert_user_object(user: _1) } schema = ApiEngineBase::Schema::Admin::Users.new(users: schemafied_users) schema_succesful!(status: 200, schema:) end |