Module

Yoga.BetterAuth.Client

Package
purescript-yoga-better-auth
Repository
rowtype-yoga/purescript-yoga-better-auth

#createAuthClient Source

createAuthClient :: forall opts opts_. Union opts opts_ AuthClientOptionsImpl => Record opts -> Effect AuthClient

#AuthClientOptionsImpl Source

type AuthClientOptionsImpl :: Row Typetype AuthClientOptionsImpl = (baseURL :: String, fetchOptions :: FetchOptions, plugins :: Array Plugin)

#FetchOptions Source

#signUpEmail Source

signUpEmail :: { email :: Email, name :: UserName, password :: Password } -> AuthClient -> Aff (Either ClientError ClientSignUpResult)

#signInEmail Source

#signOut Source

#signInSocial Source

signInSocial :: forall opts opts_. Union opts opts_ SignInSocialOptionsImpl => { provider :: ProviderId | opts } -> AuthClient -> Aff (Either ClientError SignInSocialResult)

Re-exports from Yoga.BetterAuth.Types

#User Source

type User = { createdAt :: ISODateString, email :: Email, emailVerified :: Boolean, id :: UserId, image :: Maybe String, name :: UserName, updatedAt :: ISODateString }

#SignUpResult Source

type SignUpResult = { token :: Token, user :: User }

#SignInResult Source

type SignInResult = { redirect :: Boolean, token :: Token, user :: User }

#SessionWithUser Source

type SessionWithUser = { session :: Session, user :: User }

#Session Source

type Session = { createdAt :: ISODateString, expiresAt :: ISODateString, id :: SessionId, ipAddress :: Maybe String, token :: Token, updatedAt :: ISODateString, userAgent :: Maybe String, userId :: UserId }

#ClientUser Source

type ClientUser = { createdAt :: JSDate, email :: Email, emailVerified :: Boolean, id :: UserId, image :: Maybe String, name :: UserName, updatedAt :: JSDate }

#ClientSignUpResult Source

type ClientSignUpResult = { token :: Maybe Token, user :: ClientUser }

#ClientSignInResult Source

type ClientSignInResult = { redirect :: Boolean, token :: Token, user :: ClientUser }

#ClientSessionWithUser Source

type ClientSessionWithUser = { session :: ClientSession, user :: ClientUser }

#ClientSession Source

type ClientSession = { createdAt :: JSDate, expiresAt :: JSDate, id :: SessionId, ipAddress :: Maybe String, token :: Token, updatedAt :: JSDate, userAgent :: Maybe String, userId :: UserId }

#ClientError Source

type ClientError = { message :: String, status :: Int, statusText :: String }

#AuthClient Source

#Auth Source

data Auth

#Account Source

type Account = { accessToken :: Maybe Token, accountId :: String, createdAt :: ISODateString, id :: String, idToken :: Maybe Token, providerId :: String, refreshToken :: Maybe Token, scope :: Maybe String, updatedAt :: ISODateString, userId :: UserId }