Hierarchy
- Portal
Properties
Readonly namespace
Код раздела, в рамках которого создан портал.
Readonly profiles
Управление профилями пользователей.
Readonly published
Опубликован ли портал. После публикации портал становится доступен внешним пользователям.
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); } }
Parameters
-
portalUserProfile: ApplicationItemRef<ItemData, ItemData>
Returns Promise<void>
-
addUser
-
Создать пользователя портала.
Метод создает нового пользователя портала по существующему профилю со статусом Приглашен.
На данный момент профиль может находится только в системной коллекции Внешние пользователи (
_user_profiles
).Метод генерирует ошибки:
— с кодом 400, если переданный профиль не является элементом коллекции Внешние пользователи;
— с кодом 409, если уже существует пользователь с указанным email или настройками OAuth2-авторизации;
— c кодом 412, если отсутствуют доступные лицензии портала;
— с кодом 500 во всех остальных случаях.
Parameters
-
portalUserProfile: ApplicationItemRef<UserProfileItemData, ItemData>
Returns Promise<UserItem>
-
addUserWithoutConfirmation
-
Добавить пользователя портала по существующему профилю с OAuth2-авторизацией.
Внимание: после создания пользователя реквизиты для авторизации по OAuth2 нельзя будет изменить.
Метод создает нового пользователя портала по профилю и добавляет пользователю реквизиты для авторизации по OAuth2. На данный момент профиль может находится только в системной коллекции Внешние пользователи (_user_profiles). Метод генерирует ошибки:
— с кодом 400, если не переданы параметры для авторизации по OAuth2 или переданный профиль не является элементом коллекции Внешние пользователи;
— с кодом 409, если уже существует пользователь с указанным email или настройками OAuth2-авторизации;
— c кодом 412, если отсутствуют доступные лицензии портала;
— с кодом 500 во всех остальных случаях.
Parameters
-
portalUserProfile: ApplicationItemRef<ItemData, ItemData>
-
auth: AuthData
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
-
portalUserProfile: ApplicationItemRef<ItemData, ItemData>
Returns Promise<void>
-
generateELMAAppUrl
-
Сгенерировать ссылку в портал для мобильного приложения или приложения для ПК.
Если в параметр
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
-
portalUserProfile: ApplicationItemRef<ItemData, ItemData>
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); } }
Parameters
-
portalUserProfile: ApplicationItemRef<ItemData, ItemData>
Returns Promise<void>
-
setPortalUserAsInternal
-
Сделать пользователя портала внутренним пользователем системы.
Пример использования:
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
-
item: TApplication<D, P, S>
-
Optional params: SignupUrlParams
Returns Promise<string>
-
Внешний портал
Через этот интерфейс можно работать с внешним порталом в разделе.