authd/src/requests/list.cr

18 lines
474 B
Crystal

class AuthD::Request
IPC::JSON.message ListUsers, 8 do
def initialize()
end
def handle(authd : AuthD::Service, fd : Int32)
logged_user = authd.get_logged_user_full? fd
return Response::Error.new "you must be logged" if logged_user.nil?
# Test if the user is a moderator.
logged_user.assert_permission("authd", "*", User::PermissionLevel::Read)
Response::UsersList.new authd.users.to_h.map &.[1].to_public
end
end
AuthD.requests << ListUsers
end