From 9b2c87c16f18d4e4c48f09a8889676086879e6d2 Mon Sep 17 00:00:00 2001
From: CWA Technical User
 <67319337+Corona-Warn-App-Technical-User@users.noreply.github.com>
Date: Fri, 26 Feb 2021 13:34:32 +0100
Subject: [PATCH] Protocol Buffer update for release 1.15.x at Wed Feb 24
 09:15:41 UTC 2021 (#2451)

* Update from https://github.com/corona-warn-app/cwa-protocol-buffers/commit/9407efff72fa1fa8e55ce45809d2cea3447e6404

* Update from https://github.com/corona-warn-app/cwa-protocol-buffers/commit/4033ef872478e2d4b0d64becfaa33342616b92d4

* Update from https://github.com/corona-warn-app/cwa-protocol-buffers/commit/d8011ec8efba92d7aae3c5b50c24d3d43d256d38

Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com>
Co-authored-by: BMItter <46747780+BMItter@users.noreply.github.com>
---
 .../main/proto/internal/evreg/check_in.proto  | 34 +++++++++++++++++++
 .../internal/evreg/check_in_export.proto      | 30 ++++++++++++++++
 .../src/main/proto/internal/evreg/event.proto | 12 +++++++
 .../proto/internal/evreg/signed_event.proto   | 10 ++++++
 .../main/proto/internal/ppdd/els_otp.proto    |  9 +++++
 .../ppdd/els_otp_request_android.proto        | 13 +++++++
 .../internal/ppdd/els_otp_request_ios.proto   | 13 +++++++
 .../ppdd/ppa_data_request_android.proto       |  2 +-
 .../internal/ppdd/ppa_data_request_ios.proto  |  2 +-
 .../proto/internal/ppdd/ppac_android.proto    |  2 +-
 .../main/proto/internal/ppdd/ppac_ios.proto   |  2 +-
 .../proto/internal/submission_payload.proto   |  2 ++
 .../internal/v2/app_config_android.proto      |  5 +++
 .../proto/internal/v2/app_config_ios.proto    |  5 +++
 .../v2/event_registration_parameters.proto    | 14 ++++++++
 .../internal/v2/ppdd_els_parameters.proto     | 18 ++++++++++
 .../v2/risk_calculation_parameters.proto      |  9 ++++-
 17 files changed, 177 insertions(+), 5 deletions(-)
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in_export.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/evreg/event.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/evreg/signed_event.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_android.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_ios.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/v2/event_registration_parameters.proto
 create mode 100644 Server-Protocol-Buffer/src/main/proto/internal/v2/ppdd_els_parameters.proto

diff --git a/Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in.proto b/Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in.proto
new file mode 100644
index 000000000..5e3fdf892
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in.proto
@@ -0,0 +1,34 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.evreg;
+
+import "internal/evreg/signed_event.proto";
+
+message CheckIn {
+  uint32 trl = 1;
+  SignedEvent signedEvent = 2;
+  uint32 checkinTime = 3; 
+  uint32 checkoutTime = 4; 
+}
+
+message CheckInOption1 {
+  uint32 trl = 1;
+  bytes eventKey = 2; // 16 byte random string
+  uint32 checkinTime = 3; 
+  uint32 checkoutTime = 4; 
+}
+message CheckInOption2 {
+  uint32 trl = 1;
+  bytes rei = 2; // 16 byte random string
+}
+message CheckInOption3 {
+  uint32 trl = 1;
+  bytes checkinRei = 2; // 16 byte random string
+  bytes checkoutRei = 3; // 16 byte random string
+}
+message CheckInOption4 {
+  uint32 trl = 1;
+  SignedEvent signedEvent = 2;
+  uint32 checkinTime = 3; 
+  uint32 checkoutTime = 4; 
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in_export.proto b/Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in_export.proto
new file mode 100644
index 000000000..5ef3d0a4a
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/evreg/check_in_export.proto
@@ -0,0 +1,30 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.evreg;
+
+
+import "internal/evreg/check_in.proto";
+
+message CheckInExport {
+  repeated CheckInExportItem checkIns = 1;
+}
+
+message CheckInExportItem {
+  uint32 trl = 1;
+  bytes eventKey = 2; // 16 byte random string
+  uint32 checkinTime = 3; 
+  uint32 checkoutTime = 4; 
+}
+
+message CheckInExportOption1 {
+  repeated CheckInOption1 checkIns = 1;
+}
+
+message CheckInExportOption2 {
+  repeated CheckInOption2 checkIns = 1;
+}
+
+message CheckInExportOption3 {
+  repeated CheckInOption3 checkIns = 1;
+}
+
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/evreg/event.proto b/Server-Protocol-Buffer/src/main/proto/internal/evreg/event.proto
new file mode 100644
index 000000000..c567f9550
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/evreg/event.proto
@@ -0,0 +1,12 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.evreg;
+
+
+message Event {
+  bytes guid = 1;
+  string description = 2;
+  uint32 start = 3;
+  uint32 end = 4;
+  uint32 defaultCheckInLengthInMinutes = 5;
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/evreg/signed_event.proto b/Server-Protocol-Buffer/src/main/proto/internal/evreg/signed_event.proto
new file mode 100644
index 000000000..bcf33008d
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/evreg/signed_event.proto
@@ -0,0 +1,10 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.evreg;
+
+import "internal/evreg/event.proto";
+
+message SignedEvent {
+  Event event = 1;
+  bytes signature = 2;
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp.proto
new file mode 100644
index 000000000..f8831e518
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp.proto
@@ -0,0 +1,9 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.ppdd;
+
+
+message ELSOneTimePassword {
+
+  string otp = 1;
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_android.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_android.proto
new file mode 100644
index 000000000..0b01eae14
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_android.proto
@@ -0,0 +1,13 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.ppdd;
+
+import "internal/ppdd/ppac_android.proto";
+import "internal/ppdd/els_otp.proto";
+
+message ELSOneTimePasswordRequestAndroid {
+
+  PPACAndroid authentication = 1;
+
+  ELSOneTimePassword payload = 2;
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_ios.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_ios.proto
new file mode 100644
index 000000000..1495785c2
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/els_otp_request_ios.proto
@@ -0,0 +1,13 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.ppdd;
+
+import "internal/ppdd/ppac_ios.proto";
+import "internal/ppdd/els_otp.proto";
+
+message ELSOneTimePasswordRequestIOS {
+
+  PPACIOS authentication = 1;
+
+  ELSOneTimePassword payload = 2;
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_android.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_android.proto
index 1153d872f..0e1cd1237 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_android.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_android.proto
@@ -10,4 +10,4 @@ message PPADataRequestAndroid {
   PPACAndroid authentication = 1;
 
   PPADataAndroid payload = 2;
-}
\ No newline at end of file
+}
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_ios.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_ios.proto
index 181180153..e7feff7b8 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_ios.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data_request_ios.proto
@@ -10,4 +10,4 @@ message PPADataRequestIOS {
   PPACIOS authentication = 1;
 
   PPADataIOS payload = 2;
-}
\ No newline at end of file
+}
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_android.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_android.proto
index 98aa1159a..8e52a3ad9 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_android.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_android.proto
@@ -8,4 +8,4 @@ message PPACAndroid {
   string safetyNetJws = 1;
 
   string salt = 2;
-}
\ No newline at end of file
+}
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_ios.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_ios.proto
index 93fcdf23e..214426ca0 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_ios.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppac_ios.proto
@@ -8,4 +8,4 @@ message PPACIOS {
   string deviceToken = 1;
 
   string apiToken = 2;
-}
\ No newline at end of file
+}
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/submission_payload.proto b/Server-Protocol-Buffer/src/main/proto/internal/submission_payload.proto
index 3d574f615..5c7ce61c8 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/submission_payload.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/submission_payload.proto
@@ -3,6 +3,7 @@ syntax = "proto2";
 package de.rki.coronawarnapp.server.protocols.internal;
 
 import "external/exposurenotification/temporary_exposure_key_export.proto";
+import "internal/evreg/check_in.proto";
 
 message SubmissionPayload {
   repeated de.rki.coronawarnapp.server.protocols.external.exposurenotification.TemporaryExposureKey keys = 1;
@@ -10,4 +11,5 @@ message SubmissionPayload {
   repeated string visitedCountries = 3;
   optional string origin = 4;
   optional bool consentToFederation = 5;
+  repeated de.rki.coronawarnapp.server.protocols.internal.evreg.CheckIn checkIns = 6;
 }
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_android.proto b/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_android.proto
index 4b66239e8..3a1c60885 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_android.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_android.proto
@@ -3,9 +3,11 @@ syntax = "proto3";
 package de.rki.coronawarnapp.server.protocols.internal.v2;
 
 import "internal/v2/app_features.proto";
+import "internal/v2/event_registration_parameters.proto";
 import "internal/v2/exposure_detection_parameters.proto";
 import "internal/v2/key_download_parameters.proto";
 import "internal/v2/ppdd_edus_parameters.proto";
+import "internal/v2/ppdd_els_parameters.proto";
 import "internal/v2/ppdd_ppa_parameters.proto";
 import "internal/v2/risk_calculation_parameters.proto";
 
@@ -30,6 +32,9 @@ message ApplicationConfigurationAndroid {
 
   PPDDEventDrivenUserSurveyParametersAndroid eventDrivenUserSurveyParameters = 10;
   PPDDPrivacyPreservingAnalyticsParametersAndroid privacyPreservingAnalyticsParameters = 11;
+  PPDDErrorLogSharingParametersAndroid errorLogSharingParameters = 12;
+
+  EventRegistrationParameters eventRegistrationParameters = 13;
 }
 
 message DiagnosisKeysDataMapping {
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_ios.proto b/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_ios.proto
index b9c24f0d1..e57b4a2ea 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_ios.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/v2/app_config_ios.proto
@@ -3,9 +3,11 @@ syntax = "proto3";
 package de.rki.coronawarnapp.server.protocols.internal.v2;
 
 import "internal/v2/app_features.proto";
+import "internal/v2/event_registration_parameters.proto";
 import "internal/v2/exposure_detection_parameters.proto";
 import "internal/v2/key_download_parameters.proto";
 import "internal/v2/ppdd_edus_parameters.proto";
+import "internal/v2/ppdd_els_parameters.proto";
 import "internal/v2/ppdd_ppa_parameters.proto";
 import "internal/v2/risk_calculation_parameters.proto";
 import "internal/v2/semantic_version.proto";
@@ -29,6 +31,9 @@ message ApplicationConfigurationIOS {
 
   PPDDEventDrivenUserSurveyParametersIOS eventDrivenUserSurveyParameters = 9;
   PPDDPrivacyPreservingAnalyticsParametersIOS privacyPreservingAnalyticsParameters = 10;
+  PPDDErrorLogSharingParametersIOS errorLogSharingParameters = 11;
+
+  EventRegistrationParameters eventRegistrationParameters = 12;
 }
 
 message ExposureConfiguration {
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/v2/event_registration_parameters.proto b/Server-Protocol-Buffer/src/main/proto/internal/v2/event_registration_parameters.proto
new file mode 100644
index 000000000..5394e14bf
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/v2/event_registration_parameters.proto
@@ -0,0 +1,14 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.v2;
+
+import "internal/v2/risk_calculation_parameters.proto";
+
+message EventRegistrationParameters {
+
+  // Note: this is very much work in progress!
+
+  // repeated TransmissionRiskValueMapping transmissionRiskValueMapping = 1;
+
+  // repeated NormalizedTimeToRiskLevelMapping normalizedTimePerCheckInToRiskLevelMapping = 2;
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/v2/ppdd_els_parameters.proto b/Server-Protocol-Buffer/src/main/proto/internal/v2/ppdd_els_parameters.proto
new file mode 100644
index 000000000..2e88893bd
--- /dev/null
+++ b/Server-Protocol-Buffer/src/main/proto/internal/v2/ppdd_els_parameters.proto
@@ -0,0 +1,18 @@
+// This file is auto-generated, DO NOT make any changes here
+syntax = "proto3";
+package de.rki.coronawarnapp.server.protocols.internal.v2;
+
+import "internal/v2/ppdd_ppac_parameters.proto";
+
+message PPDDErrorLogSharingParametersIOS {
+  PPDDErrorLogSharingParametersCommon common = 1;
+  PPDDPrivacyPreservingAccessControlParametersIOS ppac = 2;
+}
+
+message PPDDErrorLogSharingParametersAndroid {
+  PPDDErrorLogSharingParametersCommon common = 1;
+  PPDDPrivacyPreservingAccessControlParametersAndroid ppac = 2;
+}
+
+message PPDDErrorLogSharingParametersCommon {
+}
\ No newline at end of file
diff --git a/Server-Protocol-Buffer/src/main/proto/internal/v2/risk_calculation_parameters.proto b/Server-Protocol-Buffer/src/main/proto/internal/v2/risk_calculation_parameters.proto
index 955db85e1..5ce9691d8 100644
--- a/Server-Protocol-Buffer/src/main/proto/internal/v2/risk_calculation_parameters.proto
+++ b/Server-Protocol-Buffer/src/main/proto/internal/v2/risk_calculation_parameters.proto
@@ -17,7 +17,9 @@ message RiskCalculationParameters {
 
   TransmissionRiskLevelEncoding trlEncoding = 6;
 
-  double transmissionRiskLevelMultiplier = 7;
+  double transmissionRiskLevelMultiplier = 7 [deprecated = true];
+
+  repeated TransmissionRiskValueMapping transmissionRiskValueMapping = 8;
 }
 
 message Range {
@@ -62,4 +64,9 @@ message TransmissionRiskLevelEncoding {
   int32 reportTypeOffsetSelfReport = 4;
   int32 reportTypeOffsetConfirmedClinicalDiagnosis = 5;
   int32 reportTypeOffsetConfirmedTest = 6;
+}
+
+message TransmissionRiskValueMapping {
+  int32 transmissionRiskLevel = 1;
+  double transmissionRiskValue = 2;
 }
\ No newline at end of file
-- 
GitLab