Skip to main content

util

notification

Використовується для нотифікації користувачів в Email

Параметри

ПараметрТипОпис
templatestringВказується шаблон який буде відправлено
tablestringВказується назва таблиці яка буде використана в шаблоні
idstringВказується ідентифікатор об'єкту з таблиці
fromstringEmail відправника / Або береться з налаштувань
tostring/Array stringПерелік Email кому відправити
titlestringЗаголовок повідомлення
dataobjectДані для використання у шаблоні (якщо не вказано table)
messagestringТекст повідомлення (якщо не вказано template)
filestring/Array stringФайли, що додаються до повідомлення (шлях до файлів)

Приклад

 funcs.notification({
to: email,
template: 'change-password-email-template',
table: 'admin.users',
id: user?.uid,
title: `Recover password ${db.domain}`,
});

sign

euSign

Функція для електронного підпису файлу

Параметри

ПараметрТипОпис
filepathstringШлях до файлу, який потрібно підписати
signPlacestringМісце підпису у документі
debugbooleanПрапорець для режиму налагодження
signNamestringНазва підпису (альтернатива signPlace)
typestringТип підпису, 'internal' або 'external'.
forceS3booleanПрапорець, який вказує на необхідність використання сховища S3

Приклад

  euSign({
filepath: path.join(db.folder, filepath),
type: 'internal',
signPlace: 'status_uservices' });

sign_verify

Перевіряє чи підписано файл

Параметри

ПараметрТипОпис
filepathSignedstringШлях до підписаного файлу, який потрібно перевірити

Приклад

signVerify({ filepathSigned });

util

getSearchVariant

Дозволяє здійснювати транслітерацію для пошуку даних, коли введення відбувається на одній мові, а власне дані - на іншій. Підтримує клавіатурну розкладку: українську, російську, англійську.

Параметри

ПараметрТипОпис
_keystringРядок, який потрібно транслітерувати

Приклад

getSearchVariant({ _key: 'яфйцукенгшщзхъэ.юбьтимсчывапролдж' });

event_stream_f

Створює та управляє потоком подій (event stream) для передачі даних у реальному часі до клієнта через HTTP.

Функція повертає функцію, яка приймає об'єкт res (відповідь сервера) і повертає об'єкт із методами send, event та stop.

Внутрішні функції:

  • send(mes, data): Відправляє повідомлення або дані до клієнта через потік подій.
  • event(name, mes): Генерує подію з заданим ім'ям та повідомленням.
  • stop(e): Зупиняє потік подій та відправляє кінцеве повідомлення, може включати обробку помилок.

Приклад

  const { send, stop } = await funcs.event_stream_f(res);

exec

Функція виконує JavaScript код або команди системи з використанням Node.js child_process модуля та повертає результат виконання. Функція також підтримує кешування виконаних команд за допомогою Redis.

Параметри

ПараметрТипОпис
jsCodestringJavaScript код або команда для виконання
paramsobjectОб'єкт з додатковими параметрами

Приклад

 exec(cmd);
exec('ls -la', { cache: true });

requireNodeModule

Виклик модулів (бібліотек) з ноди

Параметри

ПараметрТипОпис
modulestringНазва модуля/бібліотеки

Приклад

const fse = funcs.requireNodeModule('fs-extra');

translitFunction

Функція повертає рядок, транслітерований з кирилиці на латиницю.

Параметри

ПараметрТипОпис
dataArgsstringДані для транслітерації
checkstringДодатковий параметр для форматування

Приклад

translitFunction('Серце мліло, не хотіло. Співать на чужині...');

mergePdf

Функція призначена для об'єднання декількох PDF файлів в один. Вона використовує модуль pdfMerge для об'єднання файлів та fs-extra для збереження результату.

Параметри

ПараметрТипОпис
pdfStringListArrayМасив рядків у форматі base64, які представляють PDF файли
pathToSaveStringШлях, за яким потрібно зберегти об'єднаний PDF файл
filenameStringНазва для об'єднаного PDF файлу (необов'язковий)
  • У разі успіху, повертає об'єкт з полями filename та filepath.
  • У разі помилки, повертає об'єкт з полями err та status.

Приклад

mergePdf({
pdfStringList: ['base64pdf1', 'base64pdf2'],
pathToSave: '/path/to/save/merged.pdf',
filename: 'merged',
});

request

Функція є обгорткою для відправлення HTTP запитів, використовуючи бібліотеку undici. Вона підтримує кешування відповідей та обробку типів відповідей.

Параметри

ПараметрТипОпис
paramsObjectПараметри запиту (url, method, responseType, та інші)
optObjectДодаткові опції (cache, try).

Приклад

const options = {
url: 'https://api.novaposhta.ua/v2.0/json/AddressGeneral/getSettlements/',
method: 'POST',

responseType: 'json',
body: {
apiKey: "a2b264f4b8221f3b47625008ca62a9cd",
modelName: 'Address',
calledMethod: 'getCities',
methodProperties: {
Ref: id,
Page: "1",
},
},
};

const data = await funcs.request(options, { cache: 1 });

gitList

API повертає інформацію про проект (package, readme, changelog, теги).

Параметри

ПараметрТипОпис
projectStringВказується назва проекту / Якщо не вказано отримуємо інформацію про всі проекти які вказані в конфізі (Необов'язково)
fileStringВказується назва файлу changelog, readme. Отримуємо у форматі html інформацію з цих файлів / Якщо не вказано то отримуємо просто інформацію чи існує цей файл в проекті (true/false) (Необов'язково)

Приклад

/api-user/git-list?project=node&file=changelog,readme

Відповідь

Details
{
"projects": [
{
"name": "node", // Назва проекту
"version": "1.0.0", // Версія
"description": "A packaged foo fooer for fooing foos", // Опис
"homepage": "https://git.softpro.ua/softpro/node/-/blob/main/README.md", // Головна сторінка
"keywords": [ // Ключові слова
"core",
"api",
"node"
],
"man": "./man/doc.1", //
"license": "ISC", // Ліцензія
"author": "Softpro", // Автор
"repository": { // Інофрмація про репозиторій
"type": "git", // Тип
"url": "https://git.softpro.ua/softpro/node" // Посилання
},
"readme": "<h1>Структура</h1>", // Інформація з файлу readme
"changelog": "<p>test</p>\n", // Інформація з файлу changelog
"versionList": [ // Список версій
"1.0.1",
"1.0.2",
"1.0.3",
"1.0.4",
"1.0.5",
"1.0.6",
"1.0.7",
"1.1.0",
"1.1.1",
"1.1.2"
],
"lastVersion": { // Остання версія
"version": "1.1.2", // Версія
"date": "2024-01-11 12:06:18 +0200" // Дата
}
}
],
"status": 200 // Запит успішний
}