diff --git a/app/api/repp/api.rb b/app/api/repp/api.rb index 9e6e1426f..f80c0dc5b 100644 --- a/app/api/repp/api.rb +++ b/app/api/repp/api.rb @@ -12,5 +12,6 @@ module Repp end mount Repp::DomainV1 + mount Repp::ContactV1 end end diff --git a/app/api/repp/contact_v1.rb b/app/api/repp/contact_v1.rb new file mode 100644 index 000000000..26c06796a --- /dev/null +++ b/app/api/repp/contact_v1.rb @@ -0,0 +1,16 @@ +module Repp + class ContactV1 < Grape::API + version 'v1', using: :path + + resource :contacts do + desc 'Return list of contact' + get '/' do + contacts = current_user.registrar.contacts.page(params[:page]) + { + contacts: contacts, + total_pages: contacts.total_pages + } + end + end + end +end diff --git a/config/initializers/reload_api.rb b/config/initializers/reload_api.rb new file mode 100644 index 000000000..17e8bddc6 --- /dev/null +++ b/config/initializers/reload_api.rb @@ -0,0 +1,11 @@ +if Rails.env.development? + ActiveSupport::Dependencies.explicitly_unloadable_constants << 'Repp::API' + + api_files = Dir[Rails.root.join('app', 'api', '**', '*.rb')] + api_reloader = ActiveSupport::FileUpdateChecker.new(api_files) do + Rails.application.reload_routes! + end + ActionDispatch::Callbacks.to_prepare do + api_reloader.execute_if_updated + end +end