UNPKG

casdoor-nodejs-sdk

Version:
207 lines (206 loc) 5.28 kB
import { AxiosResponse } from 'axios'; import { Config } from './config'; import Request from './request'; import { CasdoorMfaProps } from './mfa'; import { Role } from './role'; import { Permission } from './permission'; export interface User { owner: string; name: string; createdTime: string; updatedTime?: string; deletedTime?: string; id?: string; externalId?: string; type?: string; password?: string; passwordSalt?: string; passwordType?: string; displayName?: string; firstName?: string; lastName?: string; avatar?: string; avatarType?: string; permanentAvatar?: string; email?: string; emailVerified?: boolean; phone?: string; countryCode?: string; region?: string; location?: string; address?: string[]; affiliation?: string; title?: string; idCardType?: string; idCard?: string; homepage?: string; bio?: string; tag?: string; language?: string; gender?: string; birthday?: string; education?: string; score?: number; karma?: number; ranking?: number; balance?: number; currency?: string; isDefaultAvatar?: boolean; isOnline?: boolean; isAdmin?: boolean; isForbidden?: boolean; isDeleted?: boolean; signupApplication?: string; hash?: string; preHash?: string; accessKey?: string; accessSecret?: string; accessToken?: string; createdIp?: string; lastSigninTime?: string; lastSigninIp?: string; github?: string; google?: string; qq?: string; weChat?: string; facebook?: string; dingTalk?: string; weibo?: string; gitee?: string; linkedIn?: string; wecom?: string; lark?: string; gitlab?: string; adfs?: string; baidu?: string; alipay?: string; casdoor?: string; infoflow?: string; apple?: string; azureAD?: string; azureADB2c?: string; slack?: string; steam?: string; bilibili?: string; okta?: string; douyin?: string; line?: string; amazon?: string; auth0?: string; battleNet?: string; bitbucket?: string; box?: string; cloudFoundry?: string; dailymotion?: string; deezer?: string; digitalOcean?: string; discord?: string; dropbox?: string; eveOnline?: string; fitbit?: string; gitea?: string; heroku?: string; influxCloud?: string; instagram?: string; intercom?: string; kakao?: string; lastfm?: string; mailru?: string; meetup?: string; microsoftOnline?: string; naver?: string; nextcloud?: string; oneDrive?: string; oura?: string; patreon?: string; paypal?: string; salesForce?: string; shopify?: string; soundcloud?: string; spotify?: string; strava?: string; stripe?: string; tiktok?: string; tumblr?: string; twitch?: string; twitter?: string; typetalk?: string; uber?: string; vk?: string; wepay?: string; xero?: string; yahoo?: string; yammer?: string; yandex?: string; zoom?: string; metaMask?: string; web3Onboard?: string; custom?: string; preferredMfaType?: string; recoveryCodes?: string[]; totpSecret?: string; mfaPhoneEnabled?: boolean; mfaEmailEnabled?: boolean; multiFactorAuths?: CasdoorMfaProps[]; invitation?: string; invitationCode?: string; faceIds?: FaceId[]; ldap?: string; properties?: Record<string, string>; roles?: Role[]; permissions?: Permission[]; groups?: string[]; lastSigninWrongTime?: string; signinWrongTimes?: number; managedAccounts?: ManagedAccount[]; mfaAccounts?: MfaAccount[]; needUpdatePassword?: boolean; ipWhitelist?: string; } export interface ManagedAccount { application?: string; username?: string; password?: string; signinUrl?: string; } export interface MfaAccount { accountName: string; issuer: string; secretKey: string; } export interface FaceId { name: string; faceIdData: number[]; } export interface SetPassword { owner: string; name: string; newPassword?: string; oldPassword?: string; } export declare class UserSDK { private config; private readonly request; constructor(config: Config, request: Request); getAuthToken(code: string): Promise<{ access_token: string; refresh_token: string; }>; refreshToken(refreshToken: string): Promise<{ access_token: string; refresh_token: string; }>; parseJwtToken(token: string): User; getUsers(): Promise<AxiosResponse<{ data: User[]; }, any>>; getUser(id: string): Promise<AxiosResponse<{ data: User; }, any>>; getUserCount(isOnline: boolean): Promise<AxiosResponse<number, any>>; modifyUser(method: string, user: User): Promise<AxiosResponse<Record<string, unknown>, any>>; addUser(user: User): Promise<AxiosResponse<Record<string, unknown>, any>>; updateUser(user: User): Promise<AxiosResponse<Record<string, unknown>, any>>; deleteUser(user: User): Promise<AxiosResponse<Record<string, unknown>, any>>; setPassword(data: SetPassword): Promise<AxiosResponse<Record<string, unknown>, any>>; }