dnsmanager/src/requests/zone.cr

36 lines
870 B
Crystal
Raw Normal View History

2023-05-07 17:28:11 +02:00
require "ipc/json"
require "grok"
class DNSManager::Request
IPC::JSON.message AddOrUpdateZone, 10 do
property zone : DNSManager::Storage::Zone
def initialize(@zone)
end
def handle(dnsmanagerd : DNSManager::Service, event : IPC::Event)
2023-05-07 17:28:11 +02:00
return Response::Success.new
user = dnsmanagerd.get_logged_user event
raise NotLoggedException.new if user.nil?
dnsmanagerd.storage.add_or_update_zone user.uid, zone
end
end
DNSManager.requests << AddOrUpdateZone
IPC::JSON.message DeleteZone, 11 do
property domain : String
def initialize(@domain)
end
def handle(dnsmanagerd : DNSManager::Service, event : IPC::Event)
2023-05-07 17:28:11 +02:00
return Response::Success.new
user = dnsmanagerd.get_logged_user event
raise NotLoggedException.new if user.nil?
dnsmanagerd.storage.delete_domain user.uid, @domain
end
end
DNSManager.requests << DeleteZone
end