-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedCommunity contributions are welcomeCommunity contributions are welcome
Description
Summary
Starting with Connect 1.3.0, the users can get files that are stored in an Item. Connect Node SDK should enable the users to do that.
In this issue, we will enable the user to download a file stored in 1Password.
Tasks to be done
- Implement
downloadFilefunction in theItemsclass insrc/lib/resources.ts. The API endpoint that this function needs to call isv1/vaults/vaultId/items/itemId/files/fileId/content. You'll have to figure out the object type the promise expects.Note: Feel free to place this functionality in a separate class (e.g. Files) if you feel it's more suitable. This is just a suggested approach./** * Download an Item's File in the provided path. * * @param {string} vaultId * @param {string} itemQuery * @param {string} fileId * @param {string} targetDirectory * @param {boolean} overwrite * @returns {Promise<string>} * @private */ private async getFileContent( vaultId: string, itemQuery: string, fileId: string, targetDirectory: string, overwrite: boolean, ): Promise<string> { // functionality }
- Implement
downloadFilefunction in OPConnect class insrc/lib/op-connect.ts:/** * Download an Item's File in the provided path. * * @param {string} vaultId * @param {string} itemQuery * @param {string} fileId * @returns {Promise<string>} */ public async downloadFile(vaultId: string, itemQuery: string, fileId: string. targetDirectory: string, overwrite: boolean): Promise<string> { return await this.items.getFileContent(vaultId, itemQuery, fileId, targetDirectory, overwrite); }
- Add a test for the new function in
__test__/op-connect.test.ts. This may be a tricky one.test("downloadFile", async () => { // actual test here }
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedCommunity contributions are welcomeCommunity contributions are welcome