mirror of
https://github.com/internetee/registry.git
synced 2025-06-05 12:17:30 +02:00
refactoring
This commit is contained in:
parent
a87fd6a8b7
commit
ece988fca1
6 changed files with 95 additions and 53 deletions
|
@ -7,58 +7,58 @@ module Api
|
|||
before_action :authenticate_user
|
||||
|
||||
def index
|
||||
login = @current_user
|
||||
registrar = @current_user.registrar
|
||||
login = @current_user
|
||||
registrar = @current_user.registrar
|
||||
|
||||
# rubocop:disable Style/AndOr
|
||||
render_success(data: nil) and return unless login
|
||||
# rubocop:enable Style/AndOr
|
||||
# rubocop:disable Style/AndOr
|
||||
render_success(data: nil) and return unless login
|
||||
# rubocop:enable Style/AndOr
|
||||
|
||||
data = set_values_to_data(login: login, registrar: registrar)
|
||||
data = set_values_to_data(login: login, registrar: registrar)
|
||||
|
||||
render_success(data: data)
|
||||
end
|
||||
render_success(data: data)
|
||||
end
|
||||
|
||||
private
|
||||
private
|
||||
|
||||
def authenticate_user
|
||||
username, password = Base64.urlsafe_decode64(basic_token).split(':')
|
||||
@current_user ||= ApiUser.find_by(username: username, plain_text_password: password)
|
||||
def authenticate_user
|
||||
username, password = Base64.urlsafe_decode64(basic_token).split(':')
|
||||
@current_user ||= ApiUser.find_by(username: username, plain_text_password: password)
|
||||
|
||||
return if @current_user
|
||||
return if @current_user
|
||||
|
||||
raise(ArgumentError)
|
||||
rescue NoMethodError, ArgumentError
|
||||
@response = { code: 2202, message: 'Invalid authorization information' }
|
||||
render(json: @response, status: :unauthorized)
|
||||
end
|
||||
raise(ArgumentError)
|
||||
rescue NoMethodError, ArgumentError
|
||||
@response = { code: 2202, message: 'Invalid authorization information' }
|
||||
render(json: @response, status: :unauthorized)
|
||||
end
|
||||
|
||||
def basic_token
|
||||
pattern = /^Basic /
|
||||
header = request.headers['Authorization']
|
||||
header = header.gsub(pattern, '') if header&.match(pattern)
|
||||
header.strip
|
||||
end
|
||||
def basic_token
|
||||
pattern = /^Basic /
|
||||
header = request.headers['Authorization']
|
||||
header = header.gsub(pattern, '') if header&.match(pattern)
|
||||
header.strip
|
||||
end
|
||||
|
||||
def set_values_to_data(login:, registrar:)
|
||||
data = login.as_json(only: %i[id
|
||||
username
|
||||
name
|
||||
uuid
|
||||
roles
|
||||
accreditation_date
|
||||
accreditation_expire_date])
|
||||
data[:registrar_name] = registrar.name
|
||||
data[:registrar_reg_no] = registrar.reg_no
|
||||
data
|
||||
end
|
||||
|
||||
def render_success(code: nil, message: nil, data: nil)
|
||||
@response = { code: code || 1000, message: message || 'Command completed successfully',
|
||||
data: data || {} }
|
||||
def set_values_to_data(login:, registrar:)
|
||||
data = login.as_json(only: %i[id
|
||||
username
|
||||
name
|
||||
uuid
|
||||
roles
|
||||
accreditation_date
|
||||
accreditation_expire_date])
|
||||
data[:registrar_name] = registrar.name
|
||||
data[:registrar_reg_no] = registrar.reg_no
|
||||
data
|
||||
end
|
||||
|
||||
render(json: @response, status: :ok)
|
||||
end
|
||||
def render_success(code: nil, message: nil, data: nil)
|
||||
@response = { code: code || 1000, message: message || 'Command completed successfully',
|
||||
data: data || {} }
|
||||
|
||||
render(json: @response, status: :ok)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,7 +17,7 @@ module Api
|
|||
|
||||
private
|
||||
|
||||
def check_ip_whitelist
|
||||
def check_ip_whitelist
|
||||
allowed_ips = ENV['accr_center_api_auth_allowed_ips'].to_s.split(',').map(&:strip)
|
||||
return if allowed_ips.include?(request.ip) || Rails.env.development?
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
require 'serializers/repp/domain'
|
||||
require 'serializers/repp/contact'
|
||||
|
||||
module Api
|
||||
module V1
|
||||
|
@ -9,7 +9,8 @@ module Api
|
|||
|
||||
if @contact
|
||||
render json: { contact: Serializers::Repp::Contact.new(@contact,
|
||||
show_address: false).to_json }, status: :found
|
||||
show_address: false).to_json },
|
||||
status: :found
|
||||
else
|
||||
render json: { errors: 'Contact not found' }, status: :not_found
|
||||
end
|
||||
|
|
|
@ -9,7 +9,8 @@ module Api
|
|||
|
||||
if @domain
|
||||
render json: { domain: Serializers::Repp::Domain.new(@domain,
|
||||
sponsored: true).to_json }, status: :found
|
||||
sponsored: true).to_json },
|
||||
status: :found
|
||||
else
|
||||
render json: { errors: 'Domain not found' }, status: :not_found
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue