coopdoc-generator-ts
TypeScript icon, indicating that this package has built-in type declarations

2.1.8 • Public • Published

Кооперативный генератор документов

[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![bundle][bundle-src]][bundle-href] [![JSDocs][jsdocs-src]][jsdocs-href] [![License][license-src]][license-href]

Обзор

Данная библиотека предназначена для кооперативов, которые используют блокчейн EOSIO для хранения шаблонов документов и реализуют систему цифровой подписи на основе EOSIO. Шаблоны документов и соответствующие переводы хранятся в блокчейне, в то время как приватные данные для заполнения шаблонов находятся в закрытом хранилище кооператива. Библиотека позволяет генерировать документы, автоматически заполняя их данными из хранилища и подписывая при помощи приватного ключа.

Функциональность

Библиотека предоставляет следующие основные возможности:

  • Генерация метаданных для документов на основе предопределенных шаблонов.
  • Конструирование данных для документов, используя JSON Schema, загружаемую из блокчейна.
  • Получение шаблонов документов и переводов из блокчейна.
  • Рендеринг документов для создания цифровой версии в формате doc и gdoc.
  • Подпись сгенерированных документов с использованием приватных ключей EOSIO.

Процесс генерации документов

Получение шаблона и схемы из блокчейна: Шаблоны и схемы загружаются из блокчейна. Шаблоны включают в себя как структуру самого документа, так и переводы элементов документа на разные языки.

Конструирование данных: Фабрика шаблонов использует JSON Schema для определения структуры данных, необходимых для каждого шаблона. Приватные данные загружаются из хранилища кооператива и используются для заполнения шаблонов.

Рендеринг шаблона: Используя загруженные данные и шаблон, библиотека рендерит окончательный документ. Этот этап включает подстановку реальных данных пользователя и кооператива в шаблон.

Подпись документа: Сгенерированный документ подписывается с использованием приватного ключа EOSIO.

Верификация документа: При необходимости, сгенерированные и подписанные документы могут быть верифицированы для подтверждения их подлинности.

Подготовка к использованию

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

  • Ваше приложение должно взаимодействовать с блокчейном EOSIO для получения шаблонов и схем.
  • У кооператива должно быть настроено приватное хранилище для доступа к личным данным.
  • Необходим модуль для работы с JSON Schema, например, json-schema для Node.js.
  • Вам потребуется EOSJS для подписи документов.

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

Пример реализации фабрики для генерации документа типа joincoop из файла documents/joincoop.ts:

const joinCoopFactory = new JoinCoopTemplateFactory()
joinCoopFactory.getComplexTemplate()
  .then((template) => {
    const options = {
      username: 'user1',
      lang: 'en',
      action: 'joincoop'
    }

    const generator = new GeneratorJSImpl()
    return generator.generate(options)
  })
  .then((document) => {
    // Работа с сгенерированным и подписанным документом
  })
  .catch((error) => {
    console.log(error)
    // Обработка ошибок
  })

Расширение и модификация

Библиотека построена с учетом возможности расширения и модификации. Для добавления новых типов документов реализуйте свои фабрики, соответствующие интерфейсу IDocumentTemplateFactory, и регистрируйте их в главном классе библиотеки.

Поддержка и вклад

Если у вас есть вопросы, предложения или вы хотите внести вклад в проект, пожалуйста, свяжитесь с технической поддержкой или откройте issue в системе управления проектами.

Таблица документов

Здесь соберём таблицу имен и шаблонов типизированных документов.

Лицензия

MIT License © 2024-PRESENT Alex Ant

Версия документации: 1.0.0

Readme

Keywords

none

Package Sidebar

Install

npm i coopdoc-generator-ts

Weekly Downloads

4

Version

2.1.8

License

MIT

Unpacked Size

963 kB

Total Files

8

Last publish

Collaborators

  • sysarch