Add JSON-backed data storage layer for bill comments and user accounts #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements a persistent JSON storage layer with secure password hashing and atomic writes, replacing in-memory storage patterns.
New Module:
src/data_store.pyload_comments(),save_comments(),add_comment(bill_id, author, text),get_comments_for_bill(bill_id)load_users(),save_users(),create_user(username, password, display_name=None),authenticate_user(username, password),update_password(username, new_password)passlib[bcrypt]os.replace()Example Usage
Other Changes
data/comments.json.example,data/users.json.example— schema examplestests/test_data_store.py— 17 unit testsrequirements.txt— addedpasslib[bcrypt]>=1.7.4README.md— API reference and migration notes.gitignore— Python/Node artifactsMigration
Existing
database/users.jsonwith plaintext passwords continues to work.authenticate_user()auto-detects hash format. Useupdate_password()to upgrade to bcrypt.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com//advisories/home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
This pull request was created as a result of the following prompt from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.