* add `CipherViewLike` and utilities to handle `CipherView` and `CipherViewLike`
* migrate libs needed for web vault to support `CipherViewLike`
* migrate web vault components to support
* add for CipherView. will have to be later
* fetch full CipherView for copying a password
* have only the cipher service utilize SDK migration flag
- This keeps feature flag logic away from the component
- Also cuts down on what is needed for other platforms
* strongly type CipherView for AC vault
- Probably temporary before migration of the AC vault to `CipherListView` SDK
* fix build icon tests by being more gracious with the uri structure
* migrate desktop components to CipherListViews$
* consume card from sdk
* add browser implementation for `CipherListView`
* update copy message for single copiable items
* refactor `getCipherViewLikeLogin` to `getLogin`
* refactor `getCipherViewLikeCard` to `getCard`
* add `hasFido2Credentials` helper
* add decryption failure to cipher like utils
* add todo with ticket
* fix decryption failure typing
* fix copy card messages
* fix addition of organizations and collections for `PopupCipherViewLike`
- accessors were being lost
* refactor to getters to fix re-rendering bug
* fix decryption failure helper
* fix sorting functions for `CipherViewLike`
* formatting
* add `CipherViewLikeUtils` tests
* refactor "copiable" to "copyable" to match SDK
* use `hasOldAttachments` from cipherlistview
* fix typing
* update SDK version
* add feature flag for cipher list view work
* use `CipherViewLikeUtils` for copyable values rather than referring to the cipher directly
* update restricted item type to support CipherViewLike
* add cipher support to `CipherViewLikeUtils`
* update `isCipherListView` check
* refactor CipherLike to a separate type
* refactor `getFullCipherView` into the cipher service
* add optional chaining for `uriChecksum`
* set empty array for decrypted CipherListView
* migrate nudge service to use `cipherListViews`
* update web vault to not depend on `cipherViews$`
* update popup list filters to use `CipherListView`
* fix storybook
* fix tests
* accept undefined as a MY VAULT filter value for cipher list views
* use `LoginUriView` for uri logic (#15530)
* filter out null ciphers from the `_allDecryptedCiphers$` (#15539)
* use `launchUri` to avoid any unexpected behavior in URIs - this appends `http://` when missing
* Refactor components to remove limitItemDeletion feature flag usage
This commit simplifies the logic in various components by removing the limitItemDeletion feature flag. The conditions for displaying restore and delete actions are now based solely on the cipher's permissions, enhancing code clarity and maintainability.
* Refactor cipher deletion logic to remove the feature flag and collection ID dependency
This commit updates the cipher deletion logic across multiple components and services by removing the unnecessary dependency on collection IDs. The `canDeleteCipher$` method now solely relies on the cipher's permissions, simplifying the code and improving maintainability.
* Remove LimitItemDeletion feature flag from feature-flag enum and default values
* Remove configService from ServiceContainer and MainBackground constructor parameters
* Remove configService from RestoreCommand instantiation in OssServeConfigurator and VaultProgram classes
* first draft at an idea dependency graph
* ignore existing errors
* remove conflicting rule regarding internal platform logic in libs
* review: allow components to import from platform
* [PM-15506] Wire up vNextOrganizationService for libs/common and libs/angular (#12683)
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* wire vNextOrganizationService for share.component
* wire vNextOrganizationService for collections.component
* wire vNextOrganizationServcie for add-account-credit-dialog
* wire vNextOrganizationService for vault-filter.service
* fix browser errors for vNextOrganizationService implementation in libs
* fix desktop errors for vNextOrganizationService implementation for libs
* fix linter errors
* fix CLI errors on vNextOrganizationServcie implementations for libs
* [PM-15506] Wire up vNextOrganizationService for web client (#12810)
PR to a feature branch, no need to review until this goes to main.
* implement vNextOrganization service for browser client (#12844)
PR to feature branch, no need for review yet.
* wire vNextOrganizationService for licence and some web router guards
* wire vNextOrganizationService in tests
* remove vNext notation for OrganizationService and related
* Merge branch 'main' into ac/pm-15506-vNextOrganizationService
* fix tsstrict error
* fix test, fix ts strict error
* Use typescript-strict-plugin to iteratively turn on strict
* Add strict testing to pipeline
Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.
* turn on strict for scripts directory
* Use plugin for all tsconfigs in monorepo
vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.
* remove plugin from configs that extend one that already has it
* Update workspace settings to honor strict plugin
* Apply strict-plugin to native message test runner
* Update vscode workspace to use root tsc version
* `./node_modules/.bin/update-strict-comments` 🤖
This is a one-time operation. All future files should adhere to strict type checking.
* Add fixme to `ts-strict-ignore` comments
* `update-strict-comments` 🤖
repeated for new merge files
* [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
* Added inputs to the view and edit component to disable or remove the delete button when a user does not have manage rights
* Refactored editByCipherId to receive cipherview object
* Fixed issue where adding an item on the individual vault throws a null reference
* Fixed issue where adding an item on the AC vault throws a null reference
* Allow delete in unassigned collection
* created reusable service to check if a user has delete permission on an item
* Registered service
* Used authorizationservice on the browser and desktop
Only display the delete button when a user has delete permission
* Added comments to the service
* Passed active collectionId to add edit component
renamed constructor parameter
* restored input property used by the web
* Fixed dependency issue
* Fixed dependency issue
* Fixed dependency issue
* Modified service to cater for org vault
* Updated to include new dependency
* Updated components to use the observable
* Added check on the cli to know if user has rights to delete an item
* Renamed abstraction and renamed implementation to include Default
Fixed permission issues
* Fixed test to reflect changes in implementation
* Modified base classes to use new naming
Passed new parameters for the canDeleteCipher
* Modified base classes to use new naming
Made changes from base class
* Desktop changes
Updated reference naming
* cli changes
Updated reference naming
Passed new parameters for the canDeleteCipher$
* Updated references
* browser changes
Updated reference naming
Passed new parameters for the canDeleteCipher$
* Modified cipher form dialog to take in active collection id
used canDeleteCipher$ on the vault item dialog to disable the delete button when user does not have the required permissions
* Fix number of arguments issue
* Added active collection id
* Updated canDeleteCipher$ arguments
* Updated to pass the cipher object
* Fixed up refrences and comments
* Updated dependency
* updated check to canEditUnassignedCiphers
* Fixed unit tests
* Removed activeCollectionId from cipher form
* Fixed issue where bulk delete option shows for can edit users
* Fix null reference when checking if a cipher belongs to the unassigned collection
* Fixed bug where allowedCollection passed is undefined
* Modified cipher by adding a isAdminConsoleAction argument to tell when a reuqest comes from the admin console
* Passed isAdminConsoleAction as true when request is from the admin console