mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 17:31:56 +03:00
5f274b5527
If returning field contains nested selections then mutation is performed in two steps 1. Mutation is performed with returning columns of any primary key and unique constraints 2. returning fields are queried on rows returned by selecting from table by filtering with column values returned in Step 1. Since mutation takes two courses based on selecting relations in returning field, it is hard to maintain sequence of prepared arguments (PrepArg) generated while resolving returning field. So, we're using txtConverter instead of prepare to resolve mutation fields.
361 lines
12 KiB
Plaintext
361 lines
12 KiB
Plaintext
name: graphql-engine
|
|
version: 1.0.0
|
|
synopsis: GraphQL API over Postgres
|
|
-- description:
|
|
homepage: https://www.hasura.io
|
|
license: AGPL-3.0
|
|
-- license-file: LICENSE.md
|
|
author: Vamshi Surabhi
|
|
maintainer: vamshi@hasura.io
|
|
copyright: 2017-2018 Hasura Techonologies Pvt. Ltd
|
|
category: Database
|
|
build-type: Simple
|
|
-- extra-source-files: README.md
|
|
cabal-version: >=1.10
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/hasura/graphql-engine
|
|
|
|
flag developer
|
|
description: operate in developer mode
|
|
default: False
|
|
manual: True
|
|
|
|
flag local-console
|
|
description: embeds resources needed by console and serves them at /static/
|
|
default: False
|
|
manual: True
|
|
|
|
library
|
|
hs-source-dirs: src-lib
|
|
, src-exec
|
|
default-language: Haskell2010
|
|
build-depends: base
|
|
, pg-client
|
|
, text
|
|
, text-builder >= 0.6
|
|
, bytestring
|
|
, postgresql-libpq
|
|
, mtl
|
|
, aeson
|
|
, aeson-casing
|
|
, unordered-containers
|
|
, template-haskell
|
|
, hashable
|
|
, transformers
|
|
, transformers-base
|
|
, http-types
|
|
, attoparsec
|
|
, attoparsec-iso8601 >= 1.0
|
|
, time
|
|
, scientific
|
|
, Spock-core
|
|
, split
|
|
, optparse-applicative
|
|
, wai-extra
|
|
, containers
|
|
, monad-control
|
|
, monad-time
|
|
, wai-logger
|
|
, fast-logger
|
|
, wai
|
|
, postgresql-binary
|
|
, process
|
|
|
|
-- Encoder related
|
|
, uuid
|
|
, vector
|
|
|
|
-- Logging related
|
|
, network
|
|
, byteorder
|
|
|
|
-- hashing for logging
|
|
, cryptonite
|
|
-- for jwt verification
|
|
, jose
|
|
, pem
|
|
, x509
|
|
, asn1-encoding
|
|
, asn1-types
|
|
|
|
-- Server related
|
|
, warp
|
|
, th-lift-instances
|
|
, lens
|
|
|
|
-- GraphQL related
|
|
, graphql-parser
|
|
|
|
-- URL parser related
|
|
, network-uri
|
|
|
|
-- String related
|
|
, case-insensitive
|
|
, string-conversions
|
|
|
|
-- Http client
|
|
, wreq
|
|
, http-client
|
|
, http-client-tls
|
|
, connection
|
|
, retry
|
|
|
|
-- ordered map
|
|
, insert-ordered-containers
|
|
|
|
-- Parsing SemVer
|
|
, semver
|
|
|
|
-- Templating
|
|
, mustache
|
|
, ginger
|
|
, file-embed
|
|
|
|
--
|
|
, data-has
|
|
-- for src-exec
|
|
, yaml
|
|
, template-haskell >= 2.11
|
|
|
|
-- websockets interface related
|
|
, websockets
|
|
, wai-websockets
|
|
, hashtables
|
|
, stm
|
|
, stm-containers
|
|
, list-t
|
|
, async
|
|
|
|
-- logging related
|
|
, base64-bytestring >= 1.0
|
|
, auto-update
|
|
|
|
-- regex related
|
|
, regex-tdfa >= 1.2
|
|
|
|
-- pretty printer
|
|
, ansi-wl-pprint
|
|
|
|
exposed-modules: Hasura.Server.App
|
|
, Hasura.Server.Auth
|
|
, Hasura.Server.Auth.JWT
|
|
, Hasura.Server.Init
|
|
, Hasura.Server.Middleware
|
|
, Hasura.Server.Logging
|
|
, Hasura.Server.Query
|
|
, Hasura.Server.Utils
|
|
, Hasura.Server.Cors
|
|
, Hasura.Server.Version
|
|
, Hasura.Server.CheckUpdates
|
|
, Hasura.Server.Telemetry
|
|
, Hasura.RQL.Types
|
|
, Hasura.RQL.Instances
|
|
, Hasura.RQL.Types.SchemaCache
|
|
, Hasura.RQL.Types.SchemaCacheTypes
|
|
, Hasura.RQL.Types.Common
|
|
, Hasura.RQL.Types.BoolExp
|
|
, Hasura.RQL.Types.Permission
|
|
, Hasura.RQL.Types.Error
|
|
, Hasura.RQL.Types.DML
|
|
, Hasura.RQL.Types.Subscribe
|
|
, Hasura.RQL.Types.RemoteSchema
|
|
, Hasura.RQL.DDL.Deps
|
|
, Hasura.RQL.DDL.Permission.Internal
|
|
, Hasura.RQL.DDL.Permission.Triggers
|
|
, Hasura.RQL.DDL.Permission
|
|
, Hasura.RQL.DDL.Relationship
|
|
, Hasura.RQL.DDL.Relationship.Rename
|
|
, Hasura.RQL.DDL.Relationship.Types
|
|
, Hasura.RQL.DDL.QueryTemplate
|
|
, Hasura.RQL.DDL.Schema.Table
|
|
, Hasura.RQL.DDL.Schema.Rename
|
|
, Hasura.RQL.DDL.Schema.Function
|
|
, Hasura.RQL.DDL.Schema.Diff
|
|
, Hasura.RQL.DDL.Metadata
|
|
, Hasura.RQL.DDL.Utils
|
|
, Hasura.RQL.DDL.Subscribe
|
|
, Hasura.RQL.DDL.Headers
|
|
, Hasura.RQL.DDL.RemoteSchema
|
|
, Hasura.RQL.DML.Delete
|
|
, Hasura.RQL.DML.Internal
|
|
, Hasura.RQL.DML.Insert
|
|
, Hasura.RQL.DML.Mutation
|
|
, Hasura.RQL.DML.Returning
|
|
, Hasura.RQL.DML.Select.Internal
|
|
, Hasura.RQL.DML.Select.Types
|
|
, Hasura.RQL.DML.Select
|
|
, Hasura.RQL.DML.Update
|
|
, Hasura.RQL.DML.Count
|
|
, Hasura.RQL.DML.QueryTemplate
|
|
, Hasura.RQL.GBoolExp
|
|
|
|
, Hasura.GraphQL.Transport.HTTP.Protocol
|
|
, Hasura.GraphQL.Transport.HTTP
|
|
, Hasura.GraphQL.Transport.WebSocket.Protocol
|
|
, Hasura.GraphQL.Transport.WebSocket.Server
|
|
, Hasura.GraphQL.Transport.WebSocket
|
|
, Hasura.GraphQL.Schema
|
|
, Hasura.GraphQL.Utils
|
|
, Hasura.GraphQL.Validate
|
|
, Hasura.GraphQL.Validate.Types
|
|
, Hasura.GraphQL.Validate.Context
|
|
, Hasura.GraphQL.Validate.Field
|
|
, Hasura.GraphQL.Validate.InputValue
|
|
, Hasura.GraphQL.Resolve
|
|
, Hasura.GraphQL.Explain
|
|
, Hasura.GraphQL.Resolve.LiveQuery
|
|
, Hasura.GraphQL.Resolve.BoolExp
|
|
, Hasura.GraphQL.Resolve.Context
|
|
, Hasura.GraphQL.Resolve.InputValue
|
|
, Hasura.GraphQL.Resolve.Introspect
|
|
, Hasura.GraphQL.Resolve.Insert
|
|
, Hasura.GraphQL.Resolve.Mutation
|
|
, Hasura.GraphQL.Resolve.Select
|
|
, Hasura.GraphQL.RemoteServer
|
|
, Hasura.GraphQL.Context
|
|
, Hasura.GraphQL.Resolve.ContextTypes
|
|
|
|
, Hasura.Events.Lib
|
|
, Hasura.Events.HTTP
|
|
|
|
, Hasura.HTTP
|
|
|
|
, Data.Text.Extended
|
|
, Data.Sequence.NonEmpty
|
|
, Data.TByteString
|
|
, Data.HashMap.Strict.InsOrd.Extended
|
|
|
|
, Hasura.SQL.DML
|
|
, Hasura.SQL.Types
|
|
, Hasura.SQL.Value
|
|
, Hasura.SQL.GeoJSON
|
|
, Hasura.SQL.Time
|
|
, Hasura.SQL.Rewrite
|
|
, Hasura.Prelude
|
|
, Hasura.Logging
|
|
, Network.URI.Extended
|
|
, Ops
|
|
, Migrate
|
|
|
|
other-modules: Hasura.Server.Auth.JWT.Internal
|
|
, Hasura.Server.Auth.JWT.Logging
|
|
|
|
default-extensions: EmptyCase
|
|
FlexibleContexts
|
|
FlexibleInstances
|
|
InstanceSigs
|
|
MultiParamTypeClasses
|
|
LambdaCase
|
|
MultiWayIf
|
|
TupleSections
|
|
DeriveFoldable
|
|
DeriveFunctor
|
|
DeriveGeneric
|
|
DeriveLift
|
|
DeriveTraversable
|
|
GeneralizedNewtypeDeriving
|
|
BangPatterns
|
|
OverloadedStrings
|
|
ScopedTypeVariables
|
|
TemplateHaskell
|
|
QuasiQuotes
|
|
TypeFamilies
|
|
NoImplicitPrelude
|
|
|
|
|
|
if flag(developer)
|
|
ghc-prof-options: -rtsopts -fprof-auto -fno-prof-count-entries
|
|
if flag(local-console)
|
|
cpp-options: -DLocalConsole
|
|
|
|
ghc-options: -O2
|
|
-Wall
|
|
-Wcompat
|
|
-Wincomplete-record-updates
|
|
-Wincomplete-uni-patterns
|
|
-Wredundant-constraints
|
|
|
|
executable graphql-engine
|
|
default-extensions: EmptyCase
|
|
FlexibleContexts
|
|
FlexibleInstances
|
|
InstanceSigs
|
|
MultiParamTypeClasses
|
|
LambdaCase
|
|
MultiWayIf
|
|
TupleSections
|
|
DeriveFoldable
|
|
DeriveFunctor
|
|
DeriveGeneric
|
|
DeriveLift
|
|
DeriveTraversable
|
|
GeneralizedNewtypeDeriving
|
|
BangPatterns
|
|
OverloadedStrings
|
|
ScopedTypeVariables
|
|
TemplateHaskell
|
|
QuasiQuotes
|
|
TypeFamilies
|
|
NoImplicitPrelude
|
|
|
|
main-is: Main.hs
|
|
default-language: Haskell2010
|
|
hs-source-dirs: src-exec
|
|
build-depends: base
|
|
, warp >= 3.2
|
|
, graphql-engine
|
|
, aeson >= 1.0
|
|
, bytestring >= 0.10
|
|
, mtl
|
|
, optparse-applicative >= 0.12
|
|
, yaml
|
|
, template-haskell >= 2.11 , time >= 1.6
|
|
, text
|
|
, lens
|
|
, unordered-containers >= 0.2
|
|
, pg-client
|
|
, http-client
|
|
, http-client-tls
|
|
, stm
|
|
, wreq
|
|
, connection
|
|
, string-conversions
|
|
|
|
other-modules: Ops
|
|
, Migrate
|
|
|
|
if flag(developer)
|
|
ghc-prof-options: -rtsopts -fprof-auto -fno-prof-count-entries
|
|
|
|
ghc-options: -O2 -Wall -threaded
|
|
|
|
test-suite graphql-engine-test
|
|
type: exitcode-stdio-1.0
|
|
main-is: Main.hs
|
|
Default-Language: Haskell2010
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -O2 -Wall
|
|
Build-Depends: Spock-core >= 0.11
|
|
, base
|
|
, aeson
|
|
, aeson-casing
|
|
, bytestring
|
|
, hspec
|
|
, hspec-core
|
|
, hspec-wai
|
|
, optparse-applicative
|
|
, graphql-engine -any
|
|
, text
|
|
, wai
|
|
, pg-client
|
|
, time
|
|
, yaml
|
|
, http-client
|
|
, http-client-tls
|
|
, unordered-containers >= 0.2
|
|
, case-insensitive
|
|
|
|
other-modules: Spec
|