Merge pull request 'development_username' (#4) from development_username into main

Reviewed-on: #4
This commit is contained in:
mik-tf 2024-10-03 06:54:33 +00:00
commit 25901d9f8c

41
flist.v
View File

@ -88,17 +88,6 @@ fn uninstall() {
fn login() {
mut token_exists := os.exists(token_file)
mut docker_logged_in := false
docker_user_result := os.execute("sudo docker system info | grep 'Username' | cut -d ' ' -f 3")
if docker_user_result.exit_code == 0 && docker_user_result.output.trim_space() != '' {
docker_logged_in = true
}
if token_exists && docker_logged_in {
info_message('You are already logged in to Docker Hub and your Flist Hub token is present.')
return
}
if !token_exists {
tfhub_token := os.input('Please enter your tfhub token: ')
@ -108,31 +97,23 @@ fn login() {
info_message('Your Flist Hub token is already saved.')
}
if !docker_logged_in {
info_message('Logging in to Docker Hub...')
exit_code := os.system('sudo docker login')
if exit_code == 0 {
success_message('Successfully logged in to Docker Hub.')
} else {
error_message('Failed to log in to Docker Hub.')
return
}
} else {
info_message('Already logged in to Docker Hub.')
result := os.system('sudo docker login')
if result == 0 {
info_message('\nYou are already logged in to Docker.')
}
success_message('Login process completed.')
}
fn logout() {
if !os.exists(token_file) {
error_message('You are not logged in.')
return
if os.exists(token_file) {
os.rm(token_file) or {panic(err)}
success_message('Your Flist Hub Token has been removed')
} else {
info_message('Your Flist Hub Token was already not present.')
}
os.rm(token_file) or { panic(err) }
info_message('Logging out from Docker Hub...')
exit_code := os.system('sudo docker logout')
if exit_code != 0 {
error_message('Failed to log out from Docker Hub.')
@ -142,9 +123,9 @@ fn logout() {
}
fn push(tag string) {
docker_user_result := os.execute("sudo docker system info | grep 'Username' | cut -d ' ' -f 3")
docker_user_result := os.execute('docker-credential-$(jq -r .credsStore ~/.docker/config.json) list | jq -r \'. | to_entries[] | select(.key | contains("docker.io")) | last(.value)\' | head -n 1')
if docker_user_result.exit_code != 0 || docker_user_result.output.trim_space() == '' {
error_message('Failed to get Docker username. Please ensure you are logged in to Docker.')
error_message('Failed to get Docker username.')
exit(1)
}