module Hix.Managed.Data.StageContext where

import Hix.Managed.Data.EnvContext (EnvContext)
import Hix.Managed.Data.Initial (Initial)
import Hix.Managed.Data.Mutable (MutableVersions)
import Hix.Managed.Data.MutationState (MutationState)
import Hix.Managed.Data.Query (Query)
import Hix.Managed.Handlers.Build (EnvBuilder)

data StageContext =
  StageContext {
    StageContext -> EnvContext
env :: EnvContext,
    StageContext -> EnvBuilder
builder :: EnvBuilder,
    StageContext -> Initial MutationState
state :: Initial MutationState,
    StageContext -> Query
query :: Query,
    StageContext -> MutableVersions
initial :: MutableVersions
  }