* WIP changes for Invite User optimization from Scim
* feature flag string
* Added plan validation to PasswordManagerInviteUserValidation. Cleaned up a few things.
* Added Secrets Manager Validations and Tests.
* Added bulk procedure for saving users, collections and groups from inviting. Added test to validate Ef and Sproc
* Created SendOrganizationInvitesCommand and moved some tests from OrgServiceTests. Fixed some tests in org service in relation to moving out SendOrgInviteCommand code.
Added side effects to InviteOrganizationUsersCommand
* First test of new command.
* Added test to verify valid request with a user calls db method and sends the invite
* Added more tests for the updates
* Added integration test around enabling feature and sending invite via scim. Did a bit of refactoring on the SM validation. Fixed couple bugs found.
* Switching over to a local factory.
* created response model and split interface out.
* switched to initialization block
* Moved to private method. Made ScimInvite inherit the single invite base model. Moved create methods to constructors. A few more CR changes included.
* Moved `FromOrganization` mapper method to a constructor
* Updated to use new pricing client. Supressed null dereference errors.
* Fixing bad merge.
* Rename of OrgDto
* undoing this
* Moved into class
* turned into a switch statement
* Separated into separate files.
* Renamed dto and added ctor
* Dto rename. Moved from static methods to ctors
* Removed unused request model
* changes from main
* missed value
* Fixed some compilation errors.
* Fixed some changes.
* Removed comment
* fixed compiler warning.
* Refactored to use new ValidationResult pattern. added mapping method.
* Added throwing of Failure as the previous implementation would have.
* Cleaned up return.
* fixing test.
* Made HasSecretsManagerStandalone return if org doesn't have sm. Added overload for lighter weight model and moved common code to private method.
* Fixed tests.
* Made public method private. added some comments.
* Refactor validation parameter to improve clarity and consistency. Added XML doc
* fixed test
* Removed test only constructor from InviteOrganization
* Separated old and new code explicitly. Moved old code checks down into new code as well. Added error and mapper to Failure<T>
* Variable/Field/Property renames
* Renamed InviteUsersValidation to InviteUsersValidator
* Rename for InvitingUserOrganizationValidation to InvitingUserOrganizationValidator
* PasswordManagerInviteUserValidation to PasswordManagerInviteUserValidator
* Moved XML comment. Added check to see if additional seats are needed.
* Fixing name.
* Updated names.
* Corrected double negation.
* Added groups and collection and users checks.
* Fixed comment. Fixed multiple enumeration. Changed variable name.
* Cleaned up DTO models. Moved some validation steps around. A few quick fixes to address CR concerns. Still need to move a few things yet.
* Fixed naming in subscription update models.
* put back in the request for now.
* Quick rename
* Added provider email addresses as well.
* Removed valid wrapper to pass in to validation methods.
* fix tests
* Code Review changes.
* Removed unused classes
* Using GetPlanOrThrow instead.
* Switches to extension method
* Made Revert and Adjust Sm methods consistent. Corrected string comparer. Added comment for revert sm.
* Fixing compiler complaint.
* Adding XML docs
* Calculated seat addition for SM.
* Fixing compiler complaints.
* Renames for organization.
* Fixing comparison issue.
* Adding error and aligning message.
* fixing name of method.
* Made extension method.
* Rearranged some things. Fixed the tests.
* Added test around validating the revert.
* Added test to validate the provider email is sent if org is managed by a provider.
* Created new errors and removed references in business code to ErrorMessages property. This aligns Invite User code to use Errors instead of ErrorMessages
* Delayed the hasSecretsManagerStandalone call as long as possible.
* Corrected model name. Corrected SM seat calculation. Added test for it.
* Corrected logic and added more tests.
* Copy PatchGroupCommand to vNext and refactor
* Detect duplicate add requests and return early
* Update read repository method to use HA replica
* Add new write repository method
* resolves issue #4043 default values for itemsPerPage and startIndex
* UsersController#Get now uses a queryParamModel
Co-authored-by: Ahmad Mustafa Jebran <jebran.mustafa@gmail.com>
Co-authored-by: Luris Solis <solisluris@gmail.com>
* Test now passes, default 50 is represented
---------
Co-authored-by: Jared McCannon <jmccannon@bitwarden.com>
* Swagger fixes
Co-Authored-By: Oscar Hinton <Hinton@users.noreply.github.com>
* Make Response Models return Guids instead of strings
* Change strings into guids in ScimApplicationFactory
---------
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* [EC-394] Added ScimApplicationFactory to handle tests for Scim controllers
* [EC-394] Added Scim.IntegrationTest project with GroupsControllerTests
* [EC-394] Fixed getting Guid Id from Operation Path
* [EC-394] Added tests for GroupsController Patch action
* [EC-394] Moved tests mock data setup to ScimApplicationFactory
* [EC-394] Updated IntegrationTestCommon packages.lock.json
* [EC-394] Updated ScimApplicationFactory and GroupsControllerTests; Added UsersController Tests
* [EC-394] dotnet format
* [EC-394] Updated Identity.IntegrationTest packages.lock.json
* [EC-394] Updated Scim.IntegrationTest packages.lock.json
* [EC-394] dotnet format
* [EC-394] Reverted change on getting GUID from GetOperationPathId
* [EC-394] Fixed sending userId on Patch_AddSingleMember_Success and Patch_RemoveSingleMember_Success
* [EC-394] Updated test to send request with two operations
* [EC-394] Removed Scim dependency from IntegrationTestCommon
* [EC-394] Reverted changes to packages.lock.json. Ran dotnet format
* [EC-394] Updated Scim.IntegrationTest packages.lock.json
* [EC-394] Updated GroupsControllerTests and UsersControllerTests to implement IAsyncLifetime to cleanup database before each test
* [EC-394] Declared variables for GetList parameters
* [EC-394] Updated AssertHelper.AssertPropertyEqual to compare each item in an IEnumerable property
* [EC-394] Updated AssertHelper.AssertPropertyEqual to check if type is comparable
* [EC-394] Removed unused variable from ScimApplicationFactory
* Apply suggestions from code review
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [EC-394] Changed test users emails to domain example.com
* [EC-394] Restore solution file
* [EC-394] Added Scim.IntegrationTest to sln
* [EC-394] Updated integration tests to be clearer and check responses in detail
* [EC-394] Using NoopMailService to mock sending email invitations in tests
* [EC-394] Removed multiple references to the same variable ScimApplicationFactory.TestOrganizationId1
* [EC-394] Updated const variable names
* [EC-394] Using AssertPropertyEqualPredicate for IEnumerable properties
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>