Made login tool more robust
This commit is contained in:
@ -6,8 +6,8 @@
|
|||||||
# Performs one of the following actions based on first argument:
|
# Performs one of the following actions based on first argument:
|
||||||
# - (arg = NO ARGUMENT) Deactivate current virtual environment and return to $RD_PATH
|
# - (arg = NO ARGUMENT) Deactivate current virtual environment and return to $RD_PATH
|
||||||
# - (arg = project-name) Activate (and step into) project by name
|
# - (arg = project-name) Activate (and step into) project by name
|
||||||
# - (arg = 'login') Gets 1password token for current shell (useful for quick db access)
|
# - (arg = 'db') Connect to databases available to the 1-password api
|
||||||
# - (arg = 'db') Connect to databases available to the 1password api
|
# - (arg = 'op') 1pass login/logout tool for current shell (assists in quick db access)
|
||||||
# - (arg = 'refresh_db') Drops and recreates local POSTGRES databases
|
# - (arg = 'refresh_db') Drops and recreates local POSTGRES databases
|
||||||
# - (arg = 'cleanup') Performs safe-deletions on all projects' inactive branches
|
# - (arg = 'cleanup') Performs safe-deletions on all projects' inactive branches
|
||||||
# - (arg = 'status') Uses 'rockymadden/slack-cli' to update slack status
|
# - (arg = 'status') Uses 'rockymadden/slack-cli' to update slack status
|
||||||
@ -40,8 +40,8 @@ function rnt() {
|
|||||||
echo "Email not currently supported :c"
|
echo "Email not currently supported :c"
|
||||||
ERROR_CODE=5;
|
ERROR_CODE=5;
|
||||||
;;
|
;;
|
||||||
login | LOGIN | op-login | OP_LOGIN)
|
op | 1pass )
|
||||||
RENT_DYNAMICS_ONE_PASSWORD_LOGIN "${@:2}" || ERROR_CODE=6;
|
RENT_DYNAMICS_ONE_PASSWORD "${@:2}" || ERROR_CODE=6;
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
deactivate >/dev/null 2>/dev/null || deactivate_node >/dev/null 2>/dev/null;
|
deactivate >/dev/null 2>/dev/null || deactivate_node >/dev/null 2>/dev/null;
|
||||||
@ -68,10 +68,11 @@ _rnt () { # autocompletion
|
|||||||
case "$state" in
|
case "$state" in
|
||||||
project_or_command)
|
project_or_command)
|
||||||
compadd $(ls "$RD_PATH");
|
compadd $(ls "$RD_PATH");
|
||||||
compadd db refresh_db cleanup mail status login;
|
compadd db refresh_db cleanup mail status op;
|
||||||
;;
|
;;
|
||||||
command_args)
|
command_args)
|
||||||
[ $words[2] == 'status' ] && _RENT_DYNAMICS_UPDATE_SLACK_STATUS;
|
[ $words[2] == 'status' ] && _RENT_DYNAMICS_UPDATE_SLACK_STATUS;
|
||||||
|
[ $words[2] == 'op' ] && _RENT_DYNAMICS_ONE_PASSWORD;
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -205,4 +206,66 @@ _RENT_DYNAMICS_UPDATE_SLACK_STATUS() { # autocompletion
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
RENT_DYNAMICS_ONE_PASSWORD_LOGIN() { eval $(op signin rent_dynamics) }
|
RENT_DYNAMICS_ONE_PASSWORD() {
|
||||||
|
ERROR_CODE=0;
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
login )
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_LOGIN "${@:2}" || ERROR_CODE=1;
|
||||||
|
;;
|
||||||
|
logout | deactivate )
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_LOGOUT "${@:2}" || ERROR_CODE=2;
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_CHECK_LOGIN "${@:2}" || ERROR_CODE=3;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return "$ERROR_CODE";
|
||||||
|
}
|
||||||
|
_RENT_DYNAMICS_ONE_PASSWORD() { # autocompletion
|
||||||
|
compadd \
|
||||||
|
login deactivate\
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_LOGIN() {
|
||||||
|
ERROR_CODE=0;
|
||||||
|
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_IS_LOGGED_IN && {
|
||||||
|
echo 'Already logged in!';
|
||||||
|
} || {
|
||||||
|
unset OP_SESSION_rent_dynamics;
|
||||||
|
eval $(op signin rent_dynamics 2>/dev/null);
|
||||||
|
|
||||||
|
op list templates >/dev/null 2>&1 && {
|
||||||
|
echo 'Successfully logged in to 1-password!';
|
||||||
|
} || {
|
||||||
|
echo 'Failed to log in. Double check your password and op-cli settings.';
|
||||||
|
echo 'Have you run one-time setup? (`op signin rent-dynamics.1-password.com <your-email-address>`)';
|
||||||
|
ERROR_CODE=1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return "$ERROR_CODE";
|
||||||
|
}
|
||||||
|
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_LOGOUT() {
|
||||||
|
[ ! -z $OP_SESSION_rent_dynamics ] && {
|
||||||
|
unset OP_SESSION_rent_dynamics && echo 'Successfully logged out from 1-password';
|
||||||
|
} || {
|
||||||
|
echo 'Current shell is not logged in to 1-password';
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_CHECK_LOGIN() {
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_IS_LOGGED_IN \
|
||||||
|
&& echo 'Current shell is logged-in to rent_dynamics 1-password'\
|
||||||
|
|| echo 'Current shell is not logged-in rent_dynamics 1-password';
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
RENT_DYNAMICS_ONE_PASSWORD_IS_LOGGED_IN() {
|
||||||
|
op list templates >/dev/null 2>&1 && return 0 || return 1;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user