module Reddit.Routes.Message where import Reddit.Types.Options import Reddit.Types.Message import Reddit.Types.Thing import Reddit.Types.User import Data.Text (Text) import Network.API.Builder.Routes inbox :: Bool -> Options MessageKind -> Route inbox :: Bool -> Options MessageKind -> Route inbox Bool shouldMark Options MessageKind opts = [URLPiece] -> [URLParam] -> Method -> Route Route [ URLPiece "message", URLPiece "inbox" ] [ URLPiece "mark" URLPiece -> Bool -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Bool shouldMark , URLPiece "before" URLPiece -> Maybe MessageKind -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Options MessageKind -> Maybe MessageKind forall a. Options a -> Maybe a before Options MessageKind opts , URLPiece "after" URLPiece -> Maybe MessageKind -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Options MessageKind -> Maybe MessageKind forall a. Options a -> Maybe a after Options MessageKind opts , URLPiece "limit" URLPiece -> Maybe Int -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Options MessageKind -> Maybe Int forall a. Options a -> Maybe Int limit Options MessageKind opts ] Method "GET" unread :: Bool -> Options MessageKind -> Route unread :: Bool -> Options MessageKind -> Route unread Bool shouldMark Options MessageKind opts = [URLPiece] -> [URLParam] -> Method -> Route Route [ URLPiece "message", URLPiece "unread" ] [ URLPiece "mark" URLPiece -> Bool -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Bool shouldMark , URLPiece "before" URLPiece -> Maybe MessageKind -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Options MessageKind -> Maybe MessageKind forall a. Options a -> Maybe a before Options MessageKind opts , URLPiece "after" URLPiece -> Maybe MessageKind -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Options MessageKind -> Maybe MessageKind forall a. Options a -> Maybe a after Options MessageKind opts , URLPiece "limit" URLPiece -> Maybe Int -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. Options MessageKind -> Maybe Int forall a. Options a -> Maybe Int limit Options MessageKind opts ] Method "GET" readMessage :: Thing a => a -> Route readMessage :: a -> Route readMessage a m = [URLPiece] -> [URLParam] -> Method -> Route Route [ URLPiece "api", URLPiece "read_message" ] [ URLPiece "id" URLPiece -> URLPiece -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. a -> URLPiece forall a. Thing a => a -> URLPiece fullName a m ] Method "POST" sendMessage :: Username -> Text -> Text -> Route sendMessage :: Username -> URLPiece -> URLPiece -> Route sendMessage (Username URLPiece u) URLPiece s URLPiece b = [URLPiece] -> [URLParam] -> Method -> Route Route [ URLPiece "api", URLPiece "compose" ] [ URLPiece "to" URLPiece -> URLPiece -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. URLPiece u , URLPiece "subject" URLPiece -> URLPiece -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. URLPiece s , URLPiece "text" URLPiece -> URLPiece -> URLParam forall a. ToQuery a => URLPiece -> a -> URLParam =. URLPiece b ] Method "POST"