-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Bindings to the Toggl.com REST API -- -- Toggl is a simple tool for time tracking. This package provides a -- library for accessing the Toggl API from Haskell, and an example -- executable that uses the library. @package hoggl @version 0.2.0.0 module Network.Hoggl.Types newtype TimeEntryId TID :: Integer -> TimeEntryId data Token Api :: String -> Token UserPass :: String -> String -> Token data HogglError ServantError :: ServantError -> HogglError HogglError :: String -> HogglError data TimeEntryStart TES :: Maybe Text -> [Text] -> Maybe Integer -> Text -> TimeEntryStart [tesDescription] :: TimeEntryStart -> Maybe Text [tesTags] :: TimeEntryStart -> [Text] [tesPid] :: TimeEntryStart -> Maybe Integer [tesCreatedWith] :: TimeEntryStart -> Text data TimeEntry TimeEntry :: TimeEntryId -> Maybe ProjectId -> Maybe Text -> Maybe Text -> ISO6801 -> Maybe ISO6801 -> NominalDiffTime -> Maybe Text -> TimeEntry [teId] :: TimeEntry -> TimeEntryId [teProjectId] :: TimeEntry -> Maybe ProjectId [teProject] :: TimeEntry -> Maybe Text [teClient] :: TimeEntry -> Maybe Text [teStart] :: TimeEntry -> ISO6801 [teStop] :: TimeEntry -> Maybe ISO6801 [teDuration] :: TimeEntry -> NominalDiffTime [teDescription] :: TimeEntry -> Maybe Text newtype ISO6801 ISO6801 :: UTCTime -> ISO6801 newtype ISO6801Date ISO6801Date :: Day -> ISO6801Date data Workspace Workspace :: WorkspaceId -> Text -> Bool -> Bool -> Double -> Text -> Int -> Int -> ISO6801 -> Workspace [wsId] :: Workspace -> WorkspaceId [wsName] :: Workspace -> Text [wsPremium] :: Workspace -> Bool [wsAdmin] :: Workspace -> Bool [wsDefaultHourlyRate] :: Workspace -> Double [wsDefaultCurrency] :: Workspace -> Text [wsRounding] :: Workspace -> Int [wsRoundingMinutes] :: Workspace -> Int [wsAt] :: Workspace -> ISO6801 newtype WorkspaceId WID :: Integer -> WorkspaceId data Project Project :: ProjectId -> WorkspaceId -> Text -> Bool -> Bool -> Bool -> ISO6801 -> Project [prId] :: Project -> ProjectId [prWsId] :: Project -> WorkspaceId [prName] :: Project -> Text [prBillable] :: Project -> Bool [prPrivate] :: Project -> Bool [prActive] :: Project -> Bool [prAt] :: Project -> ISO6801 newtype ProjectId PID :: Integer -> ProjectId data DetailedReport DetailedReport :: Int -> Int -> Double -> Integer -> [TimeEntry] -> DetailedReport [drPerPage] :: DetailedReport -> Int [drTotalCount] :: DetailedReport -> Int [drTotalBillable] :: DetailedReport -> Double [drTotalGrand] :: DetailedReport -> Integer [drData] :: DetailedReport -> [TimeEntry] type TogglApi = Current :<|> (Stop :<|> (Start :<|> (Details :<|> (GetEntries :<|> (ListWorkspaces :<|> ListProjects))))) type ToggleReportApi = GetDetailedReport parseTimeStamp :: Monad m => Text -> m UTCTime instance GHC.Classes.Eq Network.Hoggl.Types.DetailedReport instance GHC.Show.Show Network.Hoggl.Types.DetailedReport instance GHC.Classes.Eq Network.Hoggl.Types.Workspace instance GHC.Show.Show Network.Hoggl.Types.Workspace instance GHC.Classes.Eq Network.Hoggl.Types.TimeEntry instance GHC.Show.Show Network.Hoggl.Types.TimeEntry instance GHC.Classes.Eq Network.Hoggl.Types.TimeEntryStart instance GHC.Show.Show Network.Hoggl.Types.TimeEntryStart instance GHC.Show.Show Network.Hoggl.Types.HogglError instance GHC.Classes.Eq Network.Hoggl.Types.Token instance GHC.Show.Show Network.Hoggl.Types.Token instance GHC.Classes.Ord Network.Hoggl.Types.ISO6801Date instance GHC.Classes.Eq Network.Hoggl.Types.ISO6801Date instance GHC.Show.Show Network.Hoggl.Types.ISO6801Date instance GHC.Classes.Ord Network.Hoggl.Types.ISO6801 instance GHC.Classes.Eq Network.Hoggl.Types.ISO6801 instance GHC.Show.Show Network.Hoggl.Types.ISO6801 instance Data.String.IsString Network.Hoggl.Types.ApiToken instance Web.Internal.HttpApiData.ToHttpApiData Network.Hoggl.Types.ProjectId instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.ProjectId instance GHC.Classes.Eq Network.Hoggl.Types.ProjectId instance GHC.Show.Show Network.Hoggl.Types.ProjectId instance Web.Internal.HttpApiData.ToHttpApiData Network.Hoggl.Types.WorkspaceId instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.WorkspaceId instance GHC.Classes.Eq Network.Hoggl.Types.WorkspaceId instance GHC.Show.Show Network.Hoggl.Types.WorkspaceId instance Web.Internal.HttpApiData.ToHttpApiData Network.Hoggl.Types.TimeEntryId instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.TimeEntryId instance GHC.Classes.Eq Network.Hoggl.Types.TimeEntryId instance GHC.Show.Show Network.Hoggl.Types.TimeEntryId instance Web.Internal.HttpApiData.ToHttpApiData Network.Hoggl.Types.ISO6801 instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.ISO6801 instance Web.Internal.HttpApiData.ToHttpApiData Network.Hoggl.Types.ISO6801Date instance Web.Internal.HttpApiData.ToHttpApiData Network.Hoggl.Types.Token instance Data.Aeson.Types.ToJSON.ToJSON Network.Hoggl.Types.TimeEntryStart instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.TimeEntry instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.Workspace instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.Project instance Data.Aeson.Types.FromJSON.FromJSON Network.Hoggl.Types.DetailedReport module Network.Hoggl.Pretty workspacePretty :: Workspace -> String module Network.Hoggl currentTimeEntry :: Token -> ClientM (Maybe TimeEntry) stopTimer :: Token -> TimeEntryId -> ClientM TimeEntry startTimer :: Token -> TimeEntryStart -> ClientM TimeEntry getTimer :: Token -> TimeEntryId -> ClientM TimeEntry getEntries :: Token -> ISO6801 -> ISO6801 -> ClientM [TimeEntry] listWorkspaces :: Token -> ClientM [Workspace] listProjects :: Token -> WorkspaceId -> ClientM [Project] detailedReport :: Token -> WorkspaceId -> ISO6801Date -> ISO6801Date -> Text -> ClientM DetailedReport tryStartDefault :: Token -> IO (Either HogglError TimeEntry) tryStopRunning :: Token -> IO (Either HogglError TimeEntry) prettyCurrent :: Token -> IO () timeEntriesDay :: Token -> Day -> ClientM [TimeEntry] timeEntriesToday :: Token -> ClientM [TimeEntry] timeEntriesFromTillNow :: Token -> Day -> ClientM [TimeEntry] togglBaseUrl :: BaseUrl pretty :: RealFrac n => n -> Text calcDuration :: TimeEntry -> IO NominalDiffTime