aboutsummaryrefslogtreecommitdiff
path: root/src/Model/Profile.hs
diff options
context:
space:
mode:
authoradambrangenberg <adabran06@gmail.com>2025-12-24 03:40:10 +0100
committeradambrangenberg <adabran06@gmail.com>2025-12-24 03:40:10 +0100
commita0886694f73fc382d78da79ab8bfb27475757bab (patch)
tree652ba9b603a1acaf4dfca188f7bb2c29c6bccfd0 /src/Model/Profile.hs
parent2b48a574e8b9fed03a5c1969af4bb1e338f1be26 (diff)
Implemented basic auth, refactor
Diffstat (limited to 'src/Model/Profile.hs')
-rw-r--r--src/Model/Profile.hs26
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
+ }