mirror of
https://github.com/ClaytonWWilson/CS307-Team24.git
synced 2025-12-16 18:28:47 +00:00
Delete Account on UI can log the user out
This commit is contained in:
parent
bc0b2549b4
commit
ad853923c8
@ -166,34 +166,6 @@ exports.deleteUser = (req, res) => {
|
|||||||
res.status(500).send("Cannot get user");
|
res.status(500).send("Cannot get user");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//var user = firebase.auth().currentUser;
|
|
||||||
|
|
||||||
/*user.delete()
|
|
||||||
.then(function() {
|
|
||||||
console.log("User successfully deleted!");
|
|
||||||
res.status(200).send("Deleted user.");
|
|
||||||
return;
|
|
||||||
})
|
|
||||||
.catch(function(error) {
|
|
||||||
console.log("Error deleting user.", err);
|
|
||||||
res.status(500).send("Failed to delete user.");
|
|
||||||
});*/
|
|
||||||
|
|
||||||
/*admin.auth().getUserByEmail(req.body.email)
|
|
||||||
.then(userRecord => {
|
|
||||||
const uid = userRecord.uid;
|
|
||||||
return admin.auth().deleteUser(uid);
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
console.log("User successfully deleted!");
|
|
||||||
res.status(200).send("Deleted user.");
|
|
||||||
return;
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
console.log("Error deleting user.", err);
|
|
||||||
res.status(500).send("Failed to delete user.");
|
|
||||||
});*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Returns all data in the database for the user who is currently signed in
|
// Returns all data in the database for the user who is currently signed in
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import signup from './pages/Signup';
|
|||||||
import login from './pages/Login';
|
import login from './pages/Login';
|
||||||
import user from './pages/user';
|
import user from './pages/user';
|
||||||
import logout from './pages/Logout';
|
import logout from './pages/Logout';
|
||||||
|
import Delete from './pages/Delete';
|
||||||
import writeMicroblog from './Writing_Microblogs.js';
|
import writeMicroblog from './Writing_Microblogs.js';
|
||||||
import editProfile from './pages/editProfile';
|
import editProfile from './pages/editProfile';
|
||||||
import userLine from './Userline.js';
|
import userLine from './Userline.js';
|
||||||
@ -61,6 +62,7 @@ class App extends Component {
|
|||||||
<AuthRoute exact path="/signup" component={signup} />
|
<AuthRoute exact path="/signup" component={signup} />
|
||||||
<AuthRoute exact path="/login" component={login} />
|
<AuthRoute exact path="/login" component={login} />
|
||||||
<Route exact path="/logout" component={logout} />
|
<Route exact path="/logout" component={logout} />
|
||||||
|
<Route exact path="/delete" component={Delete} />
|
||||||
|
|
||||||
<Route exact path="/user" component={user} />
|
<Route exact path="/user" component={user} />
|
||||||
<Route exact path="/home" component={writeMicroblog} />
|
<Route exact path="/home" component={writeMicroblog} />
|
||||||
|
|||||||
@ -53,6 +53,9 @@ import withStyles from "@material-ui/core/styles/withStyles";
|
|||||||
<Button component={ Link } to='/logout'>
|
<Button component={ Link } to='/logout'>
|
||||||
Logout
|
Logout
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button component={ Link } to='/delete'>
|
||||||
|
Delete Account
|
||||||
|
</Button>
|
||||||
</ToolBar>
|
</ToolBar>
|
||||||
</AppBar>
|
</AppBar>
|
||||||
)
|
)
|
||||||
|
|||||||
56
twistter-frontend/src/pages/Delete.js
Normal file
56
twistter-frontend/src/pages/Delete.js
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
/* eslint-disable */
|
||||||
|
import React, { Component } from "react";
|
||||||
|
import PropTypes from "prop-types";
|
||||||
|
|
||||||
|
// Material UI stuff
|
||||||
|
import Button from "@material-ui/core/Button";
|
||||||
|
import withStyles from "@material-ui/core/styles/withStyles";
|
||||||
|
|
||||||
|
// Redux stuff
|
||||||
|
import { deleteUser } from "../redux/actions/userActions";
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
|
||||||
|
const styles = {
|
||||||
|
form: {
|
||||||
|
textAlign: "center"
|
||||||
|
},
|
||||||
|
textField: {
|
||||||
|
marginBottom: 30
|
||||||
|
},
|
||||||
|
pageTitle: {
|
||||||
|
marginBottom: 40
|
||||||
|
},
|
||||||
|
button: {
|
||||||
|
positon: "relative",
|
||||||
|
marginBottom: 30
|
||||||
|
},
|
||||||
|
progress: {
|
||||||
|
position: "absolute"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export class Delete extends Component {
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.props.deleteUser();
|
||||||
|
this.props.history.push('/');
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const mapStateToProps = (state) => ({
|
||||||
|
user: state.user
|
||||||
|
});
|
||||||
|
|
||||||
|
const mapActionsToProps = { deleteUser };
|
||||||
|
|
||||||
|
Delete.propTypes = {
|
||||||
|
deleteUser: PropTypes.func.isRequired,
|
||||||
|
user: PropTypes.object.isRequired,
|
||||||
|
classes: PropTypes.object.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
export default connect(mapStateToProps, mapActionsToProps)(withStyles(styles)(Delete));
|
||||||
@ -61,6 +61,12 @@ export const logoutUser = () => (dispatch) => {
|
|||||||
dispatch({ type: SET_UNAUTHENTICATED });
|
dispatch({ type: SET_UNAUTHENTICATED });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const deleteUser = () => (dispatch) => {
|
||||||
|
localStorage.removeItem('FBIdToken');
|
||||||
|
delete axios.defaults.headers.common['Authorization'];
|
||||||
|
dispatch({ type: SET_UNAUTHENTICATED });
|
||||||
|
}
|
||||||
|
|
||||||
const setAuthorizationHeader = (token) => {
|
const setAuthorizationHeader = (token) => {
|
||||||
const FBIdToken = `Bearer ${token}`;
|
const FBIdToken = `Bearer ${token}`;
|
||||||
localStorage.setItem('FBIdToken', FBIdToken);
|
localStorage.setItem('FBIdToken', FBIdToken);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user