{"push_id":615230552,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"23913d79f6f11482501253999804849b4d425edb","before":"cacb3dd9fd96b49bb03f76d2f7a3d864828be90f","commits":[{"sha":"fe5b1346ff0b4f4776bbf5b462d26367595d80c6","author":{"email":"87e1f221a672a14a323e57bb65eaea19d3ed3804@kivra.com","name":"Vincent Ambo"},"message":"Implement dbGetTenantUsers\n\nTwo things were wrong:\n\nThe `Query` type implements an `IsString` instance, which means that it\ncan be constructed from string literals in code when `OverloadedStrings`\nis enabled. Google this for more information! Otherwise you always end\nup with the actual `String` type which is just a list of `Char`.\n\nAlso the return type had undecidable ambiguity, the compiler can't infer\nwhat you want back from just `[xx]`. This could be solved generically to\nmake just that module compile by adding a type class constraint a là:\n\n    dbGetTenantUsers :: (FromRow user, ToJSON user)\n                     => PoolT -> String -> IO [user]\n\nHowever I chose to implement a simple example user type instead to\nremove the next layer of type ambiguity when the result of that gets fed\nto Scotty's JSON renderer.\n\nI'm not sure what the getTenantUsers function in UlogIf should do, so I\ncommented it out :-)","distinct":true,"url":"https://api.github.com/repos/kivra/ulogif/commits/fe5b1346ff0b4f4776bbf5b462d26367595d80c6"},{"sha":"23913d79f6f11482501253999804849b4d425edb","author":{"email":"87e1f221a672a14a323e57bb65eaea19d3ed3804@kivra.com","name":"Vincent Ambo"},"message":"Code style fixes\n\nYou should install `stylish-haskell` for this. I use `find . -name\n'*.hs' | xargs stylish-haskell -i` as a commit hook on Haskell projects.","distinct":true,"url":"https://api.github.com/repos/kivra/ulogif/commits/23913d79f6f11482501253999804849b4d425edb"}]}