Skip to content
This repository has been archived by the owner on Jul 4, 2024. It is now read-only.

Commit

Permalink
feat: add getCurrent method
Browse files Browse the repository at this point in the history
  • Loading branch information
sheverniskiy committed Jun 20, 2022
1 parent 16bb695 commit 53311fa
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/clients/rest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,15 @@ export default class RestClient {
.catch((err) => this.errorHandler(err))
}

public async getCurrent(): Promise<Wasd.User> {
return this._axios
.get('v2/profiles/current')
.then(({ data }) => {
return data.result
})
.catch((err) => this.errorHandler(err))
}

public async getChannelLinks(channel_id: number): Promise<Wasd.ChannelLink[]> {
return this._axios
.get(`channels/${channel_id}/links`)
Expand Down
59 changes: 59 additions & 0 deletions src/types/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,65 @@ export namespace Wasd {
channel_link_type_icon: Image
}

export interface User {
user_id: number
user_login: string
user_profile: UserProfile
user_xp: UserXP
user_avatar: UserAvatar
new_user_agreement: boolean
user_agreement: boolean
user_role: string
enabled_2fa: boolean
accept_2fa: boolean
user_email: string
wallets: Wallet[]
user_features: string[]
}

export interface UserAvatar {}

export interface UserProfile {
created_at: Date
deleted_at: Date | null
updated_at: Date
user_id: number
user_login: string
profile_description: string
profile_image: Image
profile_background: Image
channel_id: number
profile_is_live: boolean
}

export interface UserXP {
user_id: number
profile_xp_current: number
profile_xp_total: number
profile_level: number
profile_xp_for_next_level: number
profile_xp_level_start: number
profile_level_info: ProfileLevelInfo
}

export interface ProfileLevelInfo {
level_id: number
level_number: number
level_type: string
level_min_border: number
level_max_border: number
level_name: string
level_description: string
level_image: Image
previous_level_id: number
next_level_id: number
}

export interface Wallet {
currency_code: string
value: number
}

/* -------------------------------- EventMap -------------------------------- */

//TODO: parse connect_error message
Expand Down
4 changes: 4 additions & 0 deletions src/wasdtv.ts
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,10 @@ export class WasdTv extends EventEmitter {
return await this._rest.getChannelLinks(channel_id)
}

public async getCurrent(): Promise<Wasd.User> {
return await this._rest.getCurrent()
}

public getMediaStream(user_id: number): PassThrough {
return this._rest.getMediaStream(user_id)
}
Expand Down

0 comments on commit 53311fa

Please sign in to comment.