diff --git a/internal/lkgateway/admin.go b/internal/lkgateway/admin.go index 8f0a850..cf6ee8c 100644 --- a/internal/lkgateway/admin.go +++ b/internal/lkgateway/admin.go @@ -312,7 +312,7 @@ func newAdmin() (*admin, error) { if err != nil { return nil, fmt.Errorf("parse admin_help_crypto: %w", err) } - helpSys, err := parse("admin_help_systems.html") + helpSys, err := parseInternalDoc("admin_help_systems.html") // внутреннее: Fansy ETL, мессенджеры — не для клиента if err != nil { return nil, fmt.Errorf("parse admin_help_systems: %w", err) } @@ -532,6 +532,10 @@ func RegisterAdmin(mux *http.ServeMux, svc *Service, rc *RuntimeConfig, getOpts case p == "help/database": render(w, a.helpDatabase, nowPage("База данных", "help")) case p == "help/lk-api": + if !moduleAllowed(globalRC, "web-cabinet") && !devMode(globalRC) { // без модуля ЛК описания его API нет + http.NotFound(w, r) + return + } render(w, a.helpLK, nowPage("API ЛК", "help")) case p == "help/crypto": render(w, a.helpCrypto, nowPage("Криптография", "help")) diff --git a/internal/lkgateway/checks.go b/internal/lkgateway/checks.go index bcfacef..1ff4f0a 100644 --- a/internal/lkgateway/checks.go +++ b/internal/lkgateway/checks.go @@ -58,7 +58,9 @@ func CheckAll(ctx context.Context, o CheckOptions) SystemStatus { out.Checks = append(out.Checks, checkCryptoSocket(o)) out.Checks = append(out.Checks, checkNSDAdapter(ctx, o)) out.Checks = append(out.Checks, ishVersionStatus(ctx)) - out.Checks = append(out.Checks, checkLKCallback(ctx, o)) + if globalRC == nil || moduleAllowed(globalRC, "web-cabinet") || devMode(globalRC) { // без модуля ЛК нечего проверять + out.Checks = append(out.Checks, checkLKCallback(ctx, o)) + } return out } diff --git a/internal/lkgateway/depoevents.go b/internal/lkgateway/depoevents.go index f00e667..c65b88f 100644 --- a/internal/lkgateway/depoevents.go +++ b/internal/lkgateway/depoevents.go @@ -555,7 +555,11 @@ func depoPollOrders(ctx context.Context, db *sql.DB, rc *RuntimeConfig) { var depoHandbookWritten time.Time -func depoWriteHandbook(rc *RuntimeConfig) error { +func depoWriteHandbook(rc *RuntimeConfig) error { return depoWriteHandbookCtx(context.Background(), rc) } + +// depoWriteHandbookCtx — то же с контекстом вызывающего: после подготовки DEPO (действие человека) вход идёт и во +// время паузы после прежнего неудачного входа — иначе справочник ждал бы своего расписания («таблица не создана»). +func depoWriteHandbookCtx(pctx context.Context, rc *RuntimeConfig) error { raw, err := readHandbook() if err != nil { return err @@ -573,7 +577,7 @@ func depoWriteHandbook(rc *RuntimeConfig) error { return err } defer db.Close() - ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second) + ctx, cancel := context.WithTimeout(pctx, 60*time.Second) defer cancel() if !depoTableExists(ctx, db, "FTV_M2M_HANDBOOK") { if _, err := db.ExecContext(ctx, depoTableSpecByName("FTV_M2M_HANDBOOK").createSQL(false)); err != nil { diff --git a/internal/lkgateway/news.go b/internal/lkgateway/news.go index 187236a..cfdadb7 100644 --- a/internal/lkgateway/news.go +++ b/internal/lkgateway/news.go @@ -321,8 +321,11 @@ func StartDocWatcher(rc *RuntimeConfig) func() { ticker := time.NewTicker(24 * time.Hour) defer ticker.Stop() for { - summary := CheckDocSources(ctx, rc) - log.Printf("doc-watcher: проверка завершена\n%s", summary) + // отслеживание документации НРД — наш технический инструмент: у клиента не работает (07.10.2026) + if devMode(rc) { + summary := CheckDocSources(ctx, rc) + log.Printf("doc-watcher: проверка завершена\n%s", summary) + } select { case <-ctx.Done(): return diff --git a/internal/lkgateway/web/templates/admin_help.html b/internal/lkgateway/web/templates/admin_help.html index 8b18b26..1ae54d5 100644 --- a/internal/lkgateway/web/templates/admin_help.html +++ b/internal/lkgateway/web/templates/admin_help.html @@ -11,24 +11,24 @@
PostgreSQL: подключение, схемы fansy / fansy_staging / m2m_core, что подгружается извне (ETL Fansy) и что пишет сама система. Учётные записи, гранты, миграции.
REST-контракт ESIA Finance V1: POST /api/v1/back_office/claims/, GET/PATCH-операции, формат callback'ов, аутентификация Basic, примеры запросов curl.
Установка АПК «Валидата Клиент L» на Astra Linux SE, подключение через PKCS#11, проверка подписи и квитанций НРД.
ИШ НРД ({{if devOn}}профили GUEST/TEST3/PROD{{else}}тестовый и боевой контуры{{end}}), команда Fansy (ETL в staging), уведомления (e-mail, Yandex Messenger, Telegram), порядок согласования.
События системы, окна техработ НРД, обновления документации и сертификатов. Лента не очищается — служит журналом для аудита. Скрытые новости можно посмотреть, сняв галочку «Только активные».
-