Class: Mks::Auth::UsersController
Instance Method Summary
collapse
#app_code, #current_user, #current_user_id, #logged_in?
Instance Method Details
#create ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'app/controllers/mks/auth/users_controller.rb', line 36
def create
@user = User.new(user_params)
app_module = ApplicationModule.find_by(code: params[:app_module])
@user.application_module_id = app_module.id
if @user.save
response = { success: true, message: 'User saved successfully' }
else
errors = Mks::Common::Util.error_messages @user, 'User'
response = { success: false, errors: errors }
end
render json: response
end
|
#index ⇒ Object
7
8
9
10
11
|
# File 'app/controllers/mks/auth/users_controller.rb', line 7
def index
@users = ApplicationModule.find_by(code: params[:app_module]).users
response = { success: true, data: @users }
render json: response
end
|
#login ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
|
# File 'app/controllers/mks/auth/users_controller.rb', line 59
def login
user = User.find_by(email: auth_params[:email])
if user.authenticate(auth_params[:password]) &&
user.has_module(auth_params[:app_module])
jwt = TokenAuth.issue(user.to_token_payload)
render json: { jwt: jwt }
else
render json: {}, status: 400
end
end
|
#roles ⇒ Object
13
14
15
16
17
18
|
# File 'app/controllers/mks/auth/users_controller.rb', line 13
def roles
user = User.find(params[:id])
data = user.roles
response = { success: true, data: data }
render json: response
end
|
#save_selected_roles ⇒ Object
28
29
30
31
32
33
34
|
# File 'app/controllers/mks/auth/users_controller.rb', line 28
def save_selected_roles
@user.roles.delete_all
selected = save_selected_roles_params['roles'].select { |r| r['selected'] }.map{ |r| r['id'] }
roles = UserRole.where(id: selected)
@user.roles << roles
render json: { success: true }
end
|
#update ⇒ Object
49
50
51
52
53
54
55
56
57
|
# File 'app/controllers/mks/auth/users_controller.rb', line 49
def update
if @user.update(user_params)
response = { success: true, message: 'User updated successfully' }
else
errors = Mks::Common::Util.error_messages @user, 'User'
response = { success: false, errors: errors }
end
render json: response
end
|
#user_roles ⇒ Object
A method to fetch all roles, with roles of a user marked as selected
22
23
24
25
26
|
# File 'app/controllers/mks/auth/users_controller.rb', line 22
def user_roles
all_roles = UserRole.joins(:application_module).where(mks_auth_application_modules: { code: app_code })
roles = all_roles.map { |r| { id: r.id, name: r.name, selected: @user.roles.include?(r) } }
render json: roles
end
|