KeePassX CSV importer was missing TOTP field support. Added logic to parse TOTP fields from the CSV and include them in the vault entries. Added unit tests to verify TOTP import functionality.
* Replaced field trashed with state
The new field state contains either 'active' or 'archived'
Adjust all the test files to have the new field
Add unit test to verify skipping archived items on import
Fix importer
* Add addtional fields to 1pux importer types
No mapping currently necessary
* Field indexAtSource was deprecated
Removing it from the 1pux-importer-types
Updating all the test files
* Removed remaining instances of indexAtSource
* Fixed a leftover instance of trashed -> state
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* import additional_urls from nordpass csv
* use type column of nordpass csv to get type of record
* fixed wrong naming of nordpass csv type
* impot custom fields from nordpass csv
* fix parse nordpass custom_fields
* fixed parsing of additional_urls in nordpass import
* update nordpass csv importer tests
* Capitalize type names
* Add test for OrgImport/CollectionCreation and fix Org-import
* Add test to verify success equals false when parsing fails.
* use "Text" as default FieldType of nordpass custom fields
* implemented seperated test for additional fields
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Update import test data with new fields
Add new fields to the types file
* Set favorites when importing from ProtonPass
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Fix ProtonPass creditCard expirationDate import with protonpass-json-importer.ts
* Update protonpass CC expirationDate testData to newest version
Between 1.3.1 and 1.12.2 ProtonPass has changed the format of exported CC expiration dates from MMYYYY to YYYY-MM
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Fix username field used for ProtonPass import
ProtonPass has changed their export format and userName is not itemEmail
* Import additional field itemUsername
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Get the url field name ignoring the case format
* Adding test cases for the SecureSafe importer
* Updating test cases and the way the url field is selected
* updating the variable name from url to urlField
* Fix protonpass importer when totp field is not a URL
* Simplify ProtonPass importer totp handling
* Use getValueOrDefault for totp import in ProtonPass importer
* Use getValueOrDefault for other ProtonPass importer fields
---------
Co-authored-by: ttalty <144813356+ttalty@users.noreply.github.com>
* Implement ProtonPass json importer
* Add protonpass-importer json type definition
* Fix alphabetical order in importer imports
* Add importer error message for encrypted protonpass imports
* Add i18n to protonpass importer
* Add protonpass (zip) importer
* Fix protonpass importer
* Add unit tests for protonpass importer
* Make protonpass importer not discard totp codes
* Merge protonpass json & zip importers
* Add protonpass creditcard import & fix note import
* Fix protonpass zip import not recognizing zip files on windows/chrome
* Make protonpass importer use vault types
* Make protonpass importer treat vaults as folders
* Make protonpass importer treat folders as collections for organizations
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add types to protonpass test data
* Fix protonpass importer's moveFoldersToCollections
* Add tests for folders/collections
* Remove unecessary type cast in protonpass importer
* Remove unecessary type annotations in protonpass importer
* Add assertion for credit card cvv in protonpass importer
* Handle trashed items in protonpass importer
* Fix setting expiry month on credit cards
* Fix wrong folder-assignment
Only the first item of a "vault" was getting assigned to a folder
Extend unit tests to verify behaviour
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith@web.de>
* Prefer callback over error-flow to prompt for password
Remove error-flow to request file password
Prefer callback, which has to be provided when retrieving/creating an instance.
Delete ImportError
Call BitwardenPasswordProtector for all Bitwarden json imports, as it extends BitwardenJsonImporter
Throw errors instead of returning
Return ImportResult
Fix and extend tests import.service
Replace "@fluffy-spoon/substitute" with "jest-mock-extended"
* Fix up test cases
Delete bitwarden-json-importer.spec.ts
Add test case to ensure bitwarden-json-importer.ts is called given unencrypted or account-protected files
* Move file-password-prompt into dialog-folder
* Add import success dialog
* Fix typo
* Only list the type when at least one got imported
* update copy based on design feedback
* Remove unnecessary /index import
* Remove promptForPassword_callback from interface
PR feedback from @MGibson1 that giving every importer the ability to request a password is unnecessary. Instead, we can pass the callback into the constructor for every importer that needs this functionality
* Remove unneeded import of BitwardenJsonImporter
* Fix spec constructor
* Fixed organizational import
Added an else statement, or else we'd import into an org and then also import into an individual vault
* Create and register new libs/importer
Create package.json
Create tsconfig
Create jest.config
Extend shared and root tsconfig and jest.configs
Register with eslint
* Move importer-related files to libs/importer
* Move importer-spec-related files to libs/importer
Move import.service.spec
* Update package-lock.json
* Set CODEOWNERS for new libs/importer
* Register libs/importer with cli and fix imports
* Register libs/importer with web and fix imports
* Move importOption into models
Rename importOptions to import-options
* Fix linting issues after updating prettier
* Only expose necessary files from libs/importer
Fix tsconfig files
- Removes the trailing /index on imports in web/cli
As the spec-files no longer can access the internals via @bitwarden/importer they import by path (../src/importers)
* Add barrel files to vendors with more than one importer