elm-matrix-sdk-alpha/src/Internal/Api/LoginWithUsernameAndPassword/V1/Login.elm

49 lines
1.3 KiB
Elm

module Internal.Api.LoginWithUsernameAndPassword.V1.Login exposing
( LoggedInResponse
, encodeLoggedInResponse
, loggedInResponseDecoder
)
{-| Automatically generated 'Login'
Last generated at Unix time 1679075857
-}
import Internal.Tools.DecodeExtra exposing (opField)
import Internal.Tools.EncodeExtra exposing (maybeObject)
import Json.Decode as D
import Json.Encode as E
{-| Confirmation that the user successfully logged in.
-}
type alias LoggedInResponse =
{ accessToken : String
, homeServer : String
, refreshToken : Maybe String
, userId : String
}
encodeLoggedInResponse : LoggedInResponse -> E.Value
encodeLoggedInResponse data =
maybeObject
[ ( "access_token", Just <| E.string data.accessToken )
, ( "home_server", Just <| E.string data.homeServer )
, ( "refresh_token", Maybe.map E.string data.refreshToken )
, ( "user_id", Just <| E.string data.userId )
]
loggedInResponseDecoder : D.Decoder LoggedInResponse
loggedInResponseDecoder =
D.map4
(\a b c d ->
{ accessToken = a, homeServer = b, refreshToken = c, userId = d }
)
(D.field "access_token" D.string)
(D.field "home_server" D.string)
(opField "refresh_token" D.string)
(D.field "user_id" D.string)