44import com .zenfulcode .commercify .commercify .api .requests .LoginUserRequest ;
55import com .zenfulcode .commercify .commercify .api .requests .RegisterUserRequest ;
66import com .zenfulcode .commercify .commercify .api .responses .AuthResponse ;
7- import com .zenfulcode .commercify .commercify .api .responses .RegisterUserResponse ;
87import com .zenfulcode .commercify .commercify .dto .UserDTO ;
98import com .zenfulcode .commercify .commercify .service .AuthenticationService ;
109import com .zenfulcode .commercify .commercify .service .JwtService ;
1110import lombok .RequiredArgsConstructor ;
11+ import lombok .extern .slf4j .Slf4j ;
1212import org .springframework .http .ResponseEntity ;
1313import org .springframework .security .access .prepost .PreAuthorize ;
1414import org .springframework .web .bind .annotation .*;
1515
16+ @ Slf4j
1617@ RestController
1718@ RequestMapping ("/api/v1/auth" )
1819@ RequiredArgsConstructor
@@ -21,13 +22,19 @@ public class AuthenticationController {
2122 private final AuthenticationService authenticationService ;
2223
2324 @ PostMapping ("/signup" )
24- public ResponseEntity <? > register (@ RequestBody RegisterUserRequest registerRequest ) {
25+ public ResponseEntity <AuthResponse > register (@ RequestBody RegisterUserRequest registerRequest ) {
2526 try {
2627 UserDTO user = authenticationService .registerUser (registerRequest );
27- return ResponseEntity .ok (RegisterUserResponse .UserRegistered (user ));
28+
29+ if (registerRequest .isGuest ()) {
30+ UserDTO authenticated = authenticationService .authenticate (new LoginUserRequest (registerRequest .email (), registerRequest .password ()));
31+ String jwt = jwtService .generateToken (authenticated );
32+ return ResponseEntity .ok (AuthResponse .UserAuthenticated (authenticated , jwt , jwtService .getExpirationTime ()));
33+ }
34+
35+ return ResponseEntity .ok (AuthResponse .UserAuthenticated (user , "" , 0 ));
2836 } catch (RuntimeException e ) {
29- RegisterUserResponse error = RegisterUserResponse .RegistrationFailed (e .getMessage ());
30- return ResponseEntity .badRequest ().body (error );
37+ return ResponseEntity .badRequest ().body (AuthResponse .AuthenticationFailed (e .getMessage ()));
3138 }
3239 }
3340
0 commit comments