UNPKG

@inweb/client

Version:

JavaScript REST API client for the Open Cloud Server

100 lines (90 loc) 3.22 kB
/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2026, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a // license agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2026 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// /** * 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; }