Skip to main content

table

htmlFormat()

Конвертує файл у інший формат.

Параметри

ПараметрОпис
idУнікальний ідентифікатор об'єкта, для якого потрібно згенерувати HTML.
tableНазва таблиці в базі даних, з якої потрібно отримати метадані.
templateНазва шаблону, який буде використовуватися для генерації HTML.
jsonЛогічний параметр, який визначає, чи потрібно повертати результат у форматі JSON.
wrapПараметр для управління обгортанням результату.
columnsСписок колонок, які потрібно включити в результат.
queryОб'єкт запиту, який може містити додаткові параметри.
langМова, яка буде використовуватися для локалізації виводу.
objОб'єкт даних, якщо він вже існує, щоб уникнути додаткового запиту до БД.
dataINВхідні дані, якщо необхідно використовувати дані, які не зберігаються в БД.
pkОсновний ключ таблиці, якщо він відрізняється від стандартного.
userІнформація про користувача, яка може бути включена в HTML.
sqlЛогічний параметр, який визначає, чи повертати сформований SQL запит замість HTML.
sidІдентифікатор сесії користувача.
adminUrlURL-адреса адміністративного інтерфейсу, яка може бути включена в HTML.

Приклад

htmlFormat({ template, id: row.appeal_id, table: 'appeals.appeals' });

autoIndex

Функція autoIndex призначена для автоматичного створення індексів у базі даних на основі заданих фільтрів. Вона використовує клієнт PostgreSQL та Redis для управління індексами.

Функція не повертає значення. Вона виконує операції над базою даних.

Параметри

ПараметрТипОпис
tableStringНазва таблиці в базі даних
filterArrayМасив фільтрів, на основі яких створюються індекси
dbObjectОб'єкт для взаємодії з базою даних (необов'язковий)
pgObjectОб'єкт для взаємодії з PostgreSQL (необов'язковий)

Приклад

await autoIndex({
table: el.table, filter: columns, pg: pg1,
});

getFilterCode

Функція призначена для отримання кодів чи значень за вказаним типом із Redis. Якщо необхідні значення відсутні у кеші, вони динамічно генеруються та додаються.

Функція повертає об'єкт, де ключами є запитані коди, а значеннями є результати з Redis або динамічно генеровані значення.

Параметри

ПараметрТипОпис
typeStringТип коду або значення, яке потрібно отримати
codesArray String/StringМасив фільтрів, на основі яких створюються індекси

Приклад

getFilterCode({ type: 'attr', codes: opt.data });

obj2db

Функція перетворює JavaScript об'єкт на формат, придатний для вставки або оновлення в базу даних, з врахуванням специфічних правил обробки деяких типів даних, включно з геометричними типами.

Функція повертає об'єкт, де ключі відповідають полям бази даних, а значення - це відповідні дані, вже приведені до формату, який можна використовувати в SQL запитах.

Параметри

ПараметрТипОпис
objObjectОб'єкт, який потрібно перетворити для вставки в базу даних
geomsArrayМасив назв полів, які мають бути оброблені як геометрія

Приклад

obj2db(row);

getFilterSQL

Функція створена для генерації SQL запитів на основі фільтрів, параметрів та інформації про таблицю, зокрема для побудови оптимізованих запитів у системах з великими об'ємами даних.

  • У разі успіху, функція повертає SQL запит або пов'язану з ним інформацію.
  • У разі помилки, викидає виключення.

Параметри

ПараметрТипОпис
filterStringРядок фільтру для SQL запиту
optObjectДодаткові параметри, які включають ім'я таблиці та інше

Приклад

getFilterSQL(query.filter, opt._table || opt.table);

filterList

Функція призначена для створення списку фільтрів для заданої таблиці. Вона використовує різні допоміжні функції та сервіси для генерації цих фільтрів та їх кешування.

  • Список фільтрів у форматі, який підходить для використання в інтерфейсі.
  • У разі помилки або відсутності фільтрів, може повернути порожній масив або повідомлення про помилку.

Параметри

ПараметрТипОпис
tableStringНазва таблиці для якої потрібно створити список фільтрів.
optObjectОб'єкт з додатковими опціями та налаштуваннями.
nocacheOriginalBooleanІндикатор, що вказує на необхідність ігнорування кешу.
langStringЛокалізація для фільтрів.
fullBooleanЯкщо true, отримує повний список фільтрів.
listArrayСписок додаткових фільтрів.
sqlStringІндикатор SQL-режиму для спеціальної обробки.
filterList({
table, opt, nocache, lang, sql: query.sql,
});

meta

Функція призначена для створення метаданих для заданої таблиці. Повертає об'єкт метаданих для вказаної таблиці.

Параметри

ПараметрТипОпис
tableStringНазва таблиці, для якої потрібно отримати метадані
nocacheBooleanЯкщо true, ігнорує кешовані дані та виконує новий запит
fullBooleanЯкщо true, отримує повний набір метаданих
statBooleanЯкщо true, включає статистичні дані в метадані
pgObjectОб'єкт для взаємодії з PostgreSQL базою даних

Приклад

meta({ table: 'bi.dashboard' });

formatFilter

Параметри

ПараметрТипОпис
filterListStringМасив об'єктів, які представляють фільтри
tableStringНазва таблиці
langStringМова для локалізації (за замовчуванням 'ua')
queryStringДодатковий запит чи параметри запиту
nocacheBooleanЯкщо true, ігнорує кешовані дані та виконує новий запит

Приклад

formatFilter({table, query, nocache, filterList, lang})

table_exist

Функція перевіряє чи існує таблиця

Параметри

ПараметрТипОпис
tableStringНазва таблиці

Приклад

table_exist('table')

createSelect

Ця функція призначена для створення селекту і включає в себе обробку кешування та автоматичного оновлення.

Параметри

ПараметрОпис
dbОб'єкт бази даних для доступу до даних.
rclientКлієнт Redis для взаємодії з кешем.
loggerУтиліта для логування подій та помилок.
funcsНабір допоміжних функцій.
_keyУнікальний ключ для ідентифікації даних у кеші.
CLSКлас або категорія, до якої належить запит.
_NAMEНазва для визначення метаданих запиту.
hashХеш для унікального ідентифікатора сесії або запиту.
idІдентифікатор для оновлення або отримання конкретного рядка даних.
opОперація, яку потрібно виконати (наприклад, 'delete', 'insert').
langМова для локалізації запиту.
parentБатьківський елемент або категорія для запиту.
uidІдентифікатор користувача.
reloadПараметр для перезавантаження або оновлення даних.
pkГоловний ключ для пошуку даних.
refererРеферер запиту.
ipIP-адреса користувача, який робить запит.
tableНазва таблиці, з якої потрібно отримати дані.

Приклад

funcs.createSelect({
_NAME,
hash,
_key,
lang: _LANG,
reload: query.reload,
parent: query.parent,
parent2: query.parent2,
referer: headers.referer || '',
ip,
});

getSelect

Отримує дані селекту

Параметри

ПараметрТипОпис
defNameStringНазва селекту за замовчуванням для отримання даних з таблички
paramObjectОб'єкт з додатковими параметрами:
Stringoption - Об'єкт з додатковими параметрами
Stringlang - Об'єкт з додатковими параметрами
Stringuid - Ідентифікатор користувача
Objectquery - Об'єкт, який містить дані запиту, включаючи SQL для перевірки виходу з програми та повернення SQL-запиту
Anyreload - Перезавантаження Redis
Array/Stringval - Масив чи рядок для фільтрації
Array/Stringcolor - Використовується для класифікації
Anyjson - Повертає дані у форматі JSON
Anysession - Сесія

Приклад

const cls = await funcs.getSelect(select, {val: [el.old, el.new],});

metaFormat

Ця функція використовується для форматування метаданих таблиці, особливо для колонок типу "select" та "html".

Параметри

ПараметрТипОпис
funcsObjectОб'єкт, що містить необхідні функції
dbObjectОб'єкт бази даних
rowsArrayМасив рядків, які потрібно форматувати.
tableStringНазва таблиці, для якої виконується форматування
suffixBooleanПараметр, який вказує, чи додавати суфікс "__text" до назв колонки
noskipBooleanПараметр, який вказує, чи пропускати порожні значення
clsObjectОб'єкт, що містить дані для формування селектів
langStringМова для вибору селектів
mapFuncFunctionФункція для власного мапінгу колонок

Приклад

const cls = await funcs.metaFormat({
rows,
table,
funcs,
mapFunc: (r) => ({ name: r.title || r.name, cls: r.select }),
});

getFileTemplate

Ця функція використовується для отримання шаблону або з файлу, або з бази даних.

Параметри

ПараметрТипОпис
typeStringТип шаблону: table, form, pt
nameStringНазва або ідентифікатор шаблону
sidNumberОпціонально. 1 - публічна частина, 35 - адміністративна частина
wrapStringОпціонально. Назва обгорткового шаблону
tableStringОпціонально. Назва таблиці для шаблонів форми
const body = await funcs.getFileTemplate({ name: id, type: 'dashboard' });