2019-10-21 19:01:05 +03:00
|
|
|
cabal-version: 2.2
|
|
|
|
|
2018-06-27 16:11:32 +03:00
|
|
|
name: graphql-engine
|
|
|
|
version: 1.0.0
|
|
|
|
synopsis: GraphQL API over Postgres
|
|
|
|
homepage: https://www.hasura.io
|
2019-07-04 13:58:02 +03:00
|
|
|
license: Apache-2.0
|
2018-06-27 16:11:32 +03:00
|
|
|
author: Vamshi Surabhi
|
|
|
|
maintainer: vamshi@hasura.io
|
2019-07-04 13:58:02 +03:00
|
|
|
copyright: Hasura Inc.
|
2018-06-27 16:11:32 +03:00
|
|
|
category: Database
|
|
|
|
build-type: Simple
|
|
|
|
|
|
|
|
source-repository head
|
|
|
|
type: git
|
|
|
|
location: https://github.com/hasura/graphql-engine
|
|
|
|
|
|
|
|
flag developer
|
|
|
|
description: operate in developer mode
|
|
|
|
default: False
|
|
|
|
manual: True
|
|
|
|
|
2019-04-17 12:48:41 +03:00
|
|
|
flag profile
|
|
|
|
description: compile with profile options set
|
|
|
|
default: False
|
|
|
|
manual: True
|
|
|
|
|
2019-10-21 19:01:05 +03:00
|
|
|
common common-all
|
|
|
|
ghc-options:
|
|
|
|
-O2 -foptimal-applicative-do
|
|
|
|
-Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
|
|
|
|
-fdefer-typed-holes
|
|
|
|
|
|
|
|
if flag(profile)
|
|
|
|
ghc-prof-options: -fprof-auto -fno-prof-count-entries
|
|
|
|
if flag(developer)
|
|
|
|
cpp-options: -DDeveloperAPIs
|
|
|
|
|
|
|
|
default-language: Haskell2010
|
|
|
|
default-extensions:
|
|
|
|
ApplicativeDo BangPatterns ConstraintKinds DeriveDataTypeable DeriveFoldable DeriveFunctor
|
|
|
|
DeriveGeneric DeriveLift DeriveTraversable EmptyCase FlexibleContexts FlexibleInstances
|
|
|
|
FunctionalDependencies GeneralizedNewtypeDeriving InstanceSigs LambdaCase MultiParamTypeClasses
|
2019-11-26 15:14:21 +03:00
|
|
|
MultiWayIf NoImplicitPrelude OverloadedStrings QuantifiedConstraints QuasiQuotes RankNTypes
|
|
|
|
ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications
|
|
|
|
TypeFamilies TypeOperators
|
2019-10-21 19:01:05 +03:00
|
|
|
|
|
|
|
common common-exe
|
|
|
|
ghc-options:
|
|
|
|
-threaded -rtsopts
|
|
|
|
-- Re. `-I2` see #2565
|
|
|
|
"-with-rtsopts=-N -I2"
|
|
|
|
|
|
|
|
if flag(profile)
|
|
|
|
ghc-prof-options: -rtsopts
|
|
|
|
|
2018-06-27 16:11:32 +03:00
|
|
|
library
|
2019-10-21 19:01:05 +03:00
|
|
|
import: common-all
|
2018-06-27 16:11:32 +03:00
|
|
|
hs-source-dirs: src-lib
|
|
|
|
build-depends: base
|
2019-12-11 04:04:49 +03:00
|
|
|
, lifted-base
|
2018-06-27 16:11:32 +03:00
|
|
|
, pg-client
|
|
|
|
, text
|
2018-10-19 05:15:28 +03:00
|
|
|
, text-builder >= 0.6
|
2018-06-27 16:11:32 +03:00
|
|
|
, bytestring
|
|
|
|
, postgresql-libpq
|
|
|
|
, mtl
|
|
|
|
, aeson
|
|
|
|
, aeson-casing
|
|
|
|
, unordered-containers
|
|
|
|
, template-haskell
|
|
|
|
, hashable
|
|
|
|
, transformers
|
|
|
|
, transformers-base
|
|
|
|
, http-types
|
|
|
|
, attoparsec
|
2018-06-28 10:11:49 +03:00
|
|
|
, attoparsec-iso8601 >= 1.0
|
2018-06-27 16:11:32 +03:00
|
|
|
, time
|
|
|
|
, scientific
|
|
|
|
, Spock-core
|
|
|
|
, split
|
|
|
|
, optparse-applicative
|
|
|
|
, containers
|
|
|
|
, monad-control
|
add support for jwt authorization (close #186) (#255)
The API:
1. HGE has `--jwt-secret` flag or `HASURA_GRAPHQL_JWT_SECRET` env var. The value of which is a JSON.
2. The structure of this JSON is: `{"type": "<standard-JWT-algorithms>", "key": "<the-key>"}`
`type` : Standard JWT algos : `HS256`, `RS256`, `RS512` etc. (see jwt.io).
`key`:
i. Incase of symmetric key, the key as it is.
ii. Incase of asymmetric keys, only the public key, in a PEM encoded string or as a X509 certificate.
3. The claims in the JWT token must contain the following:
i. `x-hasura-default-role` field: default role of that user
ii. `x-hasura-allowed-roles` : A list of allowed roles for the user. The default role is overriden by `x-hasura-role` header.
4. The claims in the JWT token, can have other `x-hasura-*` fields where their values can only be strings.
5. The JWT tokens are sent as `Authorization: Bearer <token>` headers.
---
To test:
1. Generate a shared secret (for HMAC-SHA256) or RSA key pair.
2. Goto https://jwt.io/ , add the keys
3. Edit the claims to have `x-hasura-role` (mandatory) and other `x-hasura-*` fields. Add permissions related to the claims to test permissions.
4. Start HGE with `--jwt-secret` flag or `HASURA_GRAPHQL_JWT_SECRET` env var, which takes a JSON string: `{"type": "HS256", "key": "mylongsharedsecret"}` or `{"type":"RS256", "key": "<PEM-encoded-public-key>"}`
5. Copy the JWT token from jwt.io and use it in the `Authorization: Bearer <token>` header.
---
TODO: Support EC public keys. It is blocked on frasertweedale/hs-jose#61
2018-08-30 13:32:09 +03:00
|
|
|
, monad-time
|
2019-07-22 15:47:13 +03:00
|
|
|
, monad-validate
|
2018-06-27 16:11:32 +03:00
|
|
|
, fast-logger
|
|
|
|
, wai
|
|
|
|
, postgresql-binary
|
2018-07-03 18:34:25 +03:00
|
|
|
, process
|
2019-11-26 15:14:21 +03:00
|
|
|
, http-client-tls
|
2018-06-27 16:11:32 +03:00
|
|
|
|
|
|
|
-- Encoder related
|
|
|
|
, uuid
|
|
|
|
, vector
|
|
|
|
|
|
|
|
-- Logging related
|
|
|
|
, network
|
|
|
|
, byteorder
|
|
|
|
|
2019-07-11 08:37:06 +03:00
|
|
|
-- for parsing RSA keys
|
2018-06-27 16:11:32 +03:00
|
|
|
, cryptonite
|
2019-07-11 08:37:06 +03:00
|
|
|
|
add support for jwt authorization (close #186) (#255)
The API:
1. HGE has `--jwt-secret` flag or `HASURA_GRAPHQL_JWT_SECRET` env var. The value of which is a JSON.
2. The structure of this JSON is: `{"type": "<standard-JWT-algorithms>", "key": "<the-key>"}`
`type` : Standard JWT algos : `HS256`, `RS256`, `RS512` etc. (see jwt.io).
`key`:
i. Incase of symmetric key, the key as it is.
ii. Incase of asymmetric keys, only the public key, in a PEM encoded string or as a X509 certificate.
3. The claims in the JWT token must contain the following:
i. `x-hasura-default-role` field: default role of that user
ii. `x-hasura-allowed-roles` : A list of allowed roles for the user. The default role is overriden by `x-hasura-role` header.
4. The claims in the JWT token, can have other `x-hasura-*` fields where their values can only be strings.
5. The JWT tokens are sent as `Authorization: Bearer <token>` headers.
---
To test:
1. Generate a shared secret (for HMAC-SHA256) or RSA key pair.
2. Goto https://jwt.io/ , add the keys
3. Edit the claims to have `x-hasura-role` (mandatory) and other `x-hasura-*` fields. Add permissions related to the claims to test permissions.
4. Start HGE with `--jwt-secret` flag or `HASURA_GRAPHQL_JWT_SECRET` env var, which takes a JSON string: `{"type": "HS256", "key": "mylongsharedsecret"}` or `{"type":"RS256", "key": "<PEM-encoded-public-key>"}`
5. Copy the JWT token from jwt.io and use it in the `Authorization: Bearer <token>` header.
---
TODO: Support EC public keys. It is blocked on frasertweedale/hs-jose#61
2018-08-30 13:32:09 +03:00
|
|
|
-- for jwt verification
|
|
|
|
, jose
|
|
|
|
, pem
|
|
|
|
, x509
|
|
|
|
, asn1-encoding
|
|
|
|
, asn1-types
|
2018-06-27 16:11:32 +03:00
|
|
|
|
|
|
|
-- Server related
|
|
|
|
, warp
|
|
|
|
, th-lift-instances
|
|
|
|
, lens
|
|
|
|
|
|
|
|
-- GraphQL related
|
|
|
|
, graphql-parser
|
|
|
|
|
|
|
|
-- URL parser related
|
|
|
|
, network-uri
|
|
|
|
|
|
|
|
-- String related
|
|
|
|
, case-insensitive
|
|
|
|
, string-conversions
|
2019-08-29 16:07:05 +03:00
|
|
|
, text-conversions
|
2018-06-27 16:11:32 +03:00
|
|
|
|
|
|
|
-- Http client
|
|
|
|
, wreq
|
|
|
|
, http-client
|
|
|
|
|
2018-06-28 11:19:27 +03:00
|
|
|
-- ordered map
|
|
|
|
, insert-ordered-containers
|
|
|
|
|
2018-07-03 18:34:25 +03:00
|
|
|
-- Parsing SemVer
|
|
|
|
, semver
|
|
|
|
|
|
|
|
-- Templating
|
|
|
|
, mustache
|
2018-09-05 14:26:46 +03:00
|
|
|
, file-embed
|
2019-10-11 08:13:57 +03:00
|
|
|
, shakespeare >= 2.0.22
|
2018-07-03 18:34:25 +03:00
|
|
|
|
2018-06-27 16:11:32 +03:00
|
|
|
--
|
|
|
|
, data-has
|
2018-07-11 10:13:07 +03:00
|
|
|
-- for src-exec
|
|
|
|
, yaml
|
|
|
|
, template-haskell >= 2.11
|
2018-06-27 16:11:32 +03:00
|
|
|
|
2018-07-20 10:22:46 +03:00
|
|
|
-- websockets interface related
|
|
|
|
, websockets
|
|
|
|
, wai-websockets
|
|
|
|
, stm
|
|
|
|
, stm-containers
|
|
|
|
, list-t
|
|
|
|
, async
|
2019-12-11 04:04:49 +03:00
|
|
|
, lifted-async
|
2018-07-20 10:22:46 +03:00
|
|
|
|
|
|
|
-- logging related
|
|
|
|
, base64-bytestring >= 1.0
|
|
|
|
, auto-update
|
|
|
|
|
2018-07-27 12:50:12 +03:00
|
|
|
-- regex related
|
2018-11-13 08:58:55 +03:00
|
|
|
, regex-tdfa >= 1.2
|
2018-07-27 12:50:12 +03:00
|
|
|
|
2018-12-14 06:21:41 +03:00
|
|
|
-- pretty printer
|
|
|
|
, ansi-wl-pprint
|
|
|
|
|
2019-07-10 15:01:52 +03:00
|
|
|
-- for capturing various metrics
|
2019-04-17 12:48:41 +03:00
|
|
|
, ekg-core
|
2019-07-10 15:01:52 +03:00
|
|
|
, ekg-json
|
2019-04-17 12:48:41 +03:00
|
|
|
|
2019-06-26 09:23:40 +03:00
|
|
|
-- metrics for CI integration
|
|
|
|
, ci-info
|
|
|
|
|
2019-05-16 10:45:29 +03:00
|
|
|
-- serve static files
|
|
|
|
, filepath >= 1.4
|
|
|
|
, mime-types >= 0.1
|
|
|
|
|
2019-11-26 15:14:21 +03:00
|
|
|
-- for handling posix signals for graceful shutdown
|
|
|
|
, unix
|
2019-09-19 15:54:40 +03:00
|
|
|
-- HTTP compression
|
|
|
|
, zlib
|
|
|
|
|
2019-11-25 20:12:23 +03:00
|
|
|
-- caching
|
|
|
|
, psqueues >= 0.2
|
|
|
|
|
2019-12-14 09:47:38 +03:00
|
|
|
-- testing
|
|
|
|
, QuickCheck
|
|
|
|
, generic-arbitrary
|
|
|
|
|
2019-11-26 15:14:21 +03:00
|
|
|
exposed-modules: Control.Monad.Stateless
|
|
|
|
|
|
|
|
, Hasura.Prelude
|
|
|
|
, Hasura.App
|
|
|
|
, Hasura.Db
|
2019-03-18 19:22:21 +03:00
|
|
|
, Hasura.Logging
|
2019-11-26 15:14:21 +03:00
|
|
|
, Hasura.HTTP
|
|
|
|
|
|
|
|
, Hasura.Server.App
|
|
|
|
, Hasura.Server.Auth
|
|
|
|
, Hasura.Server.Init
|
|
|
|
, Hasura.Server.Query
|
|
|
|
, Hasura.Server.Utils
|
|
|
|
, Hasura.Server.Version
|
|
|
|
, Hasura.Server.Logging
|
|
|
|
, Hasura.Server.Context
|
|
|
|
, Hasura.Server.Migrate
|
|
|
|
, Hasura.Server.Compression
|
|
|
|
, Hasura.Server.PGDump
|
|
|
|
|
|
|
|
, Hasura.RQL.Types
|
|
|
|
, Hasura.RQL.DDL.Metadata
|
2019-12-14 09:47:38 +03:00
|
|
|
, Hasura.RQL.DDL.Metadata.Types
|
|
|
|
, Hasura.RQL.DDL.Metadata.Generator
|
2019-03-18 19:22:21 +03:00
|
|
|
, Hasura.EncJSON
|
2019-11-26 15:14:21 +03:00
|
|
|
|
2019-12-14 09:47:38 +03:00
|
|
|
, Data.Aeson.Ordered
|
|
|
|
|
2019-11-26 15:14:21 +03:00
|
|
|
other-modules: Hasura.Cache
|
2019-04-17 12:48:41 +03:00
|
|
|
, Hasura.Cache
|
2019-11-25 20:12:23 +03:00
|
|
|
, Hasura.Cache.Bounded
|
|
|
|
, Hasura.Cache.Unbounded
|
2019-03-18 19:22:21 +03:00
|
|
|
|
add support for jwt authorization (close #186) (#255)
The API:
1. HGE has `--jwt-secret` flag or `HASURA_GRAPHQL_JWT_SECRET` env var. The value of which is a JSON.
2. The structure of this JSON is: `{"type": "<standard-JWT-algorithms>", "key": "<the-key>"}`
`type` : Standard JWT algos : `HS256`, `RS256`, `RS512` etc. (see jwt.io).
`key`:
i. Incase of symmetric key, the key as it is.
ii. Incase of asymmetric keys, only the public key, in a PEM encoded string or as a X509 certificate.
3. The claims in the JWT token must contain the following:
i. `x-hasura-default-role` field: default role of that user
ii. `x-hasura-allowed-roles` : A list of allowed roles for the user. The default role is overriden by `x-hasura-role` header.
4. The claims in the JWT token, can have other `x-hasura-*` fields where their values can only be strings.
5. The JWT tokens are sent as `Authorization: Bearer <token>` headers.
---
To test:
1. Generate a shared secret (for HMAC-SHA256) or RSA key pair.
2. Goto https://jwt.io/ , add the keys
3. Edit the claims to have `x-hasura-role` (mandatory) and other `x-hasura-*` fields. Add permissions related to the claims to test permissions.
4. Start HGE with `--jwt-secret` flag or `HASURA_GRAPHQL_JWT_SECRET` env var, which takes a JSON string: `{"type": "HS256", "key": "mylongsharedsecret"}` or `{"type":"RS256", "key": "<PEM-encoded-public-key>"}`
5. Copy the JWT token from jwt.io and use it in the `Authorization: Bearer <token>` header.
---
TODO: Support EC public keys. It is blocked on frasertweedale/hs-jose#61
2018-08-30 13:32:09 +03:00
|
|
|
, Hasura.Server.Auth.JWT
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.Server.Middleware
|
2019-02-14 08:58:38 +03:00
|
|
|
, Hasura.Server.Cors
|
2018-07-27 12:34:50 +03:00
|
|
|
, Hasura.Server.CheckUpdates
|
2019-01-28 16:55:28 +03:00
|
|
|
, Hasura.Server.Telemetry
|
2019-03-12 08:46:27 +03:00
|
|
|
, Hasura.Server.SchemaUpdate
|
2019-06-11 16:29:03 +03:00
|
|
|
, Hasura.Server.Config
|
2019-10-21 19:01:05 +03:00
|
|
|
, Hasura.Server.Migrate.Version
|
2019-11-26 15:14:21 +03:00
|
|
|
, Hasura.Server.Auth.JWT.Internal
|
|
|
|
, Hasura.Server.Auth.JWT.Logging
|
2019-05-16 10:45:29 +03:00
|
|
|
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.Instances
|
2018-11-23 16:02:46 +03:00
|
|
|
, Hasura.RQL.Types.SchemaCache
|
|
|
|
, Hasura.RQL.Types.SchemaCacheTypes
|
2018-11-16 15:40:23 +03:00
|
|
|
, Hasura.RQL.Types.BoolExp
|
2019-11-20 09:47:06 +03:00
|
|
|
, Hasura.RQL.Types.Function
|
2019-07-22 15:47:13 +03:00
|
|
|
, Hasura.RQL.Types.Catalog
|
|
|
|
, Hasura.RQL.Types.Column
|
|
|
|
, Hasura.RQL.Types.Common
|
2019-10-18 11:29:47 +03:00
|
|
|
, Hasura.RQL.Types.ComputedField
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.Types.DML
|
2019-07-22 15:47:13 +03:00
|
|
|
, Hasura.RQL.Types.Error
|
2019-03-25 20:10:52 +03:00
|
|
|
, Hasura.RQL.Types.EventTrigger
|
2019-04-17 19:29:39 +03:00
|
|
|
, Hasura.RQL.Types.Metadata
|
2019-07-22 15:47:13 +03:00
|
|
|
, Hasura.RQL.Types.Permission
|
2019-05-16 09:13:25 +03:00
|
|
|
, Hasura.RQL.Types.QueryCollection
|
2019-07-22 15:47:13 +03:00
|
|
|
, Hasura.RQL.Types.RemoteSchema
|
2019-10-18 11:29:47 +03:00
|
|
|
, Hasura.RQL.DDL.ComputedField
|
|
|
|
, Hasura.RQL.DDL.Relationship
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.DDL.Deps
|
|
|
|
, Hasura.RQL.DDL.Permission.Internal
|
2018-08-17 17:44:43 +03:00
|
|
|
, Hasura.RQL.DDL.Permission.Triggers
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.DDL.Permission
|
2019-03-01 12:17:22 +03:00
|
|
|
, Hasura.RQL.DDL.Relationship.Rename
|
|
|
|
, Hasura.RQL.DDL.Relationship.Types
|
2019-08-14 02:34:37 +03:00
|
|
|
, Hasura.RQL.DDL.Schema
|
|
|
|
, Hasura.RQL.DDL.Schema.Cache
|
|
|
|
, Hasura.RQL.DDL.Schema.Catalog
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.DDL.Schema.Diff
|
2019-08-14 02:34:37 +03:00
|
|
|
, Hasura.RQL.DDL.Schema.Enum
|
2019-07-22 15:47:13 +03:00
|
|
|
, Hasura.RQL.DDL.Schema.Function
|
|
|
|
, Hasura.RQL.DDL.Schema.Rename
|
|
|
|
, Hasura.RQL.DDL.Schema.Table
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.DDL.Utils
|
2019-03-25 20:10:52 +03:00
|
|
|
, Hasura.RQL.DDL.EventTrigger
|
2018-11-23 16:02:46 +03:00
|
|
|
, Hasura.RQL.DDL.Headers
|
|
|
|
, Hasura.RQL.DDL.RemoteSchema
|
2019-05-16 09:13:25 +03:00
|
|
|
, Hasura.RQL.DDL.QueryCollection
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.DML.Delete
|
|
|
|
, Hasura.RQL.DML.Internal
|
|
|
|
, Hasura.RQL.DML.Insert
|
2019-03-07 13:24:07 +03:00
|
|
|
, Hasura.RQL.DML.Mutation
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.DML.Returning
|
2018-10-31 15:51:20 +03:00
|
|
|
, Hasura.RQL.DML.Select.Internal
|
2018-12-12 15:58:39 +03:00
|
|
|
, Hasura.RQL.DML.Select.Types
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.RQL.DML.Select
|
|
|
|
, Hasura.RQL.DML.Update
|
|
|
|
, Hasura.RQL.DML.Count
|
|
|
|
, Hasura.RQL.GBoolExp
|
|
|
|
|
2018-07-20 10:22:46 +03:00
|
|
|
, Hasura.GraphQL.Transport.HTTP.Protocol
|
|
|
|
, Hasura.GraphQL.Transport.HTTP
|
|
|
|
, Hasura.GraphQL.Transport.WebSocket.Protocol
|
|
|
|
, Hasura.GraphQL.Transport.WebSocket.Server
|
|
|
|
, Hasura.GraphQL.Transport.WebSocket
|
2019-08-09 12:19:17 +03:00
|
|
|
, Hasura.GraphQL.Schema.BoolExp
|
|
|
|
, Hasura.GraphQL.Schema.Common
|
|
|
|
, Hasura.GraphQL.Schema.Function
|
|
|
|
, Hasura.GraphQL.Schema.OrderBy
|
|
|
|
, Hasura.GraphQL.Schema.Select
|
|
|
|
, Hasura.GraphQL.Schema.Merge
|
|
|
|
, Hasura.GraphQL.Schema.Mutation.Common
|
|
|
|
, Hasura.GraphQL.Schema.Mutation.Insert
|
|
|
|
, Hasura.GraphQL.Schema.Mutation.Update
|
|
|
|
, Hasura.GraphQL.Schema.Mutation.Delete
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.GraphQL.Schema
|
|
|
|
, Hasura.GraphQL.Utils
|
2018-07-20 10:22:46 +03:00
|
|
|
, Hasura.GraphQL.Validate
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.GraphQL.Validate.Types
|
|
|
|
, Hasura.GraphQL.Validate.Context
|
|
|
|
, Hasura.GraphQL.Validate.Field
|
|
|
|
, Hasura.GraphQL.Validate.InputValue
|
2018-10-19 05:15:28 +03:00
|
|
|
, Hasura.GraphQL.Explain
|
2019-03-25 21:25:25 +03:00
|
|
|
, Hasura.GraphQL.Execute
|
2019-04-17 12:48:41 +03:00
|
|
|
, Hasura.GraphQL.Execute.Plan
|
|
|
|
, Hasura.GraphQL.Execute.Query
|
|
|
|
, Hasura.GraphQL.Execute.LiveQuery
|
2019-08-28 15:19:21 +03:00
|
|
|
, Hasura.GraphQL.Execute.LiveQuery.Options
|
|
|
|
, Hasura.GraphQL.Execute.LiveQuery.Plan
|
|
|
|
, Hasura.GraphQL.Execute.LiveQuery.Poll
|
|
|
|
, Hasura.GraphQL.Execute.LiveQuery.State
|
|
|
|
, Hasura.GraphQL.Execute.LiveQuery.TMap
|
2019-03-25 21:25:25 +03:00
|
|
|
, Hasura.GraphQL.Resolve
|
2019-08-09 12:19:17 +03:00
|
|
|
, Hasura.GraphQL.Resolve.Types
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.GraphQL.Resolve.Context
|
2019-08-09 12:19:17 +03:00
|
|
|
, Hasura.GraphQL.Resolve.BoolExp
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.GraphQL.Resolve.InputValue
|
|
|
|
, Hasura.GraphQL.Resolve.Introspect
|
2018-10-05 18:13:51 +03:00
|
|
|
, Hasura.GraphQL.Resolve.Insert
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.GraphQL.Resolve.Mutation
|
|
|
|
, Hasura.GraphQL.Resolve.Select
|
2018-11-23 16:02:46 +03:00
|
|
|
, Hasura.GraphQL.RemoteServer
|
|
|
|
, Hasura.GraphQL.Context
|
2019-07-11 08:37:06 +03:00
|
|
|
, Hasura.GraphQL.Logging
|
2018-06-27 16:11:32 +03:00
|
|
|
|
2018-09-05 14:26:46 +03:00
|
|
|
, Hasura.Events.Lib
|
|
|
|
, Hasura.Events.HTTP
|
|
|
|
|
2019-08-28 15:19:21 +03:00
|
|
|
, Control.Concurrent.Extended
|
2019-07-22 15:47:13 +03:00
|
|
|
, Control.Lens.Extended
|
2019-04-17 12:48:41 +03:00
|
|
|
, Data.Aeson.Extended
|
2018-06-28 11:19:27 +03:00
|
|
|
, Data.HashMap.Strict.InsOrd.Extended
|
2019-03-25 16:45:35 +03:00
|
|
|
, Data.Parser.JSONPath
|
2019-08-28 15:19:21 +03:00
|
|
|
, Data.Sequence.NonEmpty
|
|
|
|
, Data.TByteString
|
|
|
|
, Data.Text.Extended
|
2019-09-11 11:21:12 +03:00
|
|
|
, Data.Time.Clock.Units
|
2018-06-27 16:11:32 +03:00
|
|
|
|
|
|
|
, Hasura.SQL.DML
|
2019-07-22 15:47:13 +03:00
|
|
|
, Hasura.SQL.Error
|
2018-06-27 16:11:32 +03:00
|
|
|
, Hasura.SQL.GeoJSON
|
2018-10-12 12:28:43 +03:00
|
|
|
, Hasura.SQL.Rewrite
|
2019-07-22 15:47:13 +03:00
|
|
|
, Hasura.SQL.Time
|
|
|
|
, Hasura.SQL.Types
|
|
|
|
, Hasura.SQL.Value
|
2018-11-23 16:02:46 +03:00
|
|
|
, Network.URI.Extended
|
2018-06-27 16:11:32 +03:00
|
|
|
|
|
|
|
executable graphql-engine
|
2019-10-21 19:01:05 +03:00
|
|
|
import: common-all, common-exe
|
2018-06-27 16:11:32 +03:00
|
|
|
main-is: Main.hs
|
|
|
|
hs-source-dirs: src-exec
|
2019-11-26 15:14:21 +03:00
|
|
|
build-depends: base
|
|
|
|
, graphql-engine
|
|
|
|
, pg-client
|
|
|
|
, text
|
|
|
|
, bytestring
|
2018-07-27 12:34:50 +03:00
|
|
|
|
2019-10-21 19:01:05 +03:00
|
|
|
test-suite graphql-engine-tests
|
|
|
|
import: common-all, common-exe
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
hs-source-dirs: src-test
|
|
|
|
main-is: Main.hs
|
|
|
|
build-depends:
|
|
|
|
, base
|
|
|
|
, graphql-engine
|
|
|
|
, hspec
|
|
|
|
, http-client
|
|
|
|
, http-client-tls
|
|
|
|
, optparse-applicative
|
|
|
|
, pg-client
|
|
|
|
, time
|
2019-12-14 09:47:38 +03:00
|
|
|
, aeson
|
|
|
|
, QuickCheck
|