Ролевое приложение (roleapp)

Описание

Дескриптор веб-приложения, которое устанавливается администратором в домен системы «Era» и доступно для пользователей домена через веб-интерфейс. Пользователи, которым доступно приложение, определяются пересечением ролей, назначенных пользователю и в дескрипторе ролевого приложения.

Само веб-приложение создается отдельно для решения конкретной бизнес-задачи, затем упаковывается в архив. К созданному дескриптору прикрепляется архив (закачивается через API).

Приложение может использовать API системы для решения своих задач. Приложению доступны те REST API-endpoints, которые позволены по IAM текущему залогиненному пользователю. Также приложению доступно API по URL "/exec" для выполнения пользовательских методов, реализованных на проектном уровне (запуск служебного сценария ролевого приложения).

Ограничения

  • Коллекция доступна в любом домене.

Поля

Структура сущности
{
  "id": uuid,
  "title": str,
  "archive": {
    "_links": {
      "self": {
        "href": str
      }
    }
  },
  "folder": str,
  "roles": array<str>,
  "svcscriptcode": str,
  "opts": {
    "title": str,
    "comment": str,
    "recv_timeout": int,
    "visible": bool,
    "attachment_info": object
  },
  "ext": {
    "ct": date,
    "lwt": date
  }
}
Table 1. Поля
Спецификация Описание

Поле: id
Режим: inout
Тип: uuid
По умолчанию: generated

Идентификатор. Может быть задан при создании, иначе генерируется системой.

Поле: title
Режим: in
Тип: str
По умолчанию: empty

Отображаемое название приложения в корневом менеджере веб-приложений.

Поле: folder
Режим: in
Тип: str
По умолчанию: required

Папка установки ролевого приложения.
Приложение

Поле: archive
Режим: out
Тип: object
По умолчанию: generated

Константная ссылка на URL файла архива.
{"_links": {"self": {"href": "/rest/v1/domain/roleapps/<id>/attachment"}}}
Вместо <id> подставляется идентификатор данного объекта.

Поле: roles
Режим: in
Тип: array<str>
По умолчанию: empty

Список пользовательских ролей, которым доступно приложение.

Поле: svcscriptcode
Режим: in
Тип: str
По умолчанию: empty

Код служебного сценария, запускаемого для обработки поступающих HTTP-запросов из приложения на страницу /exec.

Поле: opts
Режим: in
Тип: object
Составное поле

Поле: opts.title
Режим: in
Тип: str
По умолчанию: empty

Произвольный заголовок

Поле: opts.comment
Режим: in
Тип: str
По умолчанию: empty

Произвольный комментарий

Поле: opts.recv_timeout
Режим: in
Тип: int
По умолчанию: 0

Максимальное время исполнения сценария svcscript в секундах. 0 означает, что будет применено значение, определённое веб-сервером (10 сек.). Максимально допустимое значение - 60 сек.

Поле: opts.visible
Режим: in
Тип: bool
По умолчанию: true

Признак видимости ролевого приложения в корневом приложении у пользователей

Поле: opts.attachment_info
Режим: out
Тип: object
По умолчанию: empty

Метаданные файла вложения

Поле: ext
Режим: inout
Тип: object
Составное поле

Позволяет расширять состав произвольными ключами и значениями

Поле: ext.ct
Режим: out
Тип: date
По умолчанию: generated

Время создания объекта

Поле: ext.lwt
Режим: out
Тип: date
По умолчанию: generated

Время последней модификации объекта

См. также

Логические роли

  • mware управляет переносом корректно загруженных приложений на веб-сервер.

  • ws хостит приложения и обеспечивает API интерфейс для них, включая авторизацию.