opentok 0.0.2 → 0.0.3
raw patch · 5 files changed
+44/−22 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ OpenTok.Archive: Available :: ArchiveStatus
+ OpenTok.Archive: Expired :: ArchiveStatus
+ OpenTok.Archive: Failed :: ArchiveStatus
+ OpenTok.Archive: Paused :: ArchiveStatus
+ OpenTok.Archive: Started :: ArchiveStatus
+ OpenTok.Archive: Stopped :: ArchiveStatus
+ OpenTok.Archive: Uploaded :: ArchiveStatus
+ OpenTok.Archive: data ArchiveStatus
+ OpenTok.Archive: instance GHC.Show.Show OpenTok.Archive.ArchiveStatus
+ OpenTok.Session: Always :: ArchiveMode
+ OpenTok.Session: Manual :: ArchiveMode
+ OpenTok.Session: data ArchiveMode
Files
- opentok.cabal +1/−1
- src/OpenTok.hs +4/−4
- src/OpenTok/Archive.hs +7/−4
- src/OpenTok/Session.hs +31/−12
- src/OpenTok/Token.hs +1/−1
opentok.cabal view
@@ -1,5 +1,5 @@ name: opentok-version: 0.0.2+version: 0.0.3 synopsis: An OpenTok SDK for Haskell description: .
src/OpenTok.hs view
@@ -33,7 +33,7 @@ } instance Show OpenTok where- show ot = "OpenTok { APIKey: " <> apiKey ot <> ", Secret: *_*_*_*_*_* }"+ show ot = "OpenTok { APIKey: " <> OpenTok.apiKey ot <> ", Secret: *_*_*_*_*_* }" -- | Get an OpenTok project --@@ -42,7 +42,7 @@ opentok :: APIKey -> APISecret -> OpenTok opentok k s = OpenTok k s (OpenTok.Client.Client k s) --- | Generate a new OpenTok Session+-- | Create a new OpenTok Session -- -- @ -- options = sessionOpts { mediaMode = Routed }@@ -60,7 +60,7 @@ -- @ -- generateToken :: OpenTok -> SessionId -> TokenOptions -> IO (Either OTError Token)-generateToken ot = OpenTok.Token.generate (apiKey ot) (secret ot)+generateToken ot = OpenTok.Token.generate (OpenTok.apiKey ot) (OpenTok.secret ot) -- | Start recording an archive of an OpenTok session --@@ -72,7 +72,7 @@ -- | Stop recording an archive of an OpenTok session ----- > stopArchive ot archiveOpts { sessionId = "your_session_id" }+-- > stopArchive ot "your_session_id" -- stopArchive :: OpenTok -> ArchiveId -> IO (Either OTError Archive) stopArchive ot = OpenTok.Archive.stop (client ot)
src/OpenTok/Archive.hs view
@@ -5,7 +5,9 @@ {-# LANGUAGE TemplateHaskell #-} module OpenTok.Archive- ( ArchiveOptions+ ( OutputMode(Composed, Individual)+ , ArchiveResolution(SD, HD)+ , ArchiveOptions ( _hasAudio , _hasAudio , _name@@ -13,7 +15,8 @@ , _resolution , _sessionId )- , ArchiveResolution(SD, HD)+ , archiveOpts+ , ArchiveStatus(Available, Expired, Failed, Paused, Started, Stopped, Uploaded) , Archive ( id , status@@ -31,8 +34,6 @@ , duration , sessionId )- , OutputMode(Composed, Individual)- , archiveOpts , start , stop )@@ -139,6 +140,8 @@ data ArchiveStatus = Available | Expired | Failed | Paused | Started | Stopped | Uploaded deriving (Data, Generic, Typeable) deriveJSON defaultOptions { constructorTagModifier = strToLower } ''ArchiveStatus +instance Show ArchiveStatus where+ show = strToLower . showConstr . toConstr {-|
src/OpenTok/Session.hs view
@@ -4,11 +4,13 @@ {-# LANGUAGE TemplateHaskell #-} module OpenTok.Session- ( Session- , SessionOptions(_mediaMode, _archiveMode, _location)+ (+ ArchiveMode(Manual, Always) , MediaMode(Relayed, Routed)- , create+ , SessionOptions(_mediaMode, _archiveMode, _location)+ , Session(apiKey, sessionId, mediaMode, archiveMode) , sessionOpts+ , create ) where @@ -64,18 +66,35 @@ toJSON = genericToJSON defaultOptions { omitNothingFields = True, fieldLabelModifier = drop 1 } --- | Default options for Session creation------ mediaMode: 'Relayed'------ archiveMode: 'Manual'------ location: Nothing---+{-|+Default Session options++@+SessionOptions+ { _mediaMode: 'Relayed'+ , _archiveMode: 'Manual'+ , _location: Nothing+}+@++-} sessionOpts :: SessionOptions sessionOpts = SessionOptions Relayed Manual Nothing --- | Represents an OpenTok Session+{-|++An OpenTok Session++@+Session {+ apiKey :: 'String',+ sessionId :: 'String',+ mediaMode :: 'MediaMode',+ archiveMode :: 'ArchiveMode'+}+@++-} data Session = Session { apiKey :: String, sessionId :: String,
src/OpenTok/Token.hs view
@@ -31,13 +31,13 @@ import OpenTok.Util import OpenTok.Types --- | Information on user roles can be found at https://tokbox.com/developer/guides/create-token/ data Role = Subscriber | Publisher | Moderator instance Show Role where show Subscriber = "subscriber" show Publisher = "publisher" show Moderator = "moderator" +-- | Information on user roles and other options can be found at https://tokbox.com/developer/guides/create-token/ data TokenOptions = TokenOptions { _role :: Role, _expireTime :: Maybe UTCTime,