package lkgateway // uiclient.go — что интерфейс показывает клиенту, а что только в режиме разработчика (devOn). // Клиенту — состояние и действия; версии сторонних систем — только те, о которых спрашивает // поддержка НРД и Московской биржи. Пути, службы, Java, внутренние модули — разработчикам. import "strings" // clientVersionTitles — версии для клиента и их названия без внутренних имён. var clientVersionTitles = map[string]string{ "bj-server": "bj", "ish": "Шлюз НРД", "validata": "СКЗИ «Валидата Клиент L»", "quik-mnp": "QUIK — модуль неторговых поручений", "depo": "Fancy DEPO", } func clientVersion(key string) bool { _, ok := clientVersionTitles[key]; return ok } // versionTitle — название строки версии: разработчику — полное (с внутренним именем), клиенту — простое. func versionTitle(v SystemVersion) string { if t, ok := clientVersionTitles[v.Key]; ok && !devMode(globalRC) { return t } return v.Title } // contourRu — контур НРД по-русски (prod-gost, test3, manual… → «боевой», «тестовый (TEST3)»). func contourRu(s string) string { l := strings.ToLower(strings.TrimSpace(s)) switch { case strings.HasPrefix(l, "prod"): return "боевой" case strings.HasPrefix(l, "test"): return "тестовый (TEST3)" case strings.HasPrefix(l, "guest"): return "гостевой" case l == "manual": return "добавлен вручную" case l == "": return "—" } return s } // looksErr — в журнале есть ошибка (журнал клиенту показываем только тогда). func looksErr(s string) bool { l := strings.ToLower(s) return strings.Contains(l, "ошиб") || strings.Contains(l, "не удалось") || strings.Contains(l, "error") || strings.Contains(l, "откат") }