* Update AccountService to include a method for setting the managedByOrganizationId
* Update AccountComponent to conditionally show the purgeVault button based on a feature flag and if the user is managed by an organization
* Add missing method to FakeAccountService
* Remove the setAccountManagedByOrganizationId method from the AccountService abstract class.
* Refactor AccountComponent to use OrganizationService to check for managing organization
* Rename managesActiveUser to userIsManagedByOrganization
* Hide the change email section if the user is managed by an organization
* Refactor userIsManagedByOrganization property to be non-nullable in organization data and response models
* Refactor organization.data.spec.ts to include non-nullable userIsManagedByOrganization property
* Refactor account component to conditionally show delete account button based on user's organization management status
* Add showDeleteAccount$ observable to AccountComponent
* Add managedByOrganization property to OrganizationUserUserDetailsResponse and OrganizationUserView
* Add managedByOrganization property to OrganizationUserDetailsResponse and OrganizationUserAdminView
* Add deleteOrganizationUser method to OrganizationUserApiService
* Add copy strings for organization user delete dialog
* Add copy string for organization user deleted toast
* Add delete organization user dialog component
* Add the option to delete managed organization users from the members list
* Refactor delete user confirmation dialog in MembersComponent to use DialogService
* Delete DeleteOrganizationUserDialogComponent
* Refactor delete button in member dialog component to change the icon and tooltip text to 'Remove'
* Add delete button to members dialog if the user is managed by the organization
* Revert "remove logic for personal ownership, not needed in AC"
This reverts commit f04fef59f4.
* allow for ownership to be controlled from the admin console when cloning a cipher
* add uri to raw data
* add uri
* PM-13454 modify the hostnames to friendly names
* PM-13454 removed commented code
* add password health service
* add spec. fix logic in password reuse
* PM-13454 added member count and group by uris
* PM-13454 removed moved files
* PM-13454 fixed linting errors and failed unit tests
* PM-13454 grouping member count
* PM-13454 added unit test for totalGroupedMembersMap
* PM-13454 removed the grouping - show a flatmap
---------
Co-authored-by: jaasen-livefront <jaasen@livefront.com>
* add upated copy to managed accounts
* Add link URL
* Update link
* change copy in danger zone component
* Refactor to look at content projection children
* Update AccountService to include a method for setting the managedByOrganizationId
* Update AccountComponent to conditionally show the purgeVault button based on a feature flag and if the user is managed by an organization
* Add missing method to FakeAccountService
* Remove the setAccountManagedByOrganizationId method from the AccountService abstract class.
* Refactor AccountComponent to use OrganizationService to check for managing organization
* Rename managesActiveUser to userIsManagedByOrganization
* Hide the change email section if the user is managed by an organization
* Refactor userIsManagedByOrganization property to be non-nullable in organization data and response models
* Refactor organization.data.spec.ts to include non-nullable userIsManagedByOrganization property
* Refactor account component initialization logic
* Remove opening modal that was added by mistake
* Refactor VerifyRevocerDeleteProvider component to use component library
* Remove components form loose-components.module
* Refactor submit function definition into expression
* Move module out of oss, implement AnonLayoutComponentWrapper route
* Add type to button
* Remove try/catch with error logging
* remove logger service, remove formPromise field
* Move key rotation to km ownership
* Fix build
* Move userkey rotation data provider abstraction to km ownership
* Move userkey rotation data provider abstraction to km ownership
* Fix linting
* Fix CODEOWNERS for key-management web
* Remove incorrect export
* Fix import error
* Removing feature flag
* Removing flag from feature-flag.enum.ts
* suggested changes
* prettier
* fixing merge conflict issue
* Removing unused code
* suggested change from Gbubemi
* Adding back merge conflict code
* fixing prettier styling
* Deprecating collections component, removing unused code now that we dont use collections component in AC
* Removing all Collections component logic from loos-components module and removing the files themselves as they are no longer needed.
* PM-8111 - LoginComponent Refactor - I broke the browser SSO flow - fixing it as clientId doesn't persist unless it is in state qParam.
* PM-8111 - Fix DefaultLoginComponentService tests
* PM-12613 - AcceptProviderComp - Add support for new registration with email verification flow.
* PM-12613 - AcceptProviderComp - Reduce required params for finish registration to minimum
* PM-12613 - RegistrationFinish - Add passthrough logic for provider invite token
* PM-12613 - Update DefaultRegistrationFinishService finishRegistration tests to assert that all web only inputs are undefined on the outgoing request model
* PM-12613 - DefaultRegistrationFinishService - finishRegistration - Add missed mapping of optional properties into buildRegisterRequest
* PM-12613 - WebRegistrationFinishService - Add tests for additional token flows.
* [PM-13892] Introduce canClone$ method on CipherAuthorizationService
* [PM-13892] Use new canClone$ method for the 3dot menu in browser extension
* [PM-13892] Add todo for vault-items.component.ts
* setup new LoginComponent files in libs/auth
* update pageTitle
* handle loading email settings
* setup web-login.service.ts
* implement web onInit
* fill out webOnInit
* refactor getOrgPolicies call
* update import
* add validateEmail logic
* handle registerRoute
* add showPasswordless flag
* handle captcha
* handle startAuthRequestLogin()
* add handleMigrateEncryptionKey to default and web service
* handle submit routing (web)
* fix typo
* incorporate loginEmailService changes
* minor updates to comments for clarity
* create a defaultOnInit()
* update defaultOnInit()
* handle master password input focus
* handle post-login routing on Browser/Desktop
* handle browser/desktop syncService
* handle browser ngOnInit
* handle browser routing and basic browser template
* setup desktop router
* add template for desktop first UI state: email entry
* rename 'response' to 'authResult'
* refactor handleMigrateEncryptionKey()
* refactor captcha methods and add return types
* refactor submit logic
* refactor submit logic further to use if statements with returns instead of if...else if...else
* remove toast error on invalid form for Browser/Desktop
* refactor to handleAuthResult() method
* refactor webOnInit
* add comment to revisit ngOnInit logic
* refactor handlCaptchaRequired()
* create a LoginSecondaryContentComponent for AnonLayout use
* minor formatting for consistency
* add clarifying comment to handleAuthResult()
* minor refactor to use destructuring
* setup desktopOnInit()
* add continue() method
* handle desktop ngOnDestroy()
* add clarifying comment regarding secondary content
* fill out desktop template and submit()
* add descriptive comment to top of HTML file
* refactor to use a uiState enum for UI states
* handle oss-routing swap
* handle registerRoute$ in secondary content
* web template modifications
* change email validation to only run on submit (or when clicking continue button)
* add dynamic anon-layout wrapper data
* remove static element ref
* desktop HTML template updates
* remove 'showPassword' property b/c now handled by bitPasswordInputToggle
* Extension: setup EmailEntry state UI
* Extension: setup MasterPasswordEntry state UI
* ensure full sync happens on all clients before navigation
* update icon stroke color
* change old components to V1
* remove 'V2' from new component
* update captcha iframe on all clients
* add browser redirect from /home to /login with FF on
* add todo comment regarding browser template
* add launchSsoBrowser to extension template
* move extension launchSsoBrowserWindow() to extension service
* cleanup & comments
* add launchSsoBrowserWindow() to default service
* setup launchSsoBrowserWindow() for Desktop
* refactor to use toastService
* remove unnecessary service injection
* rename LoginService to LoginComponentService to avoid confusion with the LoginStrategyService
* add jsdocs to LoginComponentService
* rename loginService prop to loginComponentService
* Add vault icon to anon layout.
* Prevent email address validation on blur.
* Fix comment typo.
* Prefill email field when "create account" is clicked.
* Use factory function to provide LoginEmailService.
* Add test for RegisterFormComponent.
* Remove back button todo.
* Consolidate clearing loginEmailService values and routing
* Remove unnecessary navigation.
* Fix client navigation after login.
* Consolidate login templates.
* Break up LoginComponent into client-specific services.
* Rename login.component to login-v1.component
* Rename login.component to login-v1.component
* Revert "Rename login.component to login-v1.component"
This reverts commit 9a277d6ca5.
* Revert "Rename login.component to login-v1.component"
This reverts commit 588a7af906.
* Rename login.component to login-v1.component except browser.
* Comment out debug code.
* Remove debug code.
* Rename login.component to login-v1.component for browser.
* Add login-with-passkey route to desktop.
* Set feature flag to false.
* Fix linting errors.
* Populate email on registration start form.
* Implement email population on all clients add add safeProviders.
* Remove comment re. passing email to registration.
* Add unauthUiRefreshRedirect utility function.
* Add transparent border.
* Merge main and add satisfies RouteDataProperties
* PM-8111 - Extension - AppRoutingModule - Home route now redirects conditionally based on unauthenticated ui refresh feature flag.
* PM-8111 - New Login Comp + Login Comp Svc - (1) Refactor naming and returns of getShowPasswordlessFlag to isLoginViaAuthRequestSupported (2) Replace showPasswordless with better composed variable names.
* PM-8111 - TODO cleanup
* PM-8111 - (1) Cleanup DefaultLoginComponentService (2) Sso Connector now checks client id property instead of reading it from state
* PM-8111 - Two TODO cleanups
* Remove specific client services.
* Add isLoginWithPasskeySupported function to reduce client type checking in template.
* Add styles missing from Browser to Create Account link.
* Confirmed inline form errors working and removing todo comments.
* Convert refactoring todo-rr-bw to standard todos.
* Add login component services tests.
* Cleanup formatting and remove unused provider.
* Add comment to explain call to setLoginEmail.
* Rearrange imports to fix lint error.
* Adjust styles for password hint link.
* Address PR feedback: use strict comparison.
* Ensure Login with Passkey button is shown by setting clientType.
* Update "continue" button from "submit" to "button" type.
* Ensure Passkey login available for web and desktop.
* Validate email on enter keypress.
* Use click event to trigger goToHint.
* Restructure handAuthResult to ensure we redirect to vault.
* Add await to saveEmailSettings function.
* Directly set clientType in individual login component services.
* Get clientType via service.
* Add back button.
* Remove hardcoded colors from Vault Icon
* Removing register component changes.
* Removing register component changes.
* Ensure isLoginWithPasskeySupported is only returns true for web client.
* Remove Web/Desktop comment from html template
* Update Storybook with initialLoginEmail
* Fix translation error
* Add test for unauthUiRefreshRedirect.
* Rename goAfterLogIn to evaluatePassword and borrow logic from lock component.
* Add DefaultLoginComponent tests.
* Integrate changes to translations.
* Simplify ngOnInit: remove webOnInit and move getLoginWithDevice to defaultOnInit
I couldn't find any usages of qParams.org or qParams.sponsorshipToken on QA (signing up for family membership, creating organization, manually modifying query params), so I think these are safe to remove.
* Fix translations.
* Clean up and flush out register form tests.
* Update variable name.
* Remove unused enforcedPasswordPolicyOptions property.
* Run prettier.
* Add back safeProviders for LoginEmailService
* Remove duplicate import.
* Update v1 web login title.
* Adjust overlay position of EnvironmentSelectorComponent for new layout.
Since the switcher is located at the bottom of the screen we need to position it up above the trigger button so that it is not cut off.
* Add new wave icon
* Only send email in query parameters if set.
* Remove test/debug code.
* Replace loggedEmail with this.emailFormControl.value.
* Move getLoginWithDevice call to loadEmailSettings.
* Replace loggedEmail with this.emailFormControl.value.
* Add todo comment re. inline errors.
* Remove unused setPreviousUrl function.
* Remove height / width from vault icon svg.
* Use continue method unanimously
* WIP remove validated email& display extension back button
* Simplify getting query params
* Rework ExtensionAnonLayoutWrapperDataService to use BehaviorSubject
* Simplify validateEmail method
* Hide back button on init
* Revert "Hide back button on init"
This reverts commit e8de5e2bfc.
* Revert "Simplify validateEmail method"
This reverts commit c9141a1cb5.
* Revert "Rework ExtensionAnonLayoutWrapperDataService to use BehaviorSubject"
This reverts commit 8889ed3d3c.
* simplify validateEmail method
* Add primary / accent colors to wave icon
* Remove debug code
* PM-8111 - Tweak ShowBackButton to work
* PM-8111 - LoginCompService - finish removal of setPreviousUrl from implementations.
* PM-8111 - (1) Remove overriden default logo in anon layout (2) Update routing modules to have proper default login logo (3) LoginComp - update toggleLoginUiState to include logic to swap the icon back and forth as user navigates.
* PM-8111 - LoginComp - on UI state change from MP entry to email entry, remove subtitle (this isn't supported yet, but it will be)
* PM-8111 - LoginComp - Simplify toggleLoginUiState
* PM-8111 - LoginComponent - Add known device logic into UI state change handler
* PM-8111 - LoginComp - (1) Refactor name of getLoginWithDevice to be more accurate as getKnownDevice (2) Refactor calls to getKnownDevice to only occur if loginViaAuthRequestSupported
* PM-8111 - LoginComp - add getKnownDevice docs
* PM-8111 - LoginComponent - tweak docs
* PM-8111 - LoginComp - Continue() - remove toast as the validation on submit logic currently shows validation errors - toast is extra and not needed.
* Add isLoginViaAuthRequestSupported for DesktopLoginComponentService
* Remove validating email on init
* PM-8111 - ExtensionLoginComponentService - add tests for showBackButton
* PM-8111 - style tweaks
* PM-8111 - Extension - Refactor Overlay position to include extension default const to avoid repetition.
* PM-8111 - Desktop AppRouting Module - remove login with passkey route as it isn't supported on desktop.
* PM-8111 - Desktop - add default overlay position const
* PM-8111 - DesktopLoginCompSvc - tests were not actually testing super method calls + finish testing launchSsoBrowserWindow
* PM-8111 - Desktop Main.ts - remove dev test code
* PM-8111 - WebLoginCompSvcTests - add success test cases for getOrgPolicies
* PM-8111 - Remove duplicate translation keys
* PM-8111 - DefaultLoginComponentSvcTests - add missing test
* PM-8111 - DefaultLoginComponentServiceTests - add describes
* PM-8111 - LoginSecondaryContentComponent - Add missing bitLink
* Update to test both browser and desktop
* Remove registration form test
* Remove aliasing CryptoFunctionService and PlatformUtilsService as abstractions
* Remove aliasing PlatformUtilsService and CryptoFunctionService as abstractions
---------
Co-authored-by: Alec Rippberger <alec@livefront.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
Co-authored-by: Alec Rippberger <127791530+alec-livefront@users.noreply.github.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
* web - hide assign to collections button when the user has no organizations
* browser - hide assign to collections button when the user has no organizations
* hide assign to collections in the bulk edit menu when the user doesn't belong to an organization
* Add managedByOrganization property to OrganizationUserUserDetailsResponse and OrganizationUserView
* Add managedByOrganization property to OrganizationUserDetailsResponse and OrganizationUserAdminView
* Move response mapping from UserAdminService to method in OrganizationUserAdminView
* add password health service
* add spec. fix logic in password reuse
* move service to bitwarden_license
* revert change to tsconfig
* fix spec
* fix import