No description
ed557fb6be
Support a top-level PATCH request to trips that permits any admin to update any trip, and any user to update any of their trips. I'm using Aeson's (:?) combinator to support missing fields from the incoming JSON requests, and then M.fromMaybe to apply these values to any record that matches the primary key. See the TODOs that I introduced for some shortcomings. |
||
---|---|---|
client | ||
data | ||
src | ||
tests | ||
.gitignore | ||
populate.sqlite3 | ||
README.md | ||
shell.nix | ||
todo.org |
TopTal take-home #2
All of the commands defined herein should be run from the top-level directory of this repository (i.e. the directory in which this file exists).
Server
To create the environment that contains all of this application's dependencies, run:
$ nix-shell
To run the server interactively, run:
$ cd src/
$ ghci
Now compile and load the server with:
Prelude> :l Main.hs
*Main> main
Database
Create a new database named db.sqlite3
with:
$ sqlite3 db.sqlite3
Populate the database with:
sqlite3> .read populate.sqlite3
You can verify that everything is setup with:
sqlite3> .tables
sqlite3> .schema
sqlite3> SELECT * FROM Accounts;
sqlite3> SELECT * FROM Trips;