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 0a66533..87e1968 100644 --- a/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java +++ b/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java @@ -3,11 +3,9 @@ package com.safeqr.app.qrcode.controller; import static com.safeqr.app.constants.APIConstants.*; import static com.safeqr.app.constants.CommonConstants.*; import com.safeqr.app.qrcode.dto.request.QRCodePayload; -import com.safeqr.app.qrcode.dto.RedirectCountResponse; import com.safeqr.app.qrcode.dto.response.BaseScanResponse; import com.safeqr.app.qrcode.entity.QRCodeTypeEntity; import com.safeqr.app.qrcode.service.QRCodeTypeService; -import com.safeqr.app.qrcode.service.RedirectCountService; import com.safeqr.app.qrcode.service.URLVerificationService; import com.safeqr.app.qrcode.service.VirusTotalService; import org.slf4j.Logger; @@ -35,9 +33,6 @@ public class QRCodeTypeController { @Autowired private VirusTotalService virusTotalService; - @Autowired - private RedirectCountService redirectCountService; - @GetMapping(value = API_URL_QRCODE_GET_ALL) public ResponseEntity> getAllTypes() { return ResponseEntity.ok(qrCodeTypeService.getAllTypes()); @@ -79,9 +74,5 @@ public class QRCodeTypeController { } } - @PostMapping(API_URL_QRCODE_REDIRECT_COUNT) - public ResponseEntity checkRedirects(@RequestBody QRCodePayload payload) { - return ResponseEntity.ok(redirectCountService.countRedirects(payload).block()); - } } \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/dto/RedirectCountResponse.java b/src/main/java/com/safeqr/app/qrcode/dto/RedirectCountResponse.java deleted file mode 100644 index ad34005..0000000 --- a/src/main/java/com/safeqr/app/qrcode/dto/RedirectCountResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.safeqr.app.qrcode.dto; - -import lombok.Data; - -@Data -public class RedirectCountResponse { - private int redirectCount; - private String message; -} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java b/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java index b6fc2ca..17680d6 100644 --- a/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java +++ b/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java @@ -2,6 +2,7 @@ package com.safeqr.app.qrcode.entity; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Builder; @@ -39,6 +40,7 @@ public class QRCodeEntity { @Column(name = "created_at", insertable = false, updatable = false) private LocalDateTime createdAt; + @JsonInclude(JsonInclude.Include.NON_EMPTY) @Column(name = "result_category") private String result = CLASSIFY_UNKNOWN; } diff --git a/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java b/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java index 0d22e74..c8d3464 100644 --- a/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java +++ b/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java @@ -23,6 +23,7 @@ import java.util.UUID; @NoArgsConstructor @AllArgsConstructor public class URLEntity { + @JsonInclude(JsonInclude.Include.NON_EMPTY) @Column(name="classifications") private String classifications; diff --git a/src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java b/src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java index 32e5153..807c5f7 100644 --- a/src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java +++ b/src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java @@ -138,6 +138,9 @@ public class QRCodeTypeService { QRCodeModel qrCodeModel = qrCodeFactoryProvider.createQRCodeInstance(scannedQR); qrCodeModel.setDetails(); + // Get classifications based on verifications + scannedQR.setResult(qrCodeModel.retrieveClassification()); + return qrCodeModel; } // Returns Default type as text if it does not fit into any of the category diff --git a/src/main/java/com/safeqr/app/qrcode/service/RedirectCountService.java b/src/main/java/com/safeqr/app/qrcode/service/RedirectCountService.java deleted file mode 100644 index 82ff172..0000000 --- a/src/main/java/com/safeqr/app/qrcode/service/RedirectCountService.java +++ /dev/null @@ -1,30 +0,0 @@ - -package com.safeqr.app.qrcode.service; - -import com.safeqr.app.qrcode.dto.request.QRCodePayload; -import com.safeqr.app.qrcode.dto.RedirectCountResponse; -import org.springframework.stereotype.Service; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@Service -public class RedirectCountService { - private static final Logger logger = LoggerFactory.getLogger(RedirectCountService.class); - - public Mono countRedirects(QRCodePayload payload) { - String url = payload.getData(); - logger.info("RedirectCountService: countRedirects: url={}", url); - - return WebClient.create() - .get() - .uri("https://google.com")// replace with url when logic is complete - .exchangeToMono(response -> { - RedirectCountResponse redirectCountResponse = new RedirectCountResponse(); - redirectCountResponse.setRedirectCount(response.cookies().size()); - redirectCountResponse.setMessage("Redirect count calculated."); - return Mono.just(redirectCountResponse); - }); - } -} 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 1c1848a..c55fe7e 100644 --- a/src/main/java/com/safeqr/app/qrcode/service/SMSVerificationService.java +++ b/src/main/java/com/safeqr/app/qrcode/service/SMSVerificationService.java @@ -31,6 +31,10 @@ public class SMSVerificationService { } public void parseSMSString(SMSEntity smsEntity, String smsto) throws IllegalArgumentException{ + // Validate the string format + if (smsto == null || smsto.isEmpty()) { + throw new InvalidFormatExceptions("sms cannot be null or empty."); + } // Remove the "SMSTO:" prefix String data = smsto.substring(6);