iteration

This commit is contained in:
2023-10-08 04:44:58 -04:00
parent 282f209217
commit 9ed504bb5f
3 changed files with 192 additions and 39 deletions

109
lib/auth.lua Normal file
View File

@ -0,0 +1,109 @@
settings.define("auth.token", {
description = "Authentication token",
type = "number",
default = -1
})
settings.define("auth.server", {
description = "Authentication server",
type = "string",
default = "auth.box"
})
function get_token()
return settings.get("auth.token")
end
function check_user_group(username, group)
local data = {
["action"] = "check_group",
["username"] = username,
["group"] = group
}
rednet.send(auth_server_id, data, "auth")
while true do
id, msg = rednet.receive("auth")
if id == auth_server_id then
if msg == "invalid request" then
io.write("Invalid request\n")
return
elseif msg == "user not found" then
io.write("User not found\n")
return
elseif msg == "invalid token" then
io.write("Invalid token\n")
return
elseif msg == "invalid group" then
io.write("Invalid group\n")
return
elseif msg == "ok" then
return true
else
return false
end
end
end
end
function list_user_groups(username)
local data = {
["action"] = "list_groups",
["username"] = username
}
rednet.send(auth_server_id, data, "auth")
while true do
id, msg = rednet.receive("auth")
if id == auth_server_id then
if msg == "invalid request" then
io.write("Invalid request\n")
return
elseif msg == "user not found" then
io.write("User not found\n")
return
elseif msg == "invalid token" then
io.write("Invalid token\n")
return
else
return msg
end
end
end
end
function add_user_to_group(username, group)
local data = {
["action"] = "add_group",
["username"] = username,
["group"] = group,
["token"] = get_token()
}
rednet.send(auth_server_id, data, "auth")
while true do
id, msg = rednet.receive("auth")
if id == auth_server_id then
if msg == "invalid request" then
io.write("Invalid request\n")
return
elseif msg == "user not found" then
io.write("User not found\n")
return
elseif msg == "invalid token" then
io.write("Invalid token\n")
return
elseif msg == "invalid privileges" then
io.write("Invalid privileges\n")
return
elseif msg == "ok" then
return
else
return
end
end
end
end