filestoraged/src/requests/login.cr

41 lines
777 B
Crystal
Raw Normal View History

require "uuid"
require "openssl"
require "json"
require "base64"
class FileStorage::Request
2020-10-20 19:15:50 +02:00
IPC::JSON.message Login, 0 do
property mid : String = ""
property token : String
def initialize(@token)
@mid = UUID.random.to_s
end
2023-02-09 23:28:10 +01:00
def handle(filestoraged : FileStorage::Service, event : IPC::Event)
logged_users = filestoraged.logged_users
user, _ = filestoraged.decode_token token
# FIXME: Maybe this should be moved to FileStorage::Service
2020-07-18 16:35:35 +02:00
fd = event.fd
filestoraged.logged_users[fd] = user
user_data = filestoraged.get_user_data user.uid
2020-10-20 23:57:37 +02:00
Response::Login.new @mid
end
end
FileStorage.requests << Login
end
class FileStorage::Response
2020-10-20 19:15:50 +02:00
IPC::JSON.message Login, 5 do
property mid : String
def initialize(@mid)
end
end
end