added other types of qrcodes like phone, sms, email, wifi
This commit is contained in:
31
src/main/java/com/safeqr/app/qrcode/entity/EmailEntity.java
Normal file
31
src/main/java/com/safeqr/app/qrcode/entity/EmailEntity.java
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
package com.safeqr.app.qrcode.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Builder;
|
||||||
|
import org.hibernate.annotations.UuidGenerator;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "email", schema = "safeqr")
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class EmailEntity {
|
||||||
|
@Id
|
||||||
|
@JsonIgnore
|
||||||
|
@GeneratedValue(generator = "UUID")
|
||||||
|
@UuidGenerator
|
||||||
|
@Column(updatable = false, nullable = false)
|
||||||
|
private UUID id;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
@Column(name = "qr_code_id")
|
||||||
|
private UUID qrCodeId;
|
||||||
|
|
||||||
|
private String email;
|
||||||
|
private String title;
|
||||||
|
private String message;
|
||||||
|
}
|
||||||
29
src/main/java/com/safeqr/app/qrcode/entity/PhoneEntity.java
Normal file
29
src/main/java/com/safeqr/app/qrcode/entity/PhoneEntity.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package com.safeqr.app.qrcode.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Builder;
|
||||||
|
import org.hibernate.annotations.UuidGenerator;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "phone", schema = "safeqr")
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class PhoneEntity {
|
||||||
|
@Id
|
||||||
|
@JsonIgnore
|
||||||
|
@GeneratedValue(generator = "UUID")
|
||||||
|
@UuidGenerator
|
||||||
|
@Column(updatable = false, nullable = false)
|
||||||
|
private UUID id;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
@Column(name = "qr_code_id")
|
||||||
|
private UUID qrCodeId;
|
||||||
|
|
||||||
|
private String phone;
|
||||||
|
}
|
||||||
30
src/main/java/com/safeqr/app/qrcode/entity/SMSEntity.java
Normal file
30
src/main/java/com/safeqr/app/qrcode/entity/SMSEntity.java
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
package com.safeqr.app.qrcode.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Builder;
|
||||||
|
import org.hibernate.annotations.UuidGenerator;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "sms", schema = "safeqr")
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class SMSEntity {
|
||||||
|
@Id
|
||||||
|
@JsonIgnore
|
||||||
|
@GeneratedValue(generator = "UUID")
|
||||||
|
@UuidGenerator
|
||||||
|
@Column(updatable = false, nullable = false)
|
||||||
|
private UUID id;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
@Column(name = "qr_code_id")
|
||||||
|
private UUID qrCodeId;
|
||||||
|
|
||||||
|
private String phone;
|
||||||
|
private String message;
|
||||||
|
}
|
||||||
@@ -4,8 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
|
|||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import org.hibernate.annotations.UuidGenerator;
|
import org.hibernate.annotations.UuidGenerator;
|
||||||
|
|
||||||
@@ -15,9 +13,7 @@ import java.util.UUID;
|
|||||||
@Table(name = "text", schema = "safeqr")
|
@Table(name = "text", schema = "safeqr")
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@NoArgsConstructor
|
public class TextEntity {
|
||||||
@AllArgsConstructor
|
|
||||||
public class QRCodeTextEntity {
|
|
||||||
@Id
|
@Id
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@GeneratedValue(generator = "UUID")
|
@GeneratedValue(generator = "UUID")
|
||||||
@@ -18,7 +18,7 @@ import java.util.UUID;
|
|||||||
@Builder
|
@Builder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class QRCodeURLEntity {
|
public class URLEntity {
|
||||||
@Id
|
@Id
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@GeneratedValue(generator = "UUID")
|
@GeneratedValue(generator = "UUID")
|
||||||
32
src/main/java/com/safeqr/app/qrcode/entity/WifiEntity.java
Normal file
32
src/main/java/com/safeqr/app/qrcode/entity/WifiEntity.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package com.safeqr.app.qrcode.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Builder;
|
||||||
|
import org.hibernate.annotations.UuidGenerator;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "wifi", schema = "safeqr")
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class WifiEntity {
|
||||||
|
@Id
|
||||||
|
@JsonIgnore
|
||||||
|
@GeneratedValue(generator = "UUID")
|
||||||
|
@UuidGenerator
|
||||||
|
@Column(updatable = false, nullable = false)
|
||||||
|
private UUID id;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
@Column(name = "qr_code_id")
|
||||||
|
private UUID qrCodeId;
|
||||||
|
|
||||||
|
private String ssid;
|
||||||
|
private String password;
|
||||||
|
private String encryption;
|
||||||
|
private boolean hidden;
|
||||||
|
}
|
||||||
36
src/main/java/com/safeqr/app/qrcode/model/EmailModel.java
Normal file
36
src/main/java/com/safeqr/app/qrcode/model/EmailModel.java
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
package com.safeqr.app.qrcode.model;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.EmailEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.service.EmailVerificationService;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class EmailModel extends QRCodeModel {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(EmailModel.class);
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
private final EmailVerificationService emailVerificationService;
|
||||||
|
|
||||||
|
EmailEntity details;
|
||||||
|
|
||||||
|
public EmailModel(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, EmailVerificationService emailVerificationService) {
|
||||||
|
this.scannedQRCode = scannedQRCodeEntity;
|
||||||
|
this.qrCode = qrCodeTypeEntity;
|
||||||
|
this.emailVerificationService = emailVerificationService;
|
||||||
|
this.details = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setDetails() {
|
||||||
|
details = EmailEntity.builder().qrCodeId(scannedQRCode.getId()).build();
|
||||||
|
// Insert into email table
|
||||||
|
emailVerificationService.insertDB(details);
|
||||||
|
}
|
||||||
|
}
|
||||||
36
src/main/java/com/safeqr/app/qrcode/model/PhoneModel.java
Normal file
36
src/main/java/com/safeqr/app/qrcode/model/PhoneModel.java
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
package com.safeqr.app.qrcode.model;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.PhoneEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.service.PhoneVerificationService;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class PhoneModel extends QRCodeModel {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(PhoneModel.class);
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
private final PhoneVerificationService phoneVerificationService;
|
||||||
|
|
||||||
|
PhoneEntity details;
|
||||||
|
|
||||||
|
public PhoneModel(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, PhoneVerificationService phoneVerificationService) {
|
||||||
|
this.scannedQRCode = scannedQRCodeEntity;
|
||||||
|
this.qrCode = qrCodeTypeEntity;
|
||||||
|
this.phoneVerificationService = phoneVerificationService;
|
||||||
|
this.details = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setDetails() {
|
||||||
|
details = PhoneEntity.builder().qrCodeId(scannedQRCode.getId()).build();
|
||||||
|
// Insert into phone table
|
||||||
|
phoneVerificationService.insertDB(details);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,5 +9,5 @@ public abstract class QRCodeModel {
|
|||||||
QRCodeEntity scannedQRCode;
|
QRCodeEntity scannedQRCode;
|
||||||
QRCodeTypeEntity qrCode;
|
QRCodeTypeEntity qrCode;
|
||||||
|
|
||||||
public abstract void insertDB();
|
public abstract void setDetails();
|
||||||
}
|
}
|
||||||
|
|||||||
36
src/main/java/com/safeqr/app/qrcode/model/SMSModel.java
Normal file
36
src/main/java/com/safeqr/app/qrcode/model/SMSModel.java
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
package com.safeqr.app.qrcode.model;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.SMSEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.service.SMSVerificationService;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class SMSModel extends QRCodeModel {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(SMSModel.class);
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
private final SMSVerificationService smsVerificationService;
|
||||||
|
|
||||||
|
SMSEntity details;
|
||||||
|
|
||||||
|
public SMSModel(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, SMSVerificationService smsVerificationService) {
|
||||||
|
this.scannedQRCode = scannedQRCodeEntity;
|
||||||
|
this.qrCode = qrCodeTypeEntity;
|
||||||
|
this.smsVerificationService = smsVerificationService;
|
||||||
|
this.details = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setDetails() {
|
||||||
|
details = SMSEntity.builder().qrCodeId(scannedQRCode.getId()).build();
|
||||||
|
// Insert into sms table
|
||||||
|
smsVerificationService.insertDB(details);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,9 +2,8 @@ package com.safeqr.app.qrcode.model;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeTextEntity;
|
import com.safeqr.app.qrcode.entity.TextEntity;
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
import com.safeqr.app.qrcode.repository.TextRepository;
|
|
||||||
import com.safeqr.app.qrcode.service.TextVerificationService;
|
import com.safeqr.app.qrcode.service.TextVerificationService;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@@ -13,28 +12,25 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
public class QRCodeText extends QRCodeModel {
|
public class TextModel extends QRCodeModel {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(QRCodeText.class);
|
private static final Logger logger = LoggerFactory.getLogger(TextModel.class);
|
||||||
|
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
private final TextVerificationService textVerificationService;
|
private final TextVerificationService textVerificationService;
|
||||||
@JsonIgnore
|
|
||||||
private final TextRepository textRepository;
|
|
||||||
|
|
||||||
QRCodeTextEntity details;
|
TextEntity details;
|
||||||
|
|
||||||
public QRCodeText(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, TextVerificationService textVerificationService, TextRepository textRepository) {
|
public TextModel(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, TextVerificationService textVerificationService) {
|
||||||
this.scannedQRCode = scannedQRCodeEntity;
|
this.scannedQRCode = scannedQRCodeEntity;
|
||||||
this.qrCode = qrCodeTypeEntity;
|
this.qrCode = qrCodeTypeEntity;
|
||||||
this.textVerificationService = textVerificationService;
|
this.textVerificationService = textVerificationService;
|
||||||
this.textRepository = textRepository;
|
|
||||||
this.details = null;
|
this.details = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insertDB() {
|
public void setDetails() {
|
||||||
details = QRCodeTextEntity.builder().qrCodeId(scannedQRCode.getId()).text(scannedQRCode.getContents()).build();
|
details = TextEntity.builder().qrCodeId(scannedQRCode.getId()).text(scannedQRCode.getContents()).build();
|
||||||
// Insert into URL table
|
// Insert into text table
|
||||||
textRepository.save(details);
|
textVerificationService.insertDB(details);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,12 +3,12 @@ package com.safeqr.app.qrcode.model;
|
|||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeURLEntity;
|
import com.safeqr.app.qrcode.entity.URLEntity;
|
||||||
import com.safeqr.app.qrcode.repository.URLRepository;
|
|
||||||
import com.safeqr.app.qrcode.service.URLVerificationService;
|
import com.safeqr.app.qrcode.service.URLVerificationService;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
@@ -16,25 +16,22 @@ import java.util.List;
|
|||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
public class QRCodeURL extends QRCodeModel {
|
public class URLModel extends QRCodeModel {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(QRCodeURL.class);
|
private static final Logger logger = LoggerFactory.getLogger(URLModel.class);
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
private final URLVerificationService urlVerificationService;
|
private final URLVerificationService urlVerificationService;
|
||||||
@JsonIgnore
|
|
||||||
private final URLRepository urlRepository;
|
|
||||||
|
|
||||||
QRCodeURLEntity details;
|
URLEntity details;
|
||||||
|
@Autowired
|
||||||
public QRCodeURL(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, URLVerificationService urlVerificationService, URLRepository urlRepository) {
|
public URLModel(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, URLVerificationService urlVerificationService) {
|
||||||
this.scannedQRCode = scannedQRCodeEntity;
|
this.scannedQRCode = scannedQRCodeEntity;
|
||||||
this.qrCode = qrCodeTypeEntity;
|
this.qrCode = qrCodeTypeEntity;
|
||||||
this.urlVerificationService = urlVerificationService;
|
this.urlVerificationService = urlVerificationService;
|
||||||
this.urlRepository = urlRepository;
|
|
||||||
this.details = null;
|
this.details = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insertDB() {
|
public void setDetails() {
|
||||||
String url = scannedQRCode.getContents();
|
String url = scannedQRCode.getContents();
|
||||||
try {
|
try {
|
||||||
details = urlVerificationService.breakdownURL(url);
|
details = urlVerificationService.breakdownURL(url);
|
||||||
@@ -45,7 +42,7 @@ public class QRCodeURL extends QRCodeModel {
|
|||||||
details.setRedirectChain(redirectChain);
|
details.setRedirectChain(redirectChain);
|
||||||
|
|
||||||
// Insert into URL table
|
// Insert into URL table
|
||||||
urlRepository.save(details);
|
urlVerificationService.insertDB(details);
|
||||||
|
|
||||||
} catch (IOException | URISyntaxException e) {
|
} catch (IOException | URISyntaxException e) {
|
||||||
logger.error("Error: ", e);
|
logger.error("Error: ", e);
|
||||||
36
src/main/java/com/safeqr/app/qrcode/model/WifiModel.java
Normal file
36
src/main/java/com/safeqr/app/qrcode/model/WifiModel.java
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
package com.safeqr.app.qrcode.model;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.WifiEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.service.WifiVerificationService;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class WifiModel extends QRCodeModel {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(WifiModel.class);
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
private final WifiVerificationService wifiVerificationService;
|
||||||
|
|
||||||
|
WifiEntity details;
|
||||||
|
|
||||||
|
public WifiModel(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity, WifiVerificationService wifiVerificationService) {
|
||||||
|
this.scannedQRCode = scannedQRCodeEntity;
|
||||||
|
this.qrCode = qrCodeTypeEntity;
|
||||||
|
this.wifiVerificationService = wifiVerificationService;
|
||||||
|
this.details = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setDetails() {
|
||||||
|
details = WifiEntity.builder().qrCodeId(scannedQRCode.getId()).build();
|
||||||
|
// Insert into wifi table
|
||||||
|
wifiVerificationService.insertDB(details);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.safeqr.app.qrcode.model.factory;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.model.EmailModel;
|
||||||
|
import com.safeqr.app.qrcode.service.EmailVerificationService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class EmailFactory implements QRCodeFactory<EmailModel> {
|
||||||
|
private final EmailVerificationService emailVerificationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public EmailFactory(EmailVerificationService emailVerificationService) {
|
||||||
|
this.emailVerificationService = emailVerificationService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EmailModel create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
|
return new EmailModel(scannedQRCodeEntity, qrCodeTypeEntity, emailVerificationService);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.safeqr.app.qrcode.model.factory;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.model.PhoneModel;
|
||||||
|
import com.safeqr.app.qrcode.service.PhoneVerificationService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class PhoneFactory implements QRCodeFactory<PhoneModel> {
|
||||||
|
private final PhoneVerificationService phoneVerificationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public PhoneFactory(PhoneVerificationService phoneVerificationService) {
|
||||||
|
this.phoneVerificationService = phoneVerificationService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PhoneModel create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
|
return new PhoneModel(scannedQRCodeEntity, qrCodeTypeEntity, phoneVerificationService);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,17 +9,21 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class QRCodeFactoryProvider {
|
public class QRCodeFactoryProvider {
|
||||||
|
private final ApplicationContext applicationContext;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationContext applicationContext;
|
public QRCodeFactoryProvider(ApplicationContext applicationContext) {
|
||||||
|
this.applicationContext = applicationContext;
|
||||||
|
}
|
||||||
|
|
||||||
public QRCodeModel createQRCodeInstance(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
public QRCodeModel createQRCodeInstance(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
switch (qrCodeTypeEntity.getType().toUpperCase()) {
|
return switch (qrCodeTypeEntity.getType().toUpperCase()) {
|
||||||
case "URL":
|
case "URL" -> applicationContext.getBean(URLFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
return applicationContext.getBean(QRCodeURLFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
case "PHONE" -> applicationContext.getBean(PhoneFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
case "TEXT":
|
case "SMS" -> applicationContext.getBean(SMSFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
return applicationContext.getBean(QRCodeTextFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
case "EMAIL" -> applicationContext.getBean(EmailFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
default:
|
case "WIFI" -> applicationContext.getBean(WifiFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
throw new IllegalArgumentException("Unsupported QR code type: " + qrCodeTypeEntity.getType());
|
case "TEXT" -> applicationContext.getBean(TextFactory.class).create(scannedQRCodeEntity, qrCodeTypeEntity);
|
||||||
}
|
default -> throw new IllegalArgumentException("Unsupported QR code type: " + qrCodeTypeEntity.getType());
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.safeqr.app.qrcode.model.factory;
|
|
||||||
|
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
|
||||||
import com.safeqr.app.qrcode.model.QRCodeText;
|
|
||||||
import com.safeqr.app.qrcode.repository.TextRepository;
|
|
||||||
import com.safeqr.app.qrcode.service.TextVerificationService;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class QRCodeTextFactory implements QRCodeFactory<QRCodeText> {
|
|
||||||
@Autowired
|
|
||||||
private TextVerificationService textVerificationService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private TextRepository textRepository;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public QRCodeText create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
|
||||||
return new QRCodeText(scannedQRCodeEntity, qrCodeTypeEntity, textVerificationService, textRepository);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.safeqr.app.qrcode.model.factory;
|
|
||||||
|
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
|
||||||
import com.safeqr.app.qrcode.model.QRCodeURL;
|
|
||||||
import com.safeqr.app.qrcode.repository.URLRepository;
|
|
||||||
import com.safeqr.app.qrcode.service.URLVerificationService;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class QRCodeURLFactory implements QRCodeFactory<QRCodeURL> {
|
|
||||||
@Autowired
|
|
||||||
private URLVerificationService urlVerificationService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private URLRepository urlRepository;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public QRCodeURL create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
|
||||||
return new QRCodeURL(scannedQRCodeEntity, qrCodeTypeEntity, urlVerificationService, urlRepository);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.safeqr.app.qrcode.model.factory;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.model.SMSModel;
|
||||||
|
import com.safeqr.app.qrcode.service.SMSVerificationService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class SMSFactory implements QRCodeFactory<SMSModel> {
|
||||||
|
private final SMSVerificationService smsVerificationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public SMSFactory(SMSVerificationService smsVerificationService) {
|
||||||
|
this.smsVerificationService = smsVerificationService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SMSModel create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
|
return new SMSModel(scannedQRCodeEntity, qrCodeTypeEntity, smsVerificationService);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.safeqr.app.qrcode.model.factory;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.model.TextModel;
|
||||||
|
import com.safeqr.app.qrcode.service.TextVerificationService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class TextFactory implements QRCodeFactory<TextModel> {
|
||||||
|
private final TextVerificationService textVerificationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public TextFactory(TextVerificationService textVerificationService) {
|
||||||
|
this.textVerificationService = textVerificationService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TextModel create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
|
return new TextModel(scannedQRCodeEntity, qrCodeTypeEntity, textVerificationService);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.safeqr.app.qrcode.model.factory;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.model.URLModel;
|
||||||
|
import com.safeqr.app.qrcode.service.URLVerificationService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class URLFactory implements QRCodeFactory<URLModel> {
|
||||||
|
private final URLVerificationService urlVerificationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public URLFactory(URLVerificationService urlVerificationService) {
|
||||||
|
this.urlVerificationService = urlVerificationService;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public URLModel create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
|
return new URLModel(scannedQRCodeEntity, qrCodeTypeEntity, urlVerificationService);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.safeqr.app.qrcode.model.factory;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeEntity;
|
||||||
|
import com.safeqr.app.qrcode.entity.QRCodeTypeEntity;
|
||||||
|
import com.safeqr.app.qrcode.model.WifiModel;
|
||||||
|
import com.safeqr.app.qrcode.service.WifiVerificationService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class WifiFactory implements QRCodeFactory<WifiModel> {
|
||||||
|
private final WifiVerificationService wifiVerificationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public WifiFactory(WifiVerificationService wifiVerificationService) {
|
||||||
|
this.wifiVerificationService = wifiVerificationService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WifiModel create(QRCodeEntity scannedQRCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
||||||
|
return new WifiModel(scannedQRCodeEntity, qrCodeTypeEntity, wifiVerificationService);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.safeqr.app.qrcode.repository;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.EmailEntity;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public interface EmailRepository extends JpaRepository<EmailEntity, UUID> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.safeqr.app.qrcode.repository;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.PhoneEntity;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public interface PhoneRepository extends JpaRepository<PhoneEntity, UUID> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.safeqr.app.qrcode.repository;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.SMSEntity;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public interface SMSRepository extends JpaRepository<SMSEntity, UUID> {
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.safeqr.app.qrcode.repository;
|
package com.safeqr.app.qrcode.repository;
|
||||||
|
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeTextEntity;
|
import com.safeqr.app.qrcode.entity.TextEntity;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public interface TextRepository extends JpaRepository<QRCodeTextEntity, UUID> {
|
public interface TextRepository extends JpaRepository<TextEntity, UUID> {
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.safeqr.app.qrcode.repository;
|
package com.safeqr.app.qrcode.repository;
|
||||||
|
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeURLEntity;
|
import com.safeqr.app.qrcode.entity.URLEntity;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public interface URLRepository extends JpaRepository<QRCodeURLEntity, UUID> {
|
public interface URLRepository extends JpaRepository<URLEntity, UUID> {
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.safeqr.app.qrcode.repository;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.WifiEntity;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public interface WifiRepository extends JpaRepository<WifiEntity, UUID> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.safeqr.app.qrcode.service;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.EmailEntity;
|
||||||
|
import com.safeqr.app.qrcode.repository.EmailRepository;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class EmailVerificationService {
|
||||||
|
private final EmailRepository emailRepository;
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(EmailVerificationService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public EmailVerificationService(EmailRepository emailRepository) {
|
||||||
|
this.emailRepository = emailRepository;
|
||||||
|
}
|
||||||
|
public void insertDB(EmailEntity EmailEntity) {
|
||||||
|
emailRepository.save(EmailEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.safeqr.app.qrcode.service;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.PhoneEntity;
|
||||||
|
import com.safeqr.app.qrcode.repository.PhoneRepository;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class PhoneVerificationService {
|
||||||
|
private final PhoneRepository phoneRepository;
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(PhoneVerificationService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public PhoneVerificationService(PhoneRepository phoneRepository) {
|
||||||
|
this.phoneRepository = phoneRepository;
|
||||||
|
}
|
||||||
|
public void insertDB(PhoneEntity PhoneEntity) {
|
||||||
|
phoneRepository.save(PhoneEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -28,24 +28,25 @@ public class QRCodeTypeService {
|
|||||||
private static final Logger logger = LoggerFactory.getLogger(QRCodeTypeService.class);
|
private static final Logger logger = LoggerFactory.getLogger(QRCodeTypeService.class);
|
||||||
|
|
||||||
private final QRCodeFactoryProvider qrCodeFactoryProvider;
|
private final QRCodeFactoryProvider qrCodeFactoryProvider;
|
||||||
|
private final QRCodeTypeRepository qrCodeTypeRepository;
|
||||||
|
private final ScanHistoryRepository scanHistoryRepository;
|
||||||
|
private final QRCodeRepository qrCodeRepository;
|
||||||
|
private final SafeBrowsingService safeBrowsingService;
|
||||||
@Autowired
|
@Autowired
|
||||||
public QRCodeTypeService(QRCodeFactoryProvider qrCodeFactoryProvider) {
|
public QRCodeTypeService(QRCodeFactoryProvider qrCodeFactoryProvider,
|
||||||
|
QRCodeTypeRepository qrCodeTypeRepository,
|
||||||
|
ScanHistoryRepository scanHistoryRepository,
|
||||||
|
QRCodeRepository qrCodeRepository,
|
||||||
|
SafeBrowsingService safeBrowsingService
|
||||||
|
) {
|
||||||
this.qrCodeFactoryProvider = qrCodeFactoryProvider;
|
this.qrCodeFactoryProvider = qrCodeFactoryProvider;
|
||||||
|
this.qrCodeTypeRepository = qrCodeTypeRepository;
|
||||||
|
this.scanHistoryRepository = scanHistoryRepository;
|
||||||
|
this.qrCodeRepository = qrCodeRepository;
|
||||||
|
this.safeBrowsingService = safeBrowsingService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private QRCodeTypeRepository qrCodeTypeRepository;
|
|
||||||
@Autowired
|
|
||||||
private ScanHistoryRepository scanHistoryRepository;
|
|
||||||
@Autowired
|
|
||||||
private QRCodeRepository qrCodeRepository;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SafeBrowsingService safeBrowsingService;
|
|
||||||
|
|
||||||
private List<QRCodeTypeEntity> configs;
|
private List<QRCodeTypeEntity> configs;
|
||||||
private QRCodeTypeEntity defaultQRCodeTypeEntity;
|
private QRCodeTypeEntity defaultQRCodeTypeEntity;
|
||||||
|
|
||||||
@@ -88,9 +89,9 @@ public class QRCodeTypeService {
|
|||||||
.scanStatus(ScanHistoryEntity.ScanStatus.ACTIVE)
|
.scanStatus(ScanHistoryEntity.ScanStatus.ACTIVE)
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
// Create the QR Code Instance based on the QR Code Type & insert into the respective table
|
||||||
QRCodeModel qrCodeModel = qrCodeFactoryProvider.createQRCodeInstance(scannedQR, qrType);
|
QRCodeModel qrCodeModel = qrCodeFactoryProvider.createQRCodeInstance(scannedQR, qrType);
|
||||||
qrCodeModel.insertDB();
|
qrCodeModel.setDetails();
|
||||||
|
|
||||||
return BaseScanResponse.builder().qrcode(qrCodeModel).build();
|
return BaseScanResponse.builder().qrcode(qrCodeModel).build();
|
||||||
}
|
}
|
||||||
@@ -101,29 +102,6 @@ public class QRCodeTypeService {
|
|||||||
.orElse(defaultQRCodeTypeEntity);
|
.orElse(defaultQRCodeTypeEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
// private BaseScanResponse insertIntoRespectiveTable(QRCodeEntity qrCodeEntity, QRCodeTypeEntity qrCodeTypeEntity) {
|
|
||||||
// String contents = qrCodeEntity.getContents();
|
|
||||||
// try {
|
|
||||||
// QRCodeURLEntity urlObj = urlVerificationService.breakdownURL(contents);
|
|
||||||
// List<String> redirectChain = urlVerificationService.countAndTrackRedirects(contents);
|
|
||||||
// urlObj.setQrCodeId(qrCodeEntity.getId());
|
|
||||||
// urlObj.setRedirect(redirectChain.size() - 1);
|
|
||||||
// urlObj.setRedirectChain(redirectChain);
|
|
||||||
//
|
|
||||||
// // Insert into URL table
|
|
||||||
// urlRepository.save(urlObj);
|
|
||||||
//
|
|
||||||
// return URLResponse.builder().scannedQRCode(qrCodeEntity).qrCode(qrCodeTypeEntity).details(urlObj).build();
|
|
||||||
// } catch (IOException | URISyntaxException e) {
|
|
||||||
// logger.error("Error: ", e);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return BaseScanResponse.builder()
|
|
||||||
// .scannedQRCode(qrCodeEntity)
|
|
||||||
// .qrCode(qrCodeTypeEntity)
|
|
||||||
// .build();
|
|
||||||
// }
|
|
||||||
|
|
||||||
public Mono<String> detectType(QRCodePayload payload) {
|
public Mono<String> detectType(QRCodePayload payload) {
|
||||||
String data = payload.getData();
|
String data = payload.getData();
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.safeqr.app.qrcode.service;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.SMSEntity;
|
||||||
|
import com.safeqr.app.qrcode.repository.SMSRepository;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class SMSVerificationService {
|
||||||
|
private final SMSRepository smsRepository;
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(SMSVerificationService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public SMSVerificationService(SMSRepository smsRepository) {
|
||||||
|
this.smsRepository = smsRepository;
|
||||||
|
}
|
||||||
|
public void insertDB(SMSEntity SMSEntity) {
|
||||||
|
smsRepository.save(SMSEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,10 +1,22 @@
|
|||||||
package com.safeqr.app.qrcode.service;
|
package com.safeqr.app.qrcode.service;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.TextEntity;
|
||||||
|
import com.safeqr.app.qrcode.repository.TextRepository;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class TextVerificationService {
|
public class TextVerificationService {
|
||||||
|
private final TextRepository textRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public TextVerificationService(TextRepository textRepository) {
|
||||||
|
this.textRepository = textRepository;
|
||||||
|
}
|
||||||
|
public void insertDB(TextEntity textEntity) {
|
||||||
|
textRepository.save(textEntity);
|
||||||
|
}
|
||||||
private static final Logger logger = LoggerFactory.getLogger(TextVerificationService.class);
|
private static final Logger logger = LoggerFactory.getLogger(TextVerificationService.class);
|
||||||
}
|
}
|
||||||
@@ -3,9 +3,11 @@ package com.safeqr.app.qrcode.service;
|
|||||||
import com.safeqr.app.constants.CommonConstants;
|
import 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.URLVerificationResponse;
|
import com.safeqr.app.qrcode.dto.URLVerificationResponse;
|
||||||
import com.safeqr.app.qrcode.entity.QRCodeURLEntity;
|
import com.safeqr.app.qrcode.entity.URLEntity;
|
||||||
|
import com.safeqr.app.qrcode.repository.URLRepository;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -18,12 +20,20 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
public class URLVerificationService {
|
public class URLVerificationService {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(URLVerificationService.class);
|
private static final Logger logger = LoggerFactory.getLogger(URLVerificationService.class);
|
||||||
|
private final URLRepository urlRepository;
|
||||||
|
@Autowired
|
||||||
|
public URLVerificationService(URLRepository urlRepository) {
|
||||||
|
this.urlRepository = urlRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insertDB(URLEntity urlEntity) {
|
||||||
|
urlRepository.save(urlEntity);
|
||||||
|
}
|
||||||
// Function to breakdown URL into subdomain, domain, topLevelDomain, query params, fragment
|
// Function to breakdown URL into subdomain, domain, topLevelDomain, query params, fragment
|
||||||
public QRCodeURLEntity breakdownURL(String urlString) throws MalformedURLException, URISyntaxException {
|
public URLEntity breakdownURL(String urlString) throws MalformedURLException, URISyntaxException {
|
||||||
URI uri = new URI(urlString);
|
URI uri = new URI(urlString);
|
||||||
URL url = uri.toURL();
|
URL url = uri.toURL();
|
||||||
QRCodeURLEntity urlObj = new QRCodeURLEntity();
|
URLEntity urlObj = new URLEntity();
|
||||||
|
|
||||||
String host = url.getHost();
|
String host = url.getHost();
|
||||||
// split host into subdomain, domain, topLevelDomain
|
// split host into subdomain, domain, topLevelDomain
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.safeqr.app.qrcode.service;
|
||||||
|
|
||||||
|
import com.safeqr.app.qrcode.entity.WifiEntity;
|
||||||
|
import com.safeqr.app.qrcode.repository.WifiRepository;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class WifiVerificationService {
|
||||||
|
private final WifiRepository wifiRepository;
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(WifiVerificationService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public WifiVerificationService(WifiRepository wifiRepository) {
|
||||||
|
this.wifiRepository = wifiRepository;
|
||||||
|
}
|
||||||
|
public void insertDB(WifiEntity WifiEntity) {
|
||||||
|
wifiRepository.save(WifiEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user