@kwiz/common
Version:
KWIZ common utilities and helpers for M365 platform
75 lines (74 loc) • 4.09 kB
TypeScript
import { ISPPeoplePickerControlFormEntity } from "../../helpers/sharepoint";
import { ISiteGroupInfo } from "../../types/sharepoint.types";
import { IGroupInfo, IUserGroupInfo, IUserInfo } from "../../types/sharepoint.utils.types";
/** Get user login name */
export declare function GetUserLoginName(siteUrl?: string): Promise<string>;
/** Get user login name syncronously */
export declare function GetUserLoginNameSync(siteUrl?: string): string;
export declare function GetCurrentUser(siteUrl?: string, options?: {
expandGroups: boolean;
refreshCache?: boolean;
}): Promise<IUserInfo>;
export declare function GetCurrentUserSync(siteUrl?: string, options?: {
/** expand groups only includes SP groups the user is a direct member of. It does not include groups associated through a security group membership, teams or M365 group */
expandGroups: boolean;
}): IUserInfo;
export declare function GetUser(siteUrl?: string, userId?: number, options?: {
/** expand groups only includes SP groups the user is a direct member of. It does not include groups associated through a security group membership, teams or M365 group */
expandGroups: boolean;
}): Promise<IUserInfo>;
export declare function GetUserSync(siteUrl?: string, userId?: number, options?: {
expandGroups: boolean;
}): IUserInfo;
export declare function GetUserByLogin(siteUrl?: string, loginName?: string, options?: {
expandGroups: boolean;
}): Promise<IUserInfo>;
export declare function GetUserByLoginSync(siteUrl?: string, loginName?: string, options?: {
expandGroups: boolean;
}): IUserInfo;
export declare function EnsureUser(siteUrl: string, userLogin: string, options?: {
expandGroups: boolean;
}): Promise<IUserInfo>;
export declare function EnsureUserSync(siteUrl: string, userLogin: string, options?: {
expandGroups: boolean;
}): IUserInfo;
export declare function GetOrEnsureUserByLoginSync(siteUrl: string, key: string, options?: {
expandGroups: boolean;
}): IUserInfo;
export declare function GetSecurityGroupByTitle(siteUrl: string, title: string): Promise<IUserInfo>;
export declare function GetSecurityGroupByTitleSync(siteUrl: string, title: string): IUserInfo;
export declare function GetGroup(siteUrl?: string, groupId?: number, options?: {
expandUsers: boolean;
refreshCache?: boolean;
}): Promise<IGroupInfo>;
export declare function GetGroupSync(siteUrl?: string, groupId?: number, options?: {
expandUsers: boolean;
}): IGroupInfo;
export declare function GetGroupByName(siteUrl: string, groupName: string, options?: {
expandUsers: boolean;
refreshCache?: boolean;
}): Promise<IGroupInfo>;
export declare function GetGroupByNameSync(siteUrl: string, groupName: string, options?: {
expandUsers: boolean;
}): IGroupInfo;
export declare function GetSiteGroups(siteUrl: string, refreshCache?: boolean): Promise<IGroupInfo[]>;
export declare function GetInfoFromSPPeoplePickerControlFormEntity(entity: ISPPeoplePickerControlFormEntity): IUserInfo | IGroupInfo;
export declare function CreateSiteGroup(siteUrl: string, info: {
name: string;
description: string;
}): Promise<ISiteGroupInfo>;
export declare function AddUserToGroup(siteUrl: string, groupId: number, userIdOrLogin: number | string): Promise<void>;
export declare function RemoveUserFromGroup(siteUrl: string, groupId: number, userId: number): Promise<void>;
export declare function SetGroupOwner(siteUrl: string, groupId: number, ownerId: number, ownerIsAGroup?: boolean): Promise<boolean>;
export declare function GroupIncludesAllUsers(siteUrl: string, groupId: number): Promise<boolean>;
/** return array of AAD group IDs, guid, normalized */
export declare function GetCurrentUserADGroupMemberships(siteUrl: string): Promise<string[]>;
/** checks users groups, then checks for groups that contains all users and that the user is not an external one */
export declare function IsUserMemberOfGroup(siteUrl: string, user: {
LoginName: string;
Id: number;
Groups?: IUserGroupInfo[];
}, group: {
Id: number;
LoginName: string;
}): Promise<boolean>;