diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2021-03-05 23:33:50 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2021-03-05 23:33:50 +0100 |
| commit | f6e6b1edbbb68bf6bf93a10deebd4cd55ffaff0f (patch) | |
| tree | bb44de81746cfd088bfab49247b9ec8508bb4605 /animism-align/frontend/app/views | |
| parent | 6726fa9fe050aa47ff7f537b91705372e290f501 (diff) | |
use other login validator thingie
Diffstat (limited to 'animism-align/frontend/app/views')
6 files changed, 15 insertions, 38 deletions
diff --git a/animism-align/frontend/app/views/auth/auth.actions.js b/animism-align/frontend/app/views/auth/auth.actions.js index fc2a2aa..7eabacc 100644 --- a/animism-align/frontend/app/views/auth/auth.actions.js +++ b/animism-align/frontend/app/views/auth/auth.actions.js @@ -20,10 +20,10 @@ export const login = data => dispatch => ( }) .then(req => req.json()) .then(res => { - if (!res.access_token) { + if (!res.token) { throw new Error(res.description) } - session.set('access_token', res.access_token) + session.set('access_token', res.token) load_access_token()(dispatch) }) ) @@ -32,8 +32,7 @@ export const load_access_token = () => dispatch => { const access_token = session.get('access_token') || null if (access_token) { const creds = jsonwebtoken.decode(access_token) - const user_id = creds.identity - return dispatch({ type: types.auth.logged_in, user_id }) + return dispatch({ type: types.auth.logged_in, user: creds.sub }) } else { return dispatch({ type: types.auth.logged_out }) } diff --git a/animism-align/frontend/app/views/auth/auth.gate.js b/animism-align/frontend/app/views/auth/auth.gate.js index ba69256..36d4af8 100644 --- a/animism-align/frontend/app/views/auth/auth.gate.js +++ b/animism-align/frontend/app/views/auth/auth.gate.js @@ -14,23 +14,14 @@ class AuthGate extends Component { } componentDidUpdate(prevProps) { - if (this.props.user_id !== prevProps.user_id) { + if (this.props.user.id !== prevProps.user.id) { this.load() } } load() { - if (!this.props.user_id) return - actions.user.show(this.props.user_id) - .then(() => { - actions.site.loadProject() - }).catch(error => { - if (error.status_code === 401) { - actions.auth.logout() - } else { - console.error(error) - } - }) + if (!this.props.user.id) return + actions.site.loadProject() } render() { diff --git a/animism-align/frontend/app/views/auth/auth.reducer.js b/animism-align/frontend/app/views/auth/auth.reducer.js index 05741f3..8c652ff 100644 --- a/animism-align/frontend/app/views/auth/auth.reducer.js +++ b/animism-align/frontend/app/views/auth/auth.reducer.js @@ -3,8 +3,7 @@ import { getDefault } from 'app/session' const initialState = { logged_in: !!getDefault('access_token', false), - user_id: null, - user: null, + user: {}, } export default function authReducer(state = initialState, action) { @@ -14,25 +13,13 @@ export default function authReducer(state = initialState, action) { return { ...state, logged_in: true, - user_id: action.user_id, - user: null, + user: action.user, } case types.auth.logged_out: return { ...state, logged_in: false, - user_id: null, - user: null, - } - case types.user.show: - if (action.data.res.id !== state.user_id) { - return state - } - return { - ...state, - user: { - ...action.data.res, - } + user: {}, } default: return state diff --git a/animism-align/frontend/app/views/nav/header.component.js b/animism-align/frontend/app/views/nav/header.component.js index b264f4d..28be4a7 100644 --- a/animism-align/frontend/app/views/nav/header.component.js +++ b/animism-align/frontend/app/views/nav/header.component.js @@ -22,7 +22,7 @@ function Header(props) { <Link to="/episode">Episodes</Link> <Link to="/venue">Venues</Link> <Link to="/viewer">Viewer</Link> - {props.currentUser.is_admin && <Link to="/user">Users</Link>} + {props.currentUser.is_admin && <Link to="/users">Users</Link>} <a href="#" onClick={actions.auth.logout}> Logout </a> diff --git a/animism-align/frontend/app/views/user/containers/user.edit.js b/animism-align/frontend/app/views/user/containers/user.edit.js index 5d51792..5ae1fe5 100644 --- a/animism-align/frontend/app/views/user/containers/user.edit.js +++ b/animism-align/frontend/app/views/user/containers/user.edit.js @@ -56,6 +56,7 @@ class UserEdit extends Component { <UserMenu userActions={this.props.userActions} /> <UserForm data={show.res} + currentUser={this.props.currentUser} onSubmit={this.handleSubmit.bind(this)} /> </div> @@ -65,6 +66,7 @@ class UserEdit extends Component { const mapStateToProps = state => ({ user: state.user, + currentUser: state.auth.user, }) export default connect(mapStateToProps)(UserEdit) diff --git a/animism-align/frontend/app/views/user/containers/user.new.js b/animism-align/frontend/app/views/user/containers/user.new.js index 9d80e0a..01fe1e1 100644 --- a/animism-align/frontend/app/views/user/containers/user.new.js +++ b/animism-align/frontend/app/views/user/containers/user.new.js @@ -58,6 +58,7 @@ class UserNew extends Component { <UserForm isNew data={this.state.initialData} + currentUser={this.props.currentUser} onSubmit={this.handleSubmit.bind(this)} /> </div> @@ -67,10 +68,7 @@ class UserNew extends Component { const mapStateToProps = state => ({ user: state.user, + currentUser: state.auth.user, }) -const mapDispatchToProps = dispatch => ({ - // uploadActions: bindActionCreators({ ...uploadActions }, dispatch), -}) - -export default connect(mapStateToProps, mapDispatchToProps)(UserNew) +export default connect(mapStateToProps)(UserNew) |
