1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-02 16:42:50 -05:00
Commit Graph

5725 Commits

Author SHA1 Message Date
bb3ec6aca1 [PM-16888] Refactor OrganizationUser status update procedure to use a GuidIdArray parameter and remove JSON parsing logic (#5237)
* Refactor OrganizationUser status update procedure to use a GuidIdArray parameter and remove JSON parsing logic

* Fix OrganizationUser_SetStatusForUsersById procedure and bump script date

* Restore OrganizationUser_SetStatusForUsersById for possible server version rollback. Add new version with the name OrganizationUser_SetStatusForUsersByGuidIdArray

* Add migration script to add stored procedure OrganizationUser_SetStatusForUsersByGuidIdArray to update user status by GUID array
2025-03-19 11:01:06 +00:00
7f0dd6d1c3 Update FROM directive in Dockerfile (#5522) 2025-03-18 20:02:39 +00:00
508bf2c9f8 [deps] Vault: Update AngleSharp to 1.2.0 (#5220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 14:26:29 -04:00
87cdb923a5 [PM-17901] Replaced hard-coded Bitwarden Vault URLs (#5458)
* Replaced hard-coded Bitwarden Vault URLs

* Jared's feedback
2025-03-18 11:44:36 -04:00
43d0f1052b [deps] Tools: Update MailKit to 4.11.0 (#5515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 14:04:54 +01:00
d3f8a99fa6 [PM-18175] Remove flag check for 2FA recovery code login (#5513)
* Remove server-side flagging

* Linting

* Linting.
2025-03-17 16:20:51 -04:00
Ike
abfdf6f5cb Revert "[PM-18944] Update error response from invalid OTP" (#5504)
* Revert "[PM-18944] Update error response from invalid OTP (#5485)"

This reverts commit 1b90bfe2a1.
2025-03-17 12:37:34 -04:00
27606e2d33 [PM-3553] Feature flag: Mobile SimpleLogin self host alias generation (#5392) 2025-03-14 13:22:22 -04:00
488a9847ea Partial<T> for CommandResult<T> (#5482)
* Example of how a partial success/failure command result would look.

* Fixed code.

* Added Validator and ValidationResult

* Moved errors into their own files.

* Fixing tests

* fixed import.

* Forgot mock error.
2025-03-14 12:00:58 -05:00
7daf6cfad4 [PM-18794] Allow provider payment method (#5500)
* Add PaymentSource to ProviderSubscriptionResponse

* Add UpdatePaymentMethod to ProviderBillingController

* Add GetTaxInformation to ProviderBillingController

* Add VerifyBankAccount to ProviderBillingController

* Add feature flag
2025-03-14 11:33:24 -04:00
c457b0bb9c WIP 2025-03-14 16:27:39 +01:00
ac0691ff26 WIP 2025-03-14 16:27:20 +01:00
2d5711240b WIP 2025-03-14 16:25:52 +01:00
daefc148e1 WIP 2025-03-14 16:21:45 +01:00
73a25337a8 WIP 2025-03-14 16:18:48 +01:00
b3ede1d95d WIP 2025-03-14 16:17:22 +01:00
56167aae4a WIP 2025-03-14 16:16:52 +01:00
7fd4f4c77f WIP 2025-03-14 16:11:05 +01:00
b06cff0b1b WIP 2025-03-14 16:04:15 +01:00
7f8fa6663b WIP 2025-03-14 16:00:00 +01:00
e923af2675 WIP 2025-03-14 15:59:06 +01:00
8cc1969c90 WIP 2025-03-14 15:54:47 +01:00
841ce9429f WIP 2025-03-14 15:37:16 +01:00
f752050d2b WIP 2025-03-14 13:27:46 +01:00
ef207e5ec6 WIP 2025-03-14 11:46:09 +01:00
2df4076a6b Add export-attachments feature flag (#5501)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-13 16:59:19 +00:00
d40fbe3217 Upgrade test reporter (#5492) 2025-03-13 11:55:39 -04:00
a5c792dba9 chore: organize vault team feature flag (#5494) 2025-03-12 15:33:52 -05:00
ef3b8b782a Provide plans to OrganizationEditModel for resellers (#5493) 2025-03-12 11:56:47 -04:00
5b895865ca WIP 2025-03-12 09:47:16 +01:00
Ike
1b90bfe2a1 [PM-18944] Update error response from invalid OTP (#5485)
* fix(newDeviceVerification): updated error response from invalid OTP
2025-03-11 17:01:50 -04:00
0153d9dfd9 Update DockerCompose template to point to ghcr.io registry (#5491) 2025-03-11 13:01:23 -07:00
f038e8c5e4 Create desktop-send-ui-refresh feature flag (#5487)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-11 10:22:00 -05:00
effd0b7d33 WIP 2025-03-11 15:55:06 +01:00
c03190d672 WIP 2025-03-11 15:07:41 +01:00
989f64d449 WIP 2025-03-11 13:03:32 +01:00
08924e10d2 WIP 2025-03-11 12:51:42 +01:00
6510f2a3e8 [PM-18088] Add unit test coverage for admin methods on CiphersController and CipherService (#5460)
* Add comprehensive test coverage for CipherService restore, delete, and soft delete methods

* Add comprehensive admin cipher management tests for CiphersController

* Enhance CiphersController admin methods with comprehensive test coverage

- Add tests for provider user scenarios in admin cipher management methods
- Implement tests for custom user with edit any collection permissions
- Add test coverage for RestrictProviderAccess feature flag
- Improve test scenarios for delete, soft delete, and restore operations

* Refactor CiphersControllerTests to simplify and optimize test methods

* Optimize CiphersControllerTests with code cleanup and test method improvements

* Extend CiphersControllerTests to support Admin and Owner roles

* Add test cases for custom user cipher admin operations with EditAnyCollection permission checks

- Extend CiphersControllerTests with scenarios for custom users without EditAnyCollection permission
- Add test methods to verify NotFoundException is thrown when EditAnyCollection is false
- Cover delete, soft delete, and restore operations for single and bulk cipher admin actions

* Enhance CiphersControllerTests with granular access permission scenarios

- Add test methods for admin and owner roles with specific cipher access scenarios
- Implement tests for accessing specific and unassigned ciphers
- Extend test coverage for delete, soft delete, and restore operations
- Improve test method naming for clarity and precision

* Add bulk admin cipher delete and soft delete tests for specific and unassigned ciphers

- Implement test methods for DeleteManyAdmin and PutDeleteManyAdmin
- Cover scenarios for owner and admin roles with access to specific and unassigned ciphers
- Verify correct invocation of DeleteManyAsync and SoftDeleteManyAsync methods
- Enhance test coverage for bulk cipher admin operations
2025-03-11 10:10:20 +00:00
224ef1272e [PM-18876] Refine PolicyRequirements API (#5445)
* make the PolicyRequirements API more granular, e.g.
  replace factory methods with a factory interface
* update Send to use the new API
2025-03-11 10:46:09 +10:00
29dc69a77b Remove extra && (#5484) 2025-03-10 16:13:35 -04:00
8287d0a968 Replace secret checking logic with branch detection logic (#5454) 2025-03-10 15:57:56 -04:00
ac25ec4519 [PM-19002] Extract billing code from AccountsController (#5477) 2025-03-10 18:14:22 +01:00
Ike
913da4a629 [PM-15015] Add Country Name to auth request from request headers (#5471)
* feat(pm-15015) : 
  * Add `CountryName` column to AuthRequest Table in Database, and refreshing AuthRequestView
  * Modify database stored procedures and Entity Framework migrations for AuthRequest Repositories
  * Add property to `ICurrentContext` and response models.
2025-03-10 12:16:43 -04:00
031e188e82 Remove extension-refresh feature flag (#5410)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-10 11:53:07 -04:00
6e7c5b172c [PM-18087] Add cipher permissions to response models (#5418)
* Add Manage permission to UserCipherDetails and CipherDetails_ReadByIdUserId

* Add Manage property to CipherDetails and UserCipherDetailsQuery

* Add integration test for CipherRepository Manage permission rules

* Update CipherDetails_ReadWithoutOrganizationsByUserId to include Manage permission

* Refactor UserCipherDetailsQuery to include detailed permission and organization properties

* Refactor CipherRepositoryTests to improve test organization and readability

- Split large test method into smaller, focused methods
- Added helper methods for creating test data and performing assertions
- Improved test coverage for cipher permissions in different scenarios
- Maintained existing test logic while enhancing code structure

* Refactor CipherRepositoryTests to consolidate cipher permission tests

- Removed redundant helper methods for permission assertions
- Simplified test methods for GetCipherPermissionsForOrganizationAsync, GetManyByUserIdAsync, and GetByIdAsync
- Maintained existing test coverage for cipher manage permissions
- Improved code readability and reduced code duplication

* Add integration test for CipherRepository group collection manage permissions

- Added new test method GetCipherPermissionsForOrganizationAsync_ManageProperty_RespectsCollectionGroupRules
- Implemented helper method CreateCipherInOrganizationCollectionWithGroup to support group-based collection permission testing
- Verified manage permissions are correctly applied based on group collection access settings

* Add @Manage parameter to Cipher stored procedures

- Updated CipherDetails_Create, CipherDetails_CreateWithCollections, and CipherDetails_Update stored procedures
- Added @Manage parameter with comment "-- not used"
- Included new stored procedure implementations in migration script
- Consistent with previous work on adding Manage property to cipher details

* Update UserCipherDetails functions to reorder Manage and ViewPassword columns

* [PM-18086] Add CanRestore and CanDelete authorization methods.

* [PM-18086] Address code review feedback.

* [PM-18086] Add missing part.

* [PM-18087] Add CipherPermissionsResponseModel for cipher permissions

* Add GetManyOrganizationAbilityAsync method to application cache service

* Add organization ability context to cipher response models

This change introduces organization ability context to various cipher response models across multiple controllers. The modifications include:

- Updating CipherResponseModel to include permissions based on user and organization ability
- Modifying CiphersController methods to fetch and pass organization abilities
- Updating SyncController to include organization abilities in sync response
- Adding organization ability context to EmergencyAccessController response generation

* Remove organization ability context from EmergencyAccessController

This change simplifies the EmergencyAccessController by removing unnecessary organization ability fetching and passing. Since emergency access only retrieves personal ciphers, the organization ability context is no longer needed in the response generation.

* Remove unused IApplicationCacheService from EmergencyAccessController

* Refactor EmergencyAccessViewResponseModel constructor

Remove unnecessary JsonConstructor attribute and simplify constructor initialization for EmergencyAccessViewResponseModel

* Refactor organization ability retrieval in CiphersController

Extract methods to simplify organization ability fetching for ciphers, reducing code duplication and improving readability. Added two private helper methods:
- GetOrganizationAbilityAsync: Retrieves organization ability for a single cipher
- GetManyOrganizationAbilitiesAsync: Retrieves organization abilities for multiple ciphers

* Update CiphersControllerTests to use GetUserByPrincipalAsync

Modify test methods to:
- Replace GetProperUserId with GetUserByPrincipalAsync
- Use User object instead of separate userId
- Update mocking to return User object
- Ensure user ID is correctly set in test scenarios

* Refactor CipherPermissionsResponseModel to use constructor-based initialization

* Refactor CipherPermissionsResponseModel to use record type and init-only properties

* [PM-18086] Undo files

* [PM-18086] Undo files

* Refactor organization abilities retrieval in cipher-related controllers and models

- Update CiphersController to use GetOrganizationAbilitiesAsync instead of individual methods
- Modify CipherResponseModel and CipherDetailsResponseModel to accept organization abilities dictionary
- Update CipherPermissionsResponseModel to handle organization abilities lookup
- Remove deprecated organization ability retrieval methods
- Simplify sync and emergency access response model handling of organization abilities

* Remove GetManyOrganizationAbilityAsync method

- Delete unused method from IApplicationCacheService interface
- Remove corresponding implementation in InMemoryApplicationCacheService
- Continues cleanup of organization ability retrieval methods

* Update CiphersControllerTests to include organization abilities retrieval

- Add organization abilities retrieval in test setup for PutCollections_vNext method
- Ensure consistent mocking of IApplicationCacheService in test scenarios

* Update error message for missing organization ability

---------

Co-authored-by: Jimmy Vo <huynhmaivo82@gmail.com>
2025-03-10 15:27:30 +00:00
88e91734f1 [PM-17594]Remove feature flag self-host license refactor (#5372)
* Remove the feature flag

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Resolve the failing test

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

---------

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
2025-03-10 11:46:44 +01:00
f26f14165c Bumped version to 2025.3.0 2025-03-10 10:28:50 +00:00
bd7a0a8ed8 Codespaces improvements (#4969)
* Skip one_time_setup in GH Codespaces

* Make .env File Optional

* Wrap Path in Single Quotes

* Comment out .env File

* Add Modify Database Task

* Work on modify_database.ps1

* Add space

* Remove compose version

* Do changes in community as well

* Do required: false

* Reverse check

* Remove printenv

* Skip DB changes

* Remove docker outside of docker feature

* Remove newlines
2025-03-09 16:56:04 -04:00
34358acf61 Fix user context on importing into individual vaults (#5465)
Pass in the current userId instead of trying to infer it from the folders or ciphers passed into the ImportCiphersCommand

Kudos go to @MJebran who pointed this out on https://github.com/bitwarden/server/pull/4896

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-07 15:09:54 +01:00
c589f9a330 [BEEEP] [PM-18518] Cleanup StripePaymentService (#5435) 2025-03-07 09:52:04 +01:00