packages feed

practice-room-0.0.0: src/PracticeRoom/Type.hs

{-# LANGUAGE DeriveDataTypeable #-}

module PracticeRoom.Type where


import Text.JSON.Generic
import Data.Default


data PracticeInterval = PracticeInterval
  {
    start_time :: Integer
  , end_time :: Integer
  }
  deriving (Data, Typeable, Eq, Show)

instance Default PracticeInterval where
  def = PracticeInterval
    {
      start_time = def
    , end_time = def
    }

data Practice = Practice
  {
    intervals :: [PracticeInterval]
  , started :: Maybe Integer
  }
  deriving (Data, Typeable, Eq, Show)

instance Default Practice where
  def = Practice
    {
      intervals = def
    , started = def
    }