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 +6/−1
- servant-auth-token-persistent.cabal +1/−2
- src/Servant/Server/Auth/Token/Persistent/Schema.hs +110/−16
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