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
Wolfgang Walther and Remo Rechkemmer
93541035f6
Fix postgrest-coverage throwing error when installed with nix-env
2020-12-30 16:38:13 +01:00
Wolfgang Walther and Remo Rechkemmer
568477b6af
Fix io tests not collecting coverage data when using run()
...
Before, postgrest was killed after each test and no coverage data was saved.
Now the process is terminated gracefully via SIGTERM first to allow writing the .tix file.
2020-12-30 14:51:58 +01:00
Wolfgang Walther and GitHub
c7f0d42323
Add postgrest-coverage to show and upload hpc reports to codecov
2020-12-30 13:22:25 +01:00
Wolfgang Walther and GitHub
2015688312
Fix spec test concurrency issue related to tx=commit on simple_pk
2020-12-29 23:58:37 +01:00
Wolfgang Walther and Wolfgang Walther
8e02551956
Fix "unused-imports" warning for windows build
2020-12-29 16:07:07 +01:00
Remo Rechkemmer and GitHub
96478ed016
Add docs to all checked shell scripts in nix
2020-12-28 13:23:12 +01:00
Remo Rechkemmer and GitHub
2425cddaed
improve io-tests
...
Tests are now run through unix socket by default allowing
parallel execution. Test setup configuration is done via
environment variables instead of config files.
2020-12-24 16:09:25 +01:00
Wolfgang Walther and Wolfgang Walther
b5185de706
nix: add "cd $rootdir" to all shell scripts via checked-shell-script
2020-12-24 14:44:01 +01:00
Wolfgang Walther and Wolfgang Walther
56557c9c40
ci: remove broken travis coverage job
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
2cbe1ba903
feat: Add --example cli option to show example config file
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
69b459e7b6
Use environment variables for configuration in developer tooling
...
Avoid the need for configuration files for temporary database connections.
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
add326a79d
ci: skip postgrest-release-dockerhubdescription for nightly builds
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
b7fc393e49
feat: Read config directly from environment variables
...
resolves #1624
2020-12-23 19:39:40 +01:00
monacoremo and Steve Chavez
f2f639e484
update stack to lts-16.26
2020-12-23 09:39:36 -05:00
monacoremo and Steve Chavez
9cfc66a6a4
upgrade nixpkgs and apply related fixes
2020-12-23 09:39:36 -05:00
Remo Rechkemmer and GitHub
bf141ca13f
feat: Added --dump-schema CLI option to dump JSON of dbStructure schema cache.
...
Added postgrest-dump-schema to nix-shell returning a YAML dump of the test fixtures.
Authored-by: monacoremo <monacoremo>
2020-12-20 10:22:52 +01:00
monacoremo and Steve Chavez
fe09637711
catch ReadTimeout in IO tests
2020-12-17 17:05:03 -05:00
Wolfgang Walther and Wolfgang Walther
dbe3c163bd
run spec tests in parallel
...
reduces time to run postgrest-test-spec-all by 20-25%
2020-12-14 00:42:03 +01:00
monacoremo and Wolfgang Walther
a52c114ff4
add test for spec idempotence
2020-12-13 22:13:05 +01:00
Remo Rechkemmer and GitHub
71fa87937b
Migrate io-tests from bash to pytest
...
Authored-by: monacoremo <monacoremo>
2020-12-13 16:19:26 +01:00
Wolfgang Walther and Wolfgang Walther
0c25f12825
fix: fix output of RPCs returning scalar values with multiple rows
...
resolves #1584
BREAKING CHANGE:
Changed output of RPCs to match return type better:
* single scalar return: value (unchanged)
* setof scalar return: array of values (new; was array of objects)
* single composite return: object (new; was array of objects)
* setof composite return: array of objects (unchanged)
* void return: nothing (new; was "null")
A single OUT column is now treated as "composite" instead of "scalar",
i.e. consistent with multiple OUT columns.
2020-12-10 19:55:42 +01:00
Wolfgang Walther
093fd3c8f6
fix: fix embedding through views with subqueries inside function calls
...
resolves #1608
Refactors the pfkSourceColumns query to use an intermediate JSON format
for parsing. This allows much more robust extraction of source columns.
2020-12-10 19:48:05 +01:00
Steve Chavez and GitHub
ebd474a7e6
fix: retry connection on failed schema cache load ( #1685 )
...
Retry the connection when the
"Failed to load the schema cache" error happens.
Also die if the schema cache query has a syntax error.
2020-12-09 14:20:00 -05:00