Giter Club home page Giter Club logo

dynamodb-dashboard's People

Contributors

bhattaraib58 avatar dependabot[bot] avatar kritish-dhaubanjar avatar maskeynihal avatar sbimochan avatar

Stargazers

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

Watchers

 avatar  avatar

dynamodb-dashboard's Issues

Generate Table schema

Is your feature request related to a problem? Please describe.
After the table is created, I need to get the schema of the table so that I use the schema for the integration test. Right now there is no way to get the schema of the table. We can add feature to export table schema.

Describe the solution you'd like

  • a button that says view table schema an on clicking the button we can view the schema of the table.
  • Add copy button so that we can copy the schema

Describe alternatives you've considered
The table schema can be generated using AWS CLI for now.
aws dynamodb describe-table --table-name this_is_table_name --profile aws_profile_here - -region us-west-2 > tableSchema.json

Additional context

  • N/A

Enable Search for empty string as a value for an attribute

Is your feature request related to a problem? Please describe.

image

Describe the solution you'd like

{
  "FilterExpression": "#type = :oddam and #address.#state = :kcycc and #address.#zipCode = :bmzuq",
  "ExpressionAttributeNames": {
    "#type": "type",
    "#address": "address",
    "#state": "state",
    "#zipCode": "zipCode"
  },
  "ExpressionAttributeValues": {
    ":oddam": "AP_Clinic",
    ":kcycc": "TX",
    ":bmzuq": ""
  }
}

A UI to support grouping of queries/filters with and/or

Is your feature request related to a problem? Please describe.
Support nested/grouped queries/filters:

{
  "IndexName": "gsi-serviceId-createdDate-index",
  "FilterExpression": "#serviceId = :ruimm or (#isActive = :ngelh and #providerName = :qxccg)",
  "ExpressionAttributeNames": {
    "#serviceId": "serviceId",
    "#isActive": "isActive",
    "#providerName": "providerName"
  },
  "ExpressionAttributeValues": {
    ":ruimm": "c95cb5a9c6b64e25b4549d317a4f45b6",
    ":ngelh": false,
    ":qxccg": "Biplap Bhattarai"
  }
}

Describe the solution you'd like

Describe alternatives you've considered

Additional context

StringSet isn't rendered correctly

Describe the bug
I've noticed that StringSet attributes do not render correctly on the item list or when editing the item.

To Reproduce

  1. Create a test table and add an item with a StringSet attribute.
  2. View the item using dynamodb-dashboard

Using the AWS CLI, LocalStack and dynamodb-dashboard:

aws --region us-east-1 --endpoint http://127.0.0.1:4566 dynamodb create-table \
    --table-name TestTable \
    --attribute-definitions AttributeName=ID,AttributeType=S \
    --key-schema AttributeName=ID,KeyType=HASH \
    --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5

aws --region us-east-1 --endpoint http://127.0.0.1:4566 dynamodb put-item \
    --table-name TestTable \
    --item '{ "ID": {"S": "1"}, "StringSet": {"SS": ["1", "2", "3"]} }'
    
AWS_REGION="us-east-1" AWS_ENDPOINT="http://127.0.0.1:4566" dynamodb-dashboard start

Also the item can be verified as correctly written with:

aws --region us-east-1 --endpoint http://127.0.0.1:4566 dynamodb get-item \
    --table-name TestTable \
    --key '{ "ID": {"S": "1"} }'

Screenshots
Screenshot 2023-12-04 at 9 13 20 AM
Screenshot 2023-12-04 at 9 13 28 AM
Screenshot 2023-12-04 at 9 15 49 AM

Additional context
I'm running version 1.9.3.

Also a big thank you for this great tool!

Table column is not updated after attribute in the table is added

Describe the bug
In the header of the table, a new header column is not added for the new attribute.

To Reproduce
Steps to reproduce the behavior:

  1. Add a new attribute to the record
  2. View the table
  3. The new attribute is not added to the table
  4. View the single record, the new attribute can be viewed.

Expected behavior

  1. The new attribute column should be added to the table view.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Please solve this 😄

Show `KeyConditionExpression`, `TableName`, `IndexName` and others in generated params

Show KeyConditionExpression, TableName and IndexName in generated params

image

Describe the solution you'd like

{
  "KeyConditionExpression": "#recordId = :recordId and #fileName = :fileName",
  "FilterExpression": "#mimeType = :scohx",
  "ExpressionAttributeNames": {
    "#recordId": "recordId",
    "#fileName": "fileName",
    "#mimeType": "mimeType"
  },
  "ExpressionAttributeValues": {
    ":recordId": "7afcc807c3f54f58a2ed7a01faf035a4",
    ":fileName": "2MB___1662275970455.pdf",
    ":scohx": "application/pdf"
  }
}

Support for DynamoDB nested attribute querying

Is your feature request related to a problem? Please describe.

image

Describe the solution you'd like
https://stackoverflow.com/questions/43174789/dyanamodb-scan-with-nested-attribute

var params = {
    TableName: 'YOUR_TABLE_NAME',
    FilterExpression: "#order.#shortCode = :shortCodeValue",
    ExpressionAttributeNames: {
        '#order': 'order',
        "#shortCode": "shortCode"
    },
    ExpressionAttributeValues: {
        ':shortCodeValue': 'SJLLDE'
    }
};

dynamodbDoc.scan(params, function(err, data) {
});

Additional context

"Reset" doesn't reset the table

Describe the bug
When clicking on the "Reset" button, the table is not reset.

To Reproduce
Steps to reproduce the behavior:

  1. Go to any table
  2. Click on the "Query" tab
  3. Click on "Run" button without any value on partition key
  4. Throws 422 error (Expected behaviour)
  5. Click on "Reset" button
  6. Tab changes to "Scan" but the values are not reset.

Expected behavior

  • The table should show the default values (1st query) when the "Reset" button is clicked.

The table name is shown in Create Table page.

Describe the bug
The table name is being shown on create table aswell.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Create Table
  2. On the breadcrumb of page, table name is shown instead of Create table

Expected behavior
In the breadcrumb Create Table should be shown

Screenshots
image

Desktop (please complete the following information):

  • OS: Mac OS
  • Browser: Firefox
  • Version: 121.0b4

TypeError: Cannot read properties of null (reading 'S')

Describe the bug
During development mode, it operated normally, but after publishing to the npm registry and installing from the registry, it throws error.

Screenshots
Screenshot from 2022-11-13 22-54-44

Possibly by reading data:

{
  ...
  "mimeType": "application/pdf",
  "label": null,
  ...
  "createdAt": 1661939043993,
  "updatedAt": 1661939043993
}

Dependencies:

"devDependencies": {
    "@babel/cli": "^7.18.10",
    "@babel/core": "^7.18.13",
    "@babel/node": "^7.18.10",
    "@babel/preset-env": "^7.18.10",
    "nodemon": "^2.0.19",
    "rimraf": "^3.0.2"
  },
  "dependencies": {
    "@aws-sdk/client-dynamodb": "^3.154.0",
    "@aws-sdk/credential-providers": "^3.171.0",
    "@aws-sdk/lib-dynamodb": "^3.154.0",
    "commander": "^9.4.0",
    "compression": "^1.7.4",
    "cors": "^2.8.5",
    "dotenv": "^16.0.1",
    "express": "^4.18.1",
    "joi": "^17.6.0",
    "morgan": "^1.10.0",
    "open": "^8.4.0"
  },

Desktop (please complete the following information):

  • node v16.17.1

Additional context

Playground to Scan/Query by params

Is your feature request related to a problem? Please describe.

  • Playground to Scan/Query by params

Describe the solution you'd like

  • Create a playground to query data from dynamodb

image

`Partition key value is required` persists even when the key is entered

Describe the bug
Partition key value is required persists even when the key is entered

To Reproduce
Steps to reproduce the behavior:

  1. Click on QUERY
  2. Click on RUN
  3. See error
  4. Type missing Partition key
  5. Error Persists

Expected behavior
Error must go away when a value for PK is provided.

Screenshots
image

Feature request: Restoring the table data asynchronously.

Is your feature request related to a problem? Please describe.
Currently, when restoring the table data, the restoring of data is done in the serial way i.e. restoring of another table information only happens when the previous table is successfully restored.

Describe the solution you'd like
I would like to restore all the tables asynchronously.

Describe alternatives you've considered
It would be really great if we could restore the data using multithread as well. This will ensure the faster restore of the data.

Additional context
Add any other context or screenshots about the feature request here.

Doesn't support linux/arm64

Describe the bug
It's giving me the error image with reference docker.io/kritishdhaubanjar/dynamodb-dashboard:latest was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64

To Reproduce
Steps to reproduce the behavior:

  1. Build using M series chip for Mac

Expected behavior

  • Should support arm chip

Screenshots
image

A UI to select attributes to show in the table, selected attributes being displayed as chips.

Is your feature request related to a problem? Please describe.
When looking for a single column in the table with a lot of attributes, significant amount of time is wasted in searching for the column, so a feature like in the new AWS Dynamodb Dashboard to select few desired attributes.

Describe the solution you'd like

  • A UI to select attributes to show in the table, selected attributes being displayed as chips.

Describe alternatives you've considered

  • None

Additional context

image

Invalid ConditionExpression: Attribute name is a reserved keyword; reserved keyword: date

Describe the bug
Invalid ConditionExpression: Attribute name is a reserved keyword; reserved keyword: date when Restoring certain tables (dev_Metrics)

To Reproduce
Steps to reproduce the behavior:

  1. Go to '/dynamodb/table/restore-tables'
  2. Restore Tables

Expected behavior

  • Restore Tables

Screenshots
image

ValidationException: Invalid ConditionExpression: Attribute name is a reserved keyword; reserved keyword: date
    at throwDefaultError (/home/pi/.nvm/versions/node/v16.14.1/lib/node_modules/dynamodb-dashboard/node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js:8:22)
    at deserializeAws_json1_0PutItemCommandError (/home/pi/.nvm/versions/node/v16.14.1/lib/node_modules/dynamodb-dashboard/node_modules/@aws-sdk/client-dynamodb/dist-cjs/protocols/Aws_json1_0.js:2094:51)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async /home/pi/.nvm/versions/node/v16.14.1/lib/node_modules/dynamodb-dashboard/node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24
    at async /home/pi/.nvm/versions/node/v16.14.1/lib/node_modules/dynamodb-dashboard/node_modules/@aws-sdk/lib-dynamodb/dist-cjs/baseCommand/DynamoDBDocumentClientCommand.js:26:34
    at async /home/pi/.nvm/versions/node/v16.14.1/lib/node_modules/dynamodb-dashboard/node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js:14:20
    at async /home/pi/.nvm/versions/node/v16.14.1/lib/node_modules/dynamodb-dashboard/node_modules/@aws-sdk/middleware-retry/dist-cjs/retryMiddleware.js:27:46
    at async /home/pi/.nvm/versions/node/v16.14.1/lib/node_modules/dynamodb-dashboard/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:5:22 {
  '$fault': 'client',
  '$metadata': {
    httpStatusCode: 400,
    requestId: 'ca40aec7-f689-4698-9ef0-6b096c1876ce',
    extendedRequestId: undefined,
    cfId: undefined,
    attempts: 1,
    totalRetryDelay: 0
  },
  __type: 'com.amazon.coral.validate#ValidationException'
}

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

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.