casdoor-nodejs-sdk
Version:
Node.js client SDK for Casdoor
207 lines (206 loc) • 5.28 kB
TypeScript
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>>;
}