

You can deploy Bitwarden using Docker containers on Windows, macOS, and Linux distributions. Please refer to the Server Setup Guide in the Contributing Documentation for build instructions, recommended tooling, code style tips, and lots of other great information to get you started. The codebase can be developed, built, run, and deployed cross-platform on Windows, macOS, and Linux distributions. The database is written in T-SQL/SQL Server. The server project is written in C# using. The Bitwarden Server project contains the APIs, database, and other core infrastructure items needed for the "backend" of all bitwarden client applications. * Update util/Migrator/DbScripts/_00_OrganizationUserReadByUserIdWithPolicyDetails.sql

* Rewrote OrganizationUser_ReadByUserIdWithPolicyDetails and added parameter for PolicyType * Added parameter PolicyType to IOrganizationUserRepository.GetByUserIdWithPolicyDetailsAsync * Refactored excluded user types for each Policy * Changed OrganizationUser_ReadByUserIdWithPolicyDetails to return Permissions json * Formatted OrganizationUserPolicyDetailsCompare * Removed 'OrganizationUserType' parameter from queries * Added method IPolicyService.AnyPoliciesApplicableToUserAsync * Remove deprecated stored procedures Policy_CountByTypeApplicableToUser, Policy_ReadByTypeApplicableToUser and function PolicyApplicableToUser * Returning OrganizationUserId on OrganizationUser_ReadByUserIdWithPolicyDetails * Marked IPolicyRepository methods GetManyByTypeApplicableToUserIdAsync and GetCountByTypeApplicableToUserIdAsync as obsolete * Changed integration test to check for single result * Added unit tests for OrganizationUserRepository.GetByUserIdWithPolicyDetailsAsync * Added unit tests for IPolicyService.GetPoliciesApplicableToUserAsync * Removed policy logic from BaseRequestValidator and added usage of IPolicyService.GetPoliciesApplicableToUserAsync * Switched all usings of IPolicyRepository.GetManyByTypeApplicableToUserIdAsync to IPolicyService.GetPoliciesApplicableToUserAsync * Changed GetPoliciesApplicableToUserAsync to return ICollection * Returning PolicyData on stored procedures * Add method IPolicyService.GetPoliciesApplicableToUser to filter the obtained policy data * Add OrganizationUserPolicyDetails to represent policies applicable to a specific user * Add new method IOrganizationUserRepository.GetByUserIdWithPolicyDetailsAsync * Add new stored procedure OrganizationUser_ReadByUserIdWithPolicyDetails Create a method in PolicyService to check if a policy applie… …s to a user ( #2537)
