UNPKG

@rocket.chat/apps-engine

Version:

The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.

46 lines (45 loc) 1.9 kB
import type { SettingType } from './SettingType'; export interface ISetting { /** The id of this setting. */ id: string; /** Type of setting this is. */ type: SettingType; /** What is the default value (allows a reset button). */ packageValue: any; /** Will be the value of this setting. If nothing is set here, then the "packageValue" will be used. */ /** * If the setting type is ROOM_PICK, the value will be an array of room ids. * @returns ```js * [{_id: 'rid1'}, {_id: 'rid2'}] * ``` */ value?: any; /** Whether this setting is required or not. */ required: boolean; /** Whether this setting is a public setting or not - administrators can see ones which are not public but users can't. */ public: boolean; /** Whether this setting should be hidden from the user/administrator's eyes (can't be hidden and required). */ hidden?: boolean; /** The selectable values when the setting's type is "select" or "multiSelect". */ values?: Array<ISettingSelectValue>; /** Whether the **string** type is several lines or just one line. */ multiline?: boolean; /** The name of the section where to put this setting under. */ section?: string; /** Name of the setting in the form of a i18n string. */ i18nLabel: string; /** Description of the setting in the form of a i18n string. */ i18nDescription?: string; /** An optional alert messages which is shown to the user on this setting. */ i18nAlert?: string; /** An optional placeholder which will be shown in the form input field, should be an i18n string. */ i18nPlaceholder?: string; /** Date in which this setting was created. */ createdAt?: Date; /** The last time the setting was updated at. */ updatedAt?: Date; } export interface ISettingSelectValue { key: string; i18nLabel: string; }