{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module Vikunja.API.Auth where
import Vikunja.Core
import Vikunja.MimeTypes
import Vikunja.Model as M
import qualified Data.Aeson as A
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
import qualified Data.Foldable as P
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Set as Set
import qualified Data.String as P
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified Data.Time as TI
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
import qualified Network.HTTP.Types as NH
import qualified Web.FormUrlEncoded as WH
import qualified Web.HttpApiData as WH
import Data.Text (Text)
import GHC.Base ((<|>))
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
getTokenOpenid
:: (Consumes GetTokenOpenid MimeJSON, MimeRender MimeJSON OpenidCallback)
=> OpenidCallback
-> Provider
-> VikunjaRequest GetTokenOpenid MimeJSON AuthToken MimeJSON
getTokenOpenid :: OpenidCallback
-> Provider
-> VikunjaRequest GetTokenOpenid MimeJSON AuthToken MimeJSON
getTokenOpenid OpenidCallback
callback (Provider Int
provider) =
Method
-> [ByteString]
-> VikunjaRequest GetTokenOpenid MimeJSON AuthToken MimeJSON
forall req contentType res accept.
Method -> [ByteString] -> VikunjaRequest req contentType res accept
_mkRequest Method
"POST" [ByteString
"/auth/openid/",Int -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Int
provider,ByteString
"/callback"]
VikunjaRequest GetTokenOpenid MimeJSON AuthToken MimeJSON
-> Proxy AuthApiKeyJWTKeyAuth
-> VikunjaRequest GetTokenOpenid MimeJSON AuthToken MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
VikunjaRequest req contentType res accept
-> Proxy authMethod -> VikunjaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyJWTKeyAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyJWTKeyAuth)
VikunjaRequest GetTokenOpenid MimeJSON AuthToken MimeJSON
-> OpenidCallback
-> VikunjaRequest GetTokenOpenid MimeJSON AuthToken MimeJSON
forall req param contentType res accept.
(HasBodyParam req param, Consumes req contentType,
MimeRender contentType param) =>
VikunjaRequest req contentType res accept
-> param -> VikunjaRequest req contentType res accept
`setBodyParam` OpenidCallback
callback
data GetTokenOpenid
instance HasBodyParam GetTokenOpenid OpenidCallback
instance Consumes GetTokenOpenid MimeJSON
instance Produces GetTokenOpenid MimeJSON
loginPost
:: (Consumes LoginPost MimeJSON, MimeRender MimeJSON UserLogin)
=> UserLogin
-> VikunjaRequest LoginPost MimeJSON AuthToken MimeJSON
loginPost :: UserLogin -> VikunjaRequest LoginPost MimeJSON AuthToken MimeJSON
loginPost UserLogin
credentials =
Method
-> [ByteString]
-> VikunjaRequest LoginPost MimeJSON AuthToken MimeJSON
forall req contentType res accept.
Method -> [ByteString] -> VikunjaRequest req contentType res accept
_mkRequest Method
"POST" [ByteString
"/login"]
VikunjaRequest LoginPost MimeJSON AuthToken MimeJSON
-> UserLogin
-> VikunjaRequest LoginPost MimeJSON AuthToken MimeJSON
forall req param contentType res accept.
(HasBodyParam req param, Consumes req contentType,
MimeRender contentType param) =>
VikunjaRequest req contentType res accept
-> param -> VikunjaRequest req contentType res accept
`setBodyParam` UserLogin
credentials
data LoginPost
instance HasBodyParam LoginPost UserLogin
instance Consumes LoginPost MimeJSON
instance Produces LoginPost MimeJSON
registerPost
:: (Consumes RegisterPost MimeJSON, MimeRender MimeJSON UserAPIUserPassword)
=> UserAPIUserPassword
-> VikunjaRequest RegisterPost MimeJSON UserUser MimeJSON
registerPost :: UserAPIUserPassword
-> VikunjaRequest RegisterPost MimeJSON UserUser MimeJSON
registerPost UserAPIUserPassword
credentials =
Method
-> [ByteString]
-> VikunjaRequest RegisterPost MimeJSON UserUser MimeJSON
forall req contentType res accept.
Method -> [ByteString] -> VikunjaRequest req contentType res accept
_mkRequest Method
"POST" [ByteString
"/register"]
VikunjaRequest RegisterPost MimeJSON UserUser MimeJSON
-> UserAPIUserPassword
-> VikunjaRequest RegisterPost MimeJSON UserUser MimeJSON
forall req param contentType res accept.
(HasBodyParam req param, Consumes req contentType,
MimeRender contentType param) =>
VikunjaRequest req contentType res accept
-> param -> VikunjaRequest req contentType res accept
`setBodyParam` UserAPIUserPassword
credentials
data RegisterPost
instance HasBodyParam RegisterPost UserAPIUserPassword
instance Consumes RegisterPost MimeJSON
instance Produces RegisterPost MimeJSON