casdoor-nodejs-sdk
Version:
Node.js client SDK for Casdoor
293 lines (292 loc) • 15.6 kB
TypeScript
import { Config } from './config';
import Request from './request';
import { SetPassword, User } from './user';
import { Adapter } from './adapter';
import { Application } from './application';
import { Cert } from './cert';
import { Enforcer } from './enforcer';
import { Group } from './group';
import { Model } from './model';
import { Organization } from './organization';
import { Payment } from './payment';
import { Session } from './session';
import { Syncer } from './syncer';
import { Permission } from './permission';
import { Plan } from './plan';
import { Policy } from './policy';
import { Pricing } from './pricing';
import { Provider } from './provider';
import { Resource } from './resource';
import { Role } from './role';
import { Subscription } from './subscription';
import { Token } from './token';
import { Webhook } from './webhook';
import { Product } from './product';
import { Email } from './email';
import { Sms } from './sms';
import { MfaData } from './mfa';
import { CasbinRequest } from './enforce';
import type { AxiosRequestConfig } from 'axios';
export declare class SDK {
protected readonly config: Config;
protected readonly request: Request;
private userSDK;
private adapterSDK;
private applicationSDK;
private certSDK;
private enforcerSDK;
private groupSDK;
private modelSDK;
private organizationSDK;
private paymentSDK;
private sessionSDK;
private syncerSDK;
private permissionSDK;
private planSDK;
private policySDK;
private pricingSDK;
private providerSDK;
private resourceSDK;
private roleSDK;
private subscriptionSDK;
private tokenSDK;
private webhookSDK;
private productSDK;
private emailSDK;
private smsSDK;
private mfaSDK;
private enforceSDK;
private urlSDK;
constructor(config: Config, axiosConfig?: AxiosRequestConfig);
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<import("axios").AxiosResponse<{
data: User[];
}, any>>;
getUser(id: string): Promise<import("axios").AxiosResponse<{
data: User;
}, any>>;
getUserCount(isOnline: boolean): Promise<import("axios").AxiosResponse<number, any>>;
addUser(user: User): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateUser(user: User): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteUser(user: User): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getAdapters(): Promise<import("axios").AxiosResponse<{
data: Adapter[];
}, any>>;
getAdapter(id: string): Promise<import("axios").AxiosResponse<{
data: Adapter;
}, any>>;
addAdapter(adapter: Adapter): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateAdapter(adapter: Adapter): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteAdapter(adapter: Adapter): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getApplications(): Promise<import("axios").AxiosResponse<{
data: Application[];
}, any>>;
getApplication(name: string): Promise<import("axios").AxiosResponse<{
data: Application;
}, any>>;
addApplication(application: Application): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateApplication(application: Application): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteApplication(application: Application): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getCerts(): Promise<import("axios").AxiosResponse<{
data: Cert[];
}, any>>;
getCert(id: string): Promise<import("axios").AxiosResponse<{
data: Cert;
}, any>>;
addCert(cert: Cert): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateCert(cert: Cert): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteCert(cert: Cert): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getEnforcers(): Promise<import("axios").AxiosResponse<{
data: Enforcer[];
}, any>>;
getEnforcer(id: string): Promise<import("axios").AxiosResponse<{
data: Enforcer;
}, any>>;
addEnforcer(enforcer: Enforcer): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateEnforcer(enforcer: Enforcer): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteEnforcer(enforcer: Enforcer): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getGroups(): Promise<import("axios").AxiosResponse<{
data: Group[];
}, any>>;
getGroup(id: string): Promise<import("axios").AxiosResponse<{
data: Group;
}, any>>;
addGroup(group: Group): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateGroup(group: Group): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteGroup(group: Group): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getModels(): Promise<import("axios").AxiosResponse<{
data: Model[];
}, any>>;
getModel(id: string): Promise<import("axios").AxiosResponse<{
data: Model;
}, any>>;
addModel(model: Model): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateModel(model: Model): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteModel(model: Model): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getOrganizations(): Promise<import("axios").AxiosResponse<{
data: Organization[];
}, any>>;
getOrganization(id: string): Promise<import("axios").AxiosResponse<{
data: Organization;
}, any>>;
addOrganization(organization: Organization): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateOrganization(organization: Organization): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteOrganization(organization: Organization): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getPayments(): Promise<import("axios").AxiosResponse<{
data: Payment[];
}, any>>;
getPayment(id: string): Promise<import("axios").AxiosResponse<{
data: Payment;
}, any>>;
addPayment(payment: Payment): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updatePayment(payment: Payment): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deletePayment(payment: Payment): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getSessions(): Promise<import("axios").AxiosResponse<{
data: Session[];
}, any>>;
getSession(name: string, application: string): Promise<import("axios").AxiosResponse<{
data: Session;
}, any>>;
addSession(session: Session): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateSession(session: Session): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteSession(session: Session): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getSyncers(): Promise<import("axios").AxiosResponse<{
data: Syncer[];
}, any>>;
getSyncer(id: string): Promise<import("axios").AxiosResponse<{
data: Syncer;
}, any>>;
addSyncer(syncer: Syncer): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateSyncer(syncer: Syncer): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteSyncer(syncer: Syncer): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getPermissions(): Promise<import("axios").AxiosResponse<{
data: Permission[];
}, any>>;
getPermission(id: string): Promise<import("axios").AxiosResponse<{
data: Permission;
}, any>>;
addPermission(permission: Permission): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updatePermission(permission: Permission): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deletePermission(permission: Permission): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getPlans(): Promise<import("axios").AxiosResponse<{
data: Plan[];
}, any>>;
getPlan(id: string): Promise<import("axios").AxiosResponse<{
data: Plan;
}, any>>;
addPlan(plan: Plan): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updatePlan(plan: Plan): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deletePlan(plan: Plan): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getPolicies(enforcerName: string, adapterId?: string): Promise<import("axios").AxiosResponse<{
data: Policy[];
}, any>>;
addPolicy(enforcer: Enforcer, policy: Policy): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updatePolicy(enforcer: Enforcer, oldPolicy: Policy, newPolicy: Policy): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deletePolicy(enforcer: Enforcer, policy: Policy): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getPricings(): Promise<import("axios").AxiosResponse<{
data: Pricing[];
}, any>>;
getPricing(id: string): Promise<import("axios").AxiosResponse<{
data: Pricing;
}, any>>;
addPricing(pricing: Pricing): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updatePricing(pricing: Pricing): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deletePricing(pricing: Pricing): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getProviders(): Promise<import("axios").AxiosResponse<{
data: Provider[];
}, any>>;
getProvider(id: string): Promise<import("axios").AxiosResponse<{
data: Provider;
}, any>>;
addProvider(provider: Provider): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateProvider(provider: Provider): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteProvider(provider: Provider): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getResources(owner: string, user: string, field: string, value: string, sortField: string, sortOrder: string): Promise<import("axios").AxiosResponse<{
data: Resource[];
}, any>>;
getResource(id: string): Promise<import("axios").AxiosResponse<{
data: Resource;
}, any>>;
addResource(resource: Resource): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateResource(resource: Resource): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteResource(resource: Resource): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
uploadResource(resource: Resource, file: any): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getRoles(): Promise<import("axios").AxiosResponse<{
data: Role[];
}, any>>;
getRole(id: string): Promise<import("axios").AxiosResponse<{
data: Role;
}, any>>;
addRole(role: Role): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateRole(role: Role): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteRole(role: Role): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getSubscriptions(): Promise<import("axios").AxiosResponse<{
data: Subscription[];
}, any>>;
getSubscription(id: string): Promise<import("axios").AxiosResponse<{
data: Subscription;
}, any>>;
addSubscription(subscription: Subscription): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateSubscription(subscription: Subscription): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteSubscription(subscription: Subscription): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getTokens(p: number, pageSize: number): Promise<import("axios").AxiosResponse<{
data: Token[];
}, any>>;
getToken(id: string): Promise<import("axios").AxiosResponse<{
data: Token;
}, any>>;
addToken(token: Token): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateToken(token: Token): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteToken(token: Token): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
introspect(token: string, token_type_hint: string): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getWebhooks(): Promise<import("axios").AxiosResponse<{
data: Webhook[];
}, any>>;
getWebhook(id: string): Promise<import("axios").AxiosResponse<{
data: Webhook;
}, any>>;
addWebhook(webhook: Webhook): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateWebhook(webhook: Webhook): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteWebhook(webhook: Webhook): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
getProducts(): Promise<import("axios").AxiosResponse<{
data: Product[];
}, any>>;
getProduct(id: string): Promise<import("axios").AxiosResponse<{
data: Product;
}, any>>;
addProduct(product: Product): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
updateProduct(product: Product): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
deleteProduct(product: Product): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
sendEmail(email: Email): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
sendSms(sms: Sms): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
setPassword(data: SetPassword): Promise<import("axios").AxiosResponse<Record<string, unknown>, any>>;
initiateMfa(data: MfaData): Promise<import("axios").AxiosResponse<{
data: import("./mfa").CasdoorMfaProps;
}, any>>;
verifyMfa(data: MfaData, passcode: string): Promise<import("axios").AxiosResponse<{
data: string;
}, any>>;
enableMfa(data: MfaData, cookie?: any): Promise<import("axios").AxiosResponse<{
data: string;
}, any>>;
setPreferredMfa(data: MfaData): Promise<import("axios").AxiosResponse<{
data: import("./mfa").CasdoorMfaProps[];
}, any>>;
deleteMfa(owner: string, name: string): Promise<import("axios").AxiosResponse<{
data: import("./mfa").CasdoorMfaProps[];
}, any>>;
enforce(permissionId: string, modelId: string, resourceId: string, casbinRequest: CasbinRequest): Promise<boolean>;
batchEnforce(permissionId: string, modelId: string, resourceId: string, casbinRequest: CasbinRequest[]): Promise<boolean[]>;
getSignUpUrl(enablePassword: boolean, redirectUri: string): string;
getSignInUrl(redirectUri: string): string;
getUserProfileUrl(userName: string, accessToken?: string): string;
getMyProfileUrl(accessToken?: string): string;
}