PM-17087 update notification payloads to support camelCase JSON keys. (#4823)

This commit is contained in:
Dave Severns
2025-03-10 10:54:58 -04:00
committed by GitHub
parent d03c6c243d
commit 4809066ad7

View File

@@ -2,8 +2,9 @@ package com.x8bit.bitwarden.data.platform.manager.model
import com.x8bit.bitwarden.data.platform.manager.PushManager import com.x8bit.bitwarden.data.platform.manager.PushManager
import kotlinx.serialization.Contextual import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonNames
import java.time.ZonedDateTime import java.time.ZonedDateTime
/** /**
@@ -12,6 +13,7 @@ import java.time.ZonedDateTime
* Note: The data we receive is not always reliable, so everything is nullable and we validate the * Note: The data we receive is not always reliable, so everything is nullable and we validate the
* data in the [PushManager] as necessary. * data in the [PushManager] as necessary.
*/ */
@OptIn(ExperimentalSerializationApi::class)
@Serializable @Serializable
sealed class NotificationPayload { sealed class NotificationPayload {
/** /**
@@ -24,12 +26,12 @@ sealed class NotificationPayload {
*/ */
@Serializable @Serializable
data class SyncCipherNotification( data class SyncCipherNotification(
@SerialName("Id") val cipherId: String?, @JsonNames("Id", "id") val cipherId: String?,
@SerialName("UserId") override val userId: String?, @JsonNames("UserId", "userId") override val userId: String?,
@SerialName("OrganizationId") val organizationId: String?, @JsonNames("OrganizationId", "organizationId") val organizationId: String?,
@SerialName("CollectionIds") val collectionIds: List<String>?, @JsonNames("CollectionIds", "collectionIds") val collectionIds: List<String>?,
@Contextual @Contextual
@SerialName("RevisionDate") val revisionDate: ZonedDateTime?, @JsonNames("RevisionDate", "revisionDate") val revisionDate: ZonedDateTime?,
) : NotificationPayload() ) : NotificationPayload()
/** /**
@@ -37,10 +39,10 @@ sealed class NotificationPayload {
*/ */
@Serializable @Serializable
data class SyncFolderNotification( data class SyncFolderNotification(
@SerialName("Id") val folderId: String?, @JsonNames("Id", "id") val folderId: String?,
@SerialName("UserId") override val userId: String?, @JsonNames("UserId", "userId") override val userId: String?,
@Contextual @Contextual
@SerialName("RevisionDate") val revisionDate: ZonedDateTime?, @JsonNames("RevisionDate", "revisionDate") val revisionDate: ZonedDateTime?,
) : NotificationPayload() ) : NotificationPayload()
/** /**
@@ -48,9 +50,9 @@ sealed class NotificationPayload {
*/ */
@Serializable @Serializable
data class UserNotification( data class UserNotification(
@SerialName("UserId") override val userId: String?, @JsonNames("UserId", "userId") override val userId: String?,
@Contextual @Contextual
@SerialName("Date") val date: ZonedDateTime?, @JsonNames("Date", "date") val date: ZonedDateTime?,
) : NotificationPayload() ) : NotificationPayload()
/** /**
@@ -58,10 +60,10 @@ sealed class NotificationPayload {
*/ */
@Serializable @Serializable
data class SyncSendNotification( data class SyncSendNotification(
@SerialName("Id") val sendId: String?, @JsonNames("Id", "id") val sendId: String?,
@SerialName("UserId") override val userId: String?, @JsonNames("UserId", "userId") override val userId: String?,
@Contextual @Contextual
@SerialName("RevisionDate") val revisionDate: ZonedDateTime?, @JsonNames("RevisionDate", "revisionDate") val revisionDate: ZonedDateTime?,
) : NotificationPayload() ) : NotificationPayload()
/** /**
@@ -69,7 +71,7 @@ sealed class NotificationPayload {
*/ */
@Serializable @Serializable
data class PasswordlessRequestNotification( data class PasswordlessRequestNotification(
@SerialName("UserId") override val userId: String?, @JsonNames("UserId", "userId") override val userId: String?,
@SerialName("Id") val loginRequestId: String?, @JsonNames("Id", "id") val loginRequestId: String?,
) : NotificationPayload() ) : NotificationPayload()
} }