* updating the qa deploy to dynamically pull the publish profile instead of proxying it through a key vault
* fixing the download-artifact hash
* fixing typo
* trying out the custom keyvault getter
* fixing the new deploy matrix
* fixing the custom action path
* setting custom action commit hash
* paramaterized the deploy job
* adding the staging slot to the publish profiles
* trying a custom way to pull the publishing profile
* removing the publish profile altogether since it might not even be needed
* removing unnecessary publish profile stuff
* removing the subscription id from the qa deploy workflow
* adding auto swap for QA identity
* adding the rest of the webapp slot swapping automation
* fixing the job dependencies
* fixing the matrix name variable and adding some debugging code
* removing admin and identity out of the matrix swap
* switching the alive check
* fixing the identity endpoint
* fixing the while loops
* adding in sleeps to see if it is a matrix issue
* running the matrix sequentially to see if that rids us of the slot swapping conflits
* removing the sleep command in the matrix
* removing the sequential controller
* disabling the build and deploy for swapping tests
* changing the live test a bit
* fixing the identity status url
* adding in a fail safe if not hit the alive endpoint
* fixing the azure secret names
* removing the debugging code
* Update QA Deploy Workflow (#1387)
* Testing workflow
* Add whitespace to workflow
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
* fix release asset upload
* adding Version to release name
* restricting QA deploys to only manual trigger
* constraining all releases to the rc branch
* removing the release message update
* Fix K8S-Proxy image build and tag
* Update build script to remove unused PUSH and TAG features
* Update workflows
- Remove build.sh from root of repo as it's no longer used
- Update workflows to use matrix feature for parallelization
* Add Docker image build step and other projects
* Remove csproj filenames from steps
* Fix typo
* Fix directory for k8s-proxy image
* Move Docker stub and uploads out of matrix
* Change to block-style sequence for service_name matrix
* Add missing quote character
* Fix working directories of Dotnet steps
* Update step name
* Add checkout repo step to Upload job
* Add 'dotnet tool restore' step
* Fix Swagger directory
* Fix Swagger build step
* Fix Swagger build step (again)
* Add support for bulk confirm
* Add missing sproc to migration
* Change ConfirmUserAsync to internally use ConfirmUsersAsync
* Refactor to be a bit more readable
* Change BulkReinvite and BulkRemove to return a list of errors/success
* Refactor
* Fix removing owner preventing removing non owners
* Add another unit test
* Use fixtures for OrganizationUser and Policies
* Fix spelling
* [Reset Password] Organization Keys APIs
* Updated details response to include private key and added more security checks for reset password methods
* Added org type and policy security checks to the enrollment api
* Updated based on PR feedback
* Added org user type permission checks
* Added TODO for email to user
* Removed unecessary policyRepository object
* Increase organization max seat size from 30k to 2b (#1274)
* Increase organization max seat size from 30k to 2b
* PR review. Do not modify unless state matches expected
* Organization sync simultaneous event reporting (#1275)
* Split up azure messages according to max size
* Allow simultaneous login of organization user events
* Early resolve small event lists
* Clarify logic
Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>
* Improve readability
This comes at the cost of multiple serializations, but the
improvement in wire-time should more than make up for this
on message where serialization time matters
Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>
* Queue emails (#1286)
* Extract common Azure queue methods
* Do not use internal entity framework namespace
* Prefer IEnumerable to IList unless needed
All of these implementations were just using `Count == 1`,
which is easily replicated. This will be used when abstracting Azure queues
* Add model for azure queue message
* Abstract Azure queue for reuse
* Creat service to enqueue mail messages for later processing
Azure queue mail service uses Azure queues.
Blocking just blocks until all the work is done -- This is
how emailing works today
* Provide mail queue service to DI
* Queue organization invite emails for later processing
All emails can later be added to this queue
* Create Admin hosted service to process enqueued mail messages
* Prefer constructors to static generators
* Mass delete organization users (#1287)
* Add delete many to Organization Users
* Correct formatting
* Remove erroneous migration
* Clarify parameter name
* Formatting fixes
* Simplify bump account revision sproc
* Formatting fixes
* Match file names to objects
* Indicate if large import is expected
* Early pull all existing users we were planning on inviting (#1290)
* Early pull all existing users we were planning on inviting
* Improve sproc name
* Batch upsert org users (#1289)
* Add UpsertMany sprocs to OrganizationUser
* Add method to create TVPs from any object.
Uses DbOrder attribute to generate.
Sproc will fail unless TVP column order matches that of the db type
* Combine migrations
* Correct formatting
* Include sql objects in sql project
* Keep consisten parameter names
* Batch deletes for performance
* Correct formatting
* consolidate migrations
* Use batch methods in OrganizationImport
* Declare @BatchSize
* Transaction names limited to 32 chars
Drop sproc before creating it if it exists
* Update import tests
* Allow for more users in org upgrades
* Fix formatting
* Improve class hierarchy structure
* Use name tuple types
* Fix formatting
* Front load all reflection
* Format constructor
* Simplify ToTvp as class-specific extension
Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>
* Add API for bulk removal of org users
* Refactor OrganizationService, extract some common code.
* Add tests for DeleteUserAsync
* Add tests for DeleteUsers
* Formating
* Update test/Core.Test/Services/OrganizationServiceTests.cs
added a space
Co-authored-by: Addison Beck <abeck@bitwarden.com>
* [Reset Password] Enterprise Policy
* Created UI for policy/edit policy // Updated TODOs for policy dependent checks
* Updated reset password data model field name to be more descriptive
* Update title to Master Password Reset
* Updated PoliciesModel, Policy Model spacing, and strings
* removing the unneeded docker repo keys
* adding some testing code
* fixing notary install location
* installed notary in home directory without relying on the PATH var
* adding notary config for testing
* commenting out branch conditionals so that the pipeline will run a test on a non-master/rc branch
* trying to track down the docker trust files
* changing to the home directory to install notary
* testing with out all of the notary testing stuff
* uncommenting the code after testing
* updating the release workflow with the delegate-2 key
* [Reset Password] Organization Key Pair
* Fixed type in Organization_ReadAbilites sproc
* Fixed broken unit test by making sure premium addon was false
* Updated PublicKey decorator and removed unecessary validation