[PR #5114] [MERGED] [PM-14222] Managed user account deletion prevention #5493

Closed
opened 2025-11-27 00:05:41 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/5114
Author: @aj-rosado
Created: 4/30/2025
Status: Merged
Merged: 5/2/2025
Merged by: @aj-rosado

Base: mainHead: pm-14222/managed-user-account-deletion-prevention


📝 Commits (10+)

  • e48e844 PM-14222 Prevent a verified user from deleting their account
  • d7bc94c added logic to check if user is managed by org
  • b903188 fixed existing tests
  • 1a9fd9d removed unnecessary flagkey
  • a83073e Merge branch 'main' into pm-14222/managed-user-account-deletion-prevention
  • e4af257 added tests to isUserManagedByOrganization
  • c42c80c fixed SyncServiceTest
  • ab028db renamed managedByOrganization to claimedByOrganization
  • 7f39e2a Moved userIsClaimedByOrganization to the user's Organization model
  • 0c564b0 improved code readibility

📊 Changes

25 files changed (+275 additions, -83 deletions)

View changed files

📝 app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/Organization.kt (+1 -0)
📝 app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/SyncResponseJsonExtensions.kt (+1 -0)
📝 app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountScreen.kt (+100 -55)
📝 app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountViewModel.kt (+14 -8)
📝 app/src/main/res/drawable/ic_warning.xml (+14 -18)
📝 app/src/main/res/values/strings.xml (+2 -0)
📝 app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt (+41 -0)
📝 app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/AuthDiskSourceExtensionsTest.kt (+6 -0)
📝 app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/SyncResponseJsonExtensionsTest.kt (+3 -0)
📝 app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensionsTest.kt (+16 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/removepassword/RemovePasswordViewModelTest.kt (+1 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt (+1 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityViewModelTest.kt (+4 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountScreenTest.kt (+39 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountViewModelTest.kt (+1 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt (+1 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/CipherViewExtensionsTest.kt (+1 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt (+1 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/VaultMoveToOrganizationViewModelTest.kt (+3 -0)
📝 app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/util/VaultMoveToOrganizationExtensionsTest.kt (+3 -0)

...and 5 more files

📄 Description

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-14222

📔 Objective

Users managed by organization should not be allowed to deleted their accounts.

📸 Screenshots

User cannot delete account screen User delete account screen

Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/5114 **Author:** [@aj-rosado](https://github.com/aj-rosado) **Created:** 4/30/2025 **Status:** ✅ Merged **Merged:** 5/2/2025 **Merged by:** [@aj-rosado](https://github.com/aj-rosado) **Base:** `main` ← **Head:** `pm-14222/managed-user-account-deletion-prevention` --- ### 📝 Commits (10+) - [`e48e844`](https://github.com/bitwarden/android/commit/e48e844271107e022c59b245843b9d3a68ddbe3f) PM-14222 Prevent a verified user from deleting their account - [`d7bc94c`](https://github.com/bitwarden/android/commit/d7bc94c5661809b135e4ce2b3874aad24876edb1) added logic to check if user is managed by org - [`b903188`](https://github.com/bitwarden/android/commit/b9031887201ef108b0f01275f1b3fff36d0920db) fixed existing tests - [`1a9fd9d`](https://github.com/bitwarden/android/commit/1a9fd9dad2b14f9332360211ddbca4f0cf68b54a) removed unnecessary flagkey - [`a83073e`](https://github.com/bitwarden/android/commit/a83073ef43e13806c798d3f59f8f54066ef9c2fa) Merge branch 'main' into pm-14222/managed-user-account-deletion-prevention - [`e4af257`](https://github.com/bitwarden/android/commit/e4af257b97078881aacacffad109f9642b9ddef0) added tests to isUserManagedByOrganization - [`c42c80c`](https://github.com/bitwarden/android/commit/c42c80c45b9d7f66a268e5bf70ae87329081c556) fixed SyncServiceTest - [`ab028db`](https://github.com/bitwarden/android/commit/ab028dbae4e080813dc5f2cbf8f86aa32405d8b5) renamed managedByOrganization to claimedByOrganization - [`7f39e2a`](https://github.com/bitwarden/android/commit/7f39e2afc185a79be39d436836c905f89a1ce68e) Moved userIsClaimedByOrganization to the user's Organization model - [`0c564b0`](https://github.com/bitwarden/android/commit/0c564b0df9480f94a4bedf7dbdb527cd64d6181a) improved code readibility ### 📊 Changes **25 files changed** (+275 additions, -83 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/Organization.kt` (+1 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/SyncResponseJsonExtensions.kt` (+1 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountScreen.kt` (+100 -55) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountViewModel.kt` (+14 -8) 📝 `app/src/main/res/drawable/ic_warning.xml` (+14 -18) 📝 `app/src/main/res/values/strings.xml` (+2 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt` (+41 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/AuthDiskSourceExtensionsTest.kt` (+6 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/SyncResponseJsonExtensionsTest.kt` (+3 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensionsTest.kt` (+16 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/removepassword/RemovePasswordViewModelTest.kt` (+1 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt` (+1 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityViewModelTest.kt` (+4 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountScreenTest.kt` (+39 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/deleteaccount/DeleteAccountViewModelTest.kt` (+1 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt` (+1 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/CipherViewExtensionsTest.kt` (+1 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt` (+1 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/VaultMoveToOrganizationViewModelTest.kt` (+3 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/util/VaultMoveToOrganizationExtensionsTest.kt` (+3 -0) _...and 5 more files_ </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-14222 ## 📔 Objective Users managed by organization should not be allowed to deleted their accounts. ## 📸 Screenshots <img width="314" alt="User cannot delete account screen" src="https://github.com/user-attachments/assets/6329bc96-aa7e-4e84-a582-81744a6707eb"> <img width="314" alt="User delete account screen" src="https://github.com/user-attachments/assets/440c794c-964a-4417-a6d8-5ecb41d23399"> ## ⏰ Reminders before review - Contributor guidelines followed - All formatters and local linters executed and passed - Written new unit and / or integration tests where applicable - Protected functional changes with optionality (feature flags) - Used internationalization (i18n) for all UI strings - CI builds passed - Communicated to DevOps any deployment requirements - Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team ## 🦮 Reviewer guidelines <!-- Suggested interactions but feel free to use (or not) as you desire! --> - 👍 (`:+1:`) or similar for great changes - 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info - ❓ (`:question:`) for questions - 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion - 🎨 (`:art:`) for suggestions / improvements - ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or concerns needing attention - 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or indications of technical debt - ⛏ (`:pick:`) for minor or nitpick changes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-27 00:05:41 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#5493