Skip to main content

SharePointUserFabric

@spartanfx/react v1.2.2


@spartanfx/react / spfx / SharePointUserFabric

Class: SharePointUserFabric

Utility class for retrieving and caching SharePoint users using PnPjs.

Remarks​

  • Provides cached lookups for SharePoint users to minimize redundant API calls.
  • Supports resolving users by login name, email, or ID.
  • Uses SharePoint’s clientPeoplePickerSearchUser API for email-based lookups.

Examples​

Minimal usage:

const userFabric = new SharePointUserFabric();
const user = await userFabric.getUserByLoginName("i:0#.f|membership|someone@contoso.com");
console.log(user.Title);

Advanced usage (resolving by email with fallback to login name):

const userFabric = new SharePointUserFabric();
const user = await userFabric.getUserByEmail("someone@contoso.com");
if (user) {
console.log(`Resolved user: ${user.Title} (${user.LoginName})`);
}

Constructors​

Constructor​

new SharePointUserFabric(): SharePointUserFabric;

Returns​

SharePointUserFabric

Methods​

getById()​

getById(id): Promise<ISiteUserInfo>;

Retrieves a user by their SharePoint user ID.

Parameters​

id​

number

The numeric SharePoint user ID.

Returns​

Promise<ISiteUserInfo>

The resolved ISiteUserInfo or null if no ID is provided.

Example​

const user = await userFabric.getById(7);
console.log(user.Title);

getUserByEmail()​

getUserByEmail(email): Promise<ISiteUserInfo>;

Retrieves a user by their email address.

Parameters​

email​

string

The user’s email address.

Returns​

Promise<ISiteUserInfo>

The resolved ISiteUserInfo or null if no email is provided or user not found.

Remarks​

Example​

const user = await userFabric.getUserByEmail("someone@contoso.com");

getUserByLoginName()​

getUserByLoginName(loginName): Promise<ISiteUserInfo>;

Retrieves a user by their SharePoint login name.

Parameters​

loginName​

string

The login name (e.g. i:0#.f|membership|user@contoso.com).

Returns​

Promise<ISiteUserInfo>

The resolved ISiteUserInfo or undefined if no login name is provided.

Example​

const user = await userFabric.getUserByLoginName("i:0#.f|membership|someone@contoso.com");