Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. module Modules.Auth.Login.Update exposing (..)
  2.  
  3. import Model exposing (Model)
  4. import Modules.Auth.Login.Model exposing (LoginModel, initialLoginModel)
  5.  
  6. import Msg exposing (Msg (LoginMsg))
  7. import Modules.Auth.Login.Msg exposing (..)
  8.  
  9. import Types exposing (FlashMessage)
  10.  
  11. import Modules.Auth.Login.Api as Api exposing (..)
  12.  
  13. import Common.FlashMessages exposing (addFlashMessage)
  14.  
  15. import Routing.Routes exposing (navigate, Route (Portfolios))
  16.  
  17.  
  18. update : LoginMsg -> Model -> (Model, Cmd Msg)
  19. update msg model =
  20.  
  21. case msg of
  22.  
  23. LoginUpdateEmail value ->
  24. { model
  25. | loginModel = updateEmail value model.loginModel
  26. } ! []
  27.  
  28. LoginUpdatePassword value ->
  29. { model
  30. | loginModel = updatePassword value model.loginModel
  31. } ! []
  32.  
  33. LoginRequest ->
  34. { model
  35. | loginModel = request model.loginModel
  36. } ! [ Api.loginRequest model.loginModel.email model.loginModel.password ]
  37.  
  38. LoginResponse result ->
  39.  
  40. case result of
  41.  
  42. Err error ->
  43. { model
  44. | loginModel = errorResponse (toString error) model.loginModel
  45. , flashMessages = addFlashMessage (FlashMessage Types.Danger (toString error)) model.flashMessages
  46. } ! []
  47.  
  48. Ok user ->
  49. { model
  50. | loginModel = initialLoginModel
  51. , user = Just user
  52. } ! [ navigate Portfolios ]
  53.  
  54.  
  55. updateEmail : String -> LoginModel -> LoginModel
  56. updateEmail value model =
  57. { model
  58. | email = value
  59. }
  60.  
  61.  
  62. updatePassword : String -> LoginModel -> LoginModel
  63. updatePassword value model =
  64. { model
  65. | password = value
  66. }
  67.  
  68.  
  69. request : LoginModel -> LoginModel
  70. request model =
  71. { model
  72. | isLoggingIn = True
  73. }
  74.  
  75.  
  76. errorResponse : String -> LoginModel -> LoginModel
  77. errorResponse error model =
  78. { model
  79. | isLoggingIn = False
  80. , error = Just error
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement