mirror of
https://github.com/internetee/registry.git
synced 2025-08-19 07:53:51 +02:00
added cache aproach to registrant api response for domains
This commit is contained in:
parent
1deb6fa39f
commit
ae430b1b37
1 changed files with 9 additions and 6 deletions
|
@ -7,13 +7,14 @@ module Api
|
|||
before_action :set_tech_flag, only: [:show]
|
||||
|
||||
LIMIT_DOMAIN_TOTAL = 3000
|
||||
LIMIT_PARTIAL = 100
|
||||
|
||||
def index
|
||||
limit = params[:limit] || 200
|
||||
limit = params[:limit] || LIMIT_PARTIAL
|
||||
offset = params[:offset] || 0
|
||||
simple = params[:simple] == 'true' || false
|
||||
|
||||
if limit.to_i > 200 || limit.to_i < 1
|
||||
if limit.to_i > LIMIT_PARTIAL || limit.to_i < 1
|
||||
render(json: { errors: [{ limit: ['parameter is out of range'] }] },
|
||||
status: :bad_request) && return
|
||||
end
|
||||
|
@ -24,13 +25,15 @@ module Api
|
|||
end
|
||||
|
||||
domains = current_user_domains
|
||||
serialized_domains = domains.limit(limit).offset(offset).map do |item|
|
||||
serializer = Serializers::RegistrantApi::Domain.new(item, simplify: simple)
|
||||
serializer.to_json
|
||||
@domains = Rails.cache.fetch(domains) do
|
||||
domains.limit(limit).offset(offset).map do |item|
|
||||
serializer = Serializers::RegistrantApi::Domain.new(item, simplify: simple)
|
||||
serializer.to_json
|
||||
end
|
||||
end
|
||||
|
||||
render json: { total: current_user_domains_total_count, count: domains.count,
|
||||
domains: serialized_domains }
|
||||
domains: @domains }
|
||||
end
|
||||
|
||||
def show
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue