packages feed

avers-api 0.0.2 → 0.0.3

raw patch · 3 files changed

+28/−4 lines, 3 filesdep +vector

Dependencies added: vector

Files

avers-api.cabal view
@@ -1,5 +1,5 @@ name:                avers-api-version:             0.0.2+version:             0.0.3 synopsis:            Types describing the core and extended Avers APIs description:         See README homepage:            http://github.com/wereHamster/avers-api@@ -38,3 +38,4 @@    , servant    , text    , time+   , vector
src/Avers/API.hs view
@@ -90,7 +90,7 @@    ------------------------------------------------------------------------------   -- LookupPatch-  :<|> "objects" :> Capture "objId" ObjId :> Capture "revId" RevId+  :<|> "objects" :> Capture "objId" ObjId :> "patches" :> Capture "revId" RevId     :> Credentials     :> CacheValidationToken     :> Get '[JSON] (Cacheable LookupPatchResponse)@@ -121,6 +121,12 @@     :> Credentials     :> CacheValidationToken     :> Get '[JSON] (Cacheable LookupLatestReleaseResponse)++  ------------------------------------------------------------------------------+  -- Feed+  :<|> "feed"+    :> Credentials+    :> Raw -- WebSocket, stream of 'Change' objects    ------------------------------------------------------------------------------   -- ChangeSecret
src/Avers/API/Types.hs view
@@ -5,8 +5,9 @@  import GHC.Generics -import Data.Text (Text)-import Data.Aeson as A+import Data.Text   (Text)+import Data.Aeson  as A+import Data.Vector as V import Data.Time import Avers @@ -215,6 +216,22 @@         [ "id" .= lsrSessionId x         , "objId" .= lsrSessionObjId x         ]++++--------------------------------------------------------------------------------+-- Feed++data ChangeFeedSubscription+    = IncludeObjectChanges ObjId++instance FromJSON ChangeFeedSubscription where+    parseJSON (Array a) = case V.toList a of+        ["+", objId] -> IncludeObjectChanges <$> parseJSON objId+        _            -> fail "ChangeFeedSubscription"++    parseJSON _ = fail "ChangeFeedSubscription"+   --------------------------------------------------------------------------------