37 lines
1.3 KiB
Ruby
37 lines
1.3 KiB
Ruby
module JamRuby
|
|
class IcecastAdminAuthentication < ActiveRecord::Base
|
|
|
|
|
|
has_many :servers, :class_name => "JamRuby::IcecastServer", :inverse_of => :admin_auth, :foreign_key => "admin_auth_id"
|
|
has_many :templates, :class_name => "JamRuby::IcecastTemplate", :inverse_of => :admin_auth, :foreign_key => "admin_auth_id"
|
|
|
|
validates :source_pass, presence: true, length: {minimum: 5}
|
|
validates :admin_pass, presence: true, length: {minimum: 5}
|
|
validates :relay_user, presence: true, length: {minimum: 5}
|
|
validates :relay_pass, presence: true, length: {minimum: 5}
|
|
validates :admin_user, presence: true, length: {minimum: 5}
|
|
|
|
before_destroy :poke_config
|
|
after_save :poke_config
|
|
|
|
def poke_config
|
|
servers.update_all(config_changed: 1)
|
|
templates.each { |template| template.servers.update_all(config_changed: 1) }
|
|
end
|
|
|
|
def to_s
|
|
"admin_user=#{admin_user} relay_user=#{relay_user}"
|
|
end
|
|
|
|
def dumpXml (builder)
|
|
|
|
builder.tag! 'authentication' do |auth|
|
|
auth.tag! 'source-password', source_pass
|
|
auth.tag! 'admin-user', admin_user
|
|
auth.tag! 'relay-user', relay_user
|
|
auth.tag! 'relay-password', relay_pass
|
|
auth.tag! 'admin-password', admin_pass
|
|
end
|
|
end
|
|
end
|
|
end |