fix(audit): убрано ограничение по дате — по умолчанию ВСЕ записи
- getAudit(): days=null → без фильтра WHERE по дате - days передаётся только если явно выбран фильтр 30/90/365 - admin-audit.ejs: кнопка «Всё» (активна по умолчанию), заголовок «(всё время)» v0.1.9 → v0.1.10
This commit is contained in:
@@ -266,15 +266,15 @@ async function logAudit(userEmail, companyId, action, oldValue, newValue, entryI
|
||||
}
|
||||
|
||||
/**
|
||||
* Журнал операций с фильтром по дате и пагинацией.
|
||||
* Журнал операций с пагинацией и опциональным фильтром по дате.
|
||||
* @param {Object} opts
|
||||
* @param {number|null} opts.companyId — фильтр по компании (null = все)
|
||||
* @param {number} opts.days — глубина в днях (по умолчанию 365)
|
||||
* @param {number|null} opts.days — глубина в днях (null = без ограничения)
|
||||
* @param {number} opts.page — страница (с 1)
|
||||
* @param {number} opts.limit — записей на странице
|
||||
* @returns {{ rows: Array, total: number }}
|
||||
*/
|
||||
async function getAudit({ companyId = null, days = 365, page = 1, limit = 100 } = {}) {
|
||||
async function getAudit({ companyId = null, days = null, page = 1, limit = 100 } = {}) {
|
||||
const offset = (page - 1) * limit;
|
||||
const params = [];
|
||||
|
||||
@@ -283,9 +283,11 @@ async function getAudit({ companyId = null, days = 365, page = 1, limit = 100 }
|
||||
where += ' WHERE a.company_id = $' + (params.length + 1);
|
||||
params.push(companyId);
|
||||
}
|
||||
const dayParam = '$' + (params.length + 1);
|
||||
where += (where ? ' AND' : ' WHERE') + ' a.created_at > NOW() - (' + dayParam + ' || \' days\')::INTERVAL';
|
||||
params.push(String(days));
|
||||
if (days) {
|
||||
const dayParam = '$' + (params.length + 1);
|
||||
where += (where ? ' AND' : ' WHERE') + ' a.created_at > NOW() - (' + dayParam + ' || \' days\')::INTERVAL';
|
||||
params.push(String(days));
|
||||
}
|
||||
|
||||
const limitIdx = params.length + 1;
|
||||
const offsetIdx = params.length + 2;
|
||||
|
||||
Reference in New Issue
Block a user