@rocket.chat/apps-engine
Version:
The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.
52 lines (51 loc) • 1.4 kB
TypeScript
import type { RocketChatAssociationModel } from '../metadata';
import type { IUser, IUserEmail } from '../users';
/**
* Interface for creating a user.
* Please note, a username and email provided must be unique else you will NOT
* be able to successfully save the user object.
*/
export interface IUserBuilder {
kind: RocketChatAssociationModel.USER;
/**
* Provides a convient way to set the data for the user.
* Note: Providing an "id" field here will be ignored.
*
* @param user the user data to set
*/
setData(user: Partial<IUser>): IUserBuilder;
/**
* Sets emails of the user
*
* @param emails the array of email addresses of the user
*/
setEmails(emails: Array<IUserEmail>): IUserBuilder;
/**
* Gets emails of the user
*/
getEmails(): Array<IUserEmail>;
/**
* Sets the display name of this user.
*
* @param name the display name of the user
*/
setDisplayName(name: string): IUserBuilder;
/**
* Gets the display name of this user.
*/
getDisplayName(): string;
/**
* Sets the username for the user
*
* @param username username of the user
*/
setUsername(username: string): IUserBuilder;
/**
* Gets the username of this user
*/
getUsername(): string;
/**
* Gets the user
*/
getUser(): Partial<IUser>;
}