From 21db6ac4e9f664bec271840050c87d8e305cf479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christer=20War=C3=A9n?= Date: Thu, 22 Jan 2026 01:30:42 +0200 Subject: [PATCH] Update Login in Config function --- src/commands/auth/login.sh | 21 +++++++++++------- src/commands/auth/logout.sh | 3 +-- src/functions/config.sh | 20 +++++++++++++++-- wx | 44 +++++++++++++++++++++++++++---------- 4 files changed, 64 insertions(+), 24 deletions(-) diff --git a/src/commands/auth/login.sh b/src/commands/auth/login.sh index b928ed8..91bfea6 100644 --- a/src/commands/auth/login.sh +++ b/src/commands/auth/login.sh @@ -12,7 +12,7 @@ wx-login(){ elif [[ ! -z ${args['token']} ]] then AUTH_METHOD=token - elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] + elif [[ $(wxi-config login read) ]] then AUTH_METHOD=token elif [[ ! -z ${args['username']} ]] @@ -66,7 +66,7 @@ wx-login(){ fi TOKEN=$VAULT_LOGIN - wxi-config login + wxi-config login write ;; token) echo -n "Token: " @@ -76,9 +76,9 @@ wx-login(){ then TOKEN=${args['token']} fi - elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] + elif [[ $(wxi-config login read) ]] then - TOKEN=$(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) + TOKEN=$(wxi-config login read) else read -s TOKEN fi @@ -107,13 +107,18 @@ wx-login(){ then wxi-content status "Login" "Failed" wxi-footer - wx-logout &> /dev/null - wx-login - #wxi-stop + + if [[ $(wxi-config login read) ]] + then + wx-logout &> /dev/null + wx-login + else + wxi-stop + fi fi TOKEN=$VAULT_LOGIN - wxi-config login + wxi-config login write ;; *) wxi-content status "Login Type" "Unsupported" diff --git a/src/commands/auth/logout.sh b/src/commands/auth/logout.sh index 7315cb3..960034f 100644 --- a/src/commands/auth/logout.sh +++ b/src/commands/auth/logout.sh @@ -14,8 +14,7 @@ wx-logout(){ then wxi-header "$ORG_HEADER" h3 echo "Logging Out..." - TOKEN="" - wxi-config login + wxi-config login erase wxi-footer fi diff --git a/src/functions/config.sh b/src/functions/config.sh index 1cc6b8d..4229b4d 100644 --- a/src/functions/config.sh +++ b/src/functions/config.sh @@ -1,8 +1,24 @@ wxi-config(){ case $1 in login) - jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp - ;; + case $2 in + write) + jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp + ;; + read) + if [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] + then + cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token + else + return 1 + fi + ;; + erase) + TOKEN="" + wxi-config login write + ;; + esac + ;; *) echo -n "" ;; diff --git a/wx b/wx index 99d41ac..089138b 100755 --- a/wx +++ b/wx @@ -12,8 +12,24 @@ declare -Ax messages wxi-config(){ case $1 in login) - jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp - ;; + case $2 in + write) + jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp + ;; + read) + if [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] + then + cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token + else + return 1 + fi + ;; + erase) + TOKEN="" + wxi-config login write + ;; + esac + ;; *) echo -n "" ;; @@ -406,7 +422,7 @@ wx-login(){ elif [[ ! -z ${args['token']} ]] then AUTH_METHOD=token - elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] + elif [[ $(wxi-config login read) ]] then AUTH_METHOD=token elif [[ ! -z ${args['username']} ]] @@ -460,7 +476,7 @@ wx-login(){ fi TOKEN=$VAULT_LOGIN - wxi-config login + wxi-config login write ;; token) echo -n "Token: " @@ -470,9 +486,9 @@ wx-login(){ then TOKEN=${args['token']} fi - elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] + elif [[ $(wxi-config login read) ]] then - TOKEN=$(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) + TOKEN=$(wxi-config login read) else read -s TOKEN fi @@ -501,13 +517,18 @@ wx-login(){ then wxi-content status "Login" "Failed" wxi-footer - wx-logout &> /dev/null - wx-login - #wxi-stop + + if [[ $(wxi-config login read) ]] + then + wx-logout &> /dev/null + wx-login + else + wxi-stop + fi fi TOKEN=$VAULT_LOGIN - wxi-config login + wxi-config login write ;; *) wxi-content status "Login Type" "Unsupported" @@ -553,8 +574,7 @@ wx-logout(){ then wxi-header "$ORG_HEADER" h3 echo "Logging Out..." - TOKEN="" - wxi-config login + wxi-config login erase wxi-footer fi