* refactor: move ApiRequest a top-level module * refactor: rename DbStructure to SchemaCache * refactor: GucHeader inside Response * refactor: admin app to Workers
43 lines
1.2 KiB
Haskell
43 lines
1.2 KiB
Haskell
module PostgREST.Plan.MutatePlan
|
|
( MutatePlan(..)
|
|
)
|
|
where
|
|
|
|
import qualified Data.ByteString.Lazy as LBS
|
|
import qualified Data.Set as S
|
|
|
|
import PostgREST.ApiRequest.Preferences (PreferResolution)
|
|
import PostgREST.ApiRequest.Types (LogicTree, OrderTerm)
|
|
import PostgREST.RangeQuery (NonnegRange)
|
|
import PostgREST.SchemaCache.Identifiers (FieldName,
|
|
QualifiedIdentifier)
|
|
|
|
import Protolude
|
|
|
|
data MutatePlan
|
|
= Insert
|
|
{ in_ :: QualifiedIdentifier
|
|
, insCols :: S.Set FieldName
|
|
, insBody :: Maybe LBS.ByteString
|
|
, onConflict :: Maybe (PreferResolution, [FieldName])
|
|
, where_ :: [LogicTree]
|
|
, returning :: [FieldName]
|
|
, insPkCols :: [FieldName]
|
|
}
|
|
| Update
|
|
{ in_ :: QualifiedIdentifier
|
|
, updCols :: S.Set FieldName
|
|
, updBody :: Maybe LBS.ByteString
|
|
, where_ :: [LogicTree]
|
|
, mutRange :: NonnegRange
|
|
, mutOrder :: [OrderTerm]
|
|
, returning :: [FieldName]
|
|
}
|
|
| Delete
|
|
{ in_ :: QualifiedIdentifier
|
|
, where_ :: [LogicTree]
|
|
, mutRange :: NonnegRange
|
|
, mutOrder :: [OrderTerm]
|
|
, returning :: [FieldName]
|
|
}
|