module MediaWiki.API.Base
( module MediaWiki.API.Base
, module MediaWiki.API.Query.AllCategories
, module MediaWiki.API.Query.AllImages
, module MediaWiki.API.Query.AllLinks
, module MediaWiki.API.Query.AllMessages
, module MediaWiki.API.Query.AllPages
, module MediaWiki.API.Query.AllUsers
, module MediaWiki.API.Query.BackLinks
, module MediaWiki.API.Query.Blocks
, module MediaWiki.API.Query.Categories
, module MediaWiki.API.Query.CategoryInfo
, module MediaWiki.API.Query.CategoryMembers
, module MediaWiki.API.Query.DeletedRevisions
, module MediaWiki.API.Query.EmbeddedIn
, module MediaWiki.API.Query.ExternalLinks
, module MediaWiki.API.Query.ExternalURLUsage
, module MediaWiki.API.Query.ImageInfo
, module MediaWiki.API.Query.Images
, module MediaWiki.API.Query.ImageUsage
, module MediaWiki.API.Query.Info
, module MediaWiki.API.Query.LangLinks
, module MediaWiki.API.Query.LogEvents
, module MediaWiki.API.Query.Random
, module MediaWiki.API.Query.RecentChanges
, module MediaWiki.API.Query.Revisions
, module MediaWiki.API.Query.Search
, module MediaWiki.API.Query.SiteInfo
, module MediaWiki.API.Query.Templates
, module MediaWiki.API.Query.UserContribs
, module MediaWiki.API.Query.UserInfo
, module MediaWiki.API.Query.Users
, module MediaWiki.API.Query.WatchList
, module MediaWiki.API.Action.Login
, module MediaWiki.API.Action.ParamInfo
, module MediaWiki.API.Action.Parse
, module MediaWiki.API.Action.OpenSearch
, module MediaWiki.API.Action.FeedWatchlist
, module MediaWiki.API.Action.ExpandTemplates
, module MediaWiki.API.Action.Sitematrix
, module MediaWiki.API.Action.Unblock
, module MediaWiki.API.Action.Watch
, module MediaWiki.API.Action.EmailUser
, module MediaWiki.API.Action.Edit
, module MediaWiki.API.Action.Move
, module MediaWiki.API.Action.Block
, module MediaWiki.API.Action.Protect
, module MediaWiki.API.Action.Undelete
, module MediaWiki.API.Action.Delete
, module MediaWiki.API.Action.Rollback
) where
import MediaWiki.API.Types
import MediaWiki.API.Query.AllCategories
import MediaWiki.API.Query.AllImages
import MediaWiki.API.Query.AllLinks
import MediaWiki.API.Query.AllMessages
import MediaWiki.API.Query.AllPages
import MediaWiki.API.Query.AllUsers
import MediaWiki.API.Query.BackLinks
import MediaWiki.API.Query.Blocks
import MediaWiki.API.Query.Categories
import MediaWiki.API.Query.CategoryInfo
import MediaWiki.API.Query.CategoryMembers
import MediaWiki.API.Query.DeletedRevisions
import MediaWiki.API.Query.EmbeddedIn
import MediaWiki.API.Query.ExternalLinks
import MediaWiki.API.Query.ExternalURLUsage
import MediaWiki.API.Query.ImageInfo
import MediaWiki.API.Query.Images
import MediaWiki.API.Query.ImageUsage
import MediaWiki.API.Query.Info
import MediaWiki.API.Query.LangLinks
import MediaWiki.API.Query.Links
import MediaWiki.API.Query.LogEvents
import MediaWiki.API.Query.Random
import MediaWiki.API.Query.RecentChanges
import MediaWiki.API.Query.Revisions
import MediaWiki.API.Query.Search
import MediaWiki.API.Query.SiteInfo
import MediaWiki.API.Query.Templates
import MediaWiki.API.Query.UserContribs
import MediaWiki.API.Query.UserInfo
import MediaWiki.API.Query.Users
import MediaWiki.API.Query.WatchList
import MediaWiki.API.Action.Login
import MediaWiki.API.Action.ParamInfo
import MediaWiki.API.Action.Parse
import MediaWiki.API.Action.OpenSearch
import MediaWiki.API.Action.FeedWatchlist
import MediaWiki.API.Action.ExpandTemplates
import MediaWiki.API.Action.Sitematrix
import MediaWiki.API.Action.Unblock
import MediaWiki.API.Action.Watch
import MediaWiki.API.Action.EmailUser
import MediaWiki.API.Action.Edit
import MediaWiki.API.Action.Move
import MediaWiki.API.Action.Block
import MediaWiki.API.Action.Protect
import MediaWiki.API.Action.Undelete
import MediaWiki.API.Action.Delete
import MediaWiki.API.Action.Rollback
data Request
= Request
{ reqAction :: Action
, reqFormat :: Format
, reqMaxLag :: Maybe Int
}
emptyRequest :: Action -> Format -> Request
emptyRequest a f
= Request
{ reqAction = a
, reqFormat = f
, reqMaxLag = Nothing
}
emptyXmlRequest :: Action -> Request
emptyXmlRequest a = emptyRequest a xmlFormat
data Action
= Sitematrix
| Login LoginRequest
| Logout
| Query QueryRequest [String]
| ExpandTemplates ExpandTemplatesRequest
| Parse ParseRequest
| OpenSearch OpenSearchRequest
| FeedWatch FeedWatchListRequest
| Help HelpRequest
| ParamInfo ParamInfoRequest
| Unblock UnblockRequest
| Watch WatchRequest
| EmailUser EmailUserRequest
| Edit EditRequest
| Move MoveRequest
| Block BlockRequest
| Protect ProtectRequest
| Undelete UndeleteRequest
| Delete DeleteRequest
| Rollback RollbackRequest
| OtherAction String [ValueName]
infoRequest :: InfoRequest
infoRequest = emptyInfoRequest
revisionRequest :: RevisionRequest
revisionRequest = emptyRevisionRequest
linksRequest :: LinksRequest
linksRequest = emptyLinksRequest
langLinksRequest :: LangLinksRequest
langLinksRequest = emptyLangLinksRequest
imagesRequest :: ImagesRequest
imagesRequest = emptyImagesRequest
imageInfoRequest :: ImageInfoRequest
imageInfoRequest = emptyImageInfoRequest
templatesRequest :: TemplatesRequest
templatesRequest = emptyTemplatesRequest
categoriesRequest :: CategoriesRequest
categoriesRequest = emptyCategoriesRequest
allCategoriesRequest :: AllCategoriesRequest
allCategoriesRequest = emptyAllCategoriesRequest
allImagesRequest :: AllImagesRequest
allImagesRequest = emptyAllImagesRequest
allLinksRequest :: AllLinksRequest
allLinksRequest = emptyAllLinksRequest
allMessagesRequest :: AllMessagesRequest
allMessagesRequest = emptyAllMessagesRequest
allPagesRequest :: AllPagesRequest
allPagesRequest = emptyAllPagesRequest
allUsersRequest :: AllUsersRequest
allUsersRequest = emptyAllUsersRequest
backLinksRequest :: BackLinksRequest
backLinksRequest = emptyBackLinksRequest
embeddedInRequest :: EmbeddedInRequest
embeddedInRequest = emptyEmbeddedInRequest
imageUsageRequest :: ImageUsageRequest
imageUsageRequest = emptyImageUsageRequest
categoryInfoRequest :: CategoryInfoRequest
categoryInfoRequest = emptyCategoryInfoRequest
categoryMembersRequest :: CategoryMembersRequest
categoryMembersRequest = emptyCategoryMembersRequest
externalLinksRequest :: ExternalLinksRequest
externalLinksRequest = emptyExternalLinksRequest
externalURLUsageRequest :: ExternalURLUsageRequest
externalURLUsageRequest = emptyExternalURLUsageRequest
logEventsRequest :: LogEventsRequest
logEventsRequest = emptyLogEventsRequest
recentChangesRequest :: RecentChangesRequest
recentChangesRequest = emptyRecentChangesRequest
searchRequest :: String -> SearchRequest
searchRequest = emptySearchRequest
siteInfoRequest :: SiteInfoRequest
siteInfoRequest = emptySiteInfoRequest
userContribsRequest :: UserContribsRequest
userContribsRequest = emptyUserContribsRequest
userInfoRequest :: UserInfoRequest
userInfoRequest = emptyUserInfoRequest
watchListRequest :: WatchListRequest
watchListRequest = emptyWatchListRequest
blocksRequest :: BlocksRequest
blocksRequest = emptyBlocksRequest
deletedRevisionsRequest :: DeletedRevisionsRequest
deletedRevisionsRequest = emptyDeletedRevisionsRequest
usersRequest :: UsersRequest
usersRequest = emptyUsersRequest
randomPagesRequest :: RandomPagesRequest
randomPagesRequest = emptyRandomPagesRequest
data QueryRequestKind
= InfoProp InfoRequest
| RevisionsProp RevisionRequest
| LinksPropProp LinksRequest
| LangLinksProp LangLinksRequest
| ImagesProp ImagesRequest
| ImageInfoProp ImageInfoRequest
| TemplatesProp TemplatesRequest
| CategoriesProp CategoriesRequest
| AllCategoriesProp AllCategoriesRequest
| AllImagesProp AllImagesRequest
| AllLinksProp AllLinksRequest
| AllMessagesProp AllMessagesRequest
| AllPagesProp AllPagesRequest
| AllUsersProp AllUsersRequest
| BacklinksProp BackLinksRequest
| EmbeddedInProp EmbeddedInRequest
| ImageUsageProp ImageUsageRequest
| CategoryInfoProp CategoryInfoRequest
| CategoryMembersProp CategoryMembersRequest
| ExternalLinksProp ExternalLinksRequest
| ExternalURLUsageProp ExternalURLUsageRequest
| LogEventsProp LogEventsRequest
| RecentChangesProp RecentChangesRequest
| SearchProp SearchRequest
| SiteInfoProp SiteInfoRequest
| UserContribsProp UserContribsRequest
| UserInfoProp UserInfoRequest
| WatchListProp WatchListRequest
| BlocksProp BlocksRequest
| DeletedRevsProp DeletedRevisionsRequest
| UsersProp UsersRequest
| RandomProp RandomPagesRequest
qKind :: QueryRequestKind -> QueryKind
qKind q =
case q of
InfoProp k -> queryKind k
RevisionsProp k -> queryKind k
LinksPropProp k -> queryKind k
LangLinksProp k -> queryKind k
ImagesProp k -> queryKind k
ImageInfoProp k -> queryKind k
TemplatesProp k -> queryKind k
CategoriesProp k -> queryKind k
AllCategoriesProp k -> queryKind k
AllImagesProp k -> queryKind k
AllLinksProp k -> queryKind k
AllMessagesProp k -> queryKind k
AllPagesProp k -> queryKind k
AllUsersProp k -> queryKind k
BacklinksProp k -> queryKind k
EmbeddedInProp k -> queryKind k
ImageUsageProp k -> queryKind k
CategoryInfoProp k -> queryKind k
CategoryMembersProp k -> queryKind k
ExternalLinksProp k -> queryKind k
ExternalURLUsageProp k -> queryKind k
LogEventsProp k -> queryKind k
RecentChangesProp k -> queryKind k
SearchProp k -> queryKind k
SiteInfoProp k -> queryKind k
UserContribsProp k -> queryKind k
UserInfoProp k -> queryKind k
WatchListProp k -> queryKind k
BlocksProp k -> queryKind k
DeletedRevsProp k -> queryKind k
UsersProp k -> queryKind k
RandomProp k -> queryKind k