Reduce domains list API call

This commit is contained in:
Karl Erik Õunapuu 2020-11-30 10:31:46 +02:00
parent 556008debe
commit 7b33613941
No known key found for this signature in database
GPG key ID: C9DD647298A34764
2 changed files with 19 additions and 3 deletions

View file

@ -20,7 +20,7 @@ module Api
domains = current_user_domains
serialized_domains = domains.limit(limit).offset(offset).map do |item|
serializer = Serializers::RegistrantApi::Domain.new(item)
serializer = Serializers::RegistrantApi::Domain.new(item, simplify: true)
serializer.to_json
end
@ -31,7 +31,7 @@ module Api
@domain = current_user_domains.find_by(uuid: params[:uuid])
if @domain
serializer = Serializers::RegistrantApi::Domain.new(@domain)
serializer = Serializers::RegistrantApi::Domain.new(@domain, simplify: false)
render json: serializer.to_json
else
render json: { errors: [{ base: ['Domain not found'] }] }, status: :not_found

View file

@ -3,11 +3,27 @@ module Serializers
class Domain
attr_reader :domain
def initialize(domain)
def initialize(domain, simplify: false)
@domain = domain
@simplify = simplify
end
def to_json
if simplify
return {
id: domain.uuid,
name: domain.name,
registered_at: domain.registered_at,
valid_to: domain.valid_to,
registrant_verification_asked_at: domain.registrant_verification_asked_at,
statuses: domain.statuses,
registrar: {
name: domain.registrar.name,
website: domain.registrar.website
}
}
end
{
id: domain.uuid,
name: domain.name,