1
0
Fork 0
tooty/src/Mastodon/ApiUrl.elm

106 lines
1.9 KiB
Elm
Raw Normal View History

2017-04-26 15:07:43 +00:00
module Mastodon.ApiUrl
exposing
( apps
, oauthAuthorize
, oauthToken
, account
, homeTimeline
, publicTimeline
, notifications
, statuses
, context
2017-04-26 15:07:43 +00:00
, reblog
, unreblog
, favourite
, unfavourite
, streaming
)
type alias Server =
String
apps : Server -> String
apps server =
server ++ "/api/v1/apps"
oauthAuthorize : Server -> String
oauthAuthorize server =
server ++ "/oauth/authorize"
oauthToken : Server -> String
oauthToken server =
server ++ "/oauth/token"
accounts : String
accounts =
"/api/v1/accounts/"
account : Int -> String
account id =
accounts ++ (toString id)
homeTimeline : String
homeTimeline =
"/api/v1/timelines/home"
publicTimeline : Maybe String -> String
publicTimeline local =
let
isLocal =
case local of
Just local ->
"?local=true"
Nothing ->
""
in
"/api/v1/timelines/public" ++ isLocal
notifications : String
notifications =
"/api/v1/notifications"
statuses : Server -> String
statuses server =
server ++ "/api/v1/statuses"
context : Server -> Int -> String
context server id =
statuses server ++ "/" ++ (toString id) ++ "/context"
2017-04-26 15:07:43 +00:00
reblog : Server -> Int -> String
reblog server id =
statuses server ++ "/" ++ (toString id) ++ "/reblog"
2017-04-26 15:07:43 +00:00
unreblog : Server -> Int -> String
unreblog server id =
statuses server ++ "/" ++ (toString id) ++ "/unreblog"
2017-04-26 15:07:43 +00:00
favourite : Server -> Int -> String
favourite server id =
statuses server ++ "/" ++ (toString id) ++ "/favourite"
2017-04-26 15:07:43 +00:00
unfavourite : Server -> Int -> String
unfavourite server id =
statuses server ++ "/" ++ (toString id) ++ "/unfavourite"
2017-04-26 15:07:43 +00:00
streaming : Server -> String
streaming server =
server ++ "/api/v1/streaming/"