UNPKG

@inweb/client

Version:

JavaScript REST API client for the Open Cloud Server

69 lines (68 loc) 2.11 kB
/** * Defines brief user information. */ export interface IShortUserDesc { /** * Unique user ID. */ userId: string; /** * User name. */ userName: string; /** * First name. */ name: string; /** * Last name. */ lastName: string; /** * User email. */ email: string; /** * User avatar image URL or empty string if the user does not have an avatar. * * This URL does not change when the underlying image content is updated. Because of this, browsers may * cache the image, which can prevent the avatar from updating visually in web applications (such as * React, Angular, etc.). * * To avoid caching issues, append a dynamic query parameter to the URL, such as the users's * {@link lastModified | last modification date}. Since this date changes whenever the avatar is * updated, the browser will correctly reload the new image when required. * * @example Usage in a React component * * ```js * function UserAvatar({ user }) { * // 'lastModified' is a timestamp representing when the user was last modified. * const cacheBuster = user.lastModified; * * // Use a default image if the user does not have an avatar * const imageSrc = user.avatarUrl * ? `${user.avatarUrl}?t=${cacheBuster}` * : "/assets/default-avatar.png"; * * return <img src={imageSrc} alt="User avatar" />; * } * ``` */ avatarUrl: string; /** * User last update time (UTC) in the format specified in * {@link https://www.wikipedia.org/wiki/ISO_8601 | ISO 8601}. */ lastModified: string; /** * User full name. Contains the user's first and last name. If first name and last names are empty, * contains the user name. */ fullName: string; /** * User initials. Contains a first letters of the user's first and last names. If first name and last * names are empty, contains the first letter of the user name. */ initials: string; }