backend-0.1.0.0
LicenseAGPL-3
Maintainerstu235271@mail.uni-kiel.de stu236925@mail.uni-kiel.de
Safe HaskellNone
LanguageHaskell2010

Docs.TreeRevision

Description

This module contains definitions and related utility functions for revisions of the document structure tree.

Synopsis

Documentation

newtype TreeRevisionID Source #

An ID for a tree revision.

Constructors

TreeRevisionID 

Instances

Instances details
FromJSON TreeRevisionID Source # 
Instance details

Defined in Docs.TreeRevision

Methods

parseJSON :: Value -> Parser TreeRevisionID

parseJSONList :: Value -> Parser [TreeRevisionID]

omittedField :: Maybe TreeRevisionID

ToJSON TreeRevisionID Source # 
Instance details

Defined in Docs.TreeRevision

Eq TreeRevisionID Source # 
Instance details

Defined in Docs.TreeRevision

FromHttpApiData TreeRevisionID Source # 
Instance details

Defined in Docs.TreeRevision

ToParamSchema TreeRevisionID Source # 
Instance details

Defined in Docs.TreeRevision

Methods

toParamSchema :: Proxy TreeRevisionID -> Schema

ToSchema TreeRevisionID Source # 
Instance details

Defined in Docs.TreeRevision

Methods

declareNamedSchema :: Proxy TreeRevisionID -> Declare (Definitions Schema) NamedSchema

data TreeRevision a Source #

A tree revision.

Instances

Instances details
Functor TreeRevision Source # 
Instance details

Defined in Docs.TreeRevision

Methods

fmap :: (a -> b) -> TreeRevision a -> TreeRevision b #

(<$) :: a -> TreeRevision b -> TreeRevision a #

FromJSON a => FromJSON (TreeRevision a) Source # 
Instance details

Defined in Docs.TreeRevision

Methods

parseJSON :: Value -> Parser (TreeRevision a)

parseJSONList :: Value -> Parser [TreeRevision a]

omittedField :: Maybe (TreeRevision a)

ToJSON a => ToJSON (TreeRevision a) Source # 
Instance details

Defined in Docs.TreeRevision

Methods

toJSON :: TreeRevision a -> Value

toEncoding :: TreeRevision a -> Encoding

toJSONList :: [TreeRevision a] -> Value

toEncodingList :: [TreeRevision a] -> Encoding

omitField :: TreeRevision a -> Bool

ToSchema a => ToSchema (TreeRevision a) Source # 
Instance details

Defined in Docs.TreeRevision

Methods

declareNamedSchema :: Proxy (TreeRevision a) -> Declare (Definitions Schema) NamedSchema

data TreeRevisionHeader Source #

Contains metadata about a tree revision.

Instances

Instances details
FromJSON TreeRevisionHeader Source # 
Instance details

Defined in Docs.TreeRevision

ToJSON TreeRevisionHeader Source # 
Instance details

Defined in Docs.TreeRevision

Generic TreeRevisionHeader Source # 
Instance details

Defined in Docs.TreeRevision

Associated Types

type Rep TreeRevisionHeader 
Instance details

Defined in Docs.TreeRevision

type Rep TreeRevisionHeader = D1 ('MetaData "TreeRevisionHeader" "Docs.TreeRevision" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeRevisionHeader" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TreeRevisionID) :*: (S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime) :*: S1 ('MetaSel ('Just "author") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UserRef))))
ToSchema TreeRevisionHeader Source # 
Instance details

Defined in Docs.TreeRevision

Methods

declareNamedSchema :: Proxy TreeRevisionHeader -> Declare (Definitions Schema) NamedSchema

type Rep TreeRevisionHeader Source # 
Instance details

Defined in Docs.TreeRevision

type Rep TreeRevisionHeader = D1 ('MetaData "TreeRevisionHeader" "Docs.TreeRevision" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeRevisionHeader" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TreeRevisionID) :*: (S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime) :*: S1 ('MetaSel ('Just "author") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UserRef))))

data TreeRevisionSelector Source #

Selector for a tree revision.

Constructors

Latest

select the latest revision

LatestAsOf UTCTime

selects the latest revision at a given timestamp

Specific TreeRevisionID

selects a specific revision by its id

Instances

Instances details
FromJSON TreeRevisionSelector Source # 
Instance details

Defined in Docs.TreeRevision

ToJSON TreeRevisionSelector Source # 
Instance details

Defined in Docs.TreeRevision

FromHttpApiData TreeRevisionSelector Source # 
Instance details

Defined in Docs.TreeRevision

ToParamSchema TreeRevisionSelector Source # 
Instance details

Defined in Docs.TreeRevision

ToSchema TreeRevisionSelector Source # 
Instance details

Defined in Docs.TreeRevision

Methods

declareNamedSchema :: Proxy TreeRevisionSelector -> Declare (Definitions Schema) NamedSchema

data TreeRevisionHistory Source #

Sequence of revisions for a document tree.

Instances

Instances details
FromJSON TreeRevisionHistory Source # 
Instance details

Defined in Docs.TreeRevision

ToJSON TreeRevisionHistory Source # 
Instance details

Defined in Docs.TreeRevision

ToSchema TreeRevisionHistory Source # 
Instance details

Defined in Docs.TreeRevision

Methods

declareNamedSchema :: Proxy TreeRevisionHistory -> Declare (Definitions Schema) NamedSchema

data TreeRevisionRef Source #

References a TreeRevision

Instances

Instances details
FromJSON TreeRevisionRef Source # 
Instance details

Defined in Docs.TreeRevision

ToJSON TreeRevisionRef Source # 
Instance details

Defined in Docs.TreeRevision

Generic TreeRevisionRef Source # 
Instance details

Defined in Docs.TreeRevision

Associated Types

type Rep TreeRevisionRef 
Instance details

Defined in Docs.TreeRevision

type Rep TreeRevisionRef = D1 ('MetaData "TreeRevisionRef" "Docs.TreeRevision" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeRevisionRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DocumentID) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TreeRevisionSelector)))
ToSchema TreeRevisionRef Source # 
Instance details

Defined in Docs.TreeRevision

Methods

declareNamedSchema :: Proxy TreeRevisionRef -> Declare (Definitions Schema) NamedSchema

type Rep TreeRevisionRef Source # 
Instance details

Defined in Docs.TreeRevision

type Rep TreeRevisionRef = D1 ('MetaData "TreeRevisionRef" "Docs.TreeRevision" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeRevisionRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DocumentID) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TreeRevisionSelector)))

prettyPrintTreeRevisionRef :: TreeRevisionRef -> String Source #

Optisch ansprechende Darstellung der Baum-Revisions-Referenz.

mapMRoot :: Monad m => (Node a -> m (Node b)) -> TreeRevision a -> m (TreeRevision b) Source #

withTextRevisions Source #

Arguments

:: Monad m 
=> (TextElementID -> m (Maybe TextRevision))

(potentially effectful) function for obtaining a text revision

-> TreeRevision TextElement

document structre tree revision

-> m (TreeRevision TextElementRevision)

document structre tree revision with concrete text revision

Takes a tree revision and emplaces concrecte text revisions. | The text revisions are obtained via the specified getter function.

newTreeRevision Source #

Arguments

:: Monad m 
=> (DocumentID -> m (TextElementID -> Bool))

for a given document, checks if a text element belongs to this document

-> (UserID -> DocumentID -> Node TextElementID -> m (TreeRevision TextElementID))

create a new tree revision

-> UserID

authors user id

-> DocumentID

which document the revision belongs to

-> Node TextElementID

the root node of the revision

-> m (TreeRevision TextElementID)

newly created revision

specificTreeRevision :: TreeRevisionSelector -> Maybe TreeRevisionID Source #

Obtain id if selects a specific revision.

latestTreeRevisionAsOf :: TreeRevisionSelector -> Maybe UTCTime Source #

Obtain timestamp if selects LatestAsOf.