module Flickr.Favorites
( add
, remove
, getList
, getPublicList
) where
import Flickr.Monad
import Flickr.Types
import Flickr.Types.Import
add :: PhotoID -> FM ()
add pid = withWritePerm $ postMethod $
flickCall_ "flickr.favorites.add"
[ ("photo_id", pid) ]
remove :: PhotoID -> FM ()
remove pid = withWritePerm $ postMethod $
flickCall_ "flickr.favorites.remove"
[ ("photo_id", pid) ]
getList :: Maybe UserID
-> [PhotoInfo]
-> DateDetails
-> FM (PhotoContext, [Photo])
getList uid ps mbDates = withReadPerm $
flickTranslate toPhotoList $
flickrCall "flickr.favorites.getList"
(mbArg "user_id" uid $
mbArg "min_fave_date" (dateMinTaken mbDates) $
mbArg "max_fave_date" (dateMaxTaken mbDates) $
lsArg "extras" (map show ps) [])
getPublicList :: UserID
-> [PhotoInfo]
-> DateDetails
-> FM (PhotoContext, [Photo])
getPublicList uid ps mbDates =
flickTranslate toPhotoList $
flickrCall "flickr.favorites.getPublicList"
(mbArg "min_fave_date" (dateMinTaken mbDates) $
mbArg "max_fave_date" (dateMaxTaken mbDates) $
lsArg "extras" (map show ps) $
[("user_id", uid)])