Selaa lähdekoodia

send user id on register

sunguroku 5 vuotta sitten
vanhempi
sitoutus
000c2fe978

+ 1 - 2
dashboard/src/main/Main.tsx

@@ -30,10 +30,9 @@ export default class Main extends Component<PropsType, StateType> {
 
   componentDidMount() {
     let { setUserId } = this.context;
-
+    console.log('how')
     api.checkAuth('', {}, {}, (err: any, res: any) => {
       if (res.data) {
-        console.log(res.data)
         setUserId(res.data.id)
         this.setState({ isLoggedIn: true, initialized: true})
       } else {

+ 2 - 1
dashboard/src/main/Register.tsx

@@ -30,7 +30,7 @@ export default class Register extends Component<PropsType, StateType> {
   handleRegister = (): void => {
     let { email, password, confirmPassword } = this.state;
     let { authenticate } = this.props;
-    let { setCurrentError } = this.context;
+    let { setCurrentError, setUserId } = this.context;
 
     if (!emailRegex.test(email)) {
       this.setState({ emailError: true });
@@ -48,6 +48,7 @@ export default class Register extends Component<PropsType, StateType> {
         email: email,
         password: password
       }, {}, (err: any, res: any) => {
+        setUserId(res?.data?.id)
         err ? setCurrentError(err.response.data.errors[0]) : authenticate();
       });
     } 

+ 1 - 4
dashboard/src/shared/Context.tsx

@@ -49,10 +49,7 @@ class ContextProvider extends Component {
       this.setState({ devOpsMode });
     }
   };
-
-  componentDidMount() {
-  }
-
+  
   render() {
     return (
       <Provider value={this.state}>{this.props.children}</Provider>

+ 19 - 10
server/api/user_handler.go

@@ -49,6 +49,12 @@ func (app *App) HandleCreateUser(w http.ResponseWriter, r *http.Request) {
 		session.Values["authenticated"] = true
 		session.Values["user_id"] = user.ID
 		session.Save(r, w)
+
+		if err := app.sendUserID(w, user.ID); err != nil {
+			app.handleErrorFormDecoding(err, ErrUserDecode, w)
+			return
+		}
+
 		w.WriteHeader(http.StatusCreated)
 	}
 }
@@ -63,11 +69,7 @@ func (app *App) HandleAuthCheck(w http.ResponseWriter, r *http.Request) {
 
 	userID, _ := session.Values["user_id"].(uint)
 
-	resUser := &models.UserExternal{
-		ID: userID,
-	}
-
-	if err := json.NewEncoder(w).Encode(resUser); err != nil {
+	if err := app.sendUserID(w, userID); err != nil {
 		app.handleErrorFormDecoding(err, ErrUserDecode, w)
 		return
 	}
@@ -117,11 +119,7 @@ func (app *App) HandleLoginUser(w http.ResponseWriter, r *http.Request) {
 		app.logger.Warn().Err(err)
 	}
 
-	resUser := &models.UserExternal{
-		ID: storedUser.ID,
-	}
-
-	if err := json.NewEncoder(w).Encode(resUser); err != nil {
+	if err := app.sendUserID(w, storedUser.ID); err != nil {
 		app.handleErrorFormDecoding(err, ErrUserDecode, w)
 		return
 	}
@@ -340,3 +338,14 @@ func doesUserExist(repo *repository.Repository, user *models.User) *HTTPError {
 
 	return nil
 }
+
+func (app *App) sendUserID(w http.ResponseWriter, userID uint) error {
+	resUser := &models.UserExternal{
+		ID: userID,
+	}
+
+	if err := json.NewEncoder(w).Encode(resUser); err != nil {
+		return err
+	}
+	return nil
+}