* Create UserCipherDetails_v2 and update logic to remove AccessAll
* Create v2 variants of all sprocs that rely on it
* Add feature flag logic to call old or new sproc
* Make equivalent changes to EF queries
* [EC-598] feat: add support for saving fido2 keys
* [EC-598] feat: add additional data
* [EC-598] feat: add counter, nonDiscoverableId; remove origin
* [EC-598] fix: previous incomplete commit
* [EC-598] fix: previous incomplete commit.. again
* [EC-598] fix: failed merge
* [EC-598] fix: move files around to match new structure
* [EC-598] feat: add implementation for non-discoverable credentials
* [EC-598] chore: remove some changes introduced by vs
* [EC-598] fix: linting issues
* [PM-1500] Add feature flag to enable pass keys (#2916)
* Added feature flag to enable pass keys
* Renamed enable pass keys to fido2 vault credentials
* only sync fido2key ciphers on clients >=2023.9.0 (#3244)
* Renamed fido2key property username to userDisplayName (#3172)
* [PM-1859] Renamed NonDiscoverableId to credentialId (#3198)
* PM-1859 Refactor to credentialId
* PM-1859 Removed unnecessary import
---------
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
* [PM-3807] Store all passkeys as login cipher type (#3261)
* [PM-3807] feat: add discoverable property to fido2key
* [PM-3807] feat: remove standalone Fido2Key
* [PM-3807] chore: clean up unusued constant
* [PM-3807] fix: remove standadlone Fido2Key property that I missed
* [PM-3807] Store passkeys in array (#3268)
* [PM-3807] feat: store passkeys in array
* [PM-3807] amazing adventures with the c# linter
* [PM-3980] Added creationDate property to the Fido2Key object (#3279)
* Added creationDate property to the Fido2Key object
* Fixed lint issues
* fixed comments
* made createionDate required
* [PM-3808] [Storage v2] Add old client/new server backward compatibility (#3262)
* [PM-3807] feat: add discoverable property to fido2key
* [PM-3807] feat: remove standalone Fido2Key
* [PM-3807] chore: clean up unusued constant
* [PM-3808] feat: add fido2 compatibility check before saving ciphers
* Resolved merge conflicts.
* Setting minimum version for QA.
---------
Co-authored-by: Todd Martin <tmartin@bitwarden.com>
* [PM-4054] Rename Fido2Key to Fido2Credential (#3306)
* Add server version compatibility check for Fido2Credentials on sharing with org (#3328)
* Added compatibility checks.
* Refactored into separate methods for easier removal.
* Added check on ShareMany
* Updated method order to be consistent.
* Linting
* Updated minimum server version for release, as well as defaulting the feature on for self-hosted.
* Added trailing space.
* Removed extra assignment
---------
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Todd Martin <tmartin@bitwarden.com>
Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
Co-authored-by: Carlos Gonçalves <carlosmaccam@gmail.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* [SG-966] [SG-967] Add new cipher properties, update DB objects and create migrations (#2681)
* Updated cipher entity with two new columns
* Added sqlserver mifgration and updated applicable stored procedures and table
* Added EF Migrations
* Made changes to response model to include new column properties
* Fixed formatting
* Modified scripts to reflect suggestions made on PR
* Added column to cipher table using default
* Include constraint in create cipher table script
* Added key and forcerotatekey property to request model (#2716)
* Added key update on the Cipher_UpdateWithCollection stored procedure, ef (#2855)
* Added key and forceKeyRotation to BuildCiphersTable method (#2893)
* [PM-2211] Remove forceKeyRotation column (#2921)
* Removed forceKeyRotation column
* Adjusted date for migrtaion file
* Passed key column to update cipher script to update cipher key when it is rotated (#2967)
* [PM-2448] Update CipherDetails_Update SP to update attachment column (#2992)
* Updated the cipherdetails_update stored procedure to update the attachement column when encrypted with the cipher key
* Moved migration and renamed old migration file
* Fixed lint issues
* Fixed lint issues
* renamed sqlserver migration to have a more recent date
* [PM-2548] Added validation to edit and add attachments methods (#3130)
* PM-2548 Added validation to edit and add attachments methods
* PM-2548 Moved the validation to a private method
* PM-2548 Minor refactor
* Bumped up minimum version
* Bumped up minimum version
* Changed version for tests purposes
* Bumped up minimum version
* Updated encryption minimum version to match clients for QA.
* PM-3976 Passed Key column to update cipher on bulk edit (#3299)
* Updated minimum client version in preparation for release.
* Renamed migration with current date. (#3303)
---------
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
Co-authored-by: Carlos Gonçalves <cgoncalves@bitwarden.com>
Co-authored-by: Carlos Gonçalves <carlosmaccam@gmail.com>
* [AC-1344] Added method PutRestoreManyAdmin to CiphersController and refactored PutRestoreMany
* [AC-1344] Fixed unit test
* [AC-1344] Removed comment
* [AC-1344] Fixed sql.csproj
* [AC-1344] Added check for empty or null array; added more unit tests
* [AC-1265] Allow users with custom import/export permission to get organization ciphers
* [AC-1104] Fix to allow custom users with import/export permission to access all collections/ciphers in their organization
* [AC-1104] Remove redundant OrganizationAdmin checks
* Extend ReferenceEvents
Add ClientId and ClientVersion
Modify all callsites to pass in currentContext if available to fill ClientId and ClientVersion
* Extend ReferenceEvent to save if Send has notes
* [EC-787] Add new stored procedure OrganizationUser_ReadByUserIdWithPolicyDetails
* [EC-787] Add new method IOrganizationUserRepository.GetByUserIdWithPolicyDetailsAsync
* [EC-787] Add OrganizationUserPolicyDetails to represent policies applicable to a specific user
* [EC-787] Add method IPolicyService.GetPoliciesApplicableToUser to filter the obtained policy data
* [EC-787] Returning PolicyData on stored procedures
* [EC-787] Changed GetPoliciesApplicableToUserAsync to return ICollection
* [EC-787] Switched all usings of IPolicyRepository.GetManyByTypeApplicableToUserIdAsync to IPolicyService.GetPoliciesApplicableToUserAsync
* [EC-787] Removed policy logic from BaseRequestValidator and added usage of IPolicyService.GetPoliciesApplicableToUserAsync
* [EC-787] Added unit tests for IPolicyService.GetPoliciesApplicableToUserAsync
* [EC-787] Added unit tests for OrganizationUserRepository.GetByUserIdWithPolicyDetailsAsync
* [EC-787] Changed integration test to check for single result
* [EC-787] Marked IPolicyRepository methods GetManyByTypeApplicableToUserIdAsync and GetCountByTypeApplicableToUserIdAsync as obsolete
* [EC-787] Returning OrganizationUserId on OrganizationUser_ReadByUserIdWithPolicyDetails
* [EC-787] Remove deprecated stored procedures Policy_CountByTypeApplicableToUser, Policy_ReadByTypeApplicableToUser and function PolicyApplicableToUser
* [EC-787] Added method IPolicyService.AnyPoliciesApplicableToUserAsync
* [EC-787] Removed 'OrganizationUserType' parameter from queries
* [EC-787] Formatted OrganizationUserPolicyDetailsCompare
* [EC-787] Renamed SQL migration files
* [EC-787] Changed OrganizationUser_ReadByUserIdWithPolicyDetails to return Permissions json
* [EC-787] Refactored excluded user types for each Policy
* [EC-787] Updated dates on dbo_future files
* [EC-787] Remove dbo_future files from sql proj
* [EC-787] Added parameter PolicyType to IOrganizationUserRepository.GetByUserIdWithPolicyDetailsAsync
* [EC-787] Rewrote OrganizationUser_ReadByUserIdWithPolicyDetails and added parameter for PolicyType
* Update util/Migrator/DbScripts/2023-03-10_00_OrganizationUserReadByUserIdWithPolicyDetails.sql
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Extract Import-Api endpoints into separate controller
Moved ciphers/import and ciphers/import-organization into new ImportController
Paths have been kept intact for now (no changes on clients needed)
Moved request-models used for import into tools-subfolder
* Update CODEOWNERS for team-tools-dev
* Move HibpController (reports) to tools
* Moving files related to Send
* Moving files related to ReferenceEvent
* Removed unneeded newline
* PS-2390 Adding Id to the Collection/Folder RequestModel
replacing folder/collection when they already exist instead of creating a new one
Adding items to existing collections if the id matches
* PS-2390 Improved Folder/Collection RequestModel code design
* PS-2390 Removed whitespaces from FolderRequestModel
* PS-2390 Verifying if folder/collection belongs to user/organization when updating or creating a new one
* PS-2390 - Removed unnecessary null validation for Id on Folder/CollectionRequestModel
* PS-2390 - Added bulk methods to get and update folders at import
* PS-2390 - Added bulk methods to get and update collections at import org
* PS-2390 - Corrected sqlproj path to Folder_ReadByIdsAndUserId
* PS-2390 - Improved code readibility
* PS-2390 - Added newlines to EOF
* PS-2390 Remove logic to update folders/collections at import
* PS-2390 - removed unnecessary methods and imports
* PS-2390 - Removed unnecessary formatting change
* PS-2390 - Removed unused variable