CoolFace
Apppublic

sakthivikram/geo-location

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
OtpController.java52 linesDownload Raw Back to controller
1package com.georeport.controller;2 3import com.georeport.dto.OtpRequest;4import com.georeport.dto.OtpResponse;5import com.georeport.dto.OtpVerificationRequest;6import com.georeport.service.OtpService;7import jakarta.validation.Valid;8import org.springframework.beans.factory.annotation.Autowired;9import org.springframework.http.ResponseEntity;10import org.springframework.web.bind.annotation.*;11 12@RestController13@RequestMapping("/api/otp")14@CrossOrigin(origins = "*")15public class OtpController {16 17    @Autowired18    private OtpService otpService;19 20    @PostMapping("/send")21    public ResponseEntity<OtpResponse> sendOtp(@Valid @RequestBody OtpRequest request) {22        if (request.getEmail() == null || request.getEmail().trim().isEmpty()) {23             return ResponseEntity.badRequest().body(OtpResponse.builder()24                    .success(false)25                    .message("Email is required for OTP")26                    .build());27        }28        otpService.generateOtp(request.getPhoneNumber(), request.getEmail());29        return ResponseEntity.ok(OtpResponse.builder()30                .success(true)31                .message("OTP sent successfully to email")32                .build());33    }34 35    @PostMapping("/verify")36    public ResponseEntity<OtpResponse> verifyOtp(@Valid @RequestBody OtpVerificationRequest request) {37        boolean isValid = otpService.verifyOtp(request.getPhoneNumber(), request.getOtp());38        39        if (isValid) {40            return ResponseEntity.ok(OtpResponse.builder()41                    .success(true)42                    .message("OTP verified successfully")43                    .build());44        } else {45            return ResponseEntity.badRequest().body(OtpResponse.builder()46                    .success(false)47                    .message("Invalid or expired OTP")48                    .build());49        }50    }51}52