arch-web-0.1.0: src/Web/ArchLinux/Types/API.hs
{-# OPTIONS_HADDOCK hide, prune #-}
module Web.ArchLinux.Types.API
( module Web.ArchLinux.Types.API,
)
where
import Data.Aeson (Value)
import Data.Text (Text)
import Servant.API
import Web.ArchLinux.Types
type GetPackageDetails =
"packages"
:> Capture "repository" Repo
:> Capture "architecture" Arch
:> Capture "package" Text
:> "json"
:> Get '[JSON] PackageInformation
type GetPackageFiles =
"packages"
:> Capture "repository" Repo
:> Capture "architecture" Arch
:> Capture "package" Text
:> "files"
:> "json"
:> Get '[JSON] PackageFiles
type SearchPackage =
"packages"
:> "search"
:> "json"
:> QueryParam "q" Text
:> QueryParam "name" Text
:> QueryParam "desc" Text
:> QueryParams "repo" Repo
:> QueryParams "arch" Arch
:> QueryParam "maintainer" Text
:> QueryParam "packager" Text
:> QueryParam "flagged" Flagged
:> Get '[JSON] (ArchLinuxResponse PackageInformation)
type AurRPC =
"rpc"
:> QueryParam' '[Strict, Required] "v" Int
:> QueryParam' '[Strict, Required] "type" Text
:> QueryParam "by" Text
:> QueryParams "arg" Text
:> Get '[JSON] Value