model

package
v1.29.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2025 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// LogTypeOperation 表示操作日志
	LogTypeOperation = "operation"
	// LogTypeAccess 表示访问日志
	LogTypeAccess = "access"

	// ResourceTypeAuditLog 表示审计日志
	ResourceTypeAuditLog = "audit_log"
	// ResourceTypeAccountCenter 表示账户中心
	ResourceTypeAccountCenter = "account_center"
	// ResourceTypeClusterManagement 表示集群管理
	ResourceTypeClusterManagement = "cluster_management"
	// ResourceTypeDevTool 表示开发工具
	ResourceTypeDevTool = "dev_tool"
	// ResourceTypeDataMigration 表示数据迁移
	ResourceTypeDataMigration = "data_migration"

	// OperationTypeLogin 表示登录
	OperationTypeLogin = "login"
	// OperationTypeDeletion 表示删除
	OperationTypeDeletion = "deletion"
	// OperationTypeModification 表示修改
	OperationTypeModification = "modification"
	// OperationTypeNew 表示新建
	OperationTypeNew = "new"
	// OperationTypeAccess 表示访问
	OperationTypeAccess = "access"
)
View Source
const (
	TLSVersion10 = "TLS10"
	TLSVersion11 = "TLS11"
	TLSVersion12 = "TLS12"
	TLSVersion13 = "TLS13"
)

Variables

View Source
var (
	ErrCreatedTimeNotProvided   = errors.New("created time not provided")
	ErrOperatorNotProvided      = errors.New("operator not provided")
	ErrLogTypeNotProvided       = errors.New("log type not provided or invalid")
	ErrResourceTypeNotProvided  = errors.New("resource type not provided or invalid")
	ErrEventNotProvided         = errors.New("event not provided")
	ErrEventSourceIPNotProvided = errors.New("event source ip not provided or invalid")
	ErrOperationNotProvided     = errors.New("operation not provided or invalid")
)

错误定义

Functions

func CheckLogType

func CheckLogType(logType string) bool

CheckLogType 检查日志类型是否合法

func CheckOperationType

func CheckOperationType(operationType string) bool

CheckOperationType 检查操作类型是否合法

func CheckResourceType

func CheckResourceType(resourceType string) bool

CheckResourceType 检查资源类型是否合法

func GetTLSVersion added in v1.29.4

func GetTLSVersion(version string) (uint16, error)

Types

type AuditLog

type AuditLog struct {
	// 日志 ID,插入后返回
	ID string `json:"id,omitempty" elastic_meta:"_id" elastic_mapping:"id:{type:keyword}"`
	// 日志条目的创建时间
	Timestamp time.Time `json:"timestamp" elastic_mapping:"timestamp:{type:date}"`
	// 日志元数据
	Metadata AuditLogMetadata `json:"metadata" elastic_mapping:"metadata:{type:object}"`
}

AuditLog 表示审计日志

func (*AuditLog) Reset

func (log *AuditLog) Reset() *AuditLog

Reset 将一些字段重置。比如在插入前清空 ID 等

func (*AuditLog) Validate

func (log *AuditLog) Validate() error

Validate 检查字段是否合法

type AuditLogBuilder

type AuditLogBuilder struct {
	// contains filtered or unexported fields
}

AuditLogBuilder 用于构造 AuditLog 实例

func NewAuditLogBuilder

func NewAuditLogBuilder() *AuditLogBuilder

NewAuditLogBuilder 构造空的 AuditLogBuilder 实例

func NewAuditLogBuilderWithDefault

func NewAuditLogBuilderWithDefault() *AuditLogBuilder

NewAuditLogBuilderWithDefault 构造带默认值的 Builder

func (*AuditLogBuilder) Build

func (builder *AuditLogBuilder) Build() (a *AuditLog, err error)

func (*AuditLogBuilder) WithEventName

func (builder *AuditLogBuilder) WithEventName(eventName string) *AuditLogBuilder

WithEventName 设置事件名称

func (*AuditLogBuilder) WithEventRecord

func (builder *AuditLogBuilder) WithEventRecord(eventRecord string) *AuditLogBuilder

WithEventRecord 设置事件记录,比如操作语句或查询参数

func (*AuditLogBuilder) WithEventSourceIP

func (builder *AuditLogBuilder) WithEventSourceIP(eventSourceIP string) *AuditLogBuilder

WithEventSourceIP 设置事件源 IP,将根据 IP 地址获取其归属地

func (*AuditLogBuilder) WithEventSourceIPAndPlace

func (builder *AuditLogBuilder) WithEventSourceIPAndPlace(eventSourceIP, ipPlace string) *AuditLogBuilder

WithEventSourceIPAndPlace 设置事件源 IP 和 IP 归属地

func (*AuditLogBuilder) WithID

func (builder *AuditLogBuilder) WithID(id string) *AuditLogBuilder

WithID 设置 ID

func (*AuditLogBuilder) WithLogTypeAccess

func (builder *AuditLogBuilder) WithLogTypeAccess() *AuditLogBuilder

WithLogTypeAccess 将日志类型设置为访问日志

func (*AuditLogBuilder) WithLogTypeOperation

func (builder *AuditLogBuilder) WithLogTypeOperation() *AuditLogBuilder

WithLogTypeOperation 将日志类型日志设置为操作日志

func (*AuditLogBuilder) WithOperationTypeAccess

func (builder *AuditLogBuilder) WithOperationTypeAccess() *AuditLogBuilder

WithOperationTypeAccess 将操作类型设置为访问

func (*AuditLogBuilder) WithOperationTypeDeletion

func (builder *AuditLogBuilder) WithOperationTypeDeletion() *AuditLogBuilder

WithOperationTypeDeletion 将操作类型设置为删除

func (*AuditLogBuilder) WithOperationTypeLogin

func (builder *AuditLogBuilder) WithOperationTypeLogin() *AuditLogBuilder

WithOperationTypeLogin 将操作类型设置为登录

func (*AuditLogBuilder) WithOperationTypeModification

func (builder *AuditLogBuilder) WithOperationTypeModification() *AuditLogBuilder

WithOperationTypeModification 将操作类型设置为修改

func (*AuditLogBuilder) WithOperationTypeNew

func (builder *AuditLogBuilder) WithOperationTypeNew() *AuditLogBuilder

WithOperationTypeNew 将操作类型设置为新建

func (*AuditLogBuilder) WithOperator

func (builder *AuditLogBuilder) WithOperator(operator string) *AuditLogBuilder

WithOperator 设置操作者

func (*AuditLogBuilder) WithResourceName

func (builder *AuditLogBuilder) WithResourceName(resourceName string) *AuditLogBuilder

WithResourceName 设置资源名称

func (*AuditLogBuilder) WithResourceTypeAccountCenter

func (builder *AuditLogBuilder) WithResourceTypeAccountCenter() *AuditLogBuilder

WithResourceTypeAccountCenter 将资源类型设置为账户中心

func (*AuditLogBuilder) WithResourceTypeAuditLog

func (builder *AuditLogBuilder) WithResourceTypeAuditLog() *AuditLogBuilder

WithResourceTypeAuditLog 将资源类型设置为审计日志

func (*AuditLogBuilder) WithResourceTypeClusterManagement

func (builder *AuditLogBuilder) WithResourceTypeClusterManagement() *AuditLogBuilder

WithResourceTypeClusterManagement 将资源类型设置为集群管理

func (*AuditLogBuilder) WithResourceTypeDataMigration

func (builder *AuditLogBuilder) WithResourceTypeDataMigration() *AuditLogBuilder

WithResourceTypeDataMigration 将资源类型设置为数据迁移

func (*AuditLogBuilder) WithResourceTypeDevTool

func (builder *AuditLogBuilder) WithResourceTypeDevTool() *AuditLogBuilder

WithResourceTypeDevTool 将资源类型设置为开发工具

func (*AuditLogBuilder) WithTeam

func (builder *AuditLogBuilder) WithTeam(team string) *AuditLogBuilder

WithTeam 设置团队

func (*AuditLogBuilder) WithTimestamp

func (builder *AuditLogBuilder) WithTimestamp(eventTime time.Time) *AuditLogBuilder

WithTimestamp 设置时间戳

func (*AuditLogBuilder) WithTimestampNow

func (builder *AuditLogBuilder) WithTimestampNow() *AuditLogBuilder

WithTimestampNow 将时间戳设置为当前时间

type AuditLogMetadata

type AuditLogMetadata struct {
	// 操作者。比如 Zora
	Operator string `json:"operator"`
	// 日志类型。比如操作日志
	LogType string `json:"log_type" elastic_mapping:"log_type:{type:keyword}"`
	// 资源类型。比如审计日志
	ResourceType string `json:"resource_type" elastic_mapping:"resource_type:{type:keyword}"`
	// 事件定义。包括:
	// - event_name:事件名称。比如删除 ES 集群实例
	// - event_source_ip:事件源 IP。比如 175.0.24.182(中国 湖南省 长沙市 中国电信)
	// - team:团队。比如运维团队
	// - resource_name:资源名称。比如 es-7104
	// - operation:操作。比如删除
	// - event_record:事件记录。比如操作语句和查询参数
	Labels util.MapStr `json:"labels"  elastic_mapping:"labels:{type:object}"`
}

AuditLogMetadata 表示审计日志元数据

type EmailServer

type EmailServer struct {
	orm.ORMObjectBase
	Name          string           `json:"name" elastic_mapping:"name:{type:text}"`
	Host          string           `json:"host" elastic_mapping:"host:{type:keyword}"`
	Port          int              `json:"port" elastic_mapping:"port:{type:keyword}"`
	TLS           bool             `json:"tls" elastic_mapping:"tls:{type:keyword}"`
	Auth          *model.BasicAuth `json:"auth" elastic_mapping:"auth:{type:object}"`
	Enabled       bool             `json:"enabled" elastic_mapping:"enabled:{type:boolean}"`
	CredentialID  string           `json:"credential_id" elastic_mapping:"credential_id:{type:keyword}"`
	TLSMinVersion string           `json:"tls_min_version" elastic_mapping:"tls_min_version:{type:keyword}"`
}

func (*EmailServer) Validate

func (serv *EmailServer) Validate(requireName bool) error

type Layout

type Layout struct {
	orm.ORMObjectBase
	Name        string `json:"name" elastic_mapping:"name: { type: text }"`
	Description string `json:"description" elastic_mapping:"description: { type: text }"`
	Creator     struct {
		Name string `json:"name"`
		Id   string `json:"id"`
	} `json:"creator"`
	ViewID   string      `json:"view_id" elastic_mapping:"view_id: { type: keyword }"`
	Config   interface{} `json:"config" elastic_mapping:"config: { type: object, enabled:false }"`
	Reserved bool        `json:"reserved,omitempty" elastic_mapping:"reserved:{type:boolean}"`
	Type     LayoutType  `json:"type" elastic_mapping:"type: { type: keyword }"`
	IsFixed  bool        `json:"is_fixed" elastic_mapping:"is_fixed: { type: boolean }"`
}

type LayoutType

type LayoutType string
const (
	LayoutTypeWorkspace LayoutType = "workspace"
)

type MessageType

type MessageType string
const (
	MessageTypeNews       MessageType = "news"
	MessageTypeAlerting   MessageType = "alerting"
	MessageTypeMigration  MessageType = "migration"
	MessageTypeComparison MessageType = "comparison"
)

type Notification

type Notification struct {
	orm.ORMObjectBase

	UserId      string             `json:"user_id,omitempty" elastic_mapping:"user_id: { type: keyword }"`
	Type        NotificationType   `json:"type,omitempty" elastic_mapping:"type:{type:keyword,fields:{text: {type: text}}}"`
	MessageType MessageType        `json:"message_type,omitempty" elastic_mapping:"message_type:{type:keyword,fields:{text: {type: text}}}"`
	Status      NotificationStatus `json:"status,omitempty" elastic_mapping:"status: { type: keyword }"`
	Title       string             `json:"title,omitempty" elastic_mapping:"title: { type: text }"`
	Body        string             `json:"body,omitempty" elastic_mapping:"body: { type: text }"`
	Link        string             `json:"link,omitempty" elastic_mapping:"link: { type: keyword }"`
}

type NotificationStatus

type NotificationStatus string
const (
	NotificationStatusNew  NotificationStatus = "new"
	NotificationStatusRead NotificationStatus = "read"
)

type NotificationType

type NotificationType string
const (
	NotificationTypeNotification NotificationType = "notification"
	NotificationTypeTodo         NotificationType = "todo"
)

type TaskWorker

type TaskWorker struct {
	model.Instance
}

func (*TaskWorker) CreatePipeline

func (inst *TaskWorker) CreatePipeline(body []byte) error

func (*TaskWorker) DeletePipeline

func (inst *TaskWorker) DeletePipeline(pipelineID string) error

func (*TaskWorker) DeleteQueueBySelector

func (inst *TaskWorker) DeleteQueueBySelector(selector util.MapStr) error

func (*TaskWorker) DeleteQueueConsumersBySelector

func (inst *TaskWorker) DeleteQueueConsumersBySelector(selector util.MapStr) error

func (*TaskWorker) GetPipeline

func (inst *TaskWorker) GetPipeline(pipelineID string) (*pipeline.PipelineStatus, error)

func (*TaskWorker) GetPipelinesByIDs

func (inst *TaskWorker) GetPipelinesByIDs(pipelineIDs []string) (pipeline.GetPipelinesResponse, error)

func (*TaskWorker) StartPipeline

func (inst *TaskWorker) StartPipeline(pipelineID string) error

func (*TaskWorker) StopPipeline

func (inst *TaskWorker) StopPipeline(ctx context.Context, pipelineID string) error

func (*TaskWorker) StopPipelineWithTimeout

func (inst *TaskWorker) StopPipelineWithTimeout(pipelineID string, duration time.Duration) error

func (*TaskWorker) TryConnect

func (inst *TaskWorker) TryConnect(ctx context.Context) error

func (*TaskWorker) TryConnectWithTimeout

func (inst *TaskWorker) TryConnectWithTimeout(duration time.Duration) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL