Steve Chávez and Joe Nelson
7e2cb5fe1c
Fix alias in select for mutate queries and small refactor ( #779 )
2017-01-16 23:20:02 -08:00
Joe Nelson and GitHub
104a7ed4fa
Use a mime type to request singular JSON responses ( #763 )
2017-01-16 15:11:37 -08:00
Ruslan Talpa and Joe 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 Basinger and Joe Nelson
e364cbc3ff
Support binary (b64) JWT secrets ( #772 )
2016-12-11 09:01:03 -08:00
Diogo Biazus and Joe Nelson
649a841ef4
Fix embeded relations error message ( #767 )
2016-12-10 11:59:17 -08:00
Ruslan Talpa and Joe 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
dsimunic and Joe Nelson
ae40641963
Introduce new 'Prefer' header, params=single-object ( #739 )
2016-11-20 14:14:39 -08:00
Joe Nelson and GitHub
4df853eff9
Take config path as first param, not flag
...
Include example config in usage message
2016-11-17 22:45:59 -08:00
Diogo Biazus and Joe 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 Nelson and GitHub
9233d90075
Read settings from config file ( #714 )
2016-10-20 08:34:57 -07:00
Joe Nelson and GitHub
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 Nelson and GitHub
f3b79bcc40
Use table alias unlikely to conflict with a column name ( #705 )
2016-09-08 08:16:47 -07:00
Joe Nelson and GitHub
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 Nelson and GitHub
7278507c42
Use comma rather than semicolon to split header values ( #698 )
2016-08-21 15:26:00 -07:00
Diogo Biazus and Joe Nelson
6f737056a2
Protolude completion in library and executable ( #697 )
2016-08-21 15:10:19 -07:00
Ben Gamari and Joe Nelson
298753d59e
App: Remove erroneous import of Data.Monoid ( #687 )
2016-08-19 16:15:41 -07:00
Joe Nelson and GitHub
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