iteration
This commit is contained in:
@@ -158,4 +158,63 @@ while true do
|
||||
rednet.send(client_id, "invalid token", "auth")
|
||||
end
|
||||
end
|
||||
|
||||
if request.action == "check_group" then
|
||||
if request.username == nil or request.group == nil then
|
||||
rednet.send(client_id, "invalid request", "auth")
|
||||
end
|
||||
|
||||
if data.users[request.username].groups == nil then
|
||||
rednet.send(client_id, false, "auth")
|
||||
else
|
||||
rednet.send(client_id, data.users[request.username].groups[request.group] ~= nil, "auth")
|
||||
end
|
||||
end
|
||||
|
||||
if request.action == "list_groups" then
|
||||
if request.username == nil then
|
||||
rednet.send(client_id, "invalid request", "auth")
|
||||
end
|
||||
|
||||
if data.users[request.username].groups == nil then
|
||||
rednet.send(client_id, {}, "auth")
|
||||
else
|
||||
rednet.send(client_id, data.users[request.username].groups, "auth")
|
||||
end
|
||||
end
|
||||
|
||||
-- Only if in group admin
|
||||
if request.action == "add_group" then
|
||||
if request.username == nil or request.group == nil or request.token == nil then
|
||||
rednet.send(client_id, "invalid request", "auth")
|
||||
else
|
||||
local found = false
|
||||
local acting_user = nil
|
||||
for user, userdata in pairs(data.users) do
|
||||
if userdata.token == request.token then
|
||||
acting_user = user
|
||||
found = true
|
||||
end
|
||||
end
|
||||
|
||||
if not found then
|
||||
rednet.send(client_id, "invalid token", "auth")
|
||||
elseif data.users[acting_user].groups["admin"] == nil then
|
||||
rednet.send(client_id, "invalid privileges", "auth")
|
||||
else
|
||||
if data.users[request.username].groups == nil then
|
||||
data.users[request.username].groups = {}
|
||||
end
|
||||
|
||||
data.users[request.username].groups[request.group] = true
|
||||
|
||||
save_data()
|
||||
|
||||
rednet.send(client_id, "ok", "auth")
|
||||
log(request.username .. " added to group " .. request.group, "auth")
|
||||
else
|
||||
rednet.send(client_id, "invalid token", "auth")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user