19 lines
522 B
Elm
19 lines
522 B
Elm
module Data.Session exposing (Session, attempt)
|
|
|
|
import Data.AuthToken exposing (AuthToken)
|
|
import Data.User exposing (User)
|
|
|
|
|
|
type alias Session =
|
|
{ user : Maybe User }
|
|
|
|
|
|
attempt : String -> (AuthToken -> Cmd msg) -> Session -> ( List String, Cmd msg )
|
|
attempt attemptedAction toCmd session =
|
|
case Maybe.map .token session.user of
|
|
Nothing ->
|
|
( [ "You have been signed out. Please sign back in to " ++ attemptedAction ++ "." ], Cmd.none )
|
|
|
|
Just token ->
|
|
( [], toCmd token )
|