When having one-to-many relationships like: person -< message[sender] person -< message[recipient] person_detail -< message[sender] person_detail -< message[recipient] Where person_detail is a view of person. This request: GET "/message?select=*,sender(*)" Is ambiguous. Both person or person_detail could be embedded. Until now we have returned the first detected relationship but now we return a 300 Multiple Choices error with a descriptive error message asking the user to disambiguate. This is more helpful for the user and also aids in cases of more complex relationships.
228 lines
11 KiB
Plaintext
228 lines
11 KiB
Plaintext
name: postgrest
|
|
version: 6.0.2
|
|
synopsis: REST API for any Postgres database
|
|
description: Reads the schema of a PostgreSQL database and creates RESTful routes
|
|
for the tables and views, supporting all HTTP verbs that security
|
|
permits.
|
|
license: MIT
|
|
license-file: LICENSE
|
|
author: Joe Nelson, Adam Baker
|
|
maintainer: Steve Chávez <stevechavezast@gmail.com>
|
|
category: Executable, PostgreSQL, Network APIs
|
|
homepage: https://postgrest.org
|
|
bug-reports: https://github.com/PostgREST/postgrest/issues
|
|
build-type: Simple
|
|
extra-source-files: CHANGELOG.md
|
|
cabal-version: >= 1.10
|
|
|
|
source-repository head
|
|
type: git
|
|
location: git://github.com/PostgREST/postgrest.git
|
|
|
|
flag ci
|
|
default: False
|
|
manual: True
|
|
description: No warnings allowed in continuous integration
|
|
|
|
library
|
|
exposed-modules: PostgREST.ApiRequest
|
|
PostgREST.App
|
|
PostgREST.Auth
|
|
PostgREST.Config
|
|
PostgREST.DbRequestBuilder
|
|
PostgREST.DbStructure
|
|
PostgREST.Error
|
|
PostgREST.Middleware
|
|
PostgREST.OpenAPI
|
|
PostgREST.Parsers
|
|
PostgREST.QueryBuilder
|
|
PostgREST.Statements
|
|
PostgREST.RangeQuery
|
|
PostgREST.Types
|
|
other-modules: Paths_postgrest
|
|
PostgREST.Private.Common
|
|
PostgREST.Private.QueryFragment
|
|
hs-source-dirs: src
|
|
build-depends: base >= 4.9 && < 4.13
|
|
, HTTP >= 4000.3.7 && < 4000.4
|
|
, Ranged-sets >= 0.3 && < 0.5
|
|
, aeson >= 0.11.3 && < 1.5
|
|
, ansi-wl-pprint >= 0.6.7 && < 0.7
|
|
, base64-bytestring >= 1 && < 1.1
|
|
, bytestring >= 0.10.8 && < 0.11
|
|
, case-insensitive >= 1.2 && < 1.3
|
|
, cassava >= 0.4.5 && < 0.6
|
|
, configurator-pg >= 0.1 && < 0.2
|
|
, containers >= 0.5.7 && < 0.7
|
|
, contravariant >= 1.4 && < 1.6
|
|
, contravariant-extras >= 0.3.3 && < 0.4
|
|
, cookie >= 0.4.2 && < 0.5
|
|
, either >= 4.4.1 && < 5.1
|
|
, gitrev >= 1.2 && < 1.4
|
|
, hasql >= 1.4 && < 1.5
|
|
, hasql-pool >= 0.5 && < 0.6
|
|
, hasql-transaction >= 0.7.2 && < 0.8
|
|
, heredoc >= 0.2 && < 0.3
|
|
, http-types >= 0.12.2 && < 0.13
|
|
, insert-ordered-containers >= 0.2.2 && < 0.3
|
|
, interpolatedstring-perl6 >= 1 && < 1.1
|
|
, jose >= 0.8.1 && < 0.9
|
|
, lens >= 4.14 && < 4.18
|
|
, lens-aeson >= 1.0.1 && < 1.1
|
|
, network-uri >= 2.6.1 && < 2.7
|
|
, optparse-applicative >= 0.13 && < 0.15
|
|
, parsec >= 3.1.11 && < 3.2
|
|
, protolude >= 0.2.2 && < 0.3
|
|
, regex-tdfa >= 1.2.2 && < 1.3
|
|
, scientific >= 0.3.4 && < 0.4
|
|
, swagger2 >= 2.4 && < 2.5
|
|
, text >= 1.2.2 && < 1.3
|
|
, time >= 1.6 && < 1.9
|
|
, unordered-containers >= 0.2.8 && < 0.3
|
|
, vector >= 0.11 && < 0.13
|
|
, wai >= 3.2.1 && < 3.3
|
|
, wai-cors >= 0.2.5 && < 0.3
|
|
, wai-extra >= 3.0.19 && < 3.1
|
|
, wai-middleware-static >= 0.8.1 && < 0.9
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings
|
|
QuasiQuotes
|
|
NoImplicitPrelude
|
|
|
|
executable postgrest
|
|
main-is: Main.hs
|
|
hs-source-dirs: main
|
|
build-depends: base >= 4.9 && < 4.13
|
|
, auto-update >= 0.1.4 && < 0.2
|
|
, base64-bytestring >= 1 && < 1.1
|
|
, bytestring >= 0.10.8 && < 0.11
|
|
, directory >= 1.2.6 && < 1.4
|
|
, hasql >= 1.4 && < 1.5
|
|
, hasql-pool >= 0.5 && < 0.6
|
|
, hasql-transaction >= 0.7.2 && < 0.8
|
|
, network < 2.9
|
|
, postgrest
|
|
, protolude >= 0.2.2 && < 0.3
|
|
, retry >= 0.7.4 && < 0.9
|
|
, text >= 1.2.2 && < 1.3
|
|
, time >= 1.6 && < 1.9
|
|
, warp >= 3.2.12 && < 3.3
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings
|
|
QuasiQuotes
|
|
NoImplicitPrelude
|
|
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -I2"
|
|
|
|
if !os(windows)
|
|
build-depends: unix
|
|
|
|
test-suite spec
|
|
type: exitcode-stdio-1.0
|
|
main-is: Main.hs
|
|
other-modules: Feature.AndOrParamsSpec
|
|
Feature.AsymmetricJwtSpec
|
|
Feature.AudienceJwtSecretSpec
|
|
Feature.AuthSpec
|
|
Feature.BinaryJwtSecretSpec
|
|
Feature.ConcurrentSpec
|
|
Feature.CorsSpec
|
|
Feature.DeleteSpec
|
|
Feature.EmbedDisambiguationSpec
|
|
Feature.ExtraSearchPathSpec
|
|
Feature.InsertSpec
|
|
Feature.JsonOperatorSpec
|
|
Feature.NoJwtSpec
|
|
Feature.NonexistentSchemaSpec
|
|
Feature.PgVersion95Spec
|
|
Feature.PgVersion96Spec
|
|
Feature.ProxySpec
|
|
Feature.QueryLimitedSpec
|
|
Feature.QuerySpec
|
|
Feature.RangeSpec
|
|
Feature.RootSpec
|
|
Feature.RpcSpec
|
|
Feature.SingularSpec
|
|
Feature.StructureSpec
|
|
Feature.UnicodeSpec
|
|
Feature.UpsertSpec
|
|
Feature.RawOutputTypesSpec
|
|
Feature.HtmlRawOutputSpec
|
|
SpecHelper
|
|
TestTypes
|
|
hs-source-dirs: test
|
|
build-depends: base >= 4.9 && < 4.13
|
|
, aeson >= 0.11.3 && < 1.5
|
|
, aeson-qq >= 0.8.1 && < 0.9
|
|
, async >= 2.1.1 && < 2.3
|
|
, auto-update >= 0.1.4 && < 0.2
|
|
, base64-bytestring >= 1 && < 1.1
|
|
, bytestring >= 0.10.8 && < 0.11
|
|
, case-insensitive >= 1.2 && < 1.3
|
|
, cassava >= 0.4.5 && < 0.6
|
|
, containers >= 0.5.7 && < 0.7
|
|
, contravariant >= 1.4 && < 1.6
|
|
, hasql >= 1.4 && < 1.5
|
|
, hasql-pool >= 0.5 && < 0.6
|
|
, hasql-transaction >= 0.7.2 && < 0.8
|
|
, heredoc >= 0.2 && < 0.3
|
|
, hspec >= 2.3 && < 2.8
|
|
, hspec-wai >= 0.7 && < 0.10
|
|
, hspec-wai-json >= 0.7 && < 0.10
|
|
, http-types >= 0.12.3 && < 0.13
|
|
, lens >= 4.14 && < 4.18
|
|
, lens-aeson >= 1.0.1 && < 1.1
|
|
, monad-control >= 1.0.1 && < 1.1
|
|
, postgrest
|
|
, process >= 1.4.2 && < 1.7
|
|
, protolude >= 0.2.2 && < 0.3
|
|
, regex-tdfa >= 1.2.2 && < 1.3
|
|
, text >= 1.2.2 && < 1.3
|
|
, time >= 1.6 && < 1.9
|
|
, transformers-base >= 0.4.4 && < 0.5
|
|
, wai >= 3.2.1 && < 3.3
|
|
, wai-extra >= 3.0.19 && < 3.1
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings
|
|
QuasiQuotes
|
|
NoImplicitPrelude
|
|
ghc-options: -threaded -rtsopts -with-rtsopts=-N
|
|
|
|
Test-Suite spec-querycost
|
|
Type: exitcode-stdio-1.0
|
|
Default-Language: Haskell2010
|
|
default-extensions: OverloadedStrings, QuasiQuotes, NoImplicitPrelude
|
|
Hs-Source-Dirs: test
|
|
Main-Is: QueryCost.hs
|
|
Other-Modules: SpecHelper
|
|
Build-Depends: base >= 4.9 && < 4.13
|
|
, aeson >= 0.11.3 && < 1.5
|
|
, aeson-qq >= 0.8.1 && < 0.9
|
|
, async >= 2.1.1 && < 2.3
|
|
, auto-update >= 0.1.4 && < 0.2
|
|
, base64-bytestring >= 1 && < 1.1
|
|
, bytestring >= 0.10.8 && < 0.11
|
|
, case-insensitive >= 1.2 && < 1.3
|
|
, cassava >= 0.4.5 && < 0.6
|
|
, containers >= 0.5.7 && < 0.7
|
|
, contravariant >= 1.4 && < 1.6
|
|
, hasql >= 1.4 && < 1.5
|
|
, hasql-pool >= 0.5 && < 0.6
|
|
, hasql-transaction >= 0.7.2 && < 0.8
|
|
, heredoc >= 0.2 && < 0.3
|
|
, hspec >= 2.3 && < 2.8
|
|
, hspec-wai >= 0.7 && < 0.10
|
|
, hspec-wai-json >= 0.7 && < 0.10
|
|
, http-types >= 0.12.3 && < 0.13
|
|
, lens >= 4.14 && < 4.18
|
|
, lens-aeson >= 1.0.1 && < 1.1
|
|
, monad-control >= 1.0.1 && < 1.1
|
|
, postgrest
|
|
, process >= 1.4.2 && < 1.7
|
|
, protolude >= 0.2.2 && < 0.3
|
|
, regex-tdfa >= 1.2.2 && < 1.3
|
|
, text >= 1.2.2 && < 1.3
|
|
, time >= 1.6 && < 1.9
|
|
, transformers-base >= 0.4.4 && < 0.5
|
|
, wai >= 3.2.1 && < 3.3
|
|
, wai-extra >= 3.0.19 && < 3.1
|