CoolFace
Apppublic

sakthivikram/geo-location

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
AuthController.java61 linesDownload Raw Back to controller
1package com.georeport.controller;2 3import com.georeport.dto.*;4import com.georeport.service.AuthService;5import jakarta.validation.Valid;6import org.springframework.beans.factory.annotation.Autowired;7import org.springframework.http.ResponseEntity;8import org.springframework.web.bind.annotation.*;9 10/**11 * REST Controller for authentication endpoints.12 * Handles user registration and login.13 */14@RestController15@RequestMapping("/api/auth")16@CrossOrigin(origins = "*")17public class AuthController {18 19    @Autowired20    private AuthService authService;21 22    /**23     * Register a new citizen user24     * POST /api/auth/register25     */26    @PostMapping("/register")27    public ResponseEntity<ApiResponse<AuthResponse>> register(@Valid @RequestBody RegisterRequest request) {28        AuthResponse response = authService.register(request);29        return ResponseEntity.ok(ApiResponse.success("Registration successful", response));30    }31 32    /**33     * Login user and return JWT token34     * POST /api/auth/login35     */36    @PostMapping("/login")37    public ResponseEntity<ApiResponse<AuthResponse>> login(@Valid @RequestBody LoginRequest request) {38        AuthResponse response = authService.login(request);39        return ResponseEntity.ok(ApiResponse.success("Login successful", response));40    }41 42    /**43     * Login user via Google Auth and return JWT token44     * POST /api/auth/google-login45     */46    @PostMapping("/google-login")47    public ResponseEntity<ApiResponse<AuthResponse>> googleLogin(@Valid @RequestBody GoogleLoginRequest request) {48        AuthResponse response = authService.googleLogin(request);49        return ResponseEntity.ok(ApiResponse.success("Google Login successful", response));50    }51 52    /**53     * Verify JWT token validity54     * GET /api/auth/verify55     */56    @GetMapping("/verify")57    public ResponseEntity<ApiResponse<String>> verifyToken() {58        return ResponseEntity.ok(ApiResponse.success("Token is valid", "authenticated"));59    }60}61