Skip to content

Commit 4809066

Browse files
PM-17087 update notification payloads to support camelCase JSON keys. (#4823)
1 parent d03c6c2 commit 4809066

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

app/src/main/java/com/x8bit/bitwarden/data/platform/manager/model/NotificationPayload.kt

+18-16
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ package com.x8bit.bitwarden.data.platform.manager.model
22

33
import com.x8bit.bitwarden.data.platform.manager.PushManager
44
import kotlinx.serialization.Contextual
5-
import kotlinx.serialization.SerialName
5+
import kotlinx.serialization.ExperimentalSerializationApi
66
import kotlinx.serialization.Serializable
7+
import kotlinx.serialization.json.JsonNames
78
import java.time.ZonedDateTime
89

910
/**
@@ -12,6 +13,7 @@ import java.time.ZonedDateTime
1213
* Note: The data we receive is not always reliable, so everything is nullable and we validate the
1314
* data in the [PushManager] as necessary.
1415
*/
16+
@OptIn(ExperimentalSerializationApi::class)
1517
@Serializable
1618
sealed class NotificationPayload {
1719
/**
@@ -24,52 +26,52 @@ sealed class NotificationPayload {
2426
*/
2527
@Serializable
2628
data class SyncCipherNotification(
27-
@SerialName("Id") val cipherId: String?,
28-
@SerialName("UserId") override val userId: String?,
29-
@SerialName("OrganizationId") val organizationId: String?,
30-
@SerialName("CollectionIds") val collectionIds: List<String>?,
29+
@JsonNames("Id", "id") val cipherId: String?,
30+
@JsonNames("UserId", "userId") override val userId: String?,
31+
@JsonNames("OrganizationId", "organizationId") val organizationId: String?,
32+
@JsonNames("CollectionIds", "collectionIds") val collectionIds: List<String>?,
3133
@Contextual
32-
@SerialName("RevisionDate") val revisionDate: ZonedDateTime?,
34+
@JsonNames("RevisionDate", "revisionDate") val revisionDate: ZonedDateTime?,
3335
) : NotificationPayload()
3436

3537
/**
3638
* A notification payload for sync folder operations.
3739
*/
3840
@Serializable
3941
data class SyncFolderNotification(
40-
@SerialName("Id") val folderId: String?,
41-
@SerialName("UserId") override val userId: String?,
42+
@JsonNames("Id", "id") val folderId: String?,
43+
@JsonNames("UserId", "userId") override val userId: String?,
4244
@Contextual
43-
@SerialName("RevisionDate") val revisionDate: ZonedDateTime?,
45+
@JsonNames("RevisionDate", "revisionDate") val revisionDate: ZonedDateTime?,
4446
) : NotificationPayload()
4547

4648
/**
4749
* A notification payload for user-based operations.
4850
*/
4951
@Serializable
5052
data class UserNotification(
51-
@SerialName("UserId") override val userId: String?,
53+
@JsonNames("UserId", "userId") override val userId: String?,
5254
@Contextual
53-
@SerialName("Date") val date: ZonedDateTime?,
55+
@JsonNames("Date", "date") val date: ZonedDateTime?,
5456
) : NotificationPayload()
5557

5658
/**
5759
* A notification payload for sync send operations.
5860
*/
5961
@Serializable
6062
data class SyncSendNotification(
61-
@SerialName("Id") val sendId: String?,
62-
@SerialName("UserId") override val userId: String?,
63+
@JsonNames("Id", "id") val sendId: String?,
64+
@JsonNames("UserId", "userId") override val userId: String?,
6365
@Contextual
64-
@SerialName("RevisionDate") val revisionDate: ZonedDateTime?,
66+
@JsonNames("RevisionDate", "revisionDate") val revisionDate: ZonedDateTime?,
6567
) : NotificationPayload()
6668

6769
/**
6870
* A notification payload for passwordless requests.
6971
*/
7072
@Serializable
7173
data class PasswordlessRequestNotification(
72-
@SerialName("UserId") override val userId: String?,
73-
@SerialName("Id") val loginRequestId: String?,
74+
@JsonNames("UserId", "userId") override val userId: String?,
75+
@JsonNames("Id", "id") val loginRequestId: String?,
7476
) : NotificationPayload()
7577
}

0 commit comments

Comments
 (0)