18 lines
655 B
Plaintext
18 lines
655 B
Plaintext
|
module App.UserPublic where
|
||
|
|
||
|
import Prelude
|
||
|
|
||
|
import Data.Codec.Argonaut (JsonCodec)
|
||
|
import Data.Codec.Argonaut as CA
|
||
|
import Data.Codec.Argonaut.Record as CAR
|
||
|
import Data.Newtype (class Newtype)
|
||
|
|
||
|
-- | Currently not the real type. Lacks the 'profile' attribute.
|
||
|
-- type UserPublic row = { login :: String, uid :: Int | row } -- profile :: JSON any
|
||
|
type UserPublic = { login :: String, uid :: Int } -- profile :: JSON any
|
||
|
|
||
|
-- | UserPublic.codec can be used to parse and encode public user info,
|
||
|
-- | which can be exchanged in different messages.
|
||
|
codec :: JsonCodec UserPublic
|
||
|
codec = CA.object "UserPublic" (CAR.record { "login": CA.string, "uid": CA.int })
|