Remo Rechkemmer and GitHub
801e229c59
refactor: Carve CLI and Version modules out of Config ( #1806 )
2021-04-12 19:17:47 +02:00
Wolfgang Walther and Wolfgang Walther
67ca814d0b
nix: properly throw away tix files for postgrest-watch, resolves #1807
2021-04-12 19:03:16 +02:00
Wolfgang Walther and Wolfgang Walther
fc791a6320
nix: add withTmpDir to checked-shell-script
2021-04-12 19:03:16 +02:00
579a626de2
nix: move withtmpdb to separate file
...
Co-authored-by: Remo Rechkemmer <59358383+monacoremo@users.noreply.github.com >
2021-04-12 19:03:16 +02:00
Remo Rechkemmer and GitHub
f99fd6cbad
refactor: Split up Types.hs and logically organize modules ( #1793 )
2021-04-11 18:28:01 +02:00
Remo Rechkemmer and GitHub
8c44410ce0
remove misleadingly named emptyOnFalse and similar ( #1803 )
2021-04-11 10:38:35 +02:00
Wolfgang Walther and Wolfgang Walther
9118a4a780
fix random codecov/project drops in CI, resolves #1800
...
Those are caused by running the spec tests with `-threaded`, which results in a race to write to spec.tix.
2021-04-10 20:38:51 +02:00
Wolfgang Walther and GitHub
a5372e4713
nix: show better error messages for missing arguments in hsie scripts ( #1798 )
2021-04-09 18:48:00 +02:00
Jérémy Pagé and GitHub
67f555d24e
nix: Fix incorrect use of bash variable ( #1797 )
2021-04-08 14:33:18 +02:00
7f11c1a991
fix: Void functions return null instead of empty body ( #1795 )
...
* Change empty body reponse to null for scalar functions returning void or null values
* Add test for functions returning an integer with null value
Co-authored-by: Laurence Isla <lau.isla.c@gmail.com >
2021-04-08 01:45:13 +02:00
steve-chavez
9c79a4174c
Add Contributor Covenant Code of Conduct v2
2021-04-06 22:22:13 -05:00
Wolfgang Walther and Wolfgang Walther
376beac22f
update contributing guidelines
2021-04-06 17:07:14 +02:00
Remo Rechkemmer and GitHub
65e7f9e846
nix: Add a tool for checking Haskell imports and exports ( #1768 )
2021-04-06 11:46:12 +02:00
Boris Korzun and Steve Chavez
9f074cecce
cirrusci: update FreeBSD pkg
2021-03-26 10:13:38 -05:00
steve-chavez
71f6061d30
Add Supabase as a sponsor
2021-03-25 20:42:43 -05:00
Robert Vollmert and Steve Chavez
3a466aea9a
tests: don't match JSON bodies literally
...
The change of hash function with hashable-1.3.1.0 changes object
ordering in JSON output, causing some test failures:
https://app.circleci.com/pipelines/github/PostgREST/postgrest/805/workflows/067844c9-9ce4-49e8-8790-315625ab309b/jobs/8309
e.g.:
> expected: "[{\"b\":\"baz\",\"a\":\"bar\"}]"
> but got: "[{\"a\":\"bar\",\"b\":\"baz\"}]"
This changes the tests to not compare against the body literally,
and instead use the ResponseMatcher instance from Test.Hspec.Wai.JSON.
2021-03-14 12:45:02 -05:00
Robert Vollmert and Steve Chavez
5baec4819f
circleci: update base image
...
Switches to the non-legacy cimg/base: https://circleci.com/developer/images/image/cimg/base
In particular, this updates the gcc version to fix the build of
cryptonite-0.27: https://github.com/haskell-crypto/cryptonite/issues/326
2021-03-14 12:45:02 -05:00
steve-chavez
d3a8b5f6e1
Change db-load-guc-config to db-config
...
Make clear that in-db config is being read
2021-03-05 19:03:15 -05:00
steve-chavez
498e77215a
Reread in-db config when recoverying connection
...
* Separate reading files from whole config re-read
* Only reload external file on SIGUSR2/NOTIFY
2021-03-05 19:03:15 -05:00
steve-chavez
6750a5c44d
Restrict db settings to current db and global
...
Global settings are overriden by database specific settings if they
share common ones.
2021-03-05 19:03:15 -05:00
steve-chavez
e4516ab606
Correct db settings to use "_" instead of "-"
...
GUC settings with dashes cannot be shown with show or current_setting.
https://www.postgresql.org/message-id/flat/20210209144059.GA21360%40depesz.com
2021-03-05 19:03:15 -05:00
Robert Vollmert and Steve Chavez
c3ccaf1a08
Allow lens-5.0
2021-02-28 13:02:37 -05:00
Robert Vollmert and Steve Chavez
a7dab6d95a
cirrusci: update to FreeBSD 12.2
...
This fixes CI failure because FreeBSD 12.1 became EOL in Jan 2021
(3 months after release of 12.2): https://www.freebsd.org/security/#sup
2021-02-27 13:26:02 -05:00
steve-chavez
b50b67491d
Update CYBERTEC logo and BACKERS
2021-02-25 20:03:38 -05:00
Remo Rechkemmer and GitHub
e6973f966b
refactor: App.hs and related changes ( #1725 )
...
* Use ExceptT to avoid 'staircasing' case analysis in App.hs
* Split large function in App.hs into individual handler functions
* Adapt API of Auth.hs, OpenApi.hs etc. to simplify the use of those modules in App.hs
* Split optional rollback functionality into Middleware
* Unify SimpleError and ApiRequestError into one Error type, so it can be used across modules
2021-02-23 22:41:48 +01:00
Remo Rechkemmer and GitHub
0ddd676ef0
nix: Add a script to generate a graph of Haskell imports ( #1751 )
2021-02-07 22:15:44 +01:00
Steve Chavez and GitHub
c93e8f9e0c
Correct hardcoded postgrest_test_authenticator ( #1743 )
...
Also remove panic from Config and correct io test not running
2021-01-25 18:38:46 -05:00
steve-chavez
6557f1f9c0
correct NOTIFY config reload dying on error
2021-01-22 15:56:08 -05:00
steve-chavez
17af56adb1
refactor: config validation inside readAppConfig
...
Remove Either from configJwtRoleClaimKey/configServerUnixSocketMode
and remove whenLefts.
2021-01-22 15:56:08 -05:00
steve-chavez
4344cc9202
refactor: use optString and move overrideFrom
2021-01-22 15:56:08 -05:00
steve-chavez
125ea8f6d9
feat: allow reloading config with NOTIFY
...
Enables reloading the config by doing:
NOTIFY pgrst, 'reload config'
Adds an alias for reloading the schema cache:
NOTIFY pgrst, 'reload schema'
2021-01-19 13:49:40 -05:00
steve-chavez
9c005fc683
feat: get configuration parameters from the db
...
Allows configuring postgrest from the db by setting config parameters
on the connection role. For example:
ALTER ROLE postgrest_test_authenticator
SET pgrst.jwt-secret = "REALLYREALLYREALLYREALLYVERYSAFE"
The above wWill set the `jwt-secret` config option accordingly.
SUPERUSER privileges are required for ALTERing role settings,
so this might not work on some cloud-managed databases.
This feature is enabled by default, for disabling it you can add the
following to the config file:
db-load-guc-config = false
2021-01-19 13:49:40 -05:00
steve-chavez
674615041a
Correct --dump-schema swallowing error
...
When there's no connection to pg, the following error happens
when running --dump-schema:
postgrest: user error (Pattern match failure in do expression at
main/Main.hs:361:5-14)
Now it shows a regular "could not connect to server.." error.
2021-01-19 13:49:40 -05:00
steve-chavez
15039553db
Correct openapi preparing statements by default
2021-01-19 13:49:40 -05:00
Wolfgang Walther and Wolfgang Walther
ba86b479f8
cov: refactor ApiRequest profile header detection
2021-01-14 16:40:29 +01:00
Wolfgang Walther and Wolfgang Walther
6dd126461e
cov: Remove unused code
2021-01-14 16:40:29 +01:00
Wolfgang Walther and Wolfgang Walther
97d8456382
cov: Add io tests for basic cli commands and invalid config options
...
Full code coverage for Config.hs except expected overlays.
2021-01-14 16:40:29 +01:00
Wolfgang Walther and Remo Rechkemmer
ab6f90aa78
nix: Add postgrest-with-* tools to run with temporary databases of different versions
2021-01-04 23:14:44 +01:00
Wolfgang Walther and Wolfgang Walther
522308217a
refactor: Combine relConstraint and relJunction in relLink
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
d173b7d8d6
cov: remove unused fields from type Column
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
b8e6450af1
refactor: simplify addXRels
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
45ebaf0ad8
cov: Add comment on SCHEMA in test fixtures
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
1edbef0538
Add STABLE RPCs in test fixtures to increase coverage
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
6efa304142
refactor: Move parseArg to SQL
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
eed6015e70
refactor: Move addHasVariadic to SQL
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
94b516d074
Add flag to postgrest.cabal to disable collecting coverage data
2021-01-02 13:51:00 +01:00
Wolfgang Walther and Wolfgang Walther
56a7bc5030
nix: Fix build errors with stale .tix files present
2021-01-02 13:51:00 +01:00
Wolfgang Walther and Wolfgang Walther
af2788468e
Add basic error handling to --dump-schema
2021-01-02 13:50:19 +01:00
Wolfgang Walther
cc54135bf0
Rename master branch to main; replace whiteList with isAllowed
2020-12-31 14:37:52 +01:00
Wolfgang Walther and GitHub
519550e9af
Add codecov to README.md
2020-12-30 17:52:15 +01:00