GithubHelp home page GithubHelp logo

hariscodes / vscode-dynamodb Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 4.0 325 KB

AWS DynamoDB Extension for Visual Studio Code

Home Page: https://marketplace.visualstudio.com/items?itemName=hariscodes.vscode-dynamodb

License: MIT License

TypeScript 100.00%

vscode-dynamodb's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vscode-dynamodb's Issues

DDL Snippets

Feature or bug?

Feature!

Description/Steps to Reproduce

Allow users to use snippets when crafting JSON request files to create/update tables!

Suggested fix/implementation

Add snippets folder with snippets.json file containing snippets for:

  • Create Table
  • Update Table provisioned throughput
  • Update Table Create/Update/Delete global secondary index
  • Update Table stream specification

QuickPick Create Table

Feature or Bug?

Feature!

Description/Steps to Reproduce

Allow users to use vscode QuickPick and Input Boxes to create simple tables.

Suggested Implementation

vscode.Command createTable() in extension.ts, gets user input and creates quickTableInput object, sending it to server (using server.CreateTable()).

Make people confirm in order to delete a table

Feature or bug?

Feature? I guess

Description/Steps to Reproduce

Right now, its a little too easy to delete a table, so I think making people confirm deletion would be better.

Suggested fix/implementation

  • Change deleteTable() in extension.js to have a second input loop, where we check to make sure that both names entered are identical before sending the request.

Feature request: specify credentials via VSCode settings

I'd like to set credentials via my workspace settings in VSCode. It's inconvenient to launch VSCode with AWS_ environment variables, since I usually launch VSCode via a taskbar shortcut. Also, there is not a single appropriate AWS profile for all my projects; it varies on a project-by-project basis.

The AWS SDK allows setting credentials programmatically, so it won't look at $HOME/.aws nor at environment variables. https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html?com/amazonaws/auth/BasicAWSCredentials.html

Support JSON Update Scripts

Feature or bug?

Feature!

Description/Steps to Reproduce

Allow users to update tables via JSON Scripts

Suggested fix/implementation

  • implement JSON Parser that implements DynamoDB.UpdateItemInput
  • Check to make sure that only one thing is being modified:
    • Provisioned Throughput Settings
    • Global Secondary Indexes
    • DynamoDB Streams
  • send UpdateTableInput object to server.UpdateTable()

QuickPick Delete Table

Feature or Bug?

Feature!

Description/Steps to Reproduce

Allow users to use vscode input box to delete table by name.

Suggested Implementation

vscode.Command deleteTable(name) in extension.ts, gets user input and sends delete request to server (using server.deleteTable(name)).

Catch Up on Test Coverage

100% Test Coverage on 0.0.1 (DDL Support) functionality.

  • createTable QuickPick
  • createTable Script
  • updateTable QuickPick
  • updateTable Script
  • deleteTable QuickPick

Connect action setStatusBarMessage happens asyncronously

Bug Description

When connecting to a DynamoDB Server, the status bar is set to the localhost:8000 default before the server name is input and will not change until the Connect action is run again.

Suggested FIx

ChangeServer() should be an async function and should await the showInputBox's completion before performing the setStatusBarMessage().

Feature: separate features based on connection type

Transactions bring with it a problem: lack of feature parity between DynamoDB local and what's available on AWS. In order to support transactions, the extension needs a way to determine if a feature will work on the connected endpoint (i.e. localhost:8000/non-aws endpoint vs AWS regional endpoint).

QuickPick Update Table

Feature or bug?

Feature!

Description/Steps to Reproduce

Allow users to perform simple Update Table operations via VS Code QuickPick and Input boxes.

Suggested fix/implementation

  • new VS Code Command: dynamo.quickUpdateTable()
  • extension.ts: implement decision tree
    • Table name
    • What are you updating: Provisioned Throughput or Stream Specification?
    • if PT:
      • Read Units?
      • Write Units?
    • If SS:
      • "Stream is currently [Enabled/Disabled] would you like to [Enable/Disable] it?"

Implement Explorer as TreeViewProvider

Feature or bug?

Feature!

Description/Steps to Reproduce

Allow users to explore a DynamoDB instance visually by seeing all tables. Makes it easy to access extension features like DDL, query generation, etc.

Suggested fix/implementation

TreeViewProvider implemented in explorer.ts

Support JSON Table Scripts

Feature or bug?

Feature!

Description/Steps to Reproduce

Allow users to use scripts to create more complicated tables.

Suggested fix/implementation

  • Implement JSON Parser for DynamoDB.CreateTableInput Interface
  • Give CreateTableInput Object to server.createTable()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.