snapshot of https://github.com/mattermost/mattermost.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
This commit is contained in:
142
server/public/model/system.go
Normal file
142
server/public/model/system.go
Normal file
@@ -0,0 +1,142 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"math/big"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
SystemServerId = "DiagnosticId"
|
||||
SystemRanUnitTests = "RanUnitTests"
|
||||
SystemLastSecurityTime = "LastSecurityTime"
|
||||
SystemActiveLicenseId = "ActiveLicenseId"
|
||||
SystemLastComplianceTime = "LastComplianceTime"
|
||||
SystemAsymmetricSigningKeyKey = "AsymmetricSigningKey"
|
||||
SystemPostActionCookieSecretKey = "PostActionCookieSecret"
|
||||
SystemSamlRelayStateSigningKeyKey = "SamlRelayStateSigningKey"
|
||||
SystemInstallationDateKey = "InstallationDate"
|
||||
SystemOrganizationName = "OrganizationName"
|
||||
SystemFirstAdminRole = "FirstAdminRole"
|
||||
SystemFirstServerRunTimestampKey = "FirstServerRunTimestamp"
|
||||
SystemClusterEncryptionKey = "ClusterEncryptionKey"
|
||||
SystemPushProxyAuthToken = "PushProxyAuthToken"
|
||||
SystemUpgradedFromTeId = "UpgradedFromTE"
|
||||
SystemWarnMetricNumberOfTeams5 = "warn_metric_number_of_teams_5"
|
||||
SystemWarnMetricNumberOfChannels50 = "warn_metric_number_of_channels_50"
|
||||
SystemWarnMetricMfa = "warn_metric_mfa"
|
||||
SystemWarnMetricEmailDomain = "warn_metric_email_domain"
|
||||
SystemWarnMetricNumberOfActiveUsers100 = "warn_metric_number_of_active_users_100"
|
||||
SystemWarnMetricNumberOfActiveUsers200 = "warn_metric_number_of_active_users_200"
|
||||
SystemWarnMetricNumberOfActiveUsers300 = "warn_metric_number_of_active_users_300"
|
||||
SystemWarnMetricNumberOfActiveUsers500 = "warn_metric_number_of_active_users_500"
|
||||
SystemWarnMetricNumberOfPosts2m = "warn_metric_number_of_posts_2M"
|
||||
SystemWarnMetricLastRunTimestampKey = "LastWarnMetricRunTimestamp"
|
||||
SystemFirstAdminVisitMarketplace = "FirstAdminVisitMarketplace"
|
||||
SystemFirstAdminSetupComplete = "FirstAdminSetupComplete"
|
||||
SystemLastAccessiblePostTime = "LastAccessiblePostTime"
|
||||
SystemLastAccessibleFileTime = "LastAccessibleFileTime"
|
||||
SystemHostedPurchaseNeedsScreening = "HostedPurchaseNeedsScreening"
|
||||
SystemPostChannelTypeBackfillComplete = "PostChannelTypeBackfillComplete"
|
||||
AwsMeteringReportInterval = 1
|
||||
AwsMeteringDimensionUsageHrs = "UsageHrs"
|
||||
CloudRenewalEmail = "CloudRenewalEmail"
|
||||
)
|
||||
|
||||
const (
|
||||
WarnMetricStatusLimitReached = "true"
|
||||
WarnMetricStatusRunonce = "runonce"
|
||||
WarnMetricStatusAck = "ack"
|
||||
WarnMetricStatusStorePrefix = "warn_metric_"
|
||||
WarnMetricJobInterval = 24 * 7
|
||||
WarnMetricNumberOfActiveUsers25 = 25
|
||||
WarnMetricJobWaitTime = 1000 * 3600 * 24 * 7 // 7 days
|
||||
)
|
||||
|
||||
type System struct {
|
||||
Name string `json:"name"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type SystemPostActionCookieSecret struct {
|
||||
Secret []byte `json:"key,omitempty"`
|
||||
}
|
||||
|
||||
type SystemSamlRelayStateSigningKey struct {
|
||||
Secret []byte `json:"key,omitempty"`
|
||||
}
|
||||
|
||||
type SystemAsymmetricSigningKey struct {
|
||||
ECDSAKey *SystemECDSAKey `json:"ecdsa_key,omitempty"`
|
||||
}
|
||||
|
||||
type SystemECDSAKey struct {
|
||||
Curve string `json:"curve"`
|
||||
X *big.Int `json:"x"`
|
||||
Y *big.Int `json:"y"`
|
||||
D *big.Int `json:"d,omitempty"`
|
||||
}
|
||||
|
||||
// ServerBusyState provides serialization for app.Busy.
|
||||
type ServerBusyState struct {
|
||||
Busy bool `json:"busy"`
|
||||
Expires int64 `json:"expires"`
|
||||
ExpiresTS string `json:"expires_ts,omitempty"`
|
||||
}
|
||||
|
||||
type AppliedMigration struct {
|
||||
Version int `json:"version"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// LogFilterDateLayout is the timestamp layout expected for the DateFrom and
|
||||
// DateTo bounds of a LogFilter.
|
||||
const LogFilterDateLayout = "2006-01-02 15:04:05.999 -07:00"
|
||||
|
||||
type LogFilter struct {
|
||||
ServerNames []string `json:"server_names"`
|
||||
LogLevels []string `json:"log_levels"`
|
||||
DateFrom string `json:"date_from"`
|
||||
DateTo string `json:"date_to"`
|
||||
}
|
||||
|
||||
// IsValid validates the log filter. Empty date bounds mean "unbounded", so only
|
||||
// a non-empty value that cannot be parsed with LogFilterDateLayout is rejected.
|
||||
func (f *LogFilter) IsValid() *AppError {
|
||||
if f == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if f.DateFrom != "" {
|
||||
if _, err := time.Parse(LogFilterDateLayout, f.DateFrom); err != nil {
|
||||
return NewAppError("LogFilter.IsValid", "model.log_filter.is_valid.date_from.app_error", map[string]any{"Layout": LogFilterDateLayout}, "", http.StatusBadRequest).Wrap(err)
|
||||
}
|
||||
}
|
||||
|
||||
if f.DateTo != "" {
|
||||
if _, err := time.Parse(LogFilterDateLayout, f.DateTo); err != nil {
|
||||
return NewAppError("LogFilter.IsValid", "model.log_filter.is_valid.date_to.app_error", map[string]any{"Layout": LogFilterDateLayout}, "", http.StatusBadRequest).Wrap(err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type LogEntry struct {
|
||||
Timestamp string
|
||||
Level string
|
||||
}
|
||||
|
||||
// SystemPingOptions is the options for setting contents of the system ping
|
||||
// response.
|
||||
type SystemPingOptions struct {
|
||||
// FullStatus allows server to set the detailed information about
|
||||
// the system status.
|
||||
FullStatus bool
|
||||
// RestSemantics allows server to return 200 code even if the server
|
||||
// status is unhealthy.
|
||||
RESTSemantics bool
|
||||
}
|
||||
Reference in New Issue
Block a user