mirror of
https://github.com/internetee/registry.git
synced 2025-07-03 09:43:36 +02:00
Rake task for making api log schema
This commit is contained in:
parent
d5a824064e
commit
7b920cac2f
6 changed files with 70 additions and 13 deletions
|
@ -9,7 +9,7 @@ module Epp::Common
|
|||
included do
|
||||
protect_from_forgery with: :null_session
|
||||
before_action :validate_request, only: [:proxy]
|
||||
after_action :log_to_epp_log
|
||||
after_action :write_to_epp_log
|
||||
|
||||
helper_method :current_epp_user
|
||||
end
|
||||
|
@ -114,15 +114,20 @@ module Epp::Common
|
|||
handle_errors and return unless send(validation_method)
|
||||
end
|
||||
|
||||
def log_to_epp_log
|
||||
def render_epp_response(*args)
|
||||
@response = render_to_string(*args)
|
||||
render xml: @response
|
||||
end
|
||||
|
||||
def write_to_epp_log
|
||||
ApiLog::EppLog.create!({
|
||||
request: params[:frame],
|
||||
request_command: params[:command],
|
||||
request_successful: epp_errors.empty?,
|
||||
request_object: OBJECT_TYPES[params_hash['epp']['xmlns:ns2']],
|
||||
response: @response,
|
||||
api_user_name: current_epp_user.try(:to_s),
|
||||
api_user_registrar: current_epp_user.try(:registrar).try(:to_s)
|
||||
api_user_name: @epp_user.try(:to_s) || current_epp_user.try(:to_s),
|
||||
api_user_registrar: @epp_user.try(:registrar).try(:to_s) || current_epp_user.try(:registrar).try(:to_s)
|
||||
})
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ class Epp::SessionsController < ApplicationController
|
|||
private
|
||||
|
||||
def hello
|
||||
render 'greeting'
|
||||
render_epp_response('greeting')
|
||||
end
|
||||
|
||||
def login
|
||||
|
@ -13,17 +13,18 @@ class Epp::SessionsController < ApplicationController
|
|||
|
||||
if @epp_user.try(:active)
|
||||
epp_session[:epp_user_id] = @epp_user.id
|
||||
render 'login_success'
|
||||
render_epp_response('login_success')
|
||||
else
|
||||
response.headers['X-EPP-Returncode'] = '2200'
|
||||
render 'login_fail'
|
||||
render_epp_response('login_fail')
|
||||
end
|
||||
end
|
||||
|
||||
def logout
|
||||
@epp_user = current_epp_user # cache current_epp_user for logging
|
||||
epp_session[:epp_user_id] = nil
|
||||
response.headers['X-EPP-Returncode'] = '1500'
|
||||
render 'logout'
|
||||
render_epp_response('logout')
|
||||
end
|
||||
|
||||
### HELPER METHODS ###
|
||||
|
|
|
@ -15,6 +15,7 @@ module Epp::PollHelper
|
|||
if @message.attached_obj_type == 'Keyrelay'
|
||||
@response = render_to_string('epp/poll/poll_keyrelay')
|
||||
render xml: @response
|
||||
# render 'epp/poll/poll_keyrelay'
|
||||
else
|
||||
render 'epp/poll/poll_req'
|
||||
end
|
||||
|
|
43
db/api_log_schema.rb
Normal file
43
db/api_log_schema.rb
Normal file
|
@ -0,0 +1,43 @@
|
|||
# encoding: UTF-8
|
||||
# This file is auto-generated from the current state of the database. Instead
|
||||
# of editing this file, please use the migrations feature of Active Record to
|
||||
# incrementally modify your database, and then regenerate this schema definition.
|
||||
#
|
||||
# Note that this schema.rb definition is the authoritative source for your
|
||||
# database schema. If you need to create the application database on another
|
||||
# system, you should be using db:schema:load, not running all the migrations
|
||||
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
||||
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 0) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
||||
create_table "epp_logs", force: true do |t|
|
||||
t.text "request"
|
||||
t.text "response"
|
||||
t.string "request_command"
|
||||
t.string "request_object"
|
||||
t.string "request_successful"
|
||||
t.string "api_user_name"
|
||||
t.string "api_user_registrar"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
create_table "repp_logs", force: true do |t|
|
||||
t.text "request"
|
||||
t.text "response"
|
||||
t.string "request_command"
|
||||
t.string "request_object"
|
||||
t.string "request_successful"
|
||||
t.string "api_user_name"
|
||||
t.string "api_user_registrar"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
end
|
|
@ -41,7 +41,6 @@ User.where(
|
|||
username: 'user1',
|
||||
password: 'test1',
|
||||
email: 'user1@example.ee',
|
||||
admin: true,
|
||||
identity_code: '37810013855',
|
||||
country: Country.where(name: 'Estonia').first
|
||||
).first_or_create
|
||||
|
@ -50,9 +49,7 @@ User.where(
|
|||
username: 'user2',
|
||||
password: 'test2',
|
||||
email: 'user2@example.ee',
|
||||
admin: false,
|
||||
identity_code: '37810010085',
|
||||
registrar_id: registrar1.id,
|
||||
country: Country.where(name: 'Estonia').first
|
||||
).first_or_create
|
||||
|
||||
|
@ -60,9 +57,7 @@ User.where(
|
|||
username: 'user3',
|
||||
password: 'test3',
|
||||
email: 'user3@example.ee',
|
||||
admin: false,
|
||||
identity_code: '37810010727',
|
||||
registrar_id: registrar2.id,
|
||||
country: Country.where(name: 'Estonia').first
|
||||
).first_or_create
|
||||
|
||||
|
|
12
lib/tasks/api_log.rake
Normal file
12
lib/tasks/api_log.rake
Normal file
|
@ -0,0 +1,12 @@
|
|||
namespace :api_log do
|
||||
namespace :schema do
|
||||
# desc 'Dump additional database schema'
|
||||
task :dump => [:environment] do
|
||||
filename = "#{Rails.root}/db/api_log_schema.rb"
|
||||
File.open(filename, 'w:utf-8') do |file|
|
||||
ActiveRecord::Base.establish_connection("api_log_#{Rails.env}")
|
||||
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue