Module: API::Helpers::PersonalAccessTokensHelpers
- Extended by:
- Grape::API::Helpers
- Defined in:
- lib/api/helpers/personal_access_tokens_helpers.rb
Instance Method Summary collapse
- #find_token(id) ⇒ Object
- #finder_params(current_user) ⇒ Object
- #restrict_non_admins! ⇒ Object
- #revoke_token(token, group: nil) ⇒ Object
- #rotate_token(token, params) ⇒ Object
- #rotate_token_for_resource(token, resource, params) ⇒ Object
- #user(user_id) ⇒ Object
Instance Method Details
#find_token(id) ⇒ Object
69 70 71 |
# File 'lib/api/helpers/personal_access_tokens_helpers.rb', line 69 def find_token(id) PersonalAccessToken.find(id) || not_found! end |
#finder_params(current_user) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/api/helpers/personal_access_tokens_helpers.rb', line 38 def finder_params(current_user) user_param = if current_user.can_admin_all_resources? if params[:user_id].present? user = user(params[:user_id]) not_found! if user.nil? { user: user } else not_found! if params.key?(:user_id) {} end else { user: current_user, impersonation: false } end declared(params, include_missing: false).merge(user_param) end |
#restrict_non_admins! ⇒ Object
63 64 65 66 67 |
# File 'lib/api/helpers/personal_access_tokens_helpers.rb', line 63 def restrict_non_admins! return if params[:user_id].blank? unless Ability.allowed?(current_user, :read_user_personal_access_tokens, user(params[:user_id])) end |
#revoke_token(token, group: nil) ⇒ Object
73 74 75 76 77 |
# File 'lib/api/helpers/personal_access_tokens_helpers.rb', line 73 def revoke_token(token, group: nil) service = ::PersonalAccessTokens::RevokeService.new(current_user, token: token, group: group).execute service.success? ? no_content! : bad_request!(service.) end |
#rotate_token(token, params) ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/api/helpers/personal_access_tokens_helpers.rb', line 79 def rotate_token(token, params) service = ::PersonalAccessTokens::RotateService.new(current_user, token, nil, params).execute if service.success? status :ok service.payload[:personal_access_token] else bad_request!(service.) end end |
#rotate_token_for_resource(token, resource, params) ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/api/helpers/personal_access_tokens_helpers.rb', line 91 def rotate_token_for_resource(token, resource, params) response = if resource.is_a?(Project) ::ProjectAccessTokens::RotateService.new( current_user, token, resource, params).execute elsif resource.is_a?(Group) ::GroupAccessTokens::RotateService.new( current_user, token, resource, params).execute end if response.success? status :ok response.payload[:personal_access_token] else bad_request!(response.) end end |
#user(user_id) ⇒ Object
59 60 61 |
# File 'lib/api/helpers/personal_access_tokens_helpers.rb', line 59 def user(user_id) UserFinder.new(user_id).find_by_id end |