Experimental typeclass for ident+name model entities

This commit is contained in:
fr33domlover 2016-08-08 19:17:25 +00:00
parent 6e5ab77466
commit ec7dd4ee7e
2 changed files with 32 additions and 0 deletions

View file

@ -0,0 +1,31 @@
{- This file is part of Vervis.
-
- Written in 2016 by fr33domlover <fr33domlover@riseup.net>.
-
- Copying is an act of love. Please copy, reuse and share.
-
- The author(s) have dedicated all copyright and related and neighboring
- rights to this software to the public domain worldwide. This software is
- distributed without any warranty.
-
- You should have received a copy of the CC0 Public Domain Dedication along
- with this software. If not, see
- <http://creativecommons.org/publicdomain/zero/1.0/>.
-}
-- | Experimental class which tries to capture a common pattern in the
-- persistent entity definitions.
module Vervis.Model.Entity
( VervisEntity (..)
)
where
import Prelude
import Data.Text (Text)
import Database.Persist.Class (PersistEntity)
class PersistEntity r => VervisEntity r where
type VervisEntityIdent r
vervisEntityIdent :: r -> VervisEntityIdent r
vervisEntityName :: r -> Maybe Text

View file

@ -143,6 +143,7 @@ library
Vervis.Import.NoFoundation Vervis.Import.NoFoundation
Vervis.MediaType Vervis.MediaType
Vervis.Model Vervis.Model
Vervis.Model.Entity
Vervis.Model.Group Vervis.Model.Group
Vervis.Model.Ident Vervis.Model.Ident
Vervis.Model.Repo Vervis.Model.Repo