{-# LANGUAGE DeriveDataTypeable #-}moduleTrajectory.TypeswhereimportControl.Exception(IOException)importData.Data(Typeable,Data)-- | Errors have been tagged according to their source, so you can more easily-- dispatch and handle them.dataError=HTTPConnectionErrorIOException-- ^ A HTTP error occurred. The actual caught error is included, if available.|ParseErrorString-- ^ An error in the parser itself.|JsonErrorString-- ^ The JSON is malformed or unexpected.|UserErrorString-- ^ Incorrect input.deriving(Show,Eq)-- | A Trajectory story.dataStory=Story{storyArchived::Bool,storyAssigneeId::MaybeInt,storyBranch::MaybeString,storyCreatedAt::String,storyDeleted::Bool,storyDesignNeeded::Bool,storyDevelopmentNeeded::Bool,storyId::Int,storyIdeaId::MaybeInt,storyIterationId::Int,storyPoints::Int,storyPosition::Int,storyState::String,storyTaskType::String,storyTitle::String,storyUpdatedAt::String,storyUserId::Int,storyCommentsCount::Int,storyAssigneeName::MaybeString,storyUserName::String,storyStateEvents::[String],storyIdeaSubject::MaybeString}deriving(Show,Eq,Typeable,Data)-- | An iteration in Trajectory. The iterationStartsOn is the most-- user-identifying string, though it changes with time. The @storyIterationId@-- is the same as the @iterationId@.dataIteration=Iteration{iterationAcceptedPoints::Int,iterationIsComplete::Bool,iterationCreatedAt::String,iterationEstimatedPoints::Int,iterationEstimatedVelocity::Int,iterationId::Int,iterationStartsOn::String,iterationStoriesCount::Int,iterationTeamStrength::Int,iterationUpdatedAt::String,iterationPercentComplete::Int,iterationIsCurrent::Bool,iterationUnstartedStoriesCount::Int,iterationAcceptedStoriesCount::Int,iterationStartedStoriesCount::Int,iterationDeliveredStoriesCount::Int,iterationCommentsCount::Int}deriving(Show,Eq,Typeable,Data)