feat: Add del and add user scripts
This commit is contained in:
@@ -9,30 +9,31 @@ case $1 in
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
IFS=',' read user group <<< "$1"
|
IFS=',' read -r user group <<< "$1"
|
||||||
|
|
||||||
file=${2:-""}
|
file=${2:-""}
|
||||||
|
|
||||||
if [ -n "$file" ]; then
|
if [ -n "$file" ]; then
|
||||||
grep -q $user $file
|
if rg -q "$user" "$file"; then
|
||||||
if [ $? = 0 ]; then
|
|
||||||
echo "user $user already exists"
|
echo "user $user already exists"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "" >> $file
|
{
|
||||||
echo "user,$user,registered,user,$user,," >> $file
|
echo ""
|
||||||
echo "user,$user,active,user,$user,," >> $file
|
echo "user,\"$user\",registered,user,$user,,"
|
||||||
echo "user,$user,member,group,$group,," >> $file
|
echo "user,\"$user\",active,user,$user,,"
|
||||||
|
echo "user,\"$user\",member,group,$group,,"
|
||||||
|
} >> "$file"
|
||||||
|
|
||||||
fga tuple write user:$user registered user:$user
|
fga tuple write user:"$user" registered user:"$user"
|
||||||
fga tuple write user:$user active user:$user
|
fga tuple write user:"$user" active user:"$user"
|
||||||
fga tuple write user:$user member group:$group
|
fga tuple write user:"$user" member group:"$group"
|
||||||
elif [ $fga = true ]; then
|
elif [ "$fga" = true ]; then
|
||||||
echo "fga tuple write user:$user registered user:$user"
|
echo "fga tuple write user:\"$user\" registered user:\"$user\""
|
||||||
echo "fga tuple write user:$user active user:$user"
|
echo "fga tuple write user:\"$user\" active user:\"$user\""
|
||||||
echo "fga tuple write user:$user member group:$group"
|
echo "fga tuple write user:\"$user\" member group:\"$group\""
|
||||||
else
|
else
|
||||||
echo "user,$user,registered,user,$user,,"
|
echo "user,\"$user\",registered,user,\"$user\",,"
|
||||||
echo "user,$user,active,user,$user,,"
|
echo "user,\"$user\",active,user,\"$user\",,"
|
||||||
echo "user,$user,member,group,$group,,"
|
echo "user,\"$user\",member,group,\"$group\",,"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,27 +1,27 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
user=${1:-"unknown"}
|
user=${1:-"unknown"}
|
||||||
file=${2:-""}
|
group=${2:-"uknown"}
|
||||||
|
file=${3:-""}
|
||||||
|
|
||||||
if [ -n "$file" ]; then
|
if [ -n "$file" ]; then
|
||||||
grep -q $user $file
|
if rg -q "$user" "$file"; then
|
||||||
if [ $? = 1 ]; then
|
echo "user \"$user\" doesn't exists"
|
||||||
echo "user $user doesn't exists"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
sed -n "/$user/{p; d}" $file
|
sed -n "/$user/{p; d}" "$file"
|
||||||
echo "Are you sure? (y/n)"
|
echo "Are you sure? (y/n)"
|
||||||
read yesno
|
read -r yesno
|
||||||
case $yesno in
|
case $yesno in
|
||||||
y|yes)
|
y|yes)
|
||||||
sed -i "/$user/d" $file
|
sed -i "/$user/d" "$file"
|
||||||
fga tuple delete user:$user registered user:$user
|
fga tuple delete user:"$user" registered user:"$user"
|
||||||
fga tuple delete user:$user active user:$user
|
fga tuple delete user:"$user" active user:"$user"
|
||||||
fga tuple delete user:$user member group:$group
|
fga tuple delete user:"$user" member group:"$group"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
echo "fga tuple delete user:$user registered user:$user"
|
echo "fga tuple delete user:\"$user\" registered user:\"$user\""
|
||||||
echo "fga tuple delete user:$user active user:$user"
|
echo "fga tuple delete user:\"$user\" active user:\"$user\""
|
||||||
echo "fga tuple delete user:$user member group:$group"
|
echo "fga tuple delete user:\"$user\" member group:\"$group\""
|
||||||
fi
|
fi
|
||||||
|
|||||||
21
shell.nix
21
shell.nix
@@ -2,9 +2,30 @@
|
|||||||
sources ? import ./npins,
|
sources ? import ./npins,
|
||||||
pkgs ? import sources.nixpkgs { },
|
pkgs ? import sources.nixpkgs { },
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
addUser = pkgs.writeShellApplication rec {
|
||||||
|
name = "deluser";
|
||||||
|
runtimeInputs = [
|
||||||
|
pkgs.openfga-cli
|
||||||
|
pkgs.ripgrep
|
||||||
|
pkgs.sedutil
|
||||||
|
];
|
||||||
|
text = builtins.readFile ./scripts/${name}.sh;
|
||||||
|
};
|
||||||
|
delUser = pkgs.writeShellApplication rec {
|
||||||
|
name = "adduser";
|
||||||
|
runtimeInputs = [
|
||||||
|
pkgs.openfga-cli
|
||||||
|
pkgs.ripgrep
|
||||||
|
];
|
||||||
|
text = builtins.readFile ./scripts/${name}.sh;
|
||||||
|
};
|
||||||
|
in
|
||||||
pkgs.mkShellNoCC {
|
pkgs.mkShellNoCC {
|
||||||
packages = [
|
packages = [
|
||||||
pkgs.openfga-cli
|
pkgs.openfga-cli
|
||||||
|
addUser
|
||||||
|
delUser
|
||||||
];
|
];
|
||||||
FGA_API_URL = "https://openfga.srv.oceanbox.io";
|
FGA_API_URL = "https://openfga.srv.oceanbox.io";
|
||||||
FGA_STORE_ID = "01JKTZXMP7ANN4GG2P5W8Y56M6";
|
FGA_STORE_ID = "01JKTZXMP7ANN4GG2P5W8Y56M6";
|
||||||
|
|||||||
Reference in New Issue
Block a user