* 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
* initial success caching test
* updating status testing
* fixing the fail check
* fixing bash if syntax
* changing the way of testing since you can't change workflow inputs between re-runs
* trying out different bash syntax
* removing the export to env
* adding in last run status check
* switching up the last_run_status file handling since it doesn't look like it is working correctly
* adding push trigger
* fixing typo
* adding date to the cache key and adding a bit more logging
* fixing restore key
* trying a different way of logging both successes and failures
* fixing typo
* reorganizing the random success/fail
* trying different bash
* fixing binary operator
* adding in success flag checks
* increasing the odds of success
* trying to fix weird problem
* changing dquotes to squotes
* testing failure and always() flow
* adding in a release pipeline
* adding in the manual trigger for the release pipeline
* fixing the bash for loop for tagging and switching to the rc image for release
* adding docker trust to the pull task
* fixing bash array typo
* removing build task
* adding the dotnet tool restore back in to hopefully restore swagger
* adding an Api build to build the swagger docs
* working on build workflow
* testing cache between jobs
* Adding in steps
* fixing the last line
* updating the build workflow
* adding manual trigger for build workflow
* moving the matrix values to the env section of the task
* changing the envs
* using env template replacement
* removing the unique id since I don't think I need it
* testing the cache
* commenting out the docker push
* adding the env vars back to the cache task
* adding envs to test
* fixing the path issue
* resetting the build workflow back to serial build/docker
* Adding in the qa release workflow
* removing unneccessary dependency
* parameterizing the project file names
* forcing gulp install
* installing gulp globally
* reorganizing to see if gulp works
* removing the awkward paths
* fixing typo
* commenting out all non-api matrix for easier testing
* trying to zip the build for deploy
* adding in the base path for the test
* replacing the web app name
* adding a specific slotname
* adding the env into the package path for the deployment
* trying to fix the zip
* setting up all of the other deploys
* switching the secrets over to be environment secrets
* adding in production automation with the deploys commented out
* removing the master branch from the QA deploy
* adding in the dependancy on the setup
* changing the tag
* trying a different ref
* renaming the deployment slot to staging
* trying a different slot name
* resetting the qa deploy to the original
* moving the secrets
* updating the qa deploy with the db reset/update stubs
* updating the deploy task dependencies
* adding missing update-db command placeholder
* trying a string for the inputs
* moving the input check into the steps instead of the job level so that the job completes
* testing azure kv
* fixing typo
* Change id to retrieve-secrets
* Fix typo
* testing the rest of the QA app service deployments
* updating the name of the QA AZ creds secret and migrating the disabled prod deploy jobs to use the prod AZ secrets
* adding in the additional key vault secrets and fixing some other mistakes
* fixing one of the other preview versions
* removing newline for testing commit
* fixing typo
* fixing a secret name typo
* moving the secrets to the env to test their outputs
* adding missing k
* Update build workflow with environment variables for Docker Trust
* removing the unneeded env vars
* Update build and release workflow using Azure secrets as env variables
* Clean up output of NuGet version
* Fix capitalization
* Fix variable names for Docker Trust Setup
* fixing the dashes in the env ids
* switching the dev tag for qa when pushing
* commenting out the test for the pipeline testing
* removing all of the testing code and blockers
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
* Fix password reprompt not working in org view
* Also fix Cipher_UpdateWithCollections and CipherDetails_CreateWithCollections. Rename migration script
* [Reset Password] Admin reset actions
* Updated thrown except for permission collision
* Updated GET/PUT password reset to use orgUser.Id for db operations