| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
There is a dance involved and everything
Write down specs for RSA and AES, padding scheme, ugh.
|
| |
|
|
|
|
| |
2 TODOs down!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Not happy with the solution one bit but using error.rs at
https://blog.logrocket.com/create-an-async-crud-web-service-in-rust-with-warp/
was not working
Basically we just handcraft every single response on the spot, there is
some repetition and it's ugly but need to move on
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They were getting spaghetti so;
new function: handlers::authorize_proposer(), handles the jwt stuff, NOT
async and _may_ cause trouble down the road but then again the stuff it
does used to be (repeated) in the functions so how bad can it be
If else chains were getting unwieldy;
https://refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html
so now everything is returning early, might make verbose error handling
easier
|
|
|
|
|
| |
Not tested because it's impossible to follow without verbose error
messages, failing 1 test
|
|
|
|
|
|
| |
Moved tests out of routes.rs into their own file
Learned how to use lib.rs, now we have cargo doc support as well
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Using blacke2s: https://docs.rs/blake2/0.9.1/blake2/
Using this guy's hash checker https://gist.github.com/gkbrk/2e4835e3a17b3fb6e1e7
blacke2s with 5 bits 0 can mine a block between 20 seconds to 359 during
my tests, hope it'll be fun
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New struct: User, corresponds to a student
Blocks and users are persistent (written to a text file)
PostgreSQL would've been overkill, we have 30 students
AuthRequest is the representation for incoming register requests and
User is the inner representation
Students who are enrolled to the class are hardcoded, only they can
register new accounts
There are two new tests, one checks if a priviliged (=enrolled) user can
create an account and the other checks if a unpriviliged one cannot
There are quick verbose error messages that I'm not married to, might
move on to something better honestly
There's nothing stopping a malicious user to pre-register everyone with
mock public keys and effectively lock everyone out, what's a good secret
we can use?
|
|
|
|
| |
The original repo is here: https://github.com/blurbyte/restful-rust
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- `Arc`+`Mutex` is replaced by `parking_lot::RwLock,` decoupled
Read+Write and ability to upgrade read locks into write locks if
needed
- Schema has changed, `Db` is now a struct that implements `new()` to
return a new instance of itself, pros/cons listed in code but tl;dr
blockchain and pending transactions are separate now
- `custom_filters` now supports extracting Block json and Transaction
json in separate functions too
- /block GET and PUT implemented, `Blocks` currently have one check
(transactions appear in pending transaction)
- debug is working after something, dunno how I fixed it
|
|
|