Commit Graph
391 Commits
Author SHA1 Message Date
Steve ChávezandJoe Nelson 7e2cb5fe1c Fix alias in select for mutate queries and small refactor (#779) 2017-01-16 23:20:02 -08:00
Joe NelsonandGitHub 104a7ed4fa Use a mime type to request singular JSON responses (#763) 2017-01-16 15:11:37 -08:00
Ruslan TalpaandJoe Nelson 16fd3a57ff Fix #746 (#769)
also fix broken text env

After the last couple of commits the tests ran correctly only on a
fresh db, in addition, the roles within the db were not created/dropped
on each request and we need that since their privileges differ and we
need to to have an absolute clean db on each execution
2016-12-18 15:46:53 -08:00
Trevor BasingerandJoe Nelson e364cbc3ff Support binary (b64) JWT secrets (#772) 2016-12-11 09:01:03 -08:00
Diogo BiazusandJoe Nelson 649a841ef4 Fix embeded relations error message (#767) 2016-12-10 11:59:17 -08:00
Ruslan TalpaandJoe Nelson 15c95399f8 Prevent database memory cosumption by prepared statements caches (#768) 2016-12-09 09:46:28 -08:00
Diogo Biazus 6c275fcec2 Coalesce types UniformObjects and Payload into the new PayloadJSON 2016-11-27 23:55:26 -05:00
Diogo Biazus 16ac034aab Tidy up postgrest function body 2016-11-27 23:55:19 -05:00
Diogo Biazus b158b4924e Use rightToMaybe instead of case 2016-11-27 23:55:14 -05:00
Diogo Biazus 98ada3f9ee Change nesting of if clause making code more symetrical 2016-11-27 23:55:07 -05:00
Diogo Biazus 090a62a2c8 Removes error case from Payload type. Now we don't build a payload when the parsing fails. 2016-11-27 23:55:02 -05:00
Diogo Biazus 654ac6e62e Move function to conver ApiRequestError to a Http Response to the Error module. 2016-11-27 23:54:58 -05:00
Diogo Biazus fec769c80e Move range validation to userApiRequest. 2016-11-27 23:54:52 -05:00
Diogo Biazus 6a02d9efd5 Remove PayloadParseError matcher from main app case since now we validate the request before building an ApiRequest. 2016-11-27 23:54:48 -05:00
Diogo Biazus b8ddc30252 Remove ActionInappropriate constructor from type Action since now we validate the request before building an ApiRequest. 2016-11-27 23:54:37 -05:00
Diogo Biazus 47c4fbc8ef Introduce the type ApiRequestError and make userApiRequest return an Either ApiRequestError ApiRequest 2016-11-27 23:54:23 -05:00
dsimunicandJoe Nelson ae40641963 Introduce new 'Prefer' header, params=single-object (#739) 2016-11-20 14:14:39 -08:00
Joe NelsonandGitHub 4df853eff9 Take config path as first param, not flag
Include example config in usage message
2016-11-17 22:45:59 -08:00
Diogo BiazusandJoe Nelson 41c1cf6e01 Reduce app function (#733)
Simplify the big app function
2016-11-10 20:42:00 -08:00
SteveBash 4064a7b984 Fix fatal error on postgres unsupported version, also fix #577 format of supported version 2016-10-29 13:38:19 -05:00
Joe Nelson 9dddd144a4 count(*) is faster than count(1) 2016-10-23 20:44:42 -07:00
Joe NelsonandGitHub 9233d90075 Read settings from config file (#714) 2016-10-20 08:34:57 -07:00
Joe NelsonandGitHub 74e68408e6 Bring packages up to date (#722)
* Bring packages up to date

* New LTS includes deps now

Use stack to select most versions

* Alphabetize packages

* Strip down packages

Switch tests to protolude

* Appease cabal check with base version constraint
2016-10-19 22:25:58 -07:00
Joe Nelson c6cd8145eb Set request.jwt.claim.* 2016-10-17 22:32:36 -07:00
Joe Nelson 5d904dfd66 Merge PR #713
Resolve petty CHANGELOG conflict
2016-10-12 20:52:40 -07:00
SteveBash 191601f129 Add ability to order by jsonb keys, fix #644 2016-10-05 14:46:12 -05:00
Ruslan Talpa 211e3d4141 fix relation detection bug and allow offset on lower levels 2016-10-05 11:34:07 +03:00
SteveBash 50ae48295d Allow using nulls order without explicit order direction, fix #552 2016-10-04 16:11:19 -05:00
Joe Nelson 9cd65a4033 Avoid calling getPOSIXTime more than necessary 2016-10-03 09:55:28 -07:00
Joe Nelson 5a166e8e80 Fix custom pre-request handler
Uses Ruslan's technique
2016-09-27 23:17:08 -07:00
Joe Nelson 06363ccc77 WIP: add argument for custom pre-request handler 2016-09-27 00:19:05 -07:00
Joe Nelson 2f8ac24128 Do not share JWT secret with SQL 2016-09-24 23:40:54 -07:00
Joe Nelson 71bc666a8e Forgot jwt fixture, also hlint fix 2016-09-24 21:32:47 -07:00
Joe Nelson 12a8c682bd Use sql to generate jwt, rather than custom haskell 2016-09-24 21:32:47 -07:00
Joe Nelson 62ed9e2c4d Do not require jwt secret, but die on auth without it 2016-09-24 21:28:08 -07:00
Joe Nelson 449480bf01 Require JWT secret, remove default, optionally read from file
Fixes #474, fixes #495 when file is used
2016-09-24 21:28:08 -07:00
Joe Nelson 7bf5b0106d Semantic WWW-Authenticate headers for problematic JWT
Adapting an OAuth 2.0 convention from RFC 6750 for use with JWT
2016-09-24 21:28:08 -07:00
Joe Nelson fb5fce026d Issue http 401 for expired jwt
Fixes #512
2016-09-24 21:28:08 -07:00
Joe Nelson a88a704bef Parse proc arg definitions that have multi-word types 2016-09-22 23:30:47 -07:00
Joe Nelson 362ad7b7d0 Hlint adjustment 2016-09-11 16:22:32 -07:00
Joe Nelson 25c2cd1f2d Note which rpc params are optional 2016-09-11 15:15:38 -07:00
Joe Nelson 466090c79b Expose stored proc args properly as json body param 2016-09-11 12:33:19 -07:00
Joe Nelson b9777dec35 Include proc parama and their types in openapi 2016-09-08 23:00:52 -07:00
Joe Nelson f49c6aa0f3 WIP: show procs in OpenAPI description
Thanks @LogvinovLeon
2016-09-08 21:23:16 -07:00
Joe NelsonandGitHub f3b79bcc40 Use table alias unlikely to conflict with a column name (#705) 2016-09-08 08:16:47 -07:00
Joe NelsonandGitHub af75988dd4 No count by default (#700)
* WIP: disable counting total table size by default

* Remove commented tests since PUT is no longer supported

* Fix tests for invalid range which require count

* Do not report count in PATCH response if not asked

* Return count of deleted items only if asked

* Return count for bulk insert when requested

* Changelog entry
2016-09-04 10:31:24 -07:00
Joe NelsonandGitHub 7278507c42 Use comma rather than semicolon to split header values (#698) 2016-08-21 15:26:00 -07:00
Diogo BiazusandJoe Nelson 6f737056a2 Protolude completion in library and executable (#697) 2016-08-21 15:10:19 -07:00
Ben GamariandJoe Nelson 298753d59e App: Remove erroneous import of Data.Monoid (#687) 2016-08-19 16:15:41 -07:00
Joe NelsonandGitHub 1d5a0e4316 Per-route content negotiation, and OpenAPI only for root (#693)
* WIP: remove non-openapi root spec

* Refactor ContentType

Different endpoints will favor one type over another

* Permit different Accept headers per endpoint

* Lint

* Add charset to Content-Type only when used as a header

Keep it out of error messages

* Accept: */* is last resort, not first

* Changelog

* makeMimeList consistently

* Remove schema description from OPTIONS response
2016-08-19 16:07:22 -07:00