import { Jargon } from '../jargon' import { ResourceId, ResourceResponse, User } from '../models' export class Users { constructor(private jargon: Jargon) { } public fetch(userId: ResourceId): ResourceResponse { return this.jargon.request({ method: 'GET', url: `/users/${userId}`, }) } public profile(): ResourceResponse { return this.jargon.request({ method: 'GET', url: `/users/profile`, }) } public update(userId: ResourceId, payload: Partial): ResourceResponse { return this.jargon.request({ method: 'PUT', url: `/users/${userId}`, data: { user: payload, }, }) } public updateWithToken(token: string, payload: Partial): ResourceResponse { return this.jargon.request({ method: 'PUT', url: `/users/opentok_token`, data: { ...payload, token, }, }) } // auth0 public preRegistrationCallback(payload: any): ResourceResponse { return this.jargon.request({ method: 'POST', url: `/users/auth0/pre_registration_callback`, data: payload, }) } public postRegistrationCallback(payload: any): ResourceResponse { return this.jargon.request({ method: 'POST', url: `/users/auth0/post_registration_callback`, data: payload, }) } }