File tree Expand file tree Collapse file tree 1 file changed +16
-5
lines changed Expand file tree Collapse file tree 1 file changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -28,13 +28,24 @@ export async function logout() {
2828 try {
2929 spinner = ora ( 'Logging out from Puter...' ) . start ( ) ;
3030 const token = config . get ( 'auth_token' ) ;
31- if ( ! token ) {
31+ const selected_profile = config . get ( 'selected_profile' ) ;
32+
33+ if ( token ) {
34+ // legacy auth
35+ config . clear ( ) ;
36+ spinner . succeed ( chalk . green ( 'Successfully logged out from Puter!' ) ) ;
37+ } else if ( selected_profile ) {
38+ // multi profile auth
39+ config . delete ( 'selected_profile' ) ;
40+ config . delete ( 'username' ) ;
41+ config . delete ( 'cwd' ) ;
42+
43+ const profiles = config . get ( 'profiles' ) ;
44+ config . set ( 'profiles' , profiles . filter ( profile => profile . uuid != selected_profile ) ) ;
45+ spinner . succeed ( chalk . green ( 'Successfully logged out from Puter!' ) ) ;
46+ } else {
3247 spinner . info ( chalk . yellow ( 'Already logged out' ) ) ;
33- return ;
3448 }
35-
36- config . clear ( ) ; // Remove all stored data
37- spinner . succeed ( chalk . green ( 'Successfully logged out from Puter!' ) ) ;
3849 } catch ( error ) {
3950 if ( spinner ) {
4051 spinner . fail ( chalk . red ( 'Failed to logout' ) ) ;
You can’t perform that action at this time.
0 commit comments