diff --git a/src/main/java/com/safeqr/app/constants/CommonConstants.java b/src/main/java/com/safeqr/app/constants/CommonConstants.java index 0b6b68b..523f5ab 100644 --- a/src/main/java/com/safeqr/app/constants/CommonConstants.java +++ b/src/main/java/com/safeqr/app/constants/CommonConstants.java @@ -7,4 +7,9 @@ public class CommonConstants { public static final String HEADER_USER_ID = "X-USER-ID"; public static final String DEFAULT_QR_CODE_TYPE = "TEXT"; public static final int MAX_REDIRECT_COUNT = 20; + public static final String QR_CODE_TYPE_EMAIL = "EMAIL"; + public static final String QR_CODE_TYPE_PHONE = "PHONE"; + public static final String QR_CODE_TYPE_SMS = "SMS"; + public static final String QR_CODE_TYPE_URL = "URL"; + public static final String QR_CODE_TYPE_WIFI = "WIFI"; } diff --git a/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java b/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java index 4823651..fb7a94d 100644 --- a/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java +++ b/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java @@ -1,7 +1,7 @@ package com.safeqr.app.qrcode.controller; -import com.safeqr.app.constants.APIConstants; -import com.safeqr.app.constants.CommonConstants; +import static com.safeqr.app.constants.APIConstants.*; +import static com.safeqr.app.constants.CommonConstants.*; import com.safeqr.app.qrcode.dto.QRCodePayload; import com.safeqr.app.qrcode.dto.RedirectCountResponse; import com.safeqr.app.qrcode.dto.URLVerificationResponse; @@ -22,9 +22,9 @@ import org.springframework.web.bind.annotation.*; import java.util.List; @RestController -@RequestMapping(APIConstants.API_VERSION) +@RequestMapping(API_VERSION) public class QRCodeTypeController { - private static final Logger logger = LoggerFactory.getLogger(QRCodeTypeService.class); + private static final Logger logger = LoggerFactory.getLogger(QRCodeTypeController.class); @Autowired private QRCodeTypeService qrCodeTypeService; @@ -38,30 +38,30 @@ public class QRCodeTypeController { @Autowired private RedirectCountService redirectCountService; - @GetMapping(value = APIConstants.API_URL_QRCODE_GET_ALL) + @GetMapping(value = API_URL_QRCODE_GET_ALL) public ResponseEntity> getAllTypes() { return ResponseEntity.ok(qrCodeTypeService.getAllTypes()); } - @PostMapping(value = APIConstants.API_URL_QRCODE_SCAN, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = API_URL_QRCODE_SCAN, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity scanQRCode(@RequestBody QRCodePayload payload, - @RequestHeader(required = false, name = CommonConstants.HEADER_USER_ID) String userId) { + @RequestHeader(required = false, name = HEADER_USER_ID) String userId) { logger.info("Invoking scan endpoint"); return ResponseEntity.ok(qrCodeTypeService.scanQRCode(userId, payload)); } - @PostMapping(APIConstants.API_URL_QRCODE_DETECT) + @PostMapping(API_URL_QRCODE_DETECT) public ResponseEntity detectType(@RequestBody QRCodePayload payload) { return ResponseEntity.ok(qrCodeTypeService.detectType(payload).block()); } - @PostMapping(APIConstants.API_URL_QRCODE_VERIFY_URL) + @PostMapping(API_URL_QRCODE_VERIFY_URL) public ResponseEntity verifyURL(@RequestBody QRCodePayload payload) { URLVerificationResponse response = urlVerificationService.verifyURL(payload); return ResponseEntity.ok(response); } - @PostMapping(APIConstants.API_URL_QRCODE_VIRUS_TOTAL_CHECK) + @PostMapping(API_URL_QRCODE_VIRUS_TOTAL_CHECK) public ResponseEntity virusTotalCheck(@RequestBody QRCodePayload payload) { try { String analysisId = virusTotalService.scanURL(payload); @@ -72,7 +72,7 @@ public class QRCodeTypeController { } } - @PostMapping(APIConstants.API_URL_QRCODE_REDIRECT_COUNT) + @PostMapping(API_URL_QRCODE_REDIRECT_COUNT) public ResponseEntity checkRedirects(@RequestBody QRCodePayload payload) { return ResponseEntity.ok(redirectCountService.countRedirects(payload).block()); } diff --git a/src/main/java/com/safeqr/app/qrcode/model/factory/QRCodeFactoryProvider.java b/src/main/java/com/safeqr/app/qrcode/model/factory/QRCodeFactoryProvider.java index 496a652..d3800e5 100644 --- a/src/main/java/com/safeqr/app/qrcode/model/factory/QRCodeFactoryProvider.java +++ b/src/main/java/com/safeqr/app/qrcode/model/factory/QRCodeFactoryProvider.java @@ -7,6 +7,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; +import static com.safeqr.app.constants.CommonConstants.*; + + @Component public class QRCodeFactoryProvider { private final ApplicationContext applicationContext; @@ -17,12 +20,12 @@ public class QRCodeFactoryProvider { public QRCodeModel createQRCodeInstance(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) { return switch (qrCodeTypeEntity.getType().toUpperCase()) { - case "URL" -> applicationContext.getBean(URLFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); - case "PHONE" -> applicationContext.getBean(PhoneFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); - case "SMS" -> applicationContext.getBean(SMSFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); - case "EMAIL" -> applicationContext.getBean(EmailFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); - case "WIFI" -> applicationContext.getBean(WifiFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); - case "TEXT" -> applicationContext.getBean(TextFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); + case QR_CODE_TYPE_URL-> applicationContext.getBean(URLFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); + case QR_CODE_TYPE_PHONE -> applicationContext.getBean(PhoneFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); + case QR_CODE_TYPE_SMS -> applicationContext.getBean(SMSFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); + case QR_CODE_TYPE_EMAIL -> applicationContext.getBean(EmailFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); + case QR_CODE_TYPE_WIFI -> applicationContext.getBean(WifiFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); + case DEFAULT_QR_CODE_TYPE -> applicationContext.getBean(TextFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity); default -> throw new IllegalArgumentException("Unsupported QR code type: " + qrCodeTypeEntity.getType()); }; } diff --git a/src/main/java/com/safeqr/app/qrcode/service/EmailVerificationService.java b/src/main/java/com/safeqr/app/qrcode/service/EmailVerificationService.java index 649c9b0..51d8283 100644 --- a/src/main/java/com/safeqr/app/qrcode/service/EmailVerificationService.java +++ b/src/main/java/com/safeqr/app/qrcode/service/EmailVerificationService.java @@ -16,8 +16,8 @@ public class EmailVerificationService { public EmailVerificationService(EmailRepository emailRepository) { this.emailRepository = emailRepository; } - public void insertDB(EmailEntity EmailEntity) { - emailRepository.save(EmailEntity); + public void insertDB(EmailEntity emailEntity) { + emailRepository.save(emailEntity); } } \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/service/PhoneVerificationService.java b/src/main/java/com/safeqr/app/qrcode/service/PhoneVerificationService.java index 47cc54c..5081e65 100644 --- a/src/main/java/com/safeqr/app/qrcode/service/PhoneVerificationService.java +++ b/src/main/java/com/safeqr/app/qrcode/service/PhoneVerificationService.java @@ -16,8 +16,8 @@ public class PhoneVerificationService { public PhoneVerificationService(PhoneRepository phoneRepository) { this.phoneRepository = phoneRepository; } - public void insertDB(PhoneEntity PhoneEntity) { - phoneRepository.save(PhoneEntity); + public void insertDB(PhoneEntity phoneEntity) { + phoneRepository.save(phoneEntity); } } \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/service/SMSVerificationService.java b/src/main/java/com/safeqr/app/qrcode/service/SMSVerificationService.java index c20bfc9..c8bcb2e 100644 --- a/src/main/java/com/safeqr/app/qrcode/service/SMSVerificationService.java +++ b/src/main/java/com/safeqr/app/qrcode/service/SMSVerificationService.java @@ -16,8 +16,8 @@ public class SMSVerificationService { public SMSVerificationService(SMSRepository smsRepository) { this.smsRepository = smsRepository; } - public void insertDB(SMSEntity SMSEntity) { - smsRepository.save(SMSEntity); + public void insertDB(SMSEntity smsEntity) { + smsRepository.save(smsEntity); } } \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/service/TextVerificationService.java b/src/main/java/com/safeqr/app/qrcode/service/TextVerificationService.java index 1609046..f6271c3 100644 --- a/src/main/java/com/safeqr/app/qrcode/service/TextVerificationService.java +++ b/src/main/java/com/safeqr/app/qrcode/service/TextVerificationService.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Service; @Service public class TextVerificationService { private final TextRepository textRepository; - + private static final Logger logger = LoggerFactory.getLogger(TextVerificationService.class); @Autowired public TextVerificationService(TextRepository textRepository) { this.textRepository = textRepository; @@ -18,5 +18,5 @@ public class TextVerificationService { public void insertDB(TextEntity textEntity) { textRepository.save(textEntity); } - private static final Logger logger = LoggerFactory.getLogger(TextVerificationService.class); + } \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/service/WifiVerificationService.java b/src/main/java/com/safeqr/app/qrcode/service/WifiVerificationService.java index 0482f58..9cc8ec1 100644 --- a/src/main/java/com/safeqr/app/qrcode/service/WifiVerificationService.java +++ b/src/main/java/com/safeqr/app/qrcode/service/WifiVerificationService.java @@ -16,8 +16,8 @@ public class WifiVerificationService { public WifiVerificationService(WifiRepository wifiRepository) { this.wifiRepository = wifiRepository; } - public void insertDB(WifiEntity WifiEntity) { - wifiRepository.save(WifiEntity); + public void insertDB(WifiEntity wifiEntity) { + wifiRepository.save(wifiEntity); } } \ No newline at end of file