Fix time parsing and clean up

This commit is contained in:
Joscha 2018-01-28 01:34:54 +00:00
parent ce13ce11fc
commit 5ecf9864d3
2 changed files with 14 additions and 12 deletions

View file

@ -51,14 +51,14 @@ newOpenChanSTM :: STM (CloseableChan a)
newOpenChanSTM = do
cClosed <- newTVar False
cChan <- newTChan
return $ CloseableChan{..}
return CloseableChan{..}
-- | See 'newClosedChan'.
newClosedChanSTM :: STM (CloseableChan a)
newClosedChanSTM = do
cClosed <- newTVar True
cChan <- newTChan
return $ CloseableChan{..}
return CloseableChan{..}
-- | See 'writeChan'.
writeChanSTM :: CloseableChan a -> a -> STM (Maybe ())
@ -84,14 +84,12 @@ readChanSTM CloseableChan{..} = do
-- | See 'closeChan'.
closeChanSTM :: CloseableChan a -> STM ()
closeChanSTM CloseableChan{..} = do
writeTVar cClosed True
closeChanSTM CloseableChan{..} = writeTVar cClosed True
--writeTChan cChan End
-- | See 'openChan'.
openChanSTM :: CloseableChan a -> STM ()
openChanSTM CloseableChan{..} = do
writeTVar cClosed False
openChanSTM CloseableChan{..} = writeTVar cClosed False
-- | See 'emptyChan'.
emptyChanSTM :: CloseableChan a -> STM [a]

View file

@ -15,8 +15,9 @@ module EuphApi.Types
import Data.Aeson
import Data.Function
import qualified Data.Text as T
import qualified Data.Text as T
import Data.Time
import Data.Time.Clock.POSIX
-- | Represents <http://api.euphoria.io/#snowflake>.
--
@ -101,13 +102,16 @@ instance FromJSON Message where
parseJSON = withObject "Message" $ \o -> do
msgID <- o .: "id"
msgParent <- o .:? "parent"
msgTime <- o .: "time"
msgSender <- o .: "sender"
msgContent <- o .: "content"
msgEdited <- o .:? "edited"
msgDeleted <- o .:? "deleted"
time <- o .: "time"
edited <- o .:? "edited"
deleted <- o .:? "deleted"
msgTruncated <- o .:? "truncated" .!= False
return $ Message{..}
let msgTime = posixSecondsToUTCTime time
msgEdited = posixSecondsToUTCTime <$> edited
msgDeleted = posixSecondsToUTCTime <$> deleted
return Message{..}
-- | Represents <http://api.euphoria.io/#sessionview>.
--
@ -135,4 +139,4 @@ instance FromJSON SessionView where
sessSessionID <- o .: "session_id"
isStaff <- o .:? "is_staff" .!= False
isManager <- o .:? "is_manager" .!= False
return $ SessionView{..}
return SessionView{..}