diff --git a/DGCAVerifier/BusinessRules/Internal/Validators/DGCValidator.swift b/DGCAVerifier/BusinessRules/Internal/Validators/DGCValidator.swift index 3ed9bd1..46ff6e1 100644 --- a/DGCAVerifier/BusinessRules/Internal/Validators/DGCValidator.swift +++ b/DGCAVerifier/BusinessRules/Internal/Validators/DGCValidator.swift @@ -71,8 +71,6 @@ struct ValidatorProducer { return ReinforcedValidatorFactory() case .booster: return BoosterValidatorFactory() - case .italyEntry: - return ItalyEntryValidatorFactory() } } @@ -138,22 +136,3 @@ struct BoosterValidatorFactory: DCGValidatorFactory { } } - -struct ItalyEntryValidatorFactory: DCGValidatorFactory { - - func getValidator(hcert: HCert) -> DGCValidator? { - switch hcert.extendedType { - case .unknown: - return UnknownValidator() - case .vaccine: - return VaccineItalyEntryValidator() - case .recovery: - return RecoveryItalyEntryValidator() - case .test: - return TestItalyEntryValidator() - case .vaccineExemption: - return VaccineExemptionItalyEntryValidator() - } - } - -} diff --git a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/RecoveryValidators.swift b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/RecoveryValidators.swift index 8016228..eb64e9d 100644 --- a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/RecoveryValidators.swift +++ b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/RecoveryValidators.swift @@ -185,26 +185,3 @@ class RecoveryBoosterValidator: RecoveryReinforcedValidator { } -class RecoveryItalyEntryValidator: RecoveryConcreteValidator { - override func getStartDays(from hcert: HCert) -> Int? { - let startDaysConfig: String - if isSpecialRecovery(hcert: hcert) { - startDaysConfig = Constants.recoverySpecialStartDays - } - else { - startDaysConfig = Constants.recoveryStartDays_NOT_IT - } - return getValue(for: startDaysConfig)?.intValue - } - - override func getEndDays(from hcert: HCert) -> Int? { - let endDaysConfig: String - if isSpecialRecovery(hcert: hcert) { - endDaysConfig = Constants.recoverySpecialEndDays - } - else { - endDaysConfig = Constants.recoveryEndDays_NOT_IT - } - return getValue(for: endDaysConfig)?.intValue - } -} diff --git a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/TestValidators.swift b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/TestValidators.swift index 4f935da..000f3d1 100644 --- a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/TestValidators.swift +++ b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/TestValidators.swift @@ -131,5 +131,3 @@ class TestReinforcedValidator: TestBaseValidator { } class TestBoosterValidator: TestReinforcedValidator {} - -class TestItalyEntryValidator: TestConcreteValidator {} diff --git a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineExemptionValidators.swift b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineExemptionValidators.swift index ef35fe6..c8f8970 100644 --- a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineExemptionValidators.swift +++ b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineExemptionValidators.swift @@ -84,18 +84,3 @@ class VaccineExemptionBoosterValidator: VaccineExemptionBaseValidator { } } - -class VaccineExemptionItalyEntryValidator: VaccineExemptionConcreteValidator { - - override func validate(hcert: HCert) -> Status { - let result = super.validate(hcert: hcert) - switch result { - case .expired: - return .expired - case .notValidYet: - return .notValidYet - default: - return .notValid - } - } -} diff --git a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineValidators.swift b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineValidators.swift index f2a8851..d480356 100644 --- a/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineValidators.swift +++ b/DGCAVerifier/BusinessRules/Internal/Validators/Medical/VaccineValidators.swift @@ -286,54 +286,6 @@ class VaccineBoosterValidator: VaccineConcreteValidator { } -class VaccineItalyEntryValidator: VaccineConcreteValidator { - - override func validate(hcert: HCert) -> Status { - guard let vaccinationInfo = getVaccinationData(hcert) else { return .notValid } - - if !vaccinationInfo.isEMAProduct && vaccinationInfo.isCurrentDoseIncomplete { - return .notValid - } - - self.vaccinationInfo = vaccinationInfo - let result = super.checkVaccinationInterval(vaccinationInfo) - - guard result == .valid else { return result } - - if !vaccinationInfo.isEMAProduct || vaccinationInfo.isCurrentDoseIncomplete { - return .notValid - } - - return result - } - - public override func startDaysForCompleteDose(_ vaccinationInfo: VaccinationInfo) -> Int? { - let setting = Constants.vaccineCompleteStartDays_NOT_IT - return self.getValue(for: setting)?.intValue - } - - public override func endDaysForCompleteDose(_ vaccinationInfo: VaccinationInfo) -> Int? { - var setting = Constants.vaccineCompleteEndDays_NOT_IT - let vaccineUnder18Offset: Int = self.getValue(for: Constants.vaccineCompleteEndDays_under_18_offset)?.intValue ?? 0 - if vaccinationInfo.isPatientUnder18(vaccineUnder18Offset: vaccineUnder18Offset) { - setting = Constants.vaccineCompleteEndDays_under_18 - } - - return self.getValue(for: setting)?.intValue - } - - public override func startDaysForBoosterDose(_ vaccinationInfo: VaccinationInfo) -> Int? { - let setting = Constants.vaccineBoosterStartDays_NOT_IT - return self.getValue(for: setting)?.intValue - } - - public override func endDaysForBoosterDose(_ vaccinationInfo: VaccinationInfo) -> Int? { - let setting = Constants.vaccineBoosterEndDays_NOT_IT - return self.getValue(for: setting)?.intValue - } - -} - class VaccineReinforcedValidatorNotItaly: VaccineReinforcedValidator { override func validate(hcert: HCert) -> Status { diff --git a/DGCAVerifier/Models/Constants.swift b/DGCAVerifier/Models/Constants.swift index 13089d5..a0cfcb0 100644 --- a/DGCAVerifier/Models/Constants.swift +++ b/DGCAVerifier/Models/Constants.swift @@ -78,7 +78,6 @@ struct Constants { static let scanMode2G = "scanMode2G" static let scanMode3G = "scanMode3G" static let scanModeBooster = "scanModeBooster" - static let scanModeItalyEntry = "scanModeItalyEntry" // MARK: Settings static let drlMaxRetries = "MAX_RETRY" @@ -87,7 +86,6 @@ struct Constants { static let scanModeDescription3G = "3G_scan_mode_description" static let scanModeDescription2G = "2G_scan_mode_description" static let scanModeDescriptionBooster = "booster_scan_mode_description" - static let scanModeDescriptionItalyEntry = "italy_entry_scan_mode_description" // MARK: Settings Scan Mode Popup static let infoScanModePopup = "info_scan_mode_popup" diff --git a/DGCAVerifier/Models/Internal/ScanMode.swift b/DGCAVerifier/Models/Internal/ScanMode.swift index a1f5f00..685ca69 100644 --- a/DGCAVerifier/Models/Internal/ScanMode.swift +++ b/DGCAVerifier/Models/Internal/ScanMode.swift @@ -30,6 +30,5 @@ enum ScanMode: String, CaseIterable { case base = "scanMode3G" case reinforced = "scanMode2G" case booster = "scanModeBooster" - case italyEntry = "scanModeItalyEntry" } diff --git a/DGCAVerifier/Pages/Home/HomeViewController.swift b/DGCAVerifier/Pages/Home/HomeViewController.swift index 400595b..d67e37c 100644 --- a/DGCAVerifier/Pages/Home/HomeViewController.swift +++ b/DGCAVerifier/Pages/Home/HomeViewController.swift @@ -96,6 +96,13 @@ class HomeViewController: UIViewController { } private func initialize() { + + if ScanMode.init(rawValue: Store.get(key: .scanMode) ?? "") == nil { + Store.remove(key: .scanMode) + Store.set(false, for: .isScanModeSet) + updateScanButtonStatus() + } + bindScanEnabled() setUpSettingsAction() setHomeTitle() diff --git a/DGCAVerifier/Pages/Result/VerificationViewController.swift b/DGCAVerifier/Pages/Result/VerificationViewController.swift index 936009e..b6ac20b 100644 --- a/DGCAVerifier/Pages/Result/VerificationViewController.swift +++ b/DGCAVerifier/Pages/Result/VerificationViewController.swift @@ -269,8 +269,6 @@ class VerificationViewController: UIViewController { switch scanMode{ case Constants.scanMode2G: mode = "result.scan.mode.2G".localized - case Constants.scanModeItalyEntry: - mode = "result.scan.mode.italy.entry".localized case Constants.scanMode3G: mode = "result.scan.mode.3G".localized case Constants.scanModeBooster: diff --git a/DGCAVerifier/SupportingFiles/en.lproj/Localizable.strings b/DGCAVerifier/SupportingFiles/en.lproj/Localizable.strings index cb77f45..6458d20 100644 --- a/DGCAVerifier/SupportingFiles/en.lproj/Localizable.strings +++ b/DGCAVerifier/SupportingFiles/en.lproj/Localizable.strings @@ -78,7 +78,6 @@ "top.bar.scan.mode.2G" = "R - RAFFORZATA"; "top.bar.scan.mode.3G" = "B - BASE"; "top.bar.scan.mode.Boster" = "V - VISITATORI RSA"; -"top.bar.scan.mode.itEntry" = "I - INGRESSO IT"; "server.error.error.with.status" = "Ricevuto errore con status "; "server.error.generic.error" = "Errore generico nell'utilizzo del servizio"; diff --git a/DGCAVerifier/SupportingFiles/it.lproj/Localizable.strings b/DGCAVerifier/SupportingFiles/it.lproj/Localizable.strings index da8b411..b3bcc54 100644 --- a/DGCAVerifier/SupportingFiles/it.lproj/Localizable.strings +++ b/DGCAVerifier/SupportingFiles/it.lproj/Localizable.strings @@ -78,7 +78,6 @@ "top.bar.scan.mode.2G" = "R - RAFFORZATA"; "top.bar.scan.mode.3G" = "B - BASE"; "top.bar.scan.mode.Boster" = "V - VISITATORI RSA"; -"top.bar.scan.mode.itEntry" = "I - INGRESSO IT"; "server.error.error.with.status" = "Ricevuto errore con status "; "server.error.generic.error" = "Errore generico nell'utilizzo del servizio"; diff --git a/DGCAVerifier/UIComponents/CustomViews/HeaderBar/HeaderBar.swift b/DGCAVerifier/UIComponents/CustomViews/HeaderBar/HeaderBar.swift index 4b6a11d..becb93a 100644 --- a/DGCAVerifier/UIComponents/CustomViews/HeaderBar/HeaderBar.swift +++ b/DGCAVerifier/UIComponents/CustomViews/HeaderBar/HeaderBar.swift @@ -63,8 +63,6 @@ class HeaderBar: AppView { mode = "top.bar.scan.mode.3G".localized case Constants.scanModeBooster: mode = "top.bar.scan.mode.Boster".localized - case Constants.scanModeItalyEntry: - mode = "top.bar.scan.mode.itEntry".localized default: break } diff --git a/DGCAVerifier/Utils/ScanMode+UI.swift b/DGCAVerifier/Utils/ScanMode+UI.swift index 53c187d..be873f3 100644 --- a/DGCAVerifier/Utils/ScanMode+UI.swift +++ b/DGCAVerifier/Utils/ScanMode+UI.swift @@ -31,8 +31,6 @@ extension ScanMode { switch self { case .base: return "home.scan.picker.mode.3G".localized - case .italyEntry: - return "home.scan.picker.mode.italy.entry".localized case .reinforced: return "home.scan.picker.mode.2G".localized case .booster: @@ -44,8 +42,6 @@ extension ScanMode { switch self { case .base: return SettingDataStorage.sharedInstance.getFirstSetting(withName: Constants.scanModeDescription3G) - case .italyEntry: - return SettingDataStorage.sharedInstance.getFirstSetting(withName: Constants.scanModeDescriptionItalyEntry) case .reinforced: return SettingDataStorage.sharedInstance.getFirstSetting(withName: Constants.scanModeDescription2G) case .booster: @@ -57,8 +53,6 @@ extension ScanMode { switch self { case .base: return "home.scan.button.bold.3G".localized - case .italyEntry: - return "home.scan.button.bold.italy.entry".localized case .reinforced: return "home.scan.button.bold.2G".localized case .booster: @@ -70,8 +64,6 @@ extension ScanMode { switch self { case .base: return "home.scan.button.mode.3G".localized - case .italyEntry: - return "home.scan.button.mode.italy.entry".localized case .reinforced: return "home.scan.button.mode.2G".localized case .booster: diff --git a/DGCAVerifierTests/AutomatedTests/TestModel.swift b/DGCAVerifierTests/AutomatedTests/TestModel.swift index 5043f57..3c90b48 100644 --- a/DGCAVerifierTests/AutomatedTests/TestModel.swift +++ b/DGCAVerifierTests/AutomatedTests/TestModel.swift @@ -86,8 +86,6 @@ struct TestResult: Codable, Equatable, CustomStringConvertible { return .reinforced case "Visitatori RSA": return .booster - case "Ingresso in italia": - return .italyEntry default: return nil } diff --git a/Verifier.xcodeproj/project.pbxproj b/Verifier.xcodeproj/project.pbxproj index c0f0c52..03ccf4f 100644 --- a/Verifier.xcodeproj/project.pbxproj +++ b/Verifier.xcodeproj/project.pbxproj @@ -2158,7 +2158,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2182,7 +2182,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2269,7 +2269,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2294,7 +2294,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2425,7 +2425,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2450,7 +2450,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2644,7 +2644,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2669,7 +2669,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.3.2; PRODUCT_BUNDLE_IDENTIFIER = it.ministerodellasalute.VerificaC19; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "";