diff options
| author | adambrangenberg <adabran06@gmail.com> | 2025-12-24 03:40:10 +0100 |
|---|---|---|
| committer | adambrangenberg <adabran06@gmail.com> | 2025-12-24 03:40:10 +0100 |
| commit | a0886694f73fc382d78da79ab8bfb27475757bab (patch) | |
| tree | 652ba9b603a1acaf4dfca188f7bb2c29c6bccfd0 /src/Model/Profile.hs | |
| parent | 2b48a574e8b9fed03a5c1969af4bb1e338f1be26 (diff) | |
Implemented basic auth, refactor
Diffstat (limited to 'src/Model/Profile.hs')
| -rw-r--r-- | src/Model/Profile.hs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Model/Profile.hs b/src/Model/Profile.hs new file mode 100644 index 0000000..1a8f201 --- /dev/null +++ b/src/Model/Profile.hs @@ -0,0 +1,26 @@ +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE OverloadedStrings #-} + +module Model.Profile (ProfileResponse (..)) where + +import Data.Aeson +import GHC.Generics +import Data.Text (Text) + +---------------------------------------------------------------------------------------------------- +data ProfileResponse = ProfileResponse + { display_name :: Maybe Text + , avatar_url :: Maybe Text + , tz :: Maybe Text + -- TODO: <other properties> + } deriving (Show, Eq, Generic) + +instance ToJSON ProfileResponse where + toJSON = genericToJSON defaultOptions + { fieldLabelModifier = \name -> + case name of + "display_name" -> "displayname" + "tz" -> "m.tz" + other -> other + , omitNothingFields = True + } |