VKHS-0.0.1: src/Web/VKHS/Types.hs
module Web.VKHS.Types where
-- | AccessToken is a authentication data, required by all VK API
-- functions. It is a tuple of access_token, user_id, expires_in fields,
-- returned by login procedure.
type AccessToken = (String,String,String)
-- See http://vk.com/developers.php?oid=-1&p=Авторизация_клиентских_приложений
-- (in Russian) for more details
-- | Access rigth to request from VK.
-- See API docs http://vk.com/developers.php?oid=-1&p=Права_доступа_приложений (in
-- Russian) for details
data AccessRight
= Notify -- Пользователь разрешил отправлять ему уведомления.
| Friends -- Доступ к друзьям.
| Photos -- Доступ к фотографиям.
| Audio -- Доступ к аудиозаписям.
| Video -- Доступ к видеозаписям.
| Docs -- Доступ к документам.
| Notes -- Доступ заметкам пользователя.
| Pages -- Доступ к wiki-страницам.
| Status -- Доступ к статусу пользователя.
| Offers -- Доступ к предложениям (устаревшие методы).
| Questions -- Доступ к вопросам (устаревшие методы).
| Wall -- Доступ к обычным и расширенным методам работы со стеной.
-- Внимание, данное право доступа недоступно для сайтов (игнорируется при попытке авторизации).
| Groups -- Доступ к группам пользователя.
| Messages -- (для Standalone-приложений) Доступ к расширенным методам работы с сообщениями.
| Notifications -- Доступ к оповещениям об ответах пользователю.
| Stats -- Доступ к статистике групп и приложений пользователя, администратором которых он является.
| Ads -- Доступ к расширенным методам работы с рекламным API.
| Offline -- Доступ к API в любое время со стороннего сервера.
deriving(Show)
-- | Verbosity level. Setting Debug results in dumping *html files
data Verbosity = Normal | Trace | Debug
deriving(Enum,Eq,Ord,Show)
type ClientId = String
-- | VKHS environment
data Env = Env
{ verbose :: Verbosity
-- ^ Verbosity level
, useragent :: String
-- ^ User agent identifier. Has an affordable default.
, formdata :: [(String,String)]
-- ^ A dictionary used for filling forms
, clientId :: ClientId
-- ^ Application ID provided by vk.com
, delay_ms :: Int
-- ^ Delay in milliseconds. Set after each request to prevent application
-- from being blocked for flooding.
, ac_rights :: [AccessRight]
-- ^ Access rights to request
}
deriving (Show)