matterbridge/vendor/github.com/mattermost/mattermost-server/v6/model/system.go
2022-06-11 23:07:42 +02:00

179 lines
5.3 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package model
import (
"math/big"
)
const (
SystemTelemetryId = "DiagnosticId"
SystemRanUnitTests = "RanUnitTests"
SystemLastSecurityTime = "LastSecurityTime"
SystemActiveLicenseId = "ActiveLicenseId"
SystemLastComplianceTime = "LastComplianceTime"
SystemAsymmetricSigningKeyKey = "AsymmetricSigningKey"
SystemPostActionCookieSecretKey = "PostActionCookieSecret"
SystemInstallationDateKey = "InstallationDate"
SystemFirstServerRunTimestampKey = "FirstServerRunTimestamp"
SystemClusterEncryptionKey = "ClusterEncryptionKey"
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"
AwsMeteringReportInterval = 1
AwsMeteringDimensionUsageHrs = "UsageHrs"
)
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 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 SupportPacket struct {
ServerOS string `yaml:"server_os"`
ServerArchitecture string `yaml:"server_architecture"`
ServerVersion string `yaml:"server_version"`
BuildHash string `yaml:"build_hash,omitempty"`
DatabaseType string `yaml:"database_type"`
DatabaseVersion string `yaml:"database_version"`
LdapVendorName string `yaml:"ldap_vendor_name,omitempty"`
LdapVendorVersion string `yaml:"ldap_vendor_version,omitempty"`
ElasticServerVersion string `yaml:"elastic_server_version,omitempty"`
ElasticServerPlugins []string `yaml:"elastic_server_plugins,omitempty"`
}
type FileData struct {
Filename string
Body []byte
}
var WarnMetricsTable = map[string]WarnMetric{
SystemWarnMetricMfa: {
Id: SystemWarnMetricMfa,
Limit: -1,
IsBotOnly: true,
IsRunOnce: true,
},
SystemWarnMetricEmailDomain: {
Id: SystemWarnMetricEmailDomain,
Limit: -1,
IsBotOnly: true,
IsRunOnce: true,
},
SystemWarnMetricNumberOfTeams5: {
Id: SystemWarnMetricNumberOfTeams5,
Limit: 5,
IsBotOnly: true,
IsRunOnce: true,
},
SystemWarnMetricNumberOfChannels50: {
Id: SystemWarnMetricNumberOfChannels50,
Limit: 50,
IsBotOnly: true,
IsRunOnce: true,
},
SystemWarnMetricNumberOfActiveUsers100: {
Id: SystemWarnMetricNumberOfActiveUsers100,
Limit: 100,
IsBotOnly: true,
IsRunOnce: true,
},
SystemWarnMetricNumberOfActiveUsers200: {
Id: SystemWarnMetricNumberOfActiveUsers200,
Limit: 200,
IsBotOnly: true,
IsRunOnce: true,
},
SystemWarnMetricNumberOfActiveUsers300: {
Id: SystemWarnMetricNumberOfActiveUsers300,
Limit: 300,
IsBotOnly: true,
IsRunOnce: true,
},
SystemWarnMetricNumberOfActiveUsers500: {
Id: SystemWarnMetricNumberOfActiveUsers500,
Limit: 500,
IsBotOnly: false,
IsRunOnce: true,
},
SystemWarnMetricNumberOfPosts2m: {
Id: SystemWarnMetricNumberOfPosts2m,
Limit: 2000000,
IsBotOnly: false,
IsRunOnce: true,
},
}
type WarnMetric struct {
Id string
Limit int64
IsBotOnly bool
IsRunOnce bool
SkipAction bool
}
type WarnMetricDisplayTexts struct {
BotTitle string
BotMessageBody string
BotSuccessMessage string
EmailBody string
}
type WarnMetricStatus struct {
Id string `json:"id"`
Limit int64 `json:"limit"`
Acked bool `json:"acked"`
StoreStatus string `json:"store_status,omitempty"`
}
type SendWarnMetricAck struct {
ForceAck bool `json:"forceAck"`
}
type AppliedMigration struct {
Version int `json:"version"`
Name string `json:"name"`
}