36 lines
677 B
Elm
36 lines
677 B
Elm
module Mi.WebMention exposing (decoder, idURL, listURL)
|
|
|
|
import Json.Decode exposing (Decoder, field, map3, string)
|
|
import Url.Builder as UB
|
|
|
|
|
|
type alias WebMention =
|
|
{ id : String
|
|
, source_url : String
|
|
, target_url : String
|
|
}
|
|
|
|
|
|
decoder : Decoder WebMention
|
|
decoder =
|
|
map3 WebMention
|
|
(field "id" string)
|
|
(field "source_url" string)
|
|
(field "target_url" string)
|
|
|
|
|
|
idURL : String -> String
|
|
idURL id =
|
|
UB.absolute
|
|
[ "api", "webmention", id ]
|
|
[]
|
|
|
|
|
|
listURL : Int -> Int -> String
|
|
listURL limit page =
|
|
UB.absolute
|
|
[ "api", "webmention" ]
|
|
[ UB.int "limit" limit
|
|
, UB.int "page" page
|
|
]
|