dnsmanager/src/requests/token.cr

33 lines
783 B
Crystal

require "ipc/json"
require "grok"
class DNSManager::Request
IPC::JSON.message NewToken, 18 do
property domain : String
property rrid : UInt32
def initialize(@domain, @rrid)
end
def handle(dnsmanagerd : DNSManager::Service, event : IPC::Event) : IPC::JSON
user = dnsmanagerd.get_logged_user event
return Response::ErrorUserNotLogged.new unless user
dnsmanagerd.storage.new_token user.uid, @domain, @rrid
end
end
DNSManager.requests << NewToken
IPC::JSON.message UseToken, 19 do
property token : String
property address : String
def initialize(@token, @address)
end
def handle(dnsmanagerd : DNSManager::Service, event : IPC::Event) : IPC::JSON
dnsmanagerd.storage.use_token @token, @address
end
end
DNSManager.requests << UseToken
end