@rnaga/wp-node
Version:
👉 **[View Full Documentation at rnaga.github.io/wp-node →](https://rnaga.github.io/wp-node/)**
153 lines • 5.23 kB
TypeScript
import { Config } from "../../config";
import * as types from "../../types";
import { Components } from "../components";
import { Logger } from "../logger";
import { User } from "../user";
import { Vars } from "../vars";
type DataGetBlogs = {
blog_id: number;
domain: string;
path: string;
site_id: number;
siteurl: string | undefined;
archived: number;
spam: number;
deleted: number;
rolenames: string[] | undefined;
blog_roles: Record<string, types.Role>;
blogname: string | undefined;
};
export declare class UserUtil {
private config;
private logger;
private components;
private vars;
constructor(config: Config, logger: Logger, components: Components, vars: Vars);
get(userRef: string | number): Promise<User>;
toUsers(users: types.Tables["users"][]): Promise<User[]>;
countPosts(userIds: number[], postType?: types.PostType, options?: Partial<{
publicOnly: boolean;
}>): Promise<[{
post_author: number;
count: number;
}] | undefined>;
resetPassword(user: User, newPassword: string): Promise<void>;
isPasswordResetAllowed(user: User): boolean;
checkPasswordResetKey(resetKey: string, userRef: string | number): Promise<number | false>;
getPasswordResetKey(userLogin: string, options?: Partial<{
registration: boolean;
}>): Promise<string>;
private roleNamesToCapabilities;
getSites(userRef: string | number): Promise<{
user: types.WpUsers;
primary_blog: {
blog_id: number;
site_id: number;
blog_roles: Record<string, {
name: string;
capabilities: string[];
}>;
blogname: string;
rolenames: string[];
capabilities: string[];
sitename: string;
siteurl: string;
} | undefined;
is_multisite: boolean;
sites: {
site_id: number;
sitename: string;
siteurl: string;
is_superadmin: boolean;
blogs: (DataGetBlogs & {
capabilities: string[];
blog_roles: Record<string, types.Role>;
blogname: string | undefined;
})[];
}[];
} | {
user: types.WpUsers;
primary_blog: {
capabilities: string[];
blog_id: number;
domain: string;
path: string;
site_id: number;
siteurl: string | undefined;
archived: number;
spam: number;
deleted: number;
rolenames: string[] | undefined;
blog_roles: Record<string, types.Role>;
blogname: string | undefined;
};
is_multisite: boolean;
sites: undefined;
}>;
getSingleSite(userRef: string | number): Promise<{
user: types.WpUsers;
primary_blog: {
capabilities: string[];
blog_id: number;
domain: string;
path: string;
site_id: number;
siteurl: string | undefined;
archived: number;
spam: number;
deleted: number;
rolenames: string[] | undefined;
blog_roles: Record<string, types.Role>;
blogname: string | undefined;
};
is_multisite: boolean;
sites: undefined;
}>;
getMultiSites(userRef: string | number): Promise<{
user: types.WpUsers;
primary_blog: {
blog_id: number;
site_id: number;
blog_roles: Record<string, {
name: string;
capabilities: string[];
}>;
blogname: string;
rolenames: string[];
capabilities: string[];
sitename: string;
siteurl: string;
} | undefined;
is_multisite: boolean;
sites: {
site_id: number;
sitename: string;
siteurl: string;
is_superadmin: boolean;
blogs: (DataGetBlogs & {
capabilities: string[];
blog_roles: Record<string, types.Role>;
blogname: string | undefined;
})[];
}[];
}>;
getPrimaryBlogId(userRef: string | number): Promise<any>;
getRoleNames(userRefOrUser: string | number | User): Promise<Map<number, string[]>>;
getSiteIds(userRef: string | number): Promise<number[]>;
getBlogIds(userRef: string | number): Promise<number[]>;
getBlogs(userRef: string | number, options?: Partial<{
siteId: number;
blogId: number;
}>): Promise<DataGetBlogs[]>;
checkSuperAdminStatus(userRefOrUser: string | number | User, args?: {
siteIds?: number[];
blogIds?: number[];
}): Promise<[boolean, number[]]>;
hasCapabilities(userRefOrUser: number | string | User, targetCapabilities: string[], options?: {
blogIds?: number[];
}): Promise<boolean>;
getUniqueNicename(nicename: string, userLogin: string, maxSuffix?: number): Promise<string>;
getUniqueUserLogin(maxSuffix?: number): Promise<string>;
}
export {};
//# sourceMappingURL=user.util.d.ts.map