connect-sdk-js icon indicating copy to clipboard operation
connect-sdk-js copied to clipboard

Add functionality to get File by ID

Open edif2008 opened this issue 3 years ago • 1 comments

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 get a file based on its ID.

Tasks to be done

  • [ ] Implement getFile function in the Items class in src/lib/resources.ts. The API endpoint that this function needs to call is v1/vaults/vaultId/items/itemId/files/fileId.
    /**
     * Get an Item's specific File with a matching ID value.
     *
     * @param {string} vaultId
     * @param {string} itemQuery
     * @param {string} fileId
     * @returns {Promise<ItemFile>}
     * @private
     */
    private async getFile(
             vaultId: string,
             itemQuery: string,
             fileId: string,
         ): Promise<ItemFile> {
         // functionality
    }
    
    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.
  • [ ] Implement getFile function in OPConnect class in src/lib/op-connect.ts:
    /**
     * Get an Item's specific File with a matching ID value.
     *
     * @param {string} vaultId
     * @param {string} itemQuery
     * @param {string} fileId
     * @returns {Promise<ItemFile>}
     */
    public async getFile(vaultId: string, itemQuery: string, fileId: string): Promise<ItemFile> {
          return await this.items.getFile(vaultId, itemQuery);
    }
    
  • [ ] Add a test for the new function in __test__/op-connect.test.ts:
    test("get file", async () => {
        // actual test here
    }
    

edif2008 avatar Jul 15 '22 12:07 edif2008

This issue is blocked by #62

edif2008 avatar Jul 15 '22 12:07 edif2008