serversession-backend-acid-state 1.0 → 1.0.1
raw patch · 2 files changed
+5/−5 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Web.ServerSession.Backend.Acid: [acidState] :: AcidStorage sess -> AcidState (ServerSessionAcidState sess)
- Web.ServerSession.Backend.Acid.Internal: [acidState] :: AcidStorage sess -> AcidState (ServerSessionAcidState sess)
- Web.ServerSession.Backend.Acid.Internal: [authIdToSessionId] :: ServerSessionAcidState sess -> !(AuthIdToSessionId sess)
- Web.ServerSession.Backend.Acid.Internal: [sessionIdToSession] :: ServerSessionAcidState sess -> !(SessionIdToSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance (Web.ServerSession.Core.Internal.IsSessionData sess, Data.SafeCopy.SafeCopy.SafeCopy sess, Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Core.Internal.Decomposed sess)) => Web.ServerSession.Core.Internal.Storage (Web.ServerSession.Backend.Acid.Internal.AcidStorage sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Backend.Acid.Internal.DeleteAllSessionsOfAuthId sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Backend.Acid.Internal.DeleteSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Backend.Acid.Internal.GetSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Core.Internal.Decomposed sess) => Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Backend.Acid.Internal.InsertSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Core.Internal.Decomposed sess) => Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Backend.Acid.Internal.ReplaceSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Core.Internal.Decomposed sess) => Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Backend.Acid.Internal.ServerSessionAcidState sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Core.Internal.Decomposed sess) => Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Core.Internal.Session sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy (Web.ServerSession.Core.Internal.SessionId sess)
- Web.ServerSession.Backend.Acid.Internal: instance Data.SafeCopy.SafeCopy.SafeCopy Web.ServerSession.Core.Internal.SessionMap
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Common.IsAcidic (Web.ServerSession.Backend.Acid.Internal.ServerSessionAcidState sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Common.QueryEvent (Web.ServerSession.Backend.Acid.Internal.GetSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Common.UpdateEvent (Web.ServerSession.Backend.Acid.Internal.DeleteAllSessionsOfAuthId sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Common.UpdateEvent (Web.ServerSession.Backend.Acid.Internal.DeleteSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Common.UpdateEvent (Web.ServerSession.Backend.Acid.Internal.InsertSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Common.UpdateEvent (Web.ServerSession.Backend.Acid.Internal.ReplaceSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Core.Method (Web.ServerSession.Backend.Acid.Internal.DeleteAllSessionsOfAuthId sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Core.Method (Web.ServerSession.Backend.Acid.Internal.DeleteSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Core.Method (Web.ServerSession.Backend.Acid.Internal.GetSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Core.Method (Web.ServerSession.Backend.Acid.Internal.InsertSession sess)
- Web.ServerSession.Backend.Acid.Internal: instance Web.ServerSession.Backend.Acid.Internal.AcidContext sess => Data.Acid.Core.Method (Web.ServerSession.Backend.Acid.Internal.ReplaceSession sess)
+ Web.ServerSession.Backend.Acid: acidState :: AcidStorage sess -> AcidState (ServerSessionAcidState sess)
+ Web.ServerSession.Backend.Acid.Internal: acidState :: AcidStorage sess -> AcidState (ServerSessionAcidState sess)
+ Web.ServerSession.Backend.Acid.Internal: authIdToSessionId :: ServerSessionAcidState sess -> !(AuthIdToSessionId sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => IsAcidic (ServerSessionAcidState sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => Method (DeleteAllSessionsOfAuthId sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => Method (DeleteSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => Method (GetSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => Method (InsertSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => Method (ReplaceSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => QueryEvent (GetSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => UpdateEvent (DeleteAllSessionsOfAuthId sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => UpdateEvent (DeleteSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => UpdateEvent (InsertSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (AcidContext sess) => UpdateEvent (ReplaceSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance (IsSessionData sess, SafeCopy sess, SafeCopy (Decomposed sess)) => Storage (AcidStorage sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (Decomposed sess) => SafeCopy (InsertSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (Decomposed sess) => SafeCopy (ReplaceSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (Decomposed sess) => SafeCopy (ServerSessionAcidState sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (Decomposed sess) => SafeCopy (Session sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (DeleteAllSessionsOfAuthId sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (DeleteSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (GetSession sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy (SessionId sess)
+ Web.ServerSession.Backend.Acid.Internal: instance SafeCopy SessionMap
+ Web.ServerSession.Backend.Acid.Internal: instance Typeable AcidStorage
+ Web.ServerSession.Backend.Acid.Internal: instance Typeable DeleteAllSessionsOfAuthId
+ Web.ServerSession.Backend.Acid.Internal: instance Typeable DeleteSession
+ Web.ServerSession.Backend.Acid.Internal: instance Typeable GetSession
+ Web.ServerSession.Backend.Acid.Internal: instance Typeable InsertSession
+ Web.ServerSession.Backend.Acid.Internal: instance Typeable ReplaceSession
+ Web.ServerSession.Backend.Acid.Internal: instance Typeable ServerSessionAcidState
+ Web.ServerSession.Backend.Acid.Internal: sessionIdToSession :: ServerSessionAcidState sess -> !(SessionIdToSession sess)
Files
serversession-backend-acid-state.cabal view
@@ -1,5 +1,5 @@ name: serversession-backend-acid-state-version: 1.0+version: 1.0.1 license: MIT license-file: LICENSE author: Felipe Lessa <felipe.lessa@gmail.com>
src/Web/ServerSession/Backend/Acid/Internal.hs view
@@ -25,7 +25,7 @@ import Control.Applicative ((<$>), (<*>)) import Control.Monad.Reader (ask)-import Control.Monad.State (get, modify', put)+import Control.Monad.State (get, modify, put) import Data.Acid import Data.Acid.Advanced import Data.SafeCopy@@ -162,7 +162,7 @@ => SS.SessionId sess -> Update (ServerSessionAcidState sess) () deleteSession sid =- modify' $ \state ->+ modify $ \state -> let oldSession = HM.lookup sid (sessionIdToSession state) newSessionIdToSession = HM.delete sid (sessionIdToSession state) newAuthIdToSessionId = removeSessionFromAuthId sid mauthId $ authIdToSessionId state@@ -176,7 +176,7 @@ => SS.AuthId -> Update (ServerSessionAcidState sess) () deleteAllSessionsOfAuthId authId =- modify' $ \state ->+ modify $ \state -> let sessionIds = HM.lookup authId (authIdToSessionId state) newAuthIdToSessionId = HM.delete authId (authIdToSessionId state) newSessionIdToSession = maybe id removeSession sessionIds $ sessionIdToSession state@@ -196,7 +196,7 @@ Just old -> throwAS $ SS.SessionAlreadyExists old session insertAuth = insertSessionForAuthId sid (SS.sessionAuthId session) sid = SS.sessionKey session- modify' $ \state ->+ modify $ \state -> ServerSessionAcidState (insertSess $ sessionIdToSession state) (insertAuth $ authIdToSessionId state)