Enables one of the recommended rules of @angular-eslint. Since this rule was fairly trivial to fix and has no QA effects it seemed reasonable to migrate all code.
When removing boostrap it seems the hidden attribute to the file inputs stops working. This implements a "quick" fix by just adding the tw-hidden class.
* Added new report card and FeatureFlag for MemberAccessReport
* Add new "isEnterpriseOrgGuard"
* Add member access icon
* Show upgrade organization dialog for enterprise on member access report click
* verify member access featureflag on enterprise org guard
* add comment with TODO information for follow up task
* Initial member access report component
* Improved readability, removed path to wrong component and refactored buildReports to use the productType
* finished MemberAccessReport layout and added temporary service to provide mock data
* Moved member-access-report files to bitwarden_license/
Removed unnecessary files
* Added new tools path on bitwarden_license to the CODEOWNERS file
* added member access description to the messages.json
* layout changes to member access report
* Created new reports-routing under bitwarden_license
Moved member-access-report files to corresponding subfolder
* Added search logic
* Removed routing from member-access-report BL component on OSS.
Added member-access-report navigation to organizations-routing on BL
* removed unnecessary ng-container
* Added OrganizationPermissionsGuard and canAccessReports validation to member-access-report navigation
* replaced deprecated search code with searchControl
* Address PR feedback
* removed unnecessary canAccessReports method
* Added report-utils class with generic functions to support report operations
* Added member access report mock
* Added member access report specific logic
* Splitted code into different classes that explained their objective.
* fixed member access report service test cases
* Addressed PR feedback
* Creating a service to return the data for the member access report
* added missing ExportHelper on index.ts
* Corrected property names on member access report component view
* removed duplicated service
* PM-7321 - Temp add input password
* PM-7321 - update input password based on latest PR changes to test.
* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks
* PM-7321 - more progress on registration finish.
* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.
* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.
* PM-7321 - WIP registratin finish
* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling
* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service
* PM-7321 - Get CLI building
* PM-7321 - Move all finish registration service and content to registration-finish feature folder.
* PM-7321 - Fix RegistrationFinishService config
* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP
* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)
* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.
* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey
* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.
* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.
* PM-7321 - Registration Finish - use validation service for error handling.
* PM-7321 - All register routes must be dynamic and change if the feature flag changes.
* PM-7321 - Test registration finish services.
* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.
* PM-7321 - Add missing input password translations to browser & desktop
* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
* Add export-web.component
Introduce new export-web component
Delete old component
export.module - With export-web being standalone there's no need for a importModule
Change routing to load new component
* Prepare export.component to receive a orgId via the hosting-component
* Remove unused onSaved as it's replaced by onSuccessfulExport
* Refactor org-vault-export.component
Introduce new org-vault-export.component.html as the old component relied on the markup from password manager
Refactor org-vault-export.component
Retrieve organizationId from Route and pass it into the shared export.component
Ensure when exporting from AC to include all data from the selected org
org-vault-export.module - With the new component being standalone there's no need for a importModule
Change routing to load new org-vault-export component
* PM-8641 - Add success toast to base-export component
This ensures a success toast is shown on all clients consistently
Add missing entries into clients messages.json
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Migrate all tools owned toasts to use CL ToastService instead of PlatformUtilsService
* Fix test that was missing a mock
* Fix double checking file and file-content selection
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Added new report card and FeatureFlag for MemberAccessReport
* Add new "isEnterpriseOrgGuard"
* Add member access icon
* Show upgrade organization dialog for enterprise on member access report click
* verify member access featureflag on enterprise org guard
* add comment with TODO information for follow up task
* Improved readability, removed path to wrong component and refactored buildReports to use the productType
* added TODO to remove the feature flag on cleanup
* changing ProductType to ProductTierType on isEnterpriseOrgGuard
* PM-7324 - Register new registration start comp at signup route on web
* PM-7324 - Add registerSendVerificationEmail logic in API service layer.
* PM-7324 - Update registration start comp to actually send information to API and trigger email.
* PM-7324 - progress on opt in for marketing emails redesign.
* PM-7324 - Add feature flag and feature flag guard to sign up route.
* PM-7324 - RegistrationEnvSelector - emit initial value
* PM-7324 - Registration Start comp - wire up setReceiveMarketingEmailsByRegion logic.
* PM-7324 - Registration start html - use proper link for email pref management.
* PM-7324 - Translate text
* PM-7324 - Design pass
* PM-7324 - design pass v2
* PM-7324 - Update Tailwind config to add availability of anon layout to desktop and browser extension
* PM-7324 - Desktop - AppRoutingModule - Add new signup route protected by the email verification feature flag.
* PM-7324 - BrowserExtension - AppRoutingModule - Add signup route protected by feature flag
* PM-7324 - Feature flag all register page navigations to redirect users to the new signup page.
* PM-7324 - Update AnonLayoutWrapperComponent constructor logic to avoid passing undefined values into I18nService.t method
* PM-7324 - Accept org invite web comp - adjust register url and qParams
* PM-7324 - Add AnonLayoutWrapperData to desktop & browser since we don't need titleId.
* PM-7324 - Revert anon layout wrapper comp changes as they were made separately and merged to main.
* PM-7234 - Fix registration start component so the login route works for the browser extension.
* PM-7324 - Registration start story now building again + fix storybook warning around BrowserAnimationsModule
* PM-7324 - Registration Start - add missing tw-text-main to fix dark mode rendering.
* PM-7324 - Update storybook docs
* PM-7324 - Get stub of registration finish component so that the verify email has something to land on.
* PM-7324 - Registration start - receive marketing materials should never be required.
* PM-7324 - Add finish signup route + required translations to desktop & browser.
* PM-7324 - AnonLayoutWrapperComponent - Resolve issues where navigating to a sibling anonymous route wouldn't update the AnonLayoutWrapperData.
* PM-7324 - Remove unnecessary array
* PM-7324 - Per PR feedback, improve setReceiveMarketingEmailsByRegion
* PM-7324 - Per PR feedback, inject login routes via route data
* PM-7324 - Document methods in account api service
* PM-7324 - PR feedback - jsdoc tweaks
* Move/replace submit and userVerification logic from web into the BaseExportComponent
Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop
* Remove import/passing of the unneeded UserVerificationService
* Remove app-user-verification from browser and desktop components as the new UI is opened as a self-contained dialog
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* replace `PasswordGeneratorService` with `legacyPasswordGenerationServiceFactory`
* replace `UsernameGeneratorService` with `legacyUsernameGenerationServiceFactory`
* migrate generator options and history
* apply policy immediately once available
* suppress duplicate policy emissions
* run password generation response code in `ngZone`
* Use account service to track accounts and active account
* Remove state service active account Observables.
* Add email verified to account service
* Do not store account info on logged out accounts
* Add account activity tracking to account service
* Use last account activity from account service
* migrate or replicate account service data
* Add `AccountActivityService` that handles storing account last active data
* Move active and next active user to account service
* Remove authenticated accounts from state object
* Fold account activity into account service
* Fix builds
* Fix desktop app switch
* Fix logging out non active user
* Expand helper to handle new authenticated accounts location
* Prefer view observable to tons of async pipes
* Fix `npm run test:types`
* Correct user activity sorting test
* Be more precise about log out messaging
* Fix dev compare errors
All stored values are serializable, the next step wasn't necessary and was erroring on some types that lack `toString`.
* If the account in unlocked on load of lock component, navigate away from lock screen
* Handle no users case for auth service statuses
* Specify account to switch to
* Filter active account out of inactive accounts
* Prefer constructor init
* Improve comparator
* Use helper methods internally
* Fixup component tests
* Clarify name
* Ensure accounts object has only valid userIds
* Capitalize const values
* Prefer descriptive, single-responsibility guards
* Update libs/common/src/state-migrations/migrate.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fix merge
* Add user Id validation
activity for undefined was being set, which was resulting in requests for the auth status of `"undefined"` (string) userId, due to key enumeration. These changes stop that at both locations, as well as account add for good measure.
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Move export.component
Export from @bitwarden/vault-export-ui
Fix imports on browser, desktop and web
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* PM-6780 - Create vault-export-ui package
* Migrate export-scope-callout to CL
- Move export-scope-callout.component to vault-export-UI
- Use bit-callout instead of app-callout
- Make component standalone
- Remove from jslib.module
- Prefix selector with team-name
- Export it from vault-export-ui
* Update usage of tools-export-scope-callout for desktop
* Update usage of tools-export-scope-callout for web
* Update usage of tools-export-scope-callout for browser
* Change package description
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Remove formPromise and use bitSubmit
* Use formGroup.invalid instead of !valid
* Move variables related to encrypted exports into base component.
* Migrate to use new userVerificationDialogComponent
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Added billing account profile state service
* Update usages after removing state service functions
* Added migrator
* Updated bw.ts and main.background.ts
* Removed comment
* Updated state service dependencies to include billing service
* Added missing mv3 factory and updated MainContextMenuHandler
* updated autofill service and tests
* Updated the remaining extensions usages
* Updated desktop
* Removed subjects where they weren't needed
* Refactored billing service to have a single setter to avoid unecessary emissions
* Refactored has premium guard to return an observable
* Renamed services to match ADR
f633f2cdd8/docs/architecture/clients/presentation/angular.md (abstract--default-implementations)
* Updated property names to be a smidgen more descriptive and added jsdocs
* Updated setting of canAccessPremium to automatically update when the underlying observable emits
* Fixed build error after merge conflicts
* Another build error from conflict
* Removed autofill unit test changes from conflict
* Updated login strategy to not set premium field using state service
* Updated CLI to use billing state provider
* Shortened names a bit
* Fixed build
* WIP admin console layout
* Update icons
* Migrate more things
* Migrate the last pages
* Move header to web
* Fix story not working
* Convert header component to standalone
* Migrate org layout to standalone
* Enable org switcher
* Add AC to product switcher
* Migrate provider portal to vertical nav
* Migrate PM
* Prettier fixes
* Change AC and PP to use secondary variant layout & update logos
* Remove full width setting
* Remove commented code
* Add header to report pages
* Add provider portal banner
* Fix banner for billing pages
* Move vault title to header
* Prevent scrollbar jumping
* Move send button to header
* Replace search input with bit-search
* Remove unused files and css
* Add banner
* Tweak storage option
* Fix duplicate nav item after merge
* Migrate banner state to state provider framework
* [AC-2078] Fix device approvals header
* [PM-5861] Hide AC from product switcher for users that do not have access
* [PM-5860] Fix Vault and Send page headers
* [AC-2075] Fix missing link on reporting nav group
* [AC-2079] Hide Payment Method and Billing History pages for self-hosted instances
* [AC-2090] Hide reports/event log nav items for users that do not have permission
* [AC-2092] Fix missing provider portal option in product switcher on page load
* Add null check for organization in org layout component
* [AC-2094] Fix missing page header for new client orgs page
* [AC-2093] Update New client button styling
* Fix failing test after merge
* [PM-2087] Use disk-local for web layout banner
* [PM-6041] Update banner copy to read "web app"
* [PM-6094] Update banner link to marketing URL
* [PM-6114] add CL container component to VVR pages (#7802)
* create bit-container component
* add container to all page components
* Fix linting errors after merge with main
* Fix product switcher stories
* Fix web-header stories
* mock org state properly in product switcher stories (#7956)
* refactor: move web layout migration banner logic into a service (#7958)
* make CL codeowner of web header files
* move migration banner logic to service; update stories
* [PM-5862] Ensure a sync has run before hiding navigation links
* Remove leftover banner global state
* Re-add dropped selfHosted ngIf
* Add rel noreferrer
* Remove comment
---------
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: Will Martin <contact@willmartian.com>
* Move libs/exporter into libs/tools/*
Migrating all files from libs/exporter over to libs/tools/export/vault-export/vault-export-core
Rename package to vault-export-core
Fix all file paths
* Update libs and tsconfig imports
* Fix client imports
* Fix eslint, jest and package-lock.json
* Update CODEOWNERS
* Add README.md to whitelist-capital-letters
* Fix vault-export-service tests not running
* Update libs/tools/export/vault-export/README.md
Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
* Fix types imports
* Export types from vault-export-core
* Fixed content of README
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
* Added logic to only return organisations where user has import permissions and collections that he manages on Import
* Changed the UnassignedCollections validation logic
* Added validation to check if the user is coming from AdminConsole on the import component
* Added import collection service abstraction to allow get admin collections
* Corrected feature flag reads on import component
* Refactor import component methods ngOnInit and performImport to improve codescene
Using FeatureFlag Observable
* Modified validation to allow import if user has organizations to import into
* Using the new organization flexiblecollections property on import
* Created collection-admin-import.service to return all the org collections to the import on Admin Console
* Small changes on import flexible collections
* Fix linting issues
* changed canAccessImport rules and deprecated canAccessImportExport
* Validating if user canAccessImportExport instead of admin before calling the handleOrganizationImportInit.
* AC-2095 - Corrected getAllAdminCollections from ImportCollectionAdminService to properly get all the collections on AdminConsole
* Reverting AC-2095
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Split export service into vault and org export service
* Changed CLI logic to use split export logic
* correct unit tests
* Created individual export service, export service making the calls for org and ind vault
* Improved code readability
* Merged PasswordProtectedExport with Export methods to simplify calls
* Some small refactor
* [AC-1492] Managed collections export (#7556)
* Added managed collections export method
Added logic to show orgs on export that the user can export from
* Merge branch 'tools/AC-1492/split-export-services' into tools/AC-1492/export-flexible-collections
# Conflicts:
# apps/web/src/app/admin-console/organizations/tools/vault-export/org-vault-export.component.ts
# apps/web/src/app/tools/vault-export/export.component.ts
* Change export to use new organization.flexiblecollection flag
* Little refactor changing parameter names and reduzing the size of export.component.ts ngOnInit
* Removed unused service from export constructor and removed unnecessary default value from org export service parameter
* Simplified organizations selection for vault export to only verify if it has flexiblecollections
* removed unecessary services from ExportComponent constructor on popup
* Fixed possible race condition on managed export
* Remove unused feature flag
* Replace feature flag ref with org flag
* Remove deprecated feature flag to discourage use
* Add check to org.canCreateNewCollections
* Adjust init logic of components to avoid race conditions
* Make canCreateNewCollections logic more explicit
* Resolve merge conflicts with vault changes
* Update comments
* Remove uses of old feature flag
* Remove last of old feature flag
* Clean up feature flag
* Fix linting
* Fix linting
* Use bitTypography for page title
* Replaced app-callout with bit-callout
* Replace button with bit-button
* Update radio buttons to use CL
* Use searchable select for fileFormat dropdown
* Remove unneeded divs (old styling)
* pm-1826 remove eslint-disable tailwindcss/no-custom-classname
* Removed for-attribute from bit-labels
* Removed bitInput from bit-selects
* Removed name-attribute from bit-selects
* Make format a required field
* Removed unused dependency on cryptoService
* Remove unused dependency on BroadcasterService
* Removed dependency on window
* Moved organizationId into BaseExportComponent
* Add vaultSelector
Add organizationService as new dependency
Retrieve organizations a user has access to
Add vaultSelector dropdown
Add `export from` label
Add exportFromHint
* Removed hint as discussed by product&design
* Add function to check for import/export permission
* Export callout should listen to changes
Even though the organizationId was changed, the Input did not trigger changing the scope
* Reading FlexibleCollections feature flag to show the vault-selector on export (#7196)
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: aj-rosado <109146700+aj-rosado@users.noreply.github.com>
* decompose password generator policy enforcement
* integrate new logic with UI
* improve UX of minimum password length
* improve password generator policy options documentation
* initialize min length to default minimum length boundary
* reset form value on input to prevent UI desync from model
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>