thau-js
TypeScript icon, indicating that this package has built-in type declarations

0.1.9 • Public • Published

Thau-JS

JavaScript wrapper around Thau API.

Installation

npm install thau-js

or

yarn add thau-js

Usage

import { ThauJS } from '@thau-quester/thau-js'
 
const createThauClient = async () => {
  const client = await ThauJS.createClient('http://localhost:9000/api/v1')
  return client
}

Available methods

All method return promises that can throw a ThauError in case when the status from the API is not 200.

  • getCurrentSession(): Promise<Session> - returns the current session.
  • loginWithFacebook(): Promise<Session> - logs the user using facebook and returns the created session.
  • loginWithGoogle(): Promise<Session> - logs the user using google and returns the created session.
  • loginWithGithub(): Promise<Session> - logs the user using github and returns the created session.
  • loginWithTwitter(): Promise<Session> - logs the user using twitter and returns the created session.
  • loginWithPassword(email: string, password: string): Promise<Session> - logs the user using password and returns the created session.
  • getUserById(id: number): Promise<User> - returns a user for a given ID.
  • createUser(user: User, password: string): Promise<Session> - creates a new user using password ccredentials and returns created session.
  • updateUser(user: User): Promise<User> - updates the user and returns the new version of the user.
  • logout(sessionId?: number): Promise<void> - logs the user out from ccurrent session, or from some specificc session.
  • listSessions(): Prommise<Omit<Session, "user">>[] - returns a list of open sessions for current user.
  • verifyUserEmail(verificationCode: string): Promise<void> - validates the Email of the user for a given verification code.s

Types

export type User = {
  id?: 0
  email: string
  username?: string
  firstName?: string
  lastName?: string
  dateOfBirth?: Date
  gender?: string
  picture?: string
}
 
export type Session = {
  id: number
  strategy: Strategy
  user: User
}
 
export type Provider = {
  id: number,
  provider: Strategy,
  provider_url?: string,
}

Readme

Keywords

none

Package Sidebar

Install

npm i thau-js

Weekly Downloads

1

Version

0.1.9

License

MIT

Unpacked Size

108 kB

Total Files

10

Last publish

Collaborators

  • mgrin