clean up with constants
This commit is contained in:
@@ -7,4 +7,9 @@ public class CommonConstants {
|
|||||||
public static final String HEADER_USER_ID = "X-USER-ID";
|
public static final String HEADER_USER_ID = "X-USER-ID";
|
||||||
public static final String DEFAULT_QR_CODE_TYPE = "TEXT";
|
public static final String DEFAULT_QR_CODE_TYPE = "TEXT";
|
||||||
public static final int MAX_REDIRECT_COUNT = 20;
|
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";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.safeqr.app.qrcode.controller;
|
package com.safeqr.app.qrcode.controller;
|
||||||
|
|
||||||
import com.safeqr.app.constants.APIConstants;
|
import static com.safeqr.app.constants.APIConstants.*;
|
||||||
import com.safeqr.app.constants.CommonConstants;
|
import static com.safeqr.app.constants.CommonConstants.*;
|
||||||
import com.safeqr.app.qrcode.dto.QRCodePayload;
|
import com.safeqr.app.qrcode.dto.QRCodePayload;
|
||||||
import com.safeqr.app.qrcode.dto.RedirectCountResponse;
|
import com.safeqr.app.qrcode.dto.RedirectCountResponse;
|
||||||
import com.safeqr.app.qrcode.dto.URLVerificationResponse;
|
import com.safeqr.app.qrcode.dto.URLVerificationResponse;
|
||||||
@@ -22,9 +22,9 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping(APIConstants.API_VERSION)
|
@RequestMapping(API_VERSION)
|
||||||
public class QRCodeTypeController {
|
public class QRCodeTypeController {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(QRCodeTypeService.class);
|
private static final Logger logger = LoggerFactory.getLogger(QRCodeTypeController.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private QRCodeTypeService qrCodeTypeService;
|
private QRCodeTypeService qrCodeTypeService;
|
||||||
@@ -38,30 +38,30 @@ public class QRCodeTypeController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedirectCountService redirectCountService;
|
private RedirectCountService redirectCountService;
|
||||||
|
|
||||||
@GetMapping(value = APIConstants.API_URL_QRCODE_GET_ALL)
|
@GetMapping(value = API_URL_QRCODE_GET_ALL)
|
||||||
public ResponseEntity<List<QRCodeTypeEntity>> getAllTypes() {
|
public ResponseEntity<List<QRCodeTypeEntity>> getAllTypes() {
|
||||||
return ResponseEntity.ok(qrCodeTypeService.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,
|
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");
|
logger.info("Invoking scan endpoint");
|
||||||
return ResponseEntity.ok(qrCodeTypeService.scanQRCode(userId, payload));
|
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) {
|
public ResponseEntity<String> detectType(@RequestBody QRCodePayload payload) {
|
||||||
return ResponseEntity.ok(qrCodeTypeService.detectType(payload).block());
|
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) {
|
public ResponseEntity<URLVerificationResponse> verifyURL(@RequestBody QRCodePayload payload) {
|
||||||
URLVerificationResponse response = urlVerificationService.verifyURL(payload);
|
URLVerificationResponse response = urlVerificationService.verifyURL(payload);
|
||||||
return ResponseEntity.ok(response);
|
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) {
|
public ResponseEntity<Boolean> virusTotalCheck(@RequestBody QRCodePayload payload) {
|
||||||
try {
|
try {
|
||||||
String analysisId = virusTotalService.scanURL(payload);
|
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) {
|
public ResponseEntity<RedirectCountResponse> checkRedirects(@RequestBody QRCodePayload payload) {
|
||||||
return ResponseEntity.ok(redirectCountService.countRedirects(payload).block());
|
return ResponseEntity.ok(redirectCountService.countRedirects(payload).block());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import static com.safeqr.app.constants.CommonConstants.*;
|
||||||
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class QRCodeFactoryProvider {
|
public class QRCodeFactoryProvider {
|
||||||
private final ApplicationContext applicationContext;
|
private final ApplicationContext applicationContext;
|
||||||
@@ -17,12 +20,12 @@ public class QRCodeFactoryProvider {
|
|||||||
|
|
||||||
public QRCodeModel createQRCodeInstance(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
public QRCodeModel createQRCodeInstance(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
return switch (qrCodeTypeEntity.getType().toUpperCase()) {
|
return switch (qrCodeTypeEntity.getType().toUpperCase()) {
|
||||||
case "URL" -> applicationContext.getBean(URLFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
case QR_CODE_TYPE_URL-> applicationContext.getBean(URLFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
case "PHONE" -> applicationContext.getBean(PhoneFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
case QR_CODE_TYPE_PHONE -> applicationContext.getBean(PhoneFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
case "SMS" -> applicationContext.getBean(SMSFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
case QR_CODE_TYPE_SMS -> applicationContext.getBean(SMSFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
case "EMAIL" -> applicationContext.getBean(EmailFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
case QR_CODE_TYPE_EMAIL -> applicationContext.getBean(EmailFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
case "WIFI" -> applicationContext.getBean(WifiFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
case QR_CODE_TYPE_WIFI -> applicationContext.getBean(WifiFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
case "TEXT" -> applicationContext.getBean(TextFactory.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());
|
default -> throw new IllegalArgumentException("Unsupported QR code type: " + qrCodeTypeEntity.getType());
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ public class EmailVerificationService {
|
|||||||
public EmailVerificationService(EmailRepository emailRepository) {
|
public EmailVerificationService(EmailRepository emailRepository) {
|
||||||
this.emailRepository = emailRepository;
|
this.emailRepository = emailRepository;
|
||||||
}
|
}
|
||||||
public void insertDB(EmailEntity EmailEntity) {
|
public void insertDB(EmailEntity emailEntity) {
|
||||||
emailRepository.save(EmailEntity);
|
emailRepository.save(emailEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -16,8 +16,8 @@ public class PhoneVerificationService {
|
|||||||
public PhoneVerificationService(PhoneRepository phoneRepository) {
|
public PhoneVerificationService(PhoneRepository phoneRepository) {
|
||||||
this.phoneRepository = phoneRepository;
|
this.phoneRepository = phoneRepository;
|
||||||
}
|
}
|
||||||
public void insertDB(PhoneEntity PhoneEntity) {
|
public void insertDB(PhoneEntity phoneEntity) {
|
||||||
phoneRepository.save(PhoneEntity);
|
phoneRepository.save(phoneEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -16,8 +16,8 @@ public class SMSVerificationService {
|
|||||||
public SMSVerificationService(SMSRepository smsRepository) {
|
public SMSVerificationService(SMSRepository smsRepository) {
|
||||||
this.smsRepository = smsRepository;
|
this.smsRepository = smsRepository;
|
||||||
}
|
}
|
||||||
public void insertDB(SMSEntity SMSEntity) {
|
public void insertDB(SMSEntity smsEntity) {
|
||||||
smsRepository.save(SMSEntity);
|
smsRepository.save(smsEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class TextVerificationService {
|
public class TextVerificationService {
|
||||||
private final TextRepository textRepository;
|
private final TextRepository textRepository;
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(TextVerificationService.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
public TextVerificationService(TextRepository textRepository) {
|
public TextVerificationService(TextRepository textRepository) {
|
||||||
this.textRepository = textRepository;
|
this.textRepository = textRepository;
|
||||||
@@ -18,5 +18,5 @@ public class TextVerificationService {
|
|||||||
public void insertDB(TextEntity textEntity) {
|
public void insertDB(TextEntity textEntity) {
|
||||||
textRepository.save(textEntity);
|
textRepository.save(textEntity);
|
||||||
}
|
}
|
||||||
private static final Logger logger = LoggerFactory.getLogger(TextVerificationService.class);
|
|
||||||
}
|
}
|
||||||
@@ -16,8 +16,8 @@ public class WifiVerificationService {
|
|||||||
public WifiVerificationService(WifiRepository wifiRepository) {
|
public WifiVerificationService(WifiRepository wifiRepository) {
|
||||||
this.wifiRepository = wifiRepository;
|
this.wifiRepository = wifiRepository;
|
||||||
}
|
}
|
||||||
public void insertDB(WifiEntity WifiEntity) {
|
public void insertDB(WifiEntity wifiEntity) {
|
||||||
wifiRepository.save(WifiEntity);
|
wifiRepository.save(wifiEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user