Skip to content

feat(dynamodb): item CRUD, batch write, and JSON editor UI (#69)#112

Merged
DaviReisVieira merged 1 commit intoDaviReisVieira:mainfrom
saurabhkhadsangTV:feat/#69/dynamodb-item-crud-with-json-editor
Apr 28, 2026
Merged

feat(dynamodb): item CRUD, batch write, and JSON editor UI (#69)#112
DaviReisVieira merged 1 commit intoDaviReisVieira:mainfrom
saurabhkhadsangTV:feat/#69/dynamodb-item-crud-with-json-editor

Conversation

@saurabhkhadsangTV
Copy link
Copy Markdown
Contributor

@saurabhkhadsangTV saurabhkhadsangTV commented Apr 27, 2026

Supersedes branch from #107 (head fork was recreated); delivered as one squashed commit on current main.

Implements create / update / delete for DynamoDB items, batch import and bulk delete, JSON editor with plain vs DynamoDB attribute-value modes, and read-only middleware fix so item write POSTs are not treated like POST .../query.

Includes feedback from #107 review: invalidate item count cache after batch writes even when UnprocessedItems is non-empty; warning toasts when import/bulk delete leaves unprocessed items.

Backend

  • POST / PUT /api/dynamodb/tables/{name}/itemsput_item (item + item_format: dynamodb | plain)
  • DELETE /api/dynamodb/tables/{name}/itemsdelete_item
  • POST /api/dynamodb/tables/{name}/items/batch — batch write (≤25 ops)

Frontend

Toolbar (new/import), row actions, marshal toggle, useHealth for writes.

Tests

tests/test_dynamodb_routes.py, tests/test_readonly_middleware.py, UI dynamodb tests.

Verify

Resources → DynamoDB → create / scan / edit / delete / import / bulk delete; STACKPORT_ALLOW_WRITES=false hides writes / returns 403.

Copy link
Copy Markdown
Owner

@DaviReisVieira DaviReisVieira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Both issues from the #107 review are addressed:

  1. Cache invalidation now runs unconditionally after batch_write_item — partial success no longer leaves stale counts. Nice addition of test_batch_write_partial_invalidates_cache too.

  2. Frontend now shows warning toasts when import or bulk delete has unprocessed items. The countUnprocessed helper is clean.

All checks pass (22 backend tests, 176 frontend tests, typecheck clean). Ship it! 🚀

@DaviReisVieira DaviReisVieira merged commit b61faad into DaviReisVieira:main Apr 28, 2026
2 checks passed
@DaviReisVieira DaviReisVieira linked an issue Apr 28, 2026 that may be closed by this pull request
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DynamoDB — Item CRUD with JSON editor

2 participants