module Common.Model.User ( UserId , User(..) , findUser ) where import Data.Aeson (FromJSON, ToJSON) import Data.Int (Int64) import qualified Data.List as L import Data.Text (Text) import Data.Time (UTCTime) import GHC.Generics (Generic) type UserId = Int64 data User = User { _user_id :: UserId , _user_creation :: UTCTime , _user_email :: Text , _user_name :: Text } deriving (Show, Generic) instance FromJSON User instance ToJSON User findUser :: UserId -> [User] -> Maybe User findUser userId users = L.find ((== userId) . _user_id) users