* Add requests through election creation
* close key ceremony
* create manifest
* create context
* create election
* Prefix and convert variables to environment and make consistent
* upload ballots, refactor key-name to var
* Refactor rename key-name
* Fix broken tests
* Run tally, extract user1id and user2id to vars
* Add new collection with login and create user steps
* Create a local environment teams can import
* Extract credentials
* Create key ceremony and guardians
* Complete all key ceremony steps
* Add test assert statements to each request
* add endpoint to get list election summary
* Require authentication for election endpoints
* Return name of election from manifest
* Show state as description
* Update postman
* Sort reverse chronologically
* Fix linting
* Fix tests
* PR Feedback
* fix naming
* Start a ballotsubmit2 with real params to replace the old Any based one
* Validate ballots in submit2
* Implement logging
* Validate ballots, add logging
* implement nonce and timestamp
* Implemented most of ContestDto
* Implement proof
* Implement most of ballot selection
* Implement proof
* Implemented extended data
* Convert types to support latest sample data
* Remove old submit
* Add a sample ballot json payload that nearly works to upload
* Fix formatting of manifest.json
* Simplify manifest
Also I think the old manifest was not what's actually in the system
* Simplified manifest
* Simplify ballot.json
* This ballot passes validation
* Fix ballot encryption
* Better ballot logging
* Fix error with submitting ballot when one doesn't exist
* Fix linting errors
* Fix linting errors
* Fix failing tests
* Fix more linting errors
* PR review feedback
* Little more clean up of the any objects
* Typo per PR
* Simplify logger file per PR
* Add auth to ballot endpoints
* Default the state to cast not spoiled
* Moved test data files into tests folder
* Simplified logging config per PR
* Add POST /user/find endpoint
* Update postman
- add find users
- fix create user
- add find key ceremony
* Specify create user response model
- change API to `PUT /user` from `POST /user/create`
* Add first and last name to users
* Fix bug with settings being injected into UserScope API's
* Fix /user/me not working
* Require auth for search users
* Fix postman with latest API changes
* Rename CiphertextElectionContext to CiphertextElectionContextDto
* Serialize election conext correctly
* Refactoring for better var and method names
* Better error messages
* Better naming per PR
* Move exception handling to higher level
* Move type mapping to different file
* Support hex int's
* Fix linting errors
* Fix type error
* Better error messages per PR
* More PR Feedback
Type mapper now accepts a Union[int, str]
* Implement final PR review comments
* Fix CORS to match UI
* Show error details in logs for election endpoints
* Exclude auth endpoint duplication in 1.1
* 1.1 causes errors in nswag, so replacing it with 1_1
* Document the 401 and 404 auth responses for swagger
* Fix linting error
* fix typo
* Adds support for a V2 of the API
More specifically creates a single endpoint at PUT api/v2/election that doesn't currently do anything, but the routes are all there for more easily fleshing out #178
* Fix failing integration tests
* Rename folder to v1_1 per PR Feedback
* Rename the new endpoints from v2 to v1.1 per PR feedback
* Fix unused imports
Co-authored-by: Keith Fung <keithrfung@users.noreply.github.com>
* Fixes the 404 errors for Fetch Guardian and Fetch Public Keys
* Log stack traces on error
* Remove the memory repository, it didn't work
* Notify client if there are duplicate guardians
* typo
* Show stack trace if errors occur retrieving guardians
* Debugging should default to local storage for simplicity
* Debug windows documentation
* Fix linting
* Minor cleanup to postman
* Remove unnecessary variables
This variable definition syntax doesn't work on Windows, but those are the defaults anyway, so they aren't necessary
* Clearer documentation of different way of running
* Expose 8081 as 8181 to avoid conflicts on Windows 11
* Update GitHub workflows to Python 3.9
* Upgrade to python 39 and upgrade black
* Upgrade uvicorn
* Revert "Upgrade uvicorn"
This reverts commit 0e70b60be0.
* Pin electionguard to 1.2.3 per Keith
* Revert "Upgrade to python 39 and upgrade black"
This reverts commit c19db4d45b.
* poetry update
* Upgrade python and black (again)
* `poetry add --dev black@21.7b0` PR feedback from Keith
* Downgrade electionguard to 1.2.2 per Steve
* PR Feedback
* Fixed linting errors
* more linting fix
* Add calls for ui to get guardians
* fixing a test
* fixed import ordering
* Add branch name to pull_request workflow
Co-authored-by: Keith Fung <keithrfung@users.noreply.github.com>
* make find functions posts
add an allowed route
* Add Ballot Inventory
* update docstring
* refactor election cache queries to their own file
* Add Tally/Decrypt
Add tally/encrypt functions. rework some of the ballot and election api's to be more consistent. Add sample data.
* update the postman collection
* clean up imports, docs
* more doc cleanup
* Initial commit of key ceremony api's and structures
this will likely change
* add challenge methods
* move refactor a bunch of api's
* add guardian requests and responses
* add mongo connection
* use key name when fetching key guardian
* update electionguard package
* work through guardian api's up to backups
* use consistent public key structure
* update collection
clean up todo's and types
* clean up imports, add docs
* use default response status
* add commitment hash to joint key
* update description hash to manifest hash
* add response models
* clean up imports
* add functional interface for combining keys in tests
* Add settings to routes
add settings to routes so that the application state can be configurable for tests
* fix lint errors
* add missing mkdocs things
* Add Submit Ballot API
refactor cache and queue into interfaces. Refactor base models. Fix linting configuration and issues, separate files, update postman tests
* address pr feedback