gqlapi

package
v0.0.0-...-3534724 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2023 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ClusterStatusEnumMap = map[ClusterStatusEnum]uint8{
	"NORMAL":   1,
	"DISABLED": 2,
}

ClusterStatusEnumMap 群集状态枚举转uint8

View Source
var EdgeEnumMap = map[EdgeEnum]uint{
	"USER_TO_REVIEWER": 1,
	"USER_TO_ROLE":     2,
	"USER_TO_CLUSTER":  3,
}

EdgeEnumMap 多到多类型枚举转uint

View Source
var GenderEnumMap = map[GenderEnum]int8{
	"NA":     -1,
	"FEMALE": 0,
	"MALE":   1,
}

GenderEnumMap 性别枚举转int8

View Source
var QueryTypeEnumMap = map[QueryTypeEnum]uint8{
	"QUERY":   1,
	"ANALYZE": 2,
	"REWRITE": 3,
}

QueryTypeEnumMap 查询类型枚举转uint8

View Source
var RoleEnumMap = map[RoleEnum]uint{
	"ADMIN":     1,
	"REVIEWER":  2,
	"DEVELOPER": 3,
	"USER":      4,
	"GUEST":     5,
}

RoleEnumMap 角色枚举转uint

View Source
var StatementTypeEnumMap = map[StatementTypeEnum]uint8{
	"ALTER_TABLE":     1,
	"ANALYZE_TABLE":   2,
	"BEGIN":           3,
	"COMMIT":          4,
	"CREATE_DATABASE": 5,
	"CREATE_INDEX":    6,
	"CREATE_TABLE":    7,
	"CREATE_VIEW":     8,
	"CREATE_USER":     9,
	"DELETE":          10,
	"DROP_DATABASE":   11,
	"DROP_INDEX":      12,
	"DROP_TABLE":      13,
	"EXPLAIN":         14,
	"INSERT":          15,
	"LOAD_DATA":       16,
	"ROLLBACK":        17,
	"SELECT":          18,
	"SET":             19,
	"SHOW":            20,
	"TRUNCATE_TABLE":  21,
	"UPDATE":          22,
	"GRANT":           23,
	"REVOKE":          24,
	"DEALLOCATE":      25,
	"EXECUTE":         26,
	"PREPARE":         27,
	"USE":             28,
}

StatementTypeEnumMap 语法类型枚举

View Source
var TicketStatusEnumMap = map[TicketStatusEnum]uint8{
	"WAITING_FOR_VLD": 1,
	"VLD_FAILURE":     2,
	"VLD_WARNING":     3,
	"WAITING_FOR_MRV": 4,
	"MRV_FAILURE":     5,
	"LGTM":            6,
	"DONE":            7,
	"EXEC_FAILURE":    8,
	"CLOSED":          9,
}

TicketStatusEnumMap 工单状态枚举转uint8

View Source
var UserStatusEnumMap = map[UserStatusEnum]uint8{
	"NORMAL":  1,
	"BLOCKED": 2,
	"PENDING": 3,
}

UserStatusEnumMap 用户状态枚举转uint8

Functions

func MarshalBytes

func MarshalBytes(b []byte) graphql.Marshaler

MarshalBytes Bytes的序列化

func MarshalInt16

func MarshalInt16(v int16) graphql.Marshaler

MarshalInt16 Int16的序列化

func MarshalInt32

func MarshalInt32(v int32) graphql.Marshaler

MarshalInt32 Int32的序列化

func MarshalInt64

func MarshalInt64(v int64) graphql.Marshaler

MarshalInt64 Int64的序列化

func MarshalInt8

func MarshalInt8(v int8) graphql.Marshaler

MarshalInt8 Int8的序列化

func MarshalTimestamp

func MarshalTimestamp(t time.Time) graphql.Marshaler

MarshalTimestamp Timestamp的序列化

func MarshalUInt

func MarshalUInt(v uint) graphql.Marshaler

MarshalUInt UInt的序列化

func MarshalUInt16

func MarshalUInt16(v uint16) graphql.Marshaler

MarshalUInt16 UInt16的序列化

func MarshalUInt32

func MarshalUInt32(v uint32) graphql.Marshaler

MarshalUInt32 UInt32的序列化

func MarshalUInt64

func MarshalUInt64(v uint64) graphql.Marshaler

MarshalUInt64 UInt64的序列化

func MarshalUInt8

func MarshalUInt8(v uint8) graphql.Marshaler

MarshalUInt8 UInt8的序列化

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func UnmarshalBytes

func UnmarshalBytes(v interface{}) ([]byte, error)

UnmarshalBytes Bytes的反序列化

func UnmarshalInt16

func UnmarshalInt16(v interface{}) (int16, error)

UnmarshalInt16 Int16的反序列化

func UnmarshalInt32

func UnmarshalInt32(v interface{}) (int32, error)

UnmarshalInt32 Int32的反序列化

func UnmarshalInt64

func UnmarshalInt64(v interface{}) (int64, error)

UnmarshalInt64 Int64的反序列化

func UnmarshalInt8

func UnmarshalInt8(v interface{}) (int8, error)

UnmarshalInt8 Int8的反序列化

func UnmarshalTimestamp

func UnmarshalTimestamp(v interface{}) (time.Time, error)

UnmarshalTimestamp Timestamp的反序列化

func UnmarshalUInt

func UnmarshalUInt(v interface{}) (uint, error)

UnmarshalUInt UInt的反序列化

func UnmarshalUInt16

func UnmarshalUInt16(v interface{}) (uint16, error)

UnmarshalUInt16 UInt16的反序列化

func UnmarshalUInt32

func UnmarshalUInt32(v interface{}) (uint32, error)

UnmarshalUInt32 UInt32的反序列化

func UnmarshalUInt64

func UnmarshalUInt64(v interface{}) (uint64, error)

UnmarshalUInt64 UInt64的反序列化

func UnmarshalUInt8

func UnmarshalUInt8(v interface{}) (uint8, error)

UnmarshalUInt8 UInt8的反序列化

Types

type ActivatePayload

type ActivatePayload struct {
	Email string `json:"Email"`
}

type ClusterConnection

type ClusterConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*ClusterEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

type ClusterEdge

type ClusterEdge struct {
	// 端
	Node *models.Cluster `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

type ClusterStatusEnum

type ClusterStatusEnum string
const (
	// 正常
	ClusterStatusEnumNormal ClusterStatusEnum = "NORMAL"
	// 禁用
	ClusterStatusEnumDisabled ClusterStatusEnum = "DISABLED"
)

func (ClusterStatusEnum) IsValid

func (e ClusterStatusEnum) IsValid() bool

func (ClusterStatusEnum) MarshalGQL

func (e ClusterStatusEnum) MarshalGQL(w io.Writer)

func (ClusterStatusEnum) String

func (e ClusterStatusEnum) String() string

func (*ClusterStatusEnum) UnmarshalGQL

func (e *ClusterStatusEnum) UnmarshalGQL(v interface{}) error

type CommentConnection

type CommentConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*CommentEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

type CommentEdge

type CommentEdge struct {
	// 端
	Node *models.Comment `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

type CommentResolver

type CommentResolver interface {
	User(ctx context.Context, obj *models.Comment) (*models.User, error)
	Ticket(ctx context.Context, obj *models.Comment) (*models.Ticket, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	ActivatePayload struct {
		Email func(childComplexity int) int
	}

	Avatar struct {
		CreateAt func(childComplexity int) int
		URL      func(childComplexity int) int
		UUID     func(childComplexity int) int
		UpdateAt func(childComplexity int) int
	}

	CPUStats struct {
		IOWait    func(childComplexity int) int
		Idle      func(childComplexity int) int
		Kernel    func(childComplexity int) int
		LoadMin1  func(childComplexity int) int
		LoadMin15 func(childComplexity int) int
		LoadMin5  func(childComplexity int) int
		Nice      func(childComplexity int) int
		Swap      func(childComplexity int) int
		User      func(childComplexity int) int
	}

	Cluster struct {
		Alias    func(childComplexity int) int
		CreateAt func(childComplexity int) int
		Host     func(childComplexity int) int
		IP       func(childComplexity int) int
		Port     func(childComplexity int) int
		Status   func(childComplexity int) int
		UUID     func(childComplexity int) int
		UpdateAt func(childComplexity int) int
		User     func(childComplexity int) int
	}

	ClusterConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	ClusterEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Comment struct {
		Content  func(childComplexity int) int
		CreateAt func(childComplexity int) int
		Ticket   func(childComplexity int) int
		UUID     func(childComplexity int) int
		UpdateAt func(childComplexity int) int
		User     func(childComplexity int) int
	}

	CommentConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	CommentEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Cron struct {
		Cmd       func(childComplexity int) int
		CreateAt  func(childComplexity int) int
		Duration  func(childComplexity int) int
		Interval  func(childComplexity int) int
		LastRun   func(childComplexity int) int
		Name      func(childComplexity int) int
		NextRun   func(childComplexity int) int
		Params    func(childComplexity int) int
		Recurrent func(childComplexity int) int
		Status    func(childComplexity int) int
		UUID      func(childComplexity int) int
		UpdateAt  func(childComplexity int) int
	}

	CronConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	CronEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Database struct {
		Charset func(childComplexity int) int
		Collate func(childComplexity int) int
		Name    func(childComplexity int) int
	}

	Environments struct {
		CPUStats     func(childComplexity int) int
		HostInfos    func(childComplexity int) int
		MemStats     func(childComplexity int) int
		ProcessStats func(childComplexity int) int
	}

	Glossary struct {
		CreateAt    func(childComplexity int) int
		Description func(childComplexity int) int
		Group       func(childComplexity int) int
		Key         func(childComplexity int) int
		UUID        func(childComplexity int) int
		UpdateAt    func(childComplexity int) int
		Value       func(childComplexity int) int
	}

	HostInfos struct {
		BitWidth  func(childComplexity int) int
		HostName  func(childComplexity int) int
		MaxCPUs   func(childComplexity int) int
		NCPUs     func(childComplexity int) int
		OSName    func(childComplexity int) int
		OSRelease func(childComplexity int) int
		OSVersion func(childComplexity int) int
		Platform  func(childComplexity int) int
	}

	Log struct {
		CreateAt  func(childComplexity int) int
		LogID     func(childComplexity int) int
		Operation func(childComplexity int) int
		UUID      func(childComplexity int) int
		User      func(childComplexity int) int
	}

	LogConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	LogEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	LoginPayload struct {
		Me    func(childComplexity int) int
		Token func(childComplexity int) int
	}

	MemStats struct {
		Cache     func(childComplexity int) int
		Free      func(childComplexity int) int
		SwapFree  func(childComplexity int) int
		SwapTotal func(childComplexity int) int
		SwapUsed  func(childComplexity int) int
		Total     func(childComplexity int) int
		Used      func(childComplexity int) int
	}

	MutationRoot struct {
		Activate             func(childComplexity int, input models.ActivateInput) int
		AnalyzeQuery         func(childComplexity int, input models.SoarQueryInput) int
		CancelCron           func(childComplexity int, id string) int
		CreateCluster        func(childComplexity int, input models.CreateClusterInput) int
		CreateComment        func(childComplexity int, input models.CreateCommentInput) int
		CreateQuery          func(childComplexity int, input models.CreateQueryInput) int
		CreateTicket         func(childComplexity int, input models.CreateTicketInput) int
		CreateUser           func(childComplexity int, input models.CreateUserInput) int
		ExecuteTicket        func(childComplexity int, id string) int
		GrantClusters        func(childComplexity int, input models.GrantClustersInput) int
		GrantReviewers       func(childComplexity int, input models.GrantReviewersInput) int
		GrantRoles           func(childComplexity int, input models.GrantRolesInput) int
		Login                func(childComplexity int, input models.UserLoginInput) int
		Logout               func(childComplexity int) int
		LostPasswd           func(childComplexity int, input models.LostPasswdInput) int
		PatchClusterStatus   func(childComplexity int, input models.PatchClusterStatusInput) int
		PatchOptionValues    func(childComplexity int, input models.PatchOptionValueInput) int
		PatchRuleBitwise     func(childComplexity int, input models.PatchRuleBitwiseInput) int
		PatchRuleValues      func(childComplexity int, input models.PatchRuleValuesInput) int
		PatchTicketStatus    func(childComplexity int, input models.PatchTicketStatusInput) int
		PatchUserStatus      func(childComplexity int, input models.PatchUserStatusInput) int
		Register             func(childComplexity int, input models.UserRegisterInput) int
		RemoveCluster        func(childComplexity int, id string) int
		RemoveTicket         func(childComplexity int, id string) int
		ResendActivationMail func(childComplexity int, input models.ActivateInput) int
		ResetPasswd          func(childComplexity int, input models.ResetPasswdInput) int
		RevokeClusters       func(childComplexity int, input models.RevokeClustersInput) int
		RevokeReviewers      func(childComplexity int, input models.RevokeReviewersInput) int
		RevokeRoles          func(childComplexity int, input models.RevokeRolesInput) int
		RewriteQuery         func(childComplexity int, input models.SoarQueryInput) int
		ScheduleTicket       func(childComplexity int, input models.ScheduleTicketInput) int
		UpdateCluster        func(childComplexity int, input models.UpdateClusterInput) int
		UpdateEmail          func(childComplexity int, input models.PatchEmailInput) int
		UpdatePassword       func(childComplexity int, input models.PatchPasswordInput) int
		UpdateProfile        func(childComplexity int, input models.UpdateProfileInput) int
		UpdateTemplate       func(childComplexity int, input *models.UpdateTemplateInput) int
		UpdateTicket         func(childComplexity int, input models.UpdateTicketInput) int
		UpdateUser           func(childComplexity int, input models.UpdateUserInput) int
	}

	Option struct {
		CreateAt    func(childComplexity int) int
		Description func(childComplexity int) int
		Element     func(childComplexity int) int
		Name        func(childComplexity int) int
		UUID        func(childComplexity int) int
		UpdateAt    func(childComplexity int) int
		Value       func(childComplexity int) int
		Writable    func(childComplexity int) int
	}

	PageInfo struct {
		EndCursor       func(childComplexity int) int
		HasNextPage     func(childComplexity int) int
		HasPreviousPage func(childComplexity int) int
		StartCursor     func(childComplexity int) int
	}

	ProcessStats struct {
		Running  func(childComplexity int) int
		Sleeping func(childComplexity int) int
		Stopped  func(childComplexity int) int
		Total    func(childComplexity int) int
		Zombie   func(childComplexity int) int
	}

	Query struct {
		Cluster  func(childComplexity int) int
		Content  func(childComplexity int) int
		CreateAt func(childComplexity int) int
		Database func(childComplexity int) int
		Plan     func(childComplexity int) int
		Type     func(childComplexity int) int
		UUID     func(childComplexity int) int
		UpdateAt func(childComplexity int) int
		User     func(childComplexity int) int
	}

	QueryConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	QueryEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	QueryRoot struct {
		Avatars       func(childComplexity int) int
		Cluster       func(childComplexity int, id string) int
		ClusterSearch func(childComplexity int, search string, after *string, before *string, first *int, last *int) int
		Clusters      func(childComplexity int, after *string, before *string, first *int, last *int) int
		Cron          func(childComplexity int, id string) int
		Crons         func(childComplexity int, after *string, before *string, first *int, last *int) int
		Databases     func(childComplexity int, clusterUUID string) int
		Environments  func(childComplexity int) int
		Glossaries    func(childComplexity int, groups []string) int
		Logs          func(childComplexity int, after *string, before *string, first *int, last *int) int
		Me            func(childComplexity int) int
		Metadata      func(childComplexity int, clusterUUID string, database string) int
		Option        func(childComplexity int, id string) int
		Options       func(childComplexity int) int
		Queries       func(childComplexity int, after *string, before *string, first *int, last *int) int
		Query         func(childComplexity int, id string) int
		QuerySearch   func(childComplexity int, search string, after *string, before *string, first *int, last *int) int
		Role          func(childComplexity int, id string) int
		Roles         func(childComplexity int) int
		Rule          func(childComplexity int, id string) int
		Rules         func(childComplexity int) int
		Statistics    func(childComplexity int, groups []string) int
		Tasks         func(childComplexity int) int
		Templates     func(childComplexity int) int
		TestCluster   func(childComplexity int, input *models.ValidateConnectionInput) int
		TestRegexp    func(childComplexity int, input *models.ValidatePatternInput) int
		Ticket        func(childComplexity int, id string) int
		TicketSearch  func(childComplexity int, search string, after *string, before *string, first *int, last *int) int
		Tickets       func(childComplexity int, after *string, before *string, first *int, last *int) int
		User          func(childComplexity int, id string) int
		UserSearch    func(childComplexity int, search string, after *string, before *string, first *int, last *int) int
		Users         func(childComplexity int, after *string, before *string, first *int, last *int) int
	}

	Role struct {
		CreateAt    func(childComplexity int) int
		Description func(childComplexity int) int
		Name        func(childComplexity int) int
		UUID        func(childComplexity int) int
		UpdateAt    func(childComplexity int) int
		Users       func(childComplexity int, after *string, before *string, first *int, last *int) int
	}

	Rule struct {
		Bitwise     func(childComplexity int) int
		CreateAt    func(childComplexity int) int
		Description func(childComplexity int) int
		Element     func(childComplexity int) int
		Func        func(childComplexity int) int
		Group       func(childComplexity int) int
		Message     func(childComplexity int) int
		Name        func(childComplexity int) int
		UUID        func(childComplexity int) int
		UpdateAt    func(childComplexity int) int
		Values      func(childComplexity int) int
		VldrGroup   func(childComplexity int) int
	}

	Statement struct {
		Content      func(childComplexity int) int
		CreateAt     func(childComplexity int) int
		Plan         func(childComplexity int) int
		Report       func(childComplexity int) int
		RowsAffected func(childComplexity int) int
		Sequence     func(childComplexity int) int
		Status       func(childComplexity int) int
		Ticket       func(childComplexity int) int
		TypeDesc     func(childComplexity int) int
		UUID         func(childComplexity int) int
		UpdateAt     func(childComplexity int) int
	}

	StatementConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	StatementEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Statistic struct {
		CreateAt func(childComplexity int) int
		Group    func(childComplexity int) int
		Key      func(childComplexity int) int
		UUID     func(childComplexity int) int
		UpdateAt func(childComplexity int) int
		Value    func(childComplexity int) int
	}

	SubscriptionRoot struct {
		TicketStatusChanged func(childComplexity int) int
	}

	Template struct {
		Body        func(childComplexity int) int
		CreateAt    func(childComplexity int) int
		Description func(childComplexity int) int
		Subject     func(childComplexity int) int
		UUID        func(childComplexity int) int
		UpdateAt    func(childComplexity int) int
	}

	Ticket struct {
		Cluster    func(childComplexity int) int
		Comments   func(childComplexity int, after *string, before *string, first *int, last *int) int
		Content    func(childComplexity int) int
		CreateAt   func(childComplexity int) int
		Cron       func(childComplexity int) int
		Database   func(childComplexity int) int
		Reviewer   func(childComplexity int) int
		Statements func(childComplexity int, after *string, before *string, first *int, last *int) int
		Status     func(childComplexity int) int
		Subject    func(childComplexity int) int
		UUID       func(childComplexity int) int
		UpdateAt   func(childComplexity int) int
		User       func(childComplexity int) int
	}

	TicketConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	TicketEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	TicketStatusChangePayload struct {
		Message    func(childComplexity int) int
		TicketUUID func(childComplexity int) int
	}

	User struct {
		Avatar     func(childComplexity int) int
		Clusters   func(childComplexity int, after *string, before *string, first *int, last *int) int
		CreateAt   func(childComplexity int) int
		Email      func(childComplexity int) int
		Name       func(childComplexity int) int
		Phone      func(childComplexity int) int
		Queries    func(childComplexity int, after *string, before *string, first *int, last *int) int
		Reviewers  func(childComplexity int) int
		Roles      func(childComplexity int) int
		Statistics func(childComplexity int) int
		Status     func(childComplexity int) int
		Tickets    func(childComplexity int, after *string, before *string, first *int, last *int) int
		UUID       func(childComplexity int) int
		UpdateAt   func(childComplexity int) int
	}

	UserConnection struct {
		Edges      func(childComplexity int) int
		PageInfo   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	UserEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type CronConnection

type CronConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*CronEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

type CronEdge

type CronEdge struct {
	// 端
	Node *models.Cron `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

type Database

type Database struct {
	// 名称
	Name string `json:"Name"`
	// 字符集
	Charset string `json:"Charset"`
	// 排序规则
	Collate string `json:"Collate"`
}

数据库信息

type DirectiveRoot

type DirectiveRoot struct {
	Auth      func(ctx context.Context, obj interface{}, next graphql.Resolver, requires []RoleEnum) (res interface{}, err error)
	Date      func(ctx context.Context, obj interface{}, next graphql.Resolver, format string) (res interface{}, err error)
	EnumInt   func(ctx context.Context, obj interface{}, next graphql.Resolver, value int) (res interface{}, err error)
	Length    func(ctx context.Context, obj interface{}, next graphql.Resolver, max int) (res interface{}, err error)
	Lower     func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	Matches   func(ctx context.Context, obj interface{}, next graphql.Resolver, pattern string) (res interface{}, err error)
	Range     func(ctx context.Context, obj interface{}, next graphql.Resolver, begin int, end int) (res interface{}, err error)
	Rename    func(ctx context.Context, obj interface{}, next graphql.Resolver, to string) (res interface{}, err error)
	Timestamp func(ctx context.Context, obj interface{}, next graphql.Resolver, format string) (res interface{}, err error)
	Trim      func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	Upper     func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	Uuid      func(ctx context.Context, obj interface{}, next graphql.Resolver, name *string, from []*string) (res interface{}, err error)
}

type EdgeEnum

type EdgeEnum string

关联表类型描述

const (
	// 用户到审核的多对多关系
	EdgeEnumUserToReviewer EdgeEnum = "USER_TO_REVIEWER"
	// 用户到角色的多对多关系
	EdgeEnumUserToRole EdgeEnum = "USER_TO_ROLE"
	// 用户到群集的多对多关系
	EdgeEnumUserToCluster EdgeEnum = "USER_TO_CLUSTER"
)

func (EdgeEnum) IsValid

func (e EdgeEnum) IsValid() bool

func (EdgeEnum) MarshalGQL

func (e EdgeEnum) MarshalGQL(w io.Writer)

func (EdgeEnum) String

func (e EdgeEnum) String() string

func (*EdgeEnum) UnmarshalGQL

func (e *EdgeEnum) UnmarshalGQL(v interface{}) error

type Environments

type Environments struct {
	CPUStats     *statgo.CPUStats     `json:"CPUStats"`
	HostInfos    *statgo.HostInfos    `json:"HostInfos"`
	ProcessStats *statgo.ProcessStats `json:"ProcessStats"`
	MemStats     *statgo.MemStats     `json:"MemStats"`
}

type GenderEnum

type GenderEnum string

性别定义

const (
	// 无
	GenderEnumNa GenderEnum = "NA"
	// 男
	GenderEnumMale GenderEnum = "MALE"
	// 女
	GenderEnumFemale GenderEnum = "FEMALE"
)

func (GenderEnum) IsValid

func (e GenderEnum) IsValid() bool

func (GenderEnum) MarshalGQL

func (e GenderEnum) MarshalGQL(w io.Writer)

func (GenderEnum) String

func (e GenderEnum) String() string

func (*GenderEnum) UnmarshalGQL

func (e *GenderEnum) UnmarshalGQL(v interface{}) error

type LogConnection

type LogConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*LogEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

type LogEdge

type LogEdge struct {
	// 端
	Node *models.Log `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

type LogResolver

type LogResolver interface {
	User(ctx context.Context, obj *models.Log) (*models.User, error)
}

type LoginPayload

type LoginPayload struct {
	// 用户信息
	Me *models.User `json:"Me"`
	// 登录令牌
	Token string `json:"Token"`
}

用户登录后返回当前用户信息和令牌

type MutationRootResolver

type MutationRootResolver interface {
	Register(ctx context.Context, input models.UserRegisterInput) (*models.User, error)
	Login(ctx context.Context, input models.UserLoginInput) (*LoginPayload, error)
	Logout(ctx context.Context) (bool, error)
	UpdateProfile(ctx context.Context, input models.UpdateProfileInput) (*models.User, error)
	UpdatePassword(ctx context.Context, input models.PatchPasswordInput) (bool, error)
	UpdateEmail(ctx context.Context, input models.PatchEmailInput) (bool, error)
	GrantReviewers(ctx context.Context, input models.GrantReviewersInput) (bool, error)
	RevokeReviewers(ctx context.Context, input models.RevokeReviewersInput) (bool, error)
	GrantClusters(ctx context.Context, input models.GrantClustersInput) (bool, error)
	RevokeClusters(ctx context.Context, input models.RevokeClustersInput) (bool, error)
	GrantRoles(ctx context.Context, input models.GrantRolesInput) (bool, error)
	RevokeRoles(ctx context.Context, input models.RevokeRolesInput) (bool, error)
	CreateUser(ctx context.Context, input models.CreateUserInput) (*models.User, error)
	UpdateUser(ctx context.Context, input models.UpdateUserInput) (*models.User, error)
	PatchUserStatus(ctx context.Context, input models.PatchUserStatusInput) (bool, error)
	CreateCluster(ctx context.Context, input models.CreateClusterInput) (*models.Cluster, error)
	UpdateCluster(ctx context.Context, input models.UpdateClusterInput) (*models.Cluster, error)
	RemoveCluster(ctx context.Context, id string) (bool, error)
	PatchClusterStatus(ctx context.Context, input models.PatchClusterStatusInput) (bool, error)
	UpdateTemplate(ctx context.Context, input *models.UpdateTemplateInput) (*models.Template, error)
	CreateTicket(ctx context.Context, input models.CreateTicketInput) (*models.Ticket, error)
	UpdateTicket(ctx context.Context, input models.UpdateTicketInput) (*models.Ticket, error)
	RemoveTicket(ctx context.Context, id string) (bool, error)
	PatchTicketStatus(ctx context.Context, input models.PatchTicketStatusInput) (bool, error)
	ExecuteTicket(ctx context.Context, id string) (bool, error)
	ScheduleTicket(ctx context.Context, input models.ScheduleTicketInput) (*models.Cron, error)
	CancelCron(ctx context.Context, id string) (bool, error)
	CreateComment(ctx context.Context, input models.CreateCommentInput) (*models.Comment, error)
	PatchOptionValues(ctx context.Context, input models.PatchOptionValueInput) (bool, error)
	PatchRuleValues(ctx context.Context, input models.PatchRuleValuesInput) (bool, error)
	PatchRuleBitwise(ctx context.Context, input models.PatchRuleBitwiseInput) (bool, error)
	CreateQuery(ctx context.Context, input models.CreateQueryInput) (string, error)
	AnalyzeQuery(ctx context.Context, input models.SoarQueryInput) (string, error)
	RewriteQuery(ctx context.Context, input models.SoarQueryInput) (string, error)
	Activate(ctx context.Context, input models.ActivateInput) (*ActivatePayload, error)
	LostPasswd(ctx context.Context, input models.LostPasswdInput) (bool, error)
	ResetPasswd(ctx context.Context, input models.ResetPasswdInput) (bool, error)
	ResendActivationMail(ctx context.Context, input models.ActivateInput) (bool, error)
}

type Node

type Node interface {
	IsNode()
	// 创建时间
	GetCreateAt() uint
	// 最后一次修改时间
	GetUpdateAt() *uint
}

接口定义

type PageInfo

type PageInfo struct {
	// 是否可以向前翻页
	HasNextPage bool `json:"hasNextPage"`
	// 是否可以向后翻页
	HasPreviousPage bool `json:"hasPreviousPage"`
	// 向前翻页时的光标
	StartCursor string `json:"startCursor"`
	// 向后翻页时的光标
	EndCursor string `json:"endCursor"`
}

翻页信息

type QueryConnection

type QueryConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*QueryEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

type QueryEdge

type QueryEdge struct {
	// 端
	Node *models.Query `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

type QueryResolver

type QueryResolver interface {
	Cluster(ctx context.Context, obj *models.Query) (*models.Cluster, error)

	User(ctx context.Context, obj *models.Query) (*models.User, error)
}

type QueryRootResolver

type QueryRootResolver interface {
	Cluster(ctx context.Context, id string) (*models.Cluster, error)
	Clusters(ctx context.Context, after *string, before *string, first *int, last *int) (*ClusterConnection, error)
	ClusterSearch(ctx context.Context, search string, after *string, before *string, first *int, last *int) (*ClusterConnection, error)
	Logs(ctx context.Context, after *string, before *string, first *int, last *int) (*LogConnection, error)
	Me(ctx context.Context) (*models.User, error)
	Options(ctx context.Context) ([]*models.Option, error)
	Option(ctx context.Context, id string) (*models.Option, error)
	Query(ctx context.Context, id string) (*models.Query, error)
	Queries(ctx context.Context, after *string, before *string, first *int, last *int) (*QueryConnection, error)
	QuerySearch(ctx context.Context, search string, after *string, before *string, first *int, last *int) (*QueryConnection, error)
	Templates(ctx context.Context) ([]*models.Template, error)
	Ticket(ctx context.Context, id string) (*models.Ticket, error)
	Tickets(ctx context.Context, after *string, before *string, first *int, last *int) (*TicketConnection, error)
	TicketSearch(ctx context.Context, search string, after *string, before *string, first *int, last *int) (*TicketConnection, error)
	User(ctx context.Context, id string) (*models.User, error)
	Users(ctx context.Context, after *string, before *string, first *int, last *int) (*UserConnection, error)
	UserSearch(ctx context.Context, search string, after *string, before *string, first *int, last *int) (*UserConnection, error)
	Avatars(ctx context.Context) ([]*models.Avatar, error)
	Rule(ctx context.Context, id string) (*models.Rule, error)
	Rules(ctx context.Context) ([]*models.Rule, error)
	Role(ctx context.Context, id string) (*models.Role, error)
	Roles(ctx context.Context) ([]*models.Role, error)
	Glossaries(ctx context.Context, groups []string) ([]*models.Glossary, error)
	Cron(ctx context.Context, id string) (*models.Cron, error)
	Crons(ctx context.Context, after *string, before *string, first *int, last *int) (*CronConnection, error)
	Tasks(ctx context.Context) ([]*models.Cron, error)
	Databases(ctx context.Context, clusterUUID string) ([]*Database, error)
	Statistics(ctx context.Context, groups []string) ([]*models.Statistic, error)
	Environments(ctx context.Context) (*Environments, error)
	Metadata(ctx context.Context, clusterUUID string, database string) (string, error)
	TestCluster(ctx context.Context, input *models.ValidateConnectionInput) (bool, error)
	TestRegexp(ctx context.Context, input *models.ValidatePatternInput) (bool, error)
}

type QueryTypeEnum

type QueryTypeEnum string
const (
	// 数据查询
	QueryTypeEnumQuery QueryTypeEnum = "QUERY"
	// 查询分析
	QueryTypeEnumAnalyze QueryTypeEnum = "ANALYZE"
	// 查询重写
	QueryTypeEnumRewrite QueryTypeEnum = "REWRITE"
)

func (QueryTypeEnum) IsValid

func (e QueryTypeEnum) IsValid() bool

func (QueryTypeEnum) MarshalGQL

func (e QueryTypeEnum) MarshalGQL(w io.Writer)

func (QueryTypeEnum) String

func (e QueryTypeEnum) String() string

func (*QueryTypeEnum) UnmarshalGQL

func (e *QueryTypeEnum) UnmarshalGQL(v interface{}) error

type ResolverRoot

type ResolverRoot interface {
	Comment() CommentResolver
	Log() LogResolver
	MutationRoot() MutationRootResolver
	Query() QueryResolver
	QueryRoot() QueryRootResolver
	Role() RoleResolver
	Statement() StatementResolver
	SubscriptionRoot() SubscriptionRootResolver
	Ticket() TicketResolver
	User() UserResolver
}

type ReturnCode

type ReturnCode float64

ReturnCode API返回代码自定义类型

var (
	// TODO: 错误代码梳理
	ReturnCodeOK                     ReturnCode = 1200 // 通用 ─┬─ 请求成功
	ReturnCodeInvalidParams          ReturnCode = 1400 //       ├─ 参数错误
	ReturnCodeUnauthorized           ReturnCode = 1401 //       ├─ 未经授权或令牌失效
	ReturnCodeForbidden              ReturnCode = 1403 //       ├─ 权限不足
	ReturnCodeNotFound               ReturnCode = 1404 //       ├─ 资源不存在
	ReturnCodeTimeout                ReturnCode = 1408 //       ├─ 系统响应超时
	ReturnCodeUnknowError            ReturnCode = 1500 //       └─ 未知错误,一般是系统异常
	ReturnCodeUserStatusPending      ReturnCode = 2005 // 专用 ─┬─
	ReturnCodeUserEmailTaken         ReturnCode = 2009 //       ├─
	ReturnCodeWrongPassword          ReturnCode = 2010 //       ├─
	ReturnCodeUserStatusBlocked      ReturnCode = 2016 //       ├─
	ReturnCodeUserStatusUnknown      ReturnCode = 2026 //       ├─
	ReturnCodeUserNotAvailable       ReturnCode = 2026 //       ├─
	ReturnCodeNoEdgeToReviewer       ReturnCode = 2026 //       ├─ // TODO: 名字不太好
	ReturnCodeRegistrationIncomplete ReturnCode = 2001 //       ├─
	ReturnCodeEmailPasswordMismatch  ReturnCode = 2000 //       ├─
	ReturnCodeClusterNotAvailable    ReturnCode = 2001 //       ├─
	ReturnCodeNotWritable            ReturnCode = 2001 //       ├─ // TODO: 名字不太好
	ReturnCodeDuplicateAlias         ReturnCode = 2003 //       ├─ // TODO: 名字不太好
	ReturnCodeDuplicateHost          ReturnCode = 2006 //       └─ // TODO: 名字不太好
)

API返回代码

func (ReturnCode) String

func (rc ReturnCode) String() string

String 错误代码转String方法

type RoleEnum

type RoleEnum string

角色定义

const (
	// 管理员
	RoleEnumAdmin RoleEnum = "ADMIN"
	// 工单审核人
	RoleEnumReviewer RoleEnum = "REVIEWER"
	// 开发者
	RoleEnumDeveloper RoleEnum = "DEVELOPER"
	// 普通用户
	RoleEnumUser RoleEnum = "USER"
	// 访客
	RoleEnumGuest RoleEnum = "GUEST"
)

func (RoleEnum) IsValid

func (e RoleEnum) IsValid() bool

func (RoleEnum) MarshalGQL

func (e RoleEnum) MarshalGQL(w io.Writer)

func (RoleEnum) String

func (e RoleEnum) String() string

func (*RoleEnum) UnmarshalGQL

func (e *RoleEnum) UnmarshalGQL(v interface{}) error

type RoleResolver

type RoleResolver interface {
	Users(ctx context.Context, obj *models.Role, after *string, before *string, first *int, last *int) (*UserConnection, error)
}

type Searchable

type Searchable interface {
	IsSearchable()
}

type StatementConnection

type StatementConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*StatementEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

type StatementEdge

type StatementEdge struct {
	// 端
	Node *models.Statement `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

type StatementResolver

type StatementResolver interface {
	TypeDesc(ctx context.Context, obj *models.Statement) (string, error)

	Ticket(ctx context.Context, obj *models.Statement) (*models.Ticket, error)
}

type StatementTypeEnum

type StatementTypeEnum string

SQL语句抽象语法树类型枚举

const (
	StatementTypeEnumAlterTable     StatementTypeEnum = "ALTER_TABLE"
	StatementTypeEnumAnalyzeTable   StatementTypeEnum = "ANALYZE_TABLE"
	StatementTypeEnumBegin          StatementTypeEnum = "BEGIN"
	StatementTypeEnumCommit         StatementTypeEnum = "COMMIT"
	StatementTypeEnumCreateDatabase StatementTypeEnum = "CREATE_DATABASE"
	StatementTypeEnumCreateIndex    StatementTypeEnum = "CREATE_INDEX"
	StatementTypeEnumCreateTable    StatementTypeEnum = "CREATE_TABLE"
	StatementTypeEnumCreateView     StatementTypeEnum = "CREATE_VIEW"
	StatementTypeEnumCreateUser     StatementTypeEnum = "CREATE_USER"
	StatementTypeEnumDelete         StatementTypeEnum = "DELETE"
	StatementTypeEnumDropDatabase   StatementTypeEnum = "DROP_DATABASE"
	StatementTypeEnumDropIndex      StatementTypeEnum = "DROP_INDEX"
	StatementTypeEnumDropTable      StatementTypeEnum = "DROP_TABLE"
	StatementTypeEnumExplain        StatementTypeEnum = "EXPLAIN"
	StatementTypeEnumInsert         StatementTypeEnum = "INSERT"
	StatementTypeEnumLoadData       StatementTypeEnum = "LOAD_DATA"
	StatementTypeEnumRollback       StatementTypeEnum = "ROLLBACK"
	StatementTypeEnumSelect         StatementTypeEnum = "SELECT"
	StatementTypeEnumSet            StatementTypeEnum = "SET"
	StatementTypeEnumShow           StatementTypeEnum = "SHOW"
	StatementTypeEnumTruncateTable  StatementTypeEnum = "TRUNCATE_TABLE"
	StatementTypeEnumUpdate         StatementTypeEnum = "UPDATE"
	StatementTypeEnumGrant          StatementTypeEnum = "GRANT"
	StatementTypeEnumRevoke         StatementTypeEnum = "REVOKE"
	StatementTypeEnumDeallocate     StatementTypeEnum = "DEALLOCATE"
	StatementTypeEnumExecute        StatementTypeEnum = "EXECUTE"
	StatementTypeEnumPrepare        StatementTypeEnum = "PREPARE"
	StatementTypeEnumUse            StatementTypeEnum = "USE"
)

func (StatementTypeEnum) IsValid

func (e StatementTypeEnum) IsValid() bool

func (StatementTypeEnum) MarshalGQL

func (e StatementTypeEnum) MarshalGQL(w io.Writer)

func (StatementTypeEnum) String

func (e StatementTypeEnum) String() string

func (*StatementTypeEnum) UnmarshalGQL

func (e *StatementTypeEnum) UnmarshalGQL(v interface{}) error

type SubscriptionRootResolver

type SubscriptionRootResolver interface {
	TicketStatusChanged(ctx context.Context) (<-chan *TicketStatusChangePayload, error)
}

type TicketConnection

type TicketConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*TicketEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

type TicketEdge

type TicketEdge struct {
	// 端
	Node *models.Ticket `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

type TicketResolver

type TicketResolver interface {
	Cluster(ctx context.Context, obj *models.Ticket) (*models.Cluster, error)

	User(ctx context.Context, obj *models.Ticket) (*models.User, error)
	Reviewer(ctx context.Context, obj *models.Ticket) (*models.User, error)
	Cron(ctx context.Context, obj *models.Ticket) (*models.Cron, error)
	Statements(ctx context.Context, obj *models.Ticket, after *string, before *string, first *int, last *int) (*StatementConnection, error)
	Comments(ctx context.Context, obj *models.Ticket, after *string, before *string, first *int, last *int) (*CommentConnection, error)
}

type TicketStatusChangePayload

type TicketStatusChangePayload struct {
	TicketUUID string `json:"TicketUUID"`
	Message    string `json:"Message"`
}

type TicketStatusEnum

type TicketStatusEnum string
const (
	// 工单保存成功,等待系统审核
	TicketStatusEnumWaitingForVld TicketStatusEnum = "WAITING_FOR_VLD"
	// 系统审核不通过,一条或者多条语句违反规则限制,需要修改后重新提交
	TicketStatusEnumVldFailure TicketStatusEnum = "VLD_FAILURE"
	// 系统审核不通过,但部分或全部语句存在警告
	TicketStatusEnumVldWarning TicketStatusEnum = "VLD_WARNING"
	// 系统审核通过,等待人工审核
	TicketStatusEnumWaitingForMrv TicketStatusEnum = "WAITING_FOR_MRV"
	// 人工审核不通过,需要修改后重新提交
	TicketStatusEnumMrvFailure TicketStatusEnum = "MRV_FAILURE"
	// 人工审核通过,等待上线执行
	TicketStatusEnumLgtm TicketStatusEnum = "LGTM"
	// 上线执行完成
	TicketStatusEnumDone TicketStatusEnum = "DONE"
	// 上线执行失败,部分或全部未执行
	TicketStatusEnumExecFailure TicketStatusEnum = "EXEC_FAILURE"
	// 发起人主动关闭不需要执行
	TicketStatusEnumClosed TicketStatusEnum = "CLOSED"
)

func (TicketStatusEnum) IsValid

func (e TicketStatusEnum) IsValid() bool

func (TicketStatusEnum) MarshalGQL

func (e TicketStatusEnum) MarshalGQL(w io.Writer)

func (TicketStatusEnum) String

func (e TicketStatusEnum) String() string

func (*TicketStatusEnum) UnmarshalGQL

func (e *TicketStatusEnum) UnmarshalGQL(v interface{}) error

type UserConnection

type UserConnection struct {
	// 分页信息
	PageInfo *PageInfo `json:"pageInfo"`
	// 记录信息
	Edges []*UserEdge `json:"edges,omitempty"`
	// 记录总数
	TotalCount int `json:"totalCount"`
}

用户连接定义

type UserEdge

type UserEdge struct {
	// 端
	Node *models.User `json:"node,omitempty"`
	// 分页时使用的光标
	Cursor string `json:"cursor"`
}

连接中用户的端

type UserResolver

type UserResolver interface {
	Avatar(ctx context.Context, obj *models.User) (*models.Avatar, error)
	Roles(ctx context.Context, obj *models.User) ([]*models.Role, error)
	Reviewers(ctx context.Context, obj *models.User) ([]*models.User, error)
	Statistics(ctx context.Context, obj *models.User) ([]*models.Statistic, error)
	Clusters(ctx context.Context, obj *models.User, after *string, before *string, first *int, last *int) (*ClusterConnection, error)
	Tickets(ctx context.Context, obj *models.User, after *string, before *string, first *int, last *int) (*TicketConnection, error)
	Queries(ctx context.Context, obj *models.User, after *string, before *string, first *int, last *int) (*QueryConnection, error)
}

type UserStatusEnum

type UserStatusEnum string
const (
	// 正常
	UserStatusEnumNormal UserStatusEnum = "NORMAL"
	// 禁用
	UserStatusEnumBlocked UserStatusEnum = "BLOCKED"
	// 等待管理员审核
	UserStatusEnumPending UserStatusEnum = "PENDING"
)

func (UserStatusEnum) IsValid

func (e UserStatusEnum) IsValid() bool

func (UserStatusEnum) MarshalGQL

func (e UserStatusEnum) MarshalGQL(w io.Writer)

func (UserStatusEnum) String

func (e UserStatusEnum) String() string

func (*UserStatusEnum) UnmarshalGQL

func (e *UserStatusEnum) UnmarshalGQL(v interface{}) error

Jump to

Keyboard shortcuts

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