table
htmlFormat()
Конвертує файл у інший формат.
Параметри
Параметр | Опис |
---|---|
id | Унікальний ідентифікатор об'єкта, для якого потрібно згенерувати HTML. |
table | Назва таблиці в базі даних, з якої потрібно отримати метадані. |
template | Назва шаблону, який буде використовуватися для генерації HTML. |
json | Логічний параметр, який визначає, чи потрібно повертати результат у форматі JSON. |
wrap | Параметр для управління обгортанням результату. |
columns | Список колонок, які потрібно включити в результат. |
query | Об'єкт запиту, який може містити додаткові параметри. |
lang | Мова, яка буде використовуватися для локалізації виводу. |
obj | Об'єкт даних, якщо він вже існує, щоб уникнути додаткового запиту до БД. |
dataIN | Вхідні дані, якщо необхідно використовувати дані, які не зберігаються в БД. |
pk | Основний ключ таблиці, якщо він відрізняється від стандартного. |
user | Інформація про користувача, яка може бути включена в HTML. |
sql | Логічний параметр, який визначає, чи повертати сформований SQL запит замість HTML. |
sid | Ідентифікатор сесії користувача. |
adminUrl | URL-адреса адміністративного інтерфейсу, яка може бути включена в HTML. |
Приклад
htmlFormat({ template, id: row.appeal_id, table: 'appeals.appeals' });
autoIndex
Функція autoIndex
призначена для автоматичного створення індексів у базі даних на основі заданих фільтрів. Вона використовує клієнт PostgreSQL та Redis для управління індексами.
Функція не повертає значення. Вона виконує операції над базою даних.
Параметри
Параметр | Тип | Опис |
---|---|---|
table | String | Назва таблиці в базі даних |
filter | Array | Масив фільтрів, на основі яких створюються індекси |
db | Object | Об'єкт для взаємодії з базою даних (необов'язковий) |
pg | Object | Об'єкт для взаємодії з PostgreSQL (необов'язковий) |
Приклад
await autoIndex({
table: el.table, filter: columns, pg: pg1,
});
getFilterCode
Функція призначена для отримання кодів чи значень за вказаним типом із Redis. Якщо необхідні значення відсутні у кеші, вони динамічно генеруються та додаються.
Функція повертає об'єкт, де ключами є запитані коди, а значеннями є результати з Redis або динамічно генеровані значення.
Параметри
Параметр | Тип | Опис |
---|---|---|
type | String | Тип коду або значення, яке потрібно отримати |
codes | Array String/String | Масив фільтрів, на основі яких створюються індекси |
Приклад
getFilterCode({ type: 'attr', codes: opt.data });
obj2db
Функція перетворює JavaScript об'єкт на формат, придатний для вставки або оновлення в базу даних, з врахуванням специфічних правил обробки деяких типів даних, включно з геометричними типами.
Функція повертає об'єкт, де ключі відповідають полям бази даних, а значення - це відповідні дані, вже приведені до формату, який можна використовувати в SQL запитах.
Параметри
Параметр | Тип | Опис |
---|---|---|
obj | Object | Об'єкт, який потрібно перетворити для вставки в базу даних |
geoms | Array | Масив назв полів, які мають бути оброблені як геометрія |
Приклад
obj2db(row);
getFilterSQL
Функція створена для генерації SQL запитів на основі фільтрів, параметрів та інформації про таблицю, зокрема для побудови оптимізованих запитів у системах з великими об'ємами даних.
- У разі успіху, функція повертає SQL запит або пов'язану з ним інформацію.
- У разі помилки, викидає виключення.
Параметри
Параметр | Тип | Опис |
---|---|---|
filter | String | Рядок фільтру для SQL запиту |
opt | Object | Додаткові параметри, які включають ім'я таблиці та інше |
Приклад
getFilterSQL(query.filter, opt._table || opt.table);
filterList
Функція призначена для створення списку фільтрів для заданої таблиці. Вона використовує різні допоміжні функції та сервіси для генерації цих фільтрів та їх кешування.
- Список фільтрів у форматі, який підходить для використання в інтерфейсі.
- У разі помилки або відсутності фільтрів, може повернути порожній масив або повідомлення про помилку.
Параметри
Параметр | Тип | Опис |
---|---|---|
table | String | Назва таблиці для якої потрібно створити список фільтрів. |
opt | Object | Об'єкт з додатковими опціями та налаштуваннями. |
nocacheOriginal | Boolean | Індикатор, що вказує на необхідність ігнорування кешу. |
lang | String | Локалізація для фільтрів. |
full | Boolean | Якщо true , отримує повний список фільтрів. |
list | Array | Список додаткових фільтрів. |
sql | String | Індикатор SQL-режиму для спеціальної обробки. |
filterList({
table, opt, nocache, lang, sql: query.sql,
});
meta
Функція призначена для створення метаданих для заданої таблиці. Повертає об'єкт метаданих для вказаної таблиці.
Параметри
Параметр | Тип | Опис |
---|---|---|
table | String | Назва таблиці, для якої потрібно отримати метадані |
nocache | Boolean | Якщо true , ігнорує кешовані дані та виконує новий запит |
full | Boolean | Якщо true , отримує повний набір метаданих |
stat | Boolean | Якщо true , включає статистичні дані в метадані |
pg | Object | Об'єкт для взаємодії з PostgreSQL базою даних |
Приклад
meta({ table: 'bi.dashboard' });
formatFilter
Параметри
Параметр | Тип | Опис |
---|---|---|
filterList | String | Масив об'єктів, які представляють фільтри |
table | String | Назва таблиці |
lang | String | Мова для локалізації (за замовчуванням 'ua') |
query | String | Додатковий запит чи параметри запиту |
nocache | Boolean | Якщо true , ігнорує кешовані дані та виконує новий запит |
Приклад
formatFilter({table, query, nocache, filterList, lang})
table_exist
Функція перевіряє чи існує таблиця
Параметри
Параметр | Тип | Опис |
---|---|---|
table | String | Назва таблиці |
Приклад
table_exist('table')
createSelect
Ця функція призначена для створення селекту і включає в себе обробку кешування та автоматичного оновлення.
Параметри
Параметр | Опис |
---|---|
db | Об'єкт бази даних для доступу до даних. |
rclient | Клієнт Redis для взаємодії з кешем. |
logger | Утиліта для логування подій та помилок. |
funcs | Набір допоміжних функцій. |
_key | Унікальний ключ для ідентифікації даних у кеші. |
CLS | Клас або категорія, до якої належить запит. |
_NAME | Назва для визначення метаданих запиту. |
hash | Хеш для унікального ідентифікатора сесії або запиту. |
id | Ідентифікатор для оновлення або отримання конкретного рядка даних. |
op | Операція, яку потрібно виконати (наприклад, 'delete', 'insert'). |
lang | Мова для локалізації запиту. |
parent | Батьківський елемент або категорія для запиту. |
uid | Ідентифікатор користувача. |
reload | Параметр для перезавантаження або оновлення даних. |
pk | Головний ключ для пошуку даних. |
referer | Реферер запиту. |
ip | IP-адреса користувача, який робить запит. |
table | Назва таблиці, з якої потрібно отримати дані. |
Приклад
funcs.createSelect({
_NAME,
hash,
_key,
lang: _LANG,
reload: query.reload,
parent: query.parent,
parent2: query.parent2,
referer: headers.referer || '',
ip,
});
getSelect
Отримує дані селекту
Параметри
Параметр | Тип | Опис |
---|---|---|
defName | String | Назва селекту за замовчуванням для отримання даних з таблички |
param | Object | Об'єкт з додатковими параметрами: |
String | option - Об'єкт з додатковими параметрами | |
String | lang - Об'єкт з додатковими параметрами | |
String | uid - Ідентифікатор користувача | |
Object | query - Об'єкт, який містить дані запиту, включаючи SQL для перевірки виходу з програми та повернення SQL-запиту | |
Any | reload - Перезавантаження Redis | |
Array/String | val - Масив чи рядок для фільтрації | |
Array/String | color - Використовується для класифікації | |
Any | json - Повертає дані у форматі JSON | |
Any | session - Сесія |
Приклад
const cls = await funcs.getSelect(select, {val: [el.old, el.new],});
metaFormat
Ця функція використовується для форматування метаданих таблиці, особливо для колонок типу "select" та "html".
Параметри
Параметр | Тип | Опис |
---|---|---|
funcs | Object | Об'єкт, що містить необхідні функції |
db | Object | Об'єкт бази даних |
rows | Array | Масив рядків, які потрібно форматувати. |
table | String | Назва таблиці, для якої виконується форматування |
suffix | Boolean | Параметр, який вказує, чи додавати суфікс "__text" до назв колонки |
noskip | Boolean | Параметр, який вказує, чи пропускати порожні значення |
cls | Object | Об'єкт, що містить дані для формування селектів |
lang | String | Мова для вибору селектів |
mapFunc | Function | Функція для власного мапінгу колонок |
Приклад
const cls = await funcs.metaFormat({
rows,
table,
funcs,
mapFunc: (r) => ({ name: r.title || r.name, cls: r.select }),
});
getFileTemplate
Ця функція використовується для отримання шаблону або з файлу, або з бази даних.
Параметри
Параметр | Тип | Опис |
---|---|---|
type | String | Тип шаблону: table, form, pt |
name | String | Назва або ідентифікатор шаблону |
sid | Number | Опціонально. 1 - публічна частина, 35 - адміністративна частина |
wrap | String | Опціонально. Назва обгорткового шаблону |
table | String | Опціонально. Назва таблиці для шаблонів форми |
const body = await funcs.getFileTemplate({ name: id, type: 'dashboard' });