Type parameters
Hierarchy
- BaseItem<EntitySign>
-
ItemRef<EntitySignItem>
- EntitySignItem
Properties
Readonly code
Код приложения цели ссылки (код приложения).
Readonly data
Значения полей объекта.
Readonly fields
Описание полей объекта.
Readonly id
Идентификатор цели ссылки.
Readonly namespace
Пространство имен цели ссылки (код раздела приложения).
Methods
createAttributesFile
-
Метод создает файл из подписанных атрибутов элемента приложения.
Возвращает значения атрибутов, которые были подписаны, в виде файла.
В примере выполняется извлечение всех подписей атрибутов у элемента приложения:
// Идентификатор подписи хранится в контексте const signId = Context.data.signId; if (!signId) { throw new Error('Идентификатор подписи не найден'); } // Поиск подписи по идентификатору const sign = await System.signs.entitySigns.search().where(q => q.__id.eq(signId)).first(); if(!sign) { throw new Error('Подпись не найдена'); } // Запрос на получение файлов подписей const awaitSigns = sign.signs.map(signData => signData.createAttributesFile()); // Ожидание завершения запросов Context.data.signFiles = await Promise.all(awaitSigns);
Returns Promise<FileItem | undefined>
Файл с атрибутами элемента приложения, которые были подписаны.
createSignFile
-
Метод генерирует файл с подписью.
Возвращает файл с содержимым подписи. Используется для получения тела подписи в виде файла.
В примере выполняется извлечение всех подписей файлов у элемента приложения:
// Идентификатор подписи хранится в контексте const signId = Context.data.signId; if (!signId) { throw new Error('Идентификатор подписи не найден'); } // Поиск подписи по идентификатору const sign = await System.signs.entitySigns.search().where(q => q.__id.eq(signId)).first(); if(!sign) { throw new Error('Подпись не найдена'); } // Запрос на получение файлов подписей const awaitSigns = sign.signs.map(signData => signData.createSignFile()); // Ожидание завершения запросов Context.data.signFiles = await Promise.all(awaitSigns);
Returns Promise<FileItem>
Файл с подписью.
fetch
-
Запрос полных данных объекта-ссылки.
Returns Promise<EntitySignItem>
getDetails
-
Метод получает детальную информацию о подписи.
Возвращает подробную информацию о подписи и публичном ключе, с помощью которого она вычислена. Из публичного ключа извлекаются атрибуты выдавшего и получившего сертификат, а также даты действия, название и номер публичного ключа. Атрибуты именуются в соответствии с RFC 2253, однако атрибуты, не входящие в список стандартных CertNames, не кодируются в формат hex.
В примере извлекается детальная информация о подписи для сохранения серийного номера сертификата в контекст процесса:
// Идентификатор подписи хранится в контексте const signId = Context.data.signId; if (!signId) { throw new Error('Идентификатор подписи не найден'); } // Поиск подписи по идентификатору const sign = await System.signs.entitySigns.search().where(q => q.__id.eq(signId)).first(); if(!sign) { throw new Error('Подпись не найдена'); } // Извлечение последней подписи из истории const lastSign = sign.signs[0]; if (!lastSign) { throw new Error('Необходима подпись для извлечения детальной информации'); } // Извлечение деталей подписи const signDetails = await lastSign.getDetails(); // Сохранение серийного номера сертификата в контекст Context.data.certificateId = signDetails.certSerialNumber;
Returns Promise<SignDetails>
Детальная информация о подписи.
normalize
-
Удаление дублирующихся данных в массивах.
Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).
Этот метод, например, можно вызвать после массового изменения данных в объекте.
const app1 = await Context.data.app1.fetch(); const app2 = await Context.data.app2.fetch(); app1.data.executors.push(app2.data.executors); app1.normalize(); // Далее перебираем элементы нового массива app1.data.executors.forEach( ... );
Returns void
setComment
-
Метод добавляет комментарий к подписи.
После подписания элемента с помощью внешнего провайдера можно сохранить результат операции как черновик подписи. Комментарий добавляется в виде строки.
В примере комментарий сохраняется в черновик после подписания у внешнего провайдера:
// Извлечение идентификатора подписи для черновика const draftSignId = Context.data.draftSignId; if (!draftSignId) { throw new Error('Необходим идентификатор подписи'); } // Поиск подписи по идентификатору const entitySign = await System.signs.entitySigns.search().where(f => f.__id.eq(draftSignId)).first(); // Загрузка содержимого в черновик подписи let comment = "some comment"; await entitySign.setComment(comment);
Parameters
-
comment: string
Комментарий при подписании или отказе от подписи.
Returns Promise<void>
-
setStatus
-
Метод позволяет установить статус заявки подписи элемента приложения.
С помощью данного метода можно сменить статус заявки. В метод передается новый статус.
const entitySign = await System.signs.entitySigns.search().where(f => f.__id.eq('<some id>')).first(); // `getEntitySignStatus` — внутренняя функция для получения статуса, который необходимо установить // для заявки подписи элемента приложения const status = getEntitySignStatus(); await entitySign.setStatus(status);
Parameters
-
status: EntitySignOperationStatus
Новый статус заявки.
Returns Promise<void>
-
uploadSign
-
Метод загружает содержимое подписи.
После подписания элемента с помощью внешнего провайдера можно сохранить результат операции как черновик подписи. Подпись загружается в виде файла, полученного в результате подписания.
В примере подпись сохраняется в черновик после подписания у внешнего провайдера:
// Извлечение идентификатора подписи для черновика const draftSignId = Context.data.draftSignId; if (!draftSignId) { throw new Error('Необходим идентификатор подписи'); } // Поиск подписи по идентификатору const entitySign = await System.signs.entitySigns.search().where(f => f.__id.eq(draftSignId)).first(); // Извлечение подписи, полученной через внешнего провайдера, функция `getSignContentFromExternalProvider` вызывается для примера const sign = await getSignContentFromExternalProvider(); // Загрузка содержимого в черновик подписи await entitySign.uploadSign(sign);
Parameters
-
sign: ArrayBuffer
Содержимое файла подписи.
Returns Promise<void>
-
Подпись
Хранит информацию о подписании элемента приложения. Содержит в себе методы создания файла с телом подписи и атрибутами, а также метод для получения детальной инфомации о подписи.