Decoding of all watch data in place
This commit is contained in:
parent
69246c500c
commit
874ad42e4e
@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.16.0
|
// sqlc v1.17.2
|
||||||
|
|
||||||
package data
|
package data
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.16.0
|
// sqlc v1.17.2
|
||||||
|
|
||||||
package data
|
package data
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.16.0
|
// sqlc v1.17.2
|
||||||
// source: queries.sql
|
// source: queries.sql
|
||||||
|
|
||||||
package data
|
package data
|
||||||
|
34
src/Data.elm
34
src/Data.elm
@ -1,34 +1,24 @@
|
|||||||
module Data exposing (Edge, Link, Node, Watch, WatchData)
|
module Data exposing (Node, RepoInfo, Watch)
|
||||||
|
|
||||||
|
|
||||||
type alias Watch =
|
type alias Watch =
|
||||||
{ owner_id : Int
|
{ ownerId : Int
|
||||||
, name : String
|
, name : String
|
||||||
, repo : String
|
, repo : String
|
||||||
, result_count : Int
|
, resultCount : Int
|
||||||
|
, results : Maybe (List Node)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
type alias Node =
|
type alias Node =
|
||||||
{ number : Int
|
{ number : Int
|
||||||
}
|
, createdAt : String
|
||||||
|
, repository : RepoInfo
|
||||||
|
, title : String
|
||||||
type alias Edge =
|
|
||||||
{ node : Node
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
type alias WatchData =
|
|
||||||
{ search : List Edge
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
type alias Link =
|
|
||||||
{ id : Int
|
|
||||||
, owner_id : Int
|
|
||||||
, created_at : String
|
|
||||||
, name : String
|
|
||||||
, url : String
|
, url : String
|
||||||
, logo_url : String
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type alias RepoInfo =
|
||||||
|
{ nameWithOwner : String
|
||||||
}
|
}
|
||||||
|
52
src/Main.elm
52
src/Main.elm
@ -6,7 +6,20 @@ import Html exposing (..)
|
|||||||
import Html.Attributes exposing (style)
|
import Html.Attributes exposing (style)
|
||||||
import Html.Events exposing (..)
|
import Html.Events exposing (..)
|
||||||
import Http
|
import Http
|
||||||
import Json.Decode exposing (Decoder, field, int, list, map3, map4, map5, maybe, string)
|
import Json.Decode as Decode
|
||||||
|
exposing
|
||||||
|
( Decoder
|
||||||
|
, decodeString
|
||||||
|
, field
|
||||||
|
, float
|
||||||
|
, int
|
||||||
|
, list
|
||||||
|
, map
|
||||||
|
, map4
|
||||||
|
, map5
|
||||||
|
, maybe
|
||||||
|
, string
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
main =
|
main =
|
||||||
@ -83,22 +96,6 @@ viewWatches model =
|
|||||||
(List.map viewWatch watches)
|
(List.map viewWatch watches)
|
||||||
|
|
||||||
|
|
||||||
viewLinks : Model -> Html Msg
|
|
||||||
viewLinks model =
|
|
||||||
case model of
|
|
||||||
Failure ->
|
|
||||||
div []
|
|
||||||
[ text "I can't load the links"
|
|
||||||
, button [ onClick MorePlease ] [ text "Try agan!" ]
|
|
||||||
]
|
|
||||||
|
|
||||||
Loading ->
|
|
||||||
text "Loading..."
|
|
||||||
|
|
||||||
Success links ->
|
|
||||||
text "success links..."
|
|
||||||
|
|
||||||
|
|
||||||
getWatches : Cmd Msg
|
getWatches : Cmd Msg
|
||||||
getWatches =
|
getWatches =
|
||||||
Http.get
|
Http.get
|
||||||
@ -114,16 +111,33 @@ watchListDecoder =
|
|||||||
|
|
||||||
watchDecoder : Decoder Data.Watch
|
watchDecoder : Decoder Data.Watch
|
||||||
watchDecoder =
|
watchDecoder =
|
||||||
map4 Data.Watch
|
map5 Data.Watch
|
||||||
(field "owner_id" int)
|
(field "owner_id" int)
|
||||||
(field "name" string)
|
(field "name" string)
|
||||||
(field "repo" string)
|
(field "repo" string)
|
||||||
(field "result_count" int)
|
(field "result_count" int)
|
||||||
|
(field "results" <| maybe (list resultsDecoder))
|
||||||
|
|
||||||
|
|
||||||
|
resultsDecoder : Decoder Data.Node
|
||||||
|
resultsDecoder =
|
||||||
|
map5 Data.Node
|
||||||
|
(field "number" int)
|
||||||
|
(field "createdAt" string)
|
||||||
|
(field "repository" repoInfoDecoder)
|
||||||
|
(field "title" string)
|
||||||
|
(field "url" string)
|
||||||
|
|
||||||
|
|
||||||
|
repoInfoDecoder : Decoder Data.RepoInfo
|
||||||
|
repoInfoDecoder =
|
||||||
|
Decode.map Data.RepoInfo
|
||||||
|
(field "nameWithOwner" string)
|
||||||
|
|
||||||
|
|
||||||
viewWatch : Data.Watch -> Html Msg
|
viewWatch : Data.Watch -> Html Msg
|
||||||
viewWatch watch =
|
viewWatch watch =
|
||||||
li []
|
li []
|
||||||
[ text (String.fromInt watch.result_count ++ " " ++ watch.name)
|
[ text (String.fromInt watch.resultCount ++ " " ++ watch.name)
|
||||||
, li [] [ text "butter" ]
|
, li [] [ text "butter" ]
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user