2022-04-06 01:08:43 +03:00
|
|
|
module Hasura.Backends.Postgres.RQLGenerator.GenAnnSelectG
|
|
|
|
( genAnnSelectG,
|
|
|
|
)
|
|
|
|
where
|
|
|
|
|
|
|
|
import Hasura.Backends.Postgres.RQLGenerator.GenSelectArgsG (genSelectArgsG)
|
|
|
|
import Hasura.Backends.Postgres.RQLGenerator.GenSelectFromG (genSelectFromG)
|
|
|
|
import Hasura.Backends.Postgres.RQLGenerator.GenTablePermG (genTablePermG)
|
|
|
|
import Hasura.Generator.Common (defaultRange)
|
|
|
|
import Hasura.Prelude hiding (bool)
|
|
|
|
import Hasura.RQL.IR.Generator (genFields)
|
|
|
|
import Hasura.RQL.IR.Select (AnnSelectG (AnnSelectG))
|
2022-04-27 16:57:28 +03:00
|
|
|
import Hasura.RQL.Types.Common
|
|
|
|
import Hasura.SQL.Backend
|
2022-04-06 01:08:43 +03:00
|
|
|
import Hedgehog (MonadGen)
|
|
|
|
import Hedgehog.Gen qualified as Gen
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
genAnnSelectG :: forall m f a. MonadGen m => m a -> m (f a) -> m (AnnSelectG ('Postgres 'Vanilla) f a)
|
|
|
|
genAnnSelectG genA genFA =
|
|
|
|
AnnSelectG
|
|
|
|
<$> genFields genFA defaultRange defaultRange
|
|
|
|
<*> genSelectFromG genA
|
|
|
|
<*> genTablePermG genA
|
|
|
|
<*> genArgs
|
|
|
|
<*> genStringifyNumbers
|
|
|
|
where
|
|
|
|
genStringifyNumbers =
|
|
|
|
Gen.bool <&> \case
|
|
|
|
False -> LeaveNumbersAlone
|
|
|
|
True -> StringifyNumbers
|
|
|
|
genArgs = genSelectArgsG genA
|