Add logging in.

This commit is contained in:
2018-12-08 15:06:14 -08:00
parent 3656b0f3f0
commit e06c4a8772
4 changed files with 61 additions and 9 deletions

View File

@@ -1,10 +1,13 @@
import Browser exposing (application)
import Browser.Navigation as Nav
import Scylla.Sync exposing (..)
import Scylla.Login exposing (..)
import Scylla.Model exposing (..)
import Scylla.Http exposing (..)
import Scylla.Views exposing (viewFull)
import Url exposing (Url)
import Html exposing (div, text)
import Http
type alias Flags =
{ token : Maybe String
@@ -16,6 +19,8 @@ init flags url key =
model =
{ key = key
, token = flags.token
, loginUsername = ""
, loginPassword = ""
, apiUrl = "https://matrix.org"
}
cmd = case flags.token of
@@ -27,11 +32,28 @@ init flags url key =
view : Model -> Browser.Document Msg
view m =
{ title = "Scylla"
, body = []
, body = [ viewFull m ]
}
update : Msg -> Model -> (Model, Cmd Msg)
update msg model = (model, Cmd.none)
update msg model = case msg of
ChangeApiUrl u -> ({ model | apiUrl = u }, Cmd.none)
ChangeLoginUsername u -> ({ model | loginUsername = u }, Cmd.none)
ChangeLoginPassword p -> ({ model | loginPassword = p }, Cmd.none)
AttemptLogin -> (model, Scylla.Http.login model.apiUrl model.loginUsername model.loginPassword) -- TODO
ReceiveLoginResponse r -> updateLoginResponse model r
ReceiveSyncResponse r -> updateSyncResponse model r
_ -> (model, Cmd.none)
updateLoginResponse : Model -> Result Http.Error LoginResponse -> (Model, Cmd Msg)
updateLoginResponse model r = case r of
Ok lr -> ( { model | token = Just lr.accessToken } , firstSync model.apiUrl lr.accessToken )
Err e -> (model, Cmd.none)
updateSyncResponse : Model -> Result Http.Error SyncResponse -> (Model, Cmd Msg)
updateSyncResponse model r = case r of
Ok sr -> (model, Cmd.none)
Err e -> (model, Cmd.none)
subscriptions : Model -> Sub Msg
subscriptions m = Sub.none