clean up with constants

This commit is contained in:
heyethereum
2024-07-18 08:28:10 +08:00
parent 686c4f939e
commit b966597ca6
8 changed files with 35 additions and 27 deletions

View File

@@ -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";
}

View File

@@ -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<List<QRCodeTypeEntity>> 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<BaseScanResponse> 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<String> 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<URLVerificationResponse> 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<Boolean> 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<RedirectCountResponse> checkRedirects(@RequestBody QRCodePayload payload) {
return ResponseEntity.ok(redirectCountService.countRedirects(payload).block());
}

View File

@@ -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());
};
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}
}