Netpulse_SasS/server/internal/store
byrsapty 95a19b074d
Some checks failed
CI / agent (push) Waiting to run
CI / hygiene (push) Successful in 9s
CI / web (push) Successful in 1m11s
CI / server (push) Successful in 1m35s
CI / dbtest (push) Has been cancelled
Історія входів: 93 записи були в базі й ніде не показувались
core.login_attempts наповнювалась на кожній спробі входу й читалась
рівно в одному місці — для стримування підбору. Ні ендпойнта, ні
сторінки. На питання «хто заходив у мій моніторинг» продукт мав
відповідь у базі й не мав способу її показати.

ГОЛОВНЕ БУЛА НЕ ВЕРСТКА. У таблиці немає tenant_id — саме тому ці
події й не в аудиті. Показати «як є» означало б віддати одному
кабінету спроби входу чужих людей. Прив'язка непряма: спроба ->
користувач -> членство, трьома шляхами одночасно (user_id, username,
email) в одному JOIN LATERAL з tenant_id усередині. Саме JOIN, а не
LEFT JOIN: без збігу рядок ПРИБИРАЄТЬСЯ, а не лишається без імені.

На бойових даних це не теорія: у власника немає пошти, тож за email
не прив'язується ЖОДНА з 94 спроб. Шлях через username дає 93.

Невдала спроба з неіснуючим логіном не належить нікому: рядком не
показується, але рахується числом — сигнал «логіни перебирають»
лишається, чужа людина в чужий кабінет не потрапляє.

Ізоляцію перевірено проти справжньої бази (TestLoginAttemptsTenantIsolation).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-29 01:06:42 +03:00
..
agents.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
alerts.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
alerts_channel_refs_db_test.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
alerts_channels.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
alerts_escalation.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
alerts_escalation_channels_test.go Ескалації: журнал більше не бреше, ack не воскрешає драбину 2026-08-28 17:20:18 +03:00
alerts_escalation_db_test.go Прив'язка Telegram: сторінка була, дороги до неї не було 2026-08-28 19:57:09 +03:00
alerts_escalation_quiet_test.go Тиха година й драбина: вада окремо, вибір окремо 2026-08-28 18:08:27 +03:00
alerts_escalation_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
alerts_events.go Дві шкали серйозності: тригер відповідності фільтрував навпаки 2026-08-28 14:10:49 +03:00
alerts_events_severity_test.go Дві шкали серйозності: тригер відповідності фільтрував навпаки 2026-08-28 14:10:49 +03:00
alerts_events_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
alerts_logic_test.go Етап 9: алерти й сповіщення 2026-08-15 11:09:19 +03:00
alerts_query.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
alerts_rule_channels_db_test.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
alerts_rule_channels_test.go Ескалації: закриваю те, що минулого разу закрив наполовину 2026-08-28 17:44:38 +03:00
alerts_rule_update_db_test.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
alerts_rule_update_test.go Ескалації: журнал більше не бреше, ack не воскрешає драбину 2026-08-28 17:20:18 +03:00
alerts_state.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
apitokens.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
audit.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
audit_actions.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
audit_actions_source_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
audit_actions_zones_test.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
audit_read.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
audit_read_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
autoassign.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
autochecks.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
billing.go Білінг: запит читав старі імена колонок usage_now 2026-08-27 21:30:51 +03:00
billing_license.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
billing_license_test.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
billing_limits_db_test.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
billing_limits_test.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
checks.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
credentials.go Syslog: транспорт до сервера і тригер позачергового бекапу 2026-08-25 15:20:32 +03:00
csv_safe.go Відповідність: редагування правил, звіт і пʼять знахідок рецензії 2026-08-28 13:40:40 +03:00
dashboards.go Дашборди, Esc/клік повз вікно, редагування каналів і протоколів 2026-08-24 18:30:28 +03:00
dashboards_public.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
device_detail.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
device_detail_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
device_filter.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
device_filter_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
devices_bulk.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
devices_bulk_checks.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
devices_bulk_checks_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
devices_purge.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
devices_purge_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
devices_restore.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
devices_restore_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
discovery.go Етап 2: модуль topology — LLDP/CDP/ARP/FDB та інвентар портів 2026-08-14 14:42:01 +03:00
downloads.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
enrollment.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
events.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
groups.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
identify.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
iffilter.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
iffilter_preview.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
iffilter_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
inventory.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
login_attempts.go Історія входів: 93 записи були в базі й ніде не показувались 2026-08-29 01:06:42 +03:00
login_attempts_test.go Історія входів: 93 записи були в базі й ніде не показувались 2026-08-29 01:06:42 +03:00
map_access.go Git-двигун NCM: версіювання конфігів, переливання історії, довільне порівняння 2026-08-25 13:15:14 +03:00
maps.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
maps_topology.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
maps_undo.go Syslog: транспорт до сервера і тригер позачергового бекапу 2026-08-25 15:20:32 +03:00
maps_write.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
metrics.go Історія метрик, шаблони будь-яких перевірок, маршрути правил 2026-08-24 17:21:50 +03:00
metrics_devices.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
metrics_devices_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_commands.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_commands_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_compliance.go Аудит: закрито дві найдорожчі сліпі зони — алерти й склад команди 2026-08-29 01:06:21 +03:00
ncm_compliance_builtin_test.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
ncm_compliance_edit_test.go Відповідність: редагування правил, звіт і пʼять знахідок рецензії 2026-08-28 13:40:40 +03:00
ncm_compliance_probe.go Відповідність: редагування правил, звіт і пʼять знахідок рецензії 2026-08-28 13:40:40 +03:00
ncm_compliance_report.go Відповідність: редагування правил, звіт і пʼять знахідок рецензії 2026-08-28 13:40:40 +03:00
ncm_config_devices.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_git.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_jobs.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_localfiles.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_paths.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_paths_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_profiles.go Профілі збору конфігів: перегляд, редагування, створення з прикладів 2026-08-25 16:40:26 +03:00
ncm_read.go Syslog: транспорт до сервера і тригер позачергового бекапу 2026-08-25 15:20:32 +03:00
ncm_redact_account_test.go Відкат на живому залізі: пароль адміністратора лежав відкритим 2026-08-28 23:42:43 +03:00
ncm_refqueue.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_report.go Відповідність: редагування правил, звіт і пʼять знахідок рецензії 2026-08-28 13:40:40 +03:00
ncm_repos.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_retention.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_rollback.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_rollback_plan.go Відкат на живому залізі: пароль адміністратора лежав відкритим 2026-08-28 23:42:43 +03:00
ncm_rollback_plan_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_schedule.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
ncm_syslog.go Syslog: транспорт до сервера і тригер позачергового бекапу 2026-08-25 15:20:32 +03:00
ncm_transport_test.go Транспорт збору конфігу бере доступ хоста, а не профіль моделі 2026-08-25 16:45:48 +03:00
plan.go Етап 2: сервер сам заводить snmp.if-чеки з виявлених інтерфейсів 2026-08-14 15:10:02 +03:00
prototypes.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
prototypes_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
queues.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
queues_detail.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
queues_detail_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
queues_verdict.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
queues_verdict_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
retention_policy.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
retention_policy_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
rls_isolation_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
roles.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
sanitize_path_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
sla.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
sla_compute.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
sla_csv.go Відповідність: редагування правил, звіт і пʼять знахідок рецензії 2026-08-28 13:40:40 +03:00
sla_db_test.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
sla_store.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
sla_test.go Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
storage_alert.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
storage_alert_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
storage_disk_unix.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
storage_disk_windows.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
storage_usage.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
store.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
telegram.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
telemetry.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
template_triggers.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
templates.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
traps.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
traps_mib.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
traps_test.go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
users.go Історія входів: 93 записи були в базі й ніде не показувались 2026-08-29 01:06:42 +03:00