libro-backend-0.1.0.0: Restful data backend of the LiBro app
Safe HaskellSafe-Inferred
LanguageHaskell2010

LiBro.Data

Description

Little Brother data representation

Synopsis

Documentation

data Person Source #

A person that is assigned to Tasks.

Constructors

Person 

Fields

Instances

Instances details
FromJSON Person Source # 
Instance details

Defined in LiBro.Data

ToJSON Person Source # 
Instance details

Defined in LiBro.Data

Generic Person Source # 
Instance details

Defined in LiBro.Data

Associated Types

type Rep Person :: Type -> Type #

Methods

from :: Person -> Rep Person x #

to :: Rep Person x -> Person #

Show Person Source # 
Instance details

Defined in LiBro.Data

DefaultOrdered Person Source # 
Instance details

Defined in LiBro.Data

Methods

headerOrder :: Person -> Header #

FromNamedRecord Person Source # 
Instance details

Defined in LiBro.Data

ToNamedRecord Person Source # 
Instance details

Defined in LiBro.Data

Eq Person Source # 
Instance details

Defined in LiBro.Data

Methods

(==) :: Person -> Person -> Bool #

(/=) :: Person -> Person -> Bool #

Ord Person Source # 
Instance details

Defined in LiBro.Data

type Rep Person Source # 
Instance details

Defined in LiBro.Data

type Persons = Map Int Person Source #

Person container as a lookup table with person ID index.

personMap :: [Person] -> Persons Source #

Helper function to create a persons container.

data Task Source #

Internal task representation.

Constructors

Task 

Instances

Instances details
FromJSON Task Source # 
Instance details

Defined in LiBro.Data

ToJSON Task Source # 
Instance details

Defined in LiBro.Data

Generic Task Source # 
Instance details

Defined in LiBro.Data

Associated Types

type Rep Task :: Type -> Type #

Methods

from :: Task -> Rep Task x #

to :: Rep Task x -> Task #

Show Task Source # 
Instance details

Defined in LiBro.Data

Methods

showsPrec :: Int -> Task -> ShowS #

show :: Task -> String #

showList :: [Task] -> ShowS #

Eq Task Source # 
Instance details

Defined in LiBro.Data

Methods

(==) :: Task -> Task -> Bool #

(/=) :: Task -> Task -> Bool #

Ord Task Source # 
Instance details

Defined in LiBro.Data

Methods

compare :: Task -> Task -> Ordering #

(<) :: Task -> Task -> Bool #

(<=) :: Task -> Task -> Bool #

(>) :: Task -> Task -> Bool #

(>=) :: Task -> Task -> Bool #

max :: Task -> Task -> Task #

min :: Task -> Task -> Task #

type Rep Task Source # 
Instance details

Defined in LiBro.Data

type Tasks = Forest Task Source #

The primary data type for tasks, Trees of Task.

assignedTasks :: Person -> Tasks -> [Task] Source #

Find all Tasks assigned to a given Person.

data LiBroData Source #

Complete LiBro state in one type

Constructors

LBS 

Fields

Instances

Instances details
Show LiBroData Source # 
Instance details

Defined in LiBro.Data

Eq LiBroData Source # 
Instance details

Defined in LiBro.Data