Commit Graph
1823 Commits
Author SHA1 Message Date
Remo RechkemmerandGitHub 801e229c59 refactor: Carve CLI and Version modules out of Config (#1806) 2021-04-12 19:17:47 +02:00
Wolfgang WaltherandWolfgang Walther 67ca814d0b nix: properly throw away tix files for postgrest-watch, resolves #1807 2021-04-12 19:03:16 +02:00
Wolfgang WaltherandWolfgang 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 RechkemmerandGitHub f99fd6cbad refactor: Split up Types.hs and logically organize modules (#1793) 2021-04-11 18:28:01 +02:00
Remo RechkemmerandGitHub 8c44410ce0 remove misleadingly named emptyOnFalse and similar (#1803) 2021-04-11 10:38:35 +02:00
Wolfgang WaltherandWolfgang 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 WaltherandGitHub 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éandGitHub 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 WaltherandWolfgang Walther 376beac22f update contributing guidelines 2021-04-06 17:07:14 +02:00
Remo RechkemmerandGitHub 65e7f9e846 nix: Add a tool for checking Haskell imports and exports (#1768) 2021-04-06 11:46:12 +02:00
Boris KorzunandSteve 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 VollmertandSteve 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 VollmertandSteve 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 VollmertandSteve Chavez c3ccaf1a08 Allow lens-5.0 2021-02-28 13:02:37 -05:00
Robert VollmertandSteve 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 RechkemmerandGitHub 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 RechkemmerandGitHub 0ddd676ef0 nix: Add a script to generate a graph of Haskell imports (#1751) 2021-02-07 22:15:44 +01:00
Steve ChavezandGitHub 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 WaltherandWolfgang Walther ba86b479f8 cov: refactor ApiRequest profile header detection 2021-01-14 16:40:29 +01:00
Wolfgang WaltherandWolfgang Walther 6dd126461e cov: Remove unused code 2021-01-14 16:40:29 +01:00
Wolfgang WaltherandWolfgang 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 WaltherandRemo Rechkemmer ab6f90aa78 nix: Add postgrest-with-* tools to run with temporary databases of different versions 2021-01-04 23:14:44 +01:00
Wolfgang WaltherandWolfgang Walther 522308217a refactor: Combine relConstraint and relJunction in relLink 2021-01-03 17:54:28 +01:00
Wolfgang WaltherandWolfgang Walther d173b7d8d6 cov: remove unused fields from type Column 2021-01-03 17:54:28 +01:00
Wolfgang WaltherandWolfgang Walther b8e6450af1 refactor: simplify addXRels 2021-01-03 17:54:28 +01:00
Wolfgang WaltherandWolfgang Walther 45ebaf0ad8 cov: Add comment on SCHEMA in test fixtures 2021-01-03 17:54:28 +01:00
Wolfgang WaltherandWolfgang Walther 1edbef0538 Add STABLE RPCs in test fixtures to increase coverage 2021-01-03 17:54:28 +01:00
Wolfgang WaltherandWolfgang Walther 6efa304142 refactor: Move parseArg to SQL 2021-01-03 17:54:28 +01:00
Wolfgang WaltherandWolfgang Walther eed6015e70 refactor: Move addHasVariadic to SQL 2021-01-03 17:54:28 +01:00
Wolfgang WaltherandWolfgang Walther 94b516d074 Add flag to postgrest.cabal to disable collecting coverage data 2021-01-02 13:51:00 +01:00
Wolfgang WaltherandWolfgang Walther 56a7bc5030 nix: Fix build errors with stale .tix files present 2021-01-02 13:51:00 +01:00
Wolfgang WaltherandWolfgang 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 WaltherandGitHub 519550e9af Add codecov to README.md 2020-12-30 17:52:15 +01:00