18 lines
474 B
Crystal
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
|