24 lines
714 B
Haskell
24 lines
714 B
Haskell
-- SPDX-FileCopyrightText: 2024 UniWorX Systems
|
|
-- SPDX-FileContributor: David Mosbach <david.mosbach@uniworx.de>
|
|
--
|
|
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
{-# LANGUAGE OverloadedStrings, RecordWildCards, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, AllowAmbiguousTypes #-}
|
|
|
|
module User ( UserData(..) ) where
|
|
|
|
import Data.Aeson
|
|
import Data.Map.Strict
|
|
import Data.Maybe
|
|
import Data.Text
|
|
|
|
type UserName = Text
|
|
type Password = Text
|
|
|
|
class (Eq u, Show u, ToJSON a, Monoid a) => UserData u a where -- TODO Show maybe not necessary
|
|
data Scope u
|
|
readScope :: String -> Scope u
|
|
showScope :: Scope u -> String
|
|
userScope :: u -> Scope u -> a
|
|
lookupUser :: UserName -> Password -> IO (Maybe u)
|