packages feed

servant-auth-token-persistent 0.5.0.0 → 0.5.1.0

raw patch · 3 files changed

+117/−19 lines, 3 filesdep −ghc-prim

Dependencies removed: ghc-prim

Files

CHANGELOG.md view
@@ -1,7 +1,12 @@+0.5.1.0+=======++* Fix instances of `ConvertStorage` that causes #12+ 0.5.0.0 ======= -* MTL instances for `PersistentBackendT`. Use `liftDB` instead of removed `MonadReader SqlBackend` instance. +* MTL instances for `PersistentBackendT`. Use `liftDB` instead of removed `MonadReader SqlBackend` instance.  0.3.2.0 =======
servant-auth-token-persistent.cabal view
@@ -1,5 +1,5 @@ name:                servant-auth-token-persistent-version:             0.5.0.0+version:             0.5.1.0 synopsis:            Persistent backend for servant-auth-token server description:         Please see README.md homepage:            https://github.com/ncrashed/servant-auth-token#readme@@ -25,7 +25,6 @@     , aeson-injector          >= 1.0    && < 1.1     , bytestring              >= 0.10   && < 0.11     , containers              >= 0.5    && < 0.6-    , ghc-prim                >= 0.5    && < 0.6     , monad-control           >= 1.0    && < 1.1     , mtl                     >= 2.2    && < 2.3     , persistent              >= 2.2    && < 2.7
src/Servant/Server/Auth/Token/Persistent/Schema.hs view
@@ -1,15 +1,17 @@-{-# LANGUAGE MagicHash #-}+{-# LANGUAGE DefaultSignatures, RecordWildCards #-} module Servant.Server.Auth.Token.Persistent.Schema where  import Data.Text import Data.Time+import Database.Persist.Sql (Key, SqlBackend, ToBackendKey, fromSqlKey,+                             toSqlKey) import Database.Persist.TH-import GHC.Generics-import GHC.Prim--import Servant.API.Auth.Token+import GHC.Generics         (Generic) -import qualified Servant.Server.Auth.Token.Model as M+import           Servant.API.Auth.Token+import           Servant.Server.Auth.Token.Common (ConvertableKey, fromKey,+                                                   toKey)+import qualified Servant.Server.Auth.Token.Model  as M  share [mkPersist sqlSettings      , mkDeleteCascade sqlSettings@@ -61,19 +63,111 @@ class ConvertStorage a b | a -> b, b -> a where   -- | Convert to internal representation   convertTo   :: b -> a-  convertTo = unsafeCoerce#+  default convertTo :: (ToBackendKey SqlBackend r, a ~ Key r, ConvertableKey b) => b -> a+  convertTo = toSqlKey . fromKey+   -- | Convert from internal representation   convertFrom :: a -> b-  convertFrom = unsafeCoerce#+  default convertFrom :: (ToBackendKey SqlBackend r, a ~ Key r, ConvertableKey b) => a -> b+  convertFrom = toKey . fromSqlKey -instance ConvertStorage UserImpl M.UserImpl-instance ConvertStorage UserPerm M.UserPerm-instance ConvertStorage AuthToken M.AuthToken-instance ConvertStorage UserRestore M.UserRestore-instance ConvertStorage UserSingleUseCode M.UserSingleUseCode-instance ConvertStorage AuthUserGroup M.AuthUserGroup-instance ConvertStorage AuthUserGroupUsers M.AuthUserGroupUsers-instance ConvertStorage AuthUserGroupPerms M.AuthUserGroupPerms+instance ConvertStorage UserImpl M.UserImpl where+  convertTo M.UserImpl{..} =+    UserImpl { userImplLogin    = userImplLogin+             , userImplPassword = userImplPassword+             , userImplEmail    = userImplEmail+             }++  convertFrom UserImpl{..} =+    M.UserImpl { userImplLogin    = userImplLogin+               , userImplPassword = userImplPassword+               , userImplEmail    = userImplEmail+               }++instance ConvertStorage UserPerm M.UserPerm where+  convertTo M.UserPerm{..} =+    UserPerm { userPermUser       = convertTo userPermUser+             , userPermPermission = userPermPermission+             }++  convertFrom UserPerm{..} =+    M.UserPerm { userPermUser       = convertFrom userPermUser+               , userPermPermission = userPermPermission+               }++instance ConvertStorage AuthToken M.AuthToken where+  convertTo M.AuthToken{..} =+    AuthToken { authTokenValue  = authTokenValue+              , authTokenUser   = convertTo authTokenUser+              , authTokenExpire = authTokenExpire+              }++  convertFrom AuthToken{..} =+    M.AuthToken { authTokenValue  = authTokenValue+                , authTokenUser   = convertFrom authTokenUser+                , authTokenExpire = authTokenExpire+                }++instance ConvertStorage UserRestore M.UserRestore where+  convertTo M.UserRestore{..} =+    UserRestore { userRestoreValue  = userRestoreValue+                , userRestoreUser   = convertTo userRestoreUser+                , userRestoreExpire = userRestoreExpire+                }++  convertFrom UserRestore{..} =+    M.UserRestore { userRestoreValue  = userRestoreValue+                  , userRestoreUser   = convertFrom userRestoreUser+                  , userRestoreExpire = userRestoreExpire+                  }++instance ConvertStorage UserSingleUseCode M.UserSingleUseCode where+  convertTo M.UserSingleUseCode{..} =+    UserSingleUseCode { userSingleUseCodeValue  = userSingleUseCodeValue+                      , userSingleUseCodeUser   = convertTo userSingleUseCodeUser+                      , userSingleUseCodeExpire = userSingleUseCodeExpire+                      , userSingleUseCodeUsed   = userSingleUseCodeUsed+                      }++  convertFrom UserSingleUseCode{..} =+    M.UserSingleUseCode { userSingleUseCodeValue  = userSingleUseCodeValue+                        , userSingleUseCodeUser   = convertFrom userSingleUseCodeUser+                        , userSingleUseCodeExpire = userSingleUseCodeExpire+                        , userSingleUseCodeUsed   = userSingleUseCodeUsed+                        }++instance ConvertStorage AuthUserGroup M.AuthUserGroup where+  convertTo M.AuthUserGroup{..} =+    AuthUserGroup { authUserGroupName   = authUserGroupName+                  , authUserGroupParent = convertTo <$> authUserGroupParent+                  }++  convertFrom AuthUserGroup{..} =+    M.AuthUserGroup { authUserGroupName   = authUserGroupName+                    , authUserGroupParent = convertFrom <$> authUserGroupParent+                    }++instance ConvertStorage AuthUserGroupUsers M.AuthUserGroupUsers where+  convertTo M.AuthUserGroupUsers{..} =+    AuthUserGroupUsers { authUserGroupUsersGroup = convertTo authUserGroupUsersGroup+                       , authUserGroupUsersUser  = convertTo authUserGroupUsersUser+                       }++  convertFrom AuthUserGroupUsers{..} =+    M.AuthUserGroupUsers { authUserGroupUsersGroup = convertFrom authUserGroupUsersGroup+                         , authUserGroupUsersUser  = convertFrom authUserGroupUsersUser+                         }++instance ConvertStorage AuthUserGroupPerms M.AuthUserGroupPerms where+  convertTo M.AuthUserGroupPerms{..} =+    AuthUserGroupPerms { authUserGroupPermsGroup      = convertTo authUserGroupPermsGroup+                       , authUserGroupPermsPermission = authUserGroupPermsPermission+                       }++  convertFrom AuthUserGroupPerms{..} =+    M.AuthUserGroupPerms { authUserGroupPermsGroup      = convertFrom authUserGroupPermsGroup+                         , authUserGroupPermsPermission = authUserGroupPermsPermission+                         }  instance ConvertStorage UserImplId M.UserImplId instance ConvertStorage UserPermId M.UserPermId