github.com/simpleiot/simpleiot@v0.18.3/frontend/src/Auth.elm (about)

     1  module Auth exposing
     2      ( User
     3      , beforeProtectedInit
     4      )
     5  
     6  {-|
     7  
     8  @docs User
     9  @docs beforeProtectedInit
    10  
    11  -}
    12  
    13  import Api.Auth
    14  import ElmSpa.Page as ElmSpa
    15  import Gen.Route exposing (Route)
    16  import Request exposing (Request)
    17  import Shared
    18  
    19  
    20  type alias User =
    21      Api.Auth.User
    22  
    23  
    24  beforeProtectedInit : Shared.Model -> Request -> ElmSpa.Protected User Route
    25  beforeProtectedInit { storage } _ =
    26      case storage.user of
    27          Just user ->
    28              ElmSpa.Provide user
    29  
    30          Nothing ->
    31              ElmSpa.RedirectTo Gen.Route.SignIn