[PM-18092] Update cipher delete restore permissions (#5075)

Co-authored-by: Patrick Honkonen <1883101+SaintPatrck@users.noreply.github.com>
This commit is contained in:
André Bispo
2025-05-05 14:56:58 +01:00
committed by GitHub
parent 639ca02739
commit 1a2beea770
30 changed files with 655 additions and 14 deletions

View File

@@ -455,6 +455,9 @@ data class SyncResponseJson(
@SerialName("passwordHistory")
val passwordHistory: List<PasswordHistory>?,
@SerialName("permissions")
val permissions: CipherPermissions?,
@SerialName("revisionDate")
@Contextual
val revisionDate: ZonedDateTime,
@@ -769,6 +772,21 @@ data class SyncResponseJson(
val lastUsedDate: ZonedDateTime,
)
/**
* Represents a cipher permissions in the vault response.
*
* @property delete whether the delete permissions is active.
* @property restore whether the restore permissions is active.
*/
@Serializable
data class CipherPermissions(
@SerialName("delete")
val delete: Boolean,
@SerialName("restore")
val restore: Boolean,
)
/**
* Represents a secure note in the vault response.
*

View File

@@ -375,6 +375,10 @@ private const val CREATE_ATTACHMENT_SUCCESS_JSON = """
"lastUsedDate": "2023-10-27T12:00:00.00Z"
}
],
"permissions": {
"delete": true,
"restore": true
},
"revisionDate": "2023-10-27T12:00:00.00Z",
"type": 1,
"login": {
@@ -498,6 +502,10 @@ private const val CREATE_RESTORE_UPDATE_CIPHER_SUCCESS_JSON = """
"lastUsedDate": "2023-10-27T12:00:00.00Z"
}
],
"permissions": {
"delete": true,
"restore": true
},
"revisionDate": "2023-10-27T12:00:00.00Z",
"type": 1,
"login": {

View File

@@ -222,6 +222,10 @@ private const val SYNC_SUCCESS_JSON = """
"lastUsedDate": "2023-10-27T12:00:00.00Z"
}
],
"permissions": {
"delete": true,
"restore": true
},
"revisionDate": "2023-10-27T12:00:00.00Z",
"type": 1,
"login": {

View File

@@ -41,6 +41,7 @@ fun createMockCipher(
sshKey = createMockSshKey(number = number),
isFavorite = false,
passwordHistory = listOf(createMockPasswordHistory(number = number)),
permissions = createMockCipherPermissions(),
reprompt = CipherRepromptTypeJson.NONE,
secureNote = createMockSecureNote(),
shouldEdit = false,
@@ -109,6 +110,18 @@ fun createMockPasswordHistory(number: Int): SyncResponseJson.Cipher.PasswordHist
lastUsedDate = MOCK_ZONED_DATE_TIME,
)
/**
* Create a mock [SyncResponseJson.Cipher.CipherPermissions].
*/
fun createMockCipherPermissions(
delete: Boolean = true,
restore: Boolean = true,
): SyncResponseJson.Cipher.CipherPermissions =
SyncResponseJson.Cipher.CipherPermissions(
delete = delete,
restore = restore,
)
/**
* Create a mock [SyncResponseJson.Cipher.SecureNote].
*/