Через этот интерфейс можно работать с внешним порталом в разделе.

Hierarchy

  • Portal

Properties

Readonly namespace

namespace: string

Код раздела, в рамках которого создан портал.

Readonly profiles

Управление профилями пользователей.

Readonly published

published: boolean

Опубликован ли портал. После публикации портал становится доступен внешним пользователям.

Methods

addProfile Deprecated

  • Deprecated

    Метод устарел. Предоставить для указанного профиля доступ в портал.

    Пример использования:

    const user = await System.users.search().first();
    if (user) {
        const profile = await Namespace.portal.profiles.getByUser(user);
        if (profile) {
            await Namespace.portal.addProfile(profile);
        }
    }
    

    Используйте метод grantAccess().

    Parameters

    Returns Promise<void>

addUser

  • Создать пользователя портала.

    Метод создает нового пользователя портала по существующему профилю со статусом Приглашен.

    На данный момент профиль может находится только в системной коллекции Внешние пользователи (_user_profiles).

    Метод генерирует ошибки:

    — с кодом 400, если переданный профиль не является элементом коллекции Внешние пользователи;

    — с кодом 409, если уже существует пользователь с указанным email или настройками OAuth2-авторизации;

    — c кодом 412, если отсутствуют доступные лицензии портала;

    — с кодом 500 во всех остальных случаях.

    Parameters

    Returns Promise<UserItem>

addUserWithoutConfirmation

  • Добавить пользователя портала по существующему профилю с OAuth2-авторизацией.

    Внимание: после создания пользователя реквизиты для авторизации по OAuth2 нельзя будет изменить.

    Метод создает нового пользователя портала по профилю и добавляет пользователю реквизиты для авторизации по OAuth2. На данный момент профиль может находится только в системной коллекции Внешние пользователи (_user_profiles). Метод генерирует ошибки:

    — с кодом 400, если не переданы параметры для авторизации по OAuth2 или переданный профиль не является элементом коллекции Внешние пользователи;

    — с кодом 409, если уже существует пользователь с указанным email или настройками OAuth2-авторизации;

    — c кодом 412, если отсутствуют доступные лицензии портала;

    — с кодом 500 во всех остальных случаях.

    Parameters

    Returns Promise<void>

denyAccess

  • Запретить для указанного профиля доступ в портал.

    Пример использования:

    const user = await System.users.search().first();
    if (user) {
        const profile = await Namespace.portal.profiles.getByUser(user);
        if (profile) {
            await Namespace.portal.denyAccess(profile);
        }
    }
    

    Parameters

    Returns Promise<void>

generateELMAAppUrl

  • generateELMAAppUrl(withAuthToken?: undefined | false | true): Promise<string>
  • Сгенерировать ссылку в портал для мобильного приложения или приложения для ПК.

    Если в параметр withAuthToken передано значение true, в сгенерированную ссылку будет включен короткоживущий токен аутентификации для текущего пользователя, который позволяет автоматически (без дополнительной процедуры аутентификации) войти в целевой портал.

    Метод доступен только в клиентских скриптах.

    Пример использования:

    const ELMAAppUrl = await Namespace.portal.generateELMAAppUrl();
    

    Parameters

    • Optional withAuthToken: undefined | false | true

    Returns Promise<string>

getPages

  • Получить список страниц портала для текущего раздела.

    Пример использования:

    const pages = await Namespace.portal.getPages();
    

    Returns Promise<PortalPageInfo[]>

getSettings

  • Получить настройки портала.

    Пример использования:

    const settings = await Namespace.portal.getSettings();
    

    Returns Promise<PortalSettings>

grantAccess

  • Предоставить для указанного профиля доступ в портал.

    Пример использования:

    const user = await System.users.search().first();
    if (user) {
        const profile = await Namespace.portal.profiles.getByUser(user);
        if (profile) {
            await Namespace.portal.grantAccess(profile);
        }
    }
    

    Parameters

    Returns Promise<void>

removeProfile Deprecated

  • Deprecated

    Метод устарел. Запретить для указанного профиля доступ в портал.

    Пример использования:

    const user = await System.users.search().first();
    if (user) {
        const profile = await Namespace.portal.profiles.getByUser(user);
        if (profile) {
            await Namespace.portal.removeProfile(profile);
        }
    }
    

    Используйте метод denyAccess().

    Parameters

    Returns Promise<void>

setPortalUserAsInternal

  • setPortalUserAsInternal(portalUser: UserItemRef, _unsafe_ignore_oauth?: undefined | false | true): Promise<void>
  • Сделать пользователя портала внутренним пользователем системы.

    Пример использования:

    const portalUser = await Namespace.portal.profiles.getUser(profile);
    await Namespace.portal.setPortalUserAsInternal(portalUser);
    

    Parameters

    • portalUser: UserItemRef
    • Optional _unsafe_ignore_oauth: undefined | false | true

    Returns Promise<void>

signupUrl

  • Получить ссылку для регистрации внешнего пользователя.

    Сформировать ссылку для регистрации с подтверждением контактных данных можно следующим образом:

    if (Context.data.user_profile) {
        const inviteUrl = await Namespace.portal.signupUrl(Context.data.user_profile);
    }
    

    Для формирования ссылки без подтверждения контактных данных для передачи ее доверенному лицу необходимо передать параметр withSign:

    if (Context.data.user_profile) {
        const inviteUrl = await Namespace.portal.signupUrl(Context.data.user_profile, {
            withSign: true
        });
    }
    

    Если требуется обновить ранее сформированную ссылку, необходимо передать параметр refresh:

    if (Context.data.user_profile) {
        const inviteUrl = await Namespace.portal.signupUrl(Context.data.user_profile, {
            refresh: true,
        });
    }
    

    Type parameters

    Parameters

    Returns Promise<string>