group

package
v1.0.11 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GroupHistoryDetailResult

type GroupHistoryDetailResult struct {
	History        *ent.ProxyGroupHistory
	Details        []*ent.ProxyGroupHistoryDetail
	ConfigSnapshot string
}

type GroupRepo

type GroupRepo interface {
	// Node Group CRUD
	CreateNodeGroup(ctx context.Context, req *v1.CreateNodeGroupRequest) (int64, error)
	UpdateNodeGroup(ctx context.Context, req *v1.UpdateNodeGroupRequest) error
	DeleteNodeGroup(ctx context.Context, id int64) error
	GetNodeGroupList(ctx context.Context, req *v1.GetNodeGroupListRequest) ([]*NodeGroupListItem, int32, error)

	// Group Config
	GetGroupConfig(ctx context.Context) (*v1.GroupConfig, error)
	UpdateGroupConfig(ctx context.Context, req *v1.UpdateGroupConfigRequest) error

	// Group Operations
	RecalculateGroup(ctx context.Context, mode string, triggerType string) (int64, error)
	GetRecalculationStatus(ctx context.Context) (*v1.RecalculationState, error)
	GetGroupHistory(ctx context.Context, req *v1.GetGroupHistoryRequest) ([]*ent.ProxyGroupHistory, int32, error)
	GetGroupHistoryDetail(ctx context.Context, historyID int64) (*GroupHistoryDetailResult, error)
	PreviewUserNodes(ctx context.Context, userId int64) ([]*PreviewNodeGroup, error)
	ResetGroups(ctx context.Context) error
	GetSubscribeGroupMapping(ctx context.Context) ([]*v1.SubscribeGroupMappingItem, error)
	ExportGroupResult(ctx context.Context, historyID *int64) ([]byte, string, error)
}

GroupRepo group repository interface

type GroupUseCase

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

GroupUseCase group use case

func NewGroupUseCase

func NewGroupUseCase(repo GroupRepo, logger log.Logger) *GroupUseCase

NewGroupUseCase creates a new group use case

func (*GroupUseCase) CreateNodeGroup

func (uc *GroupUseCase) CreateNodeGroup(ctx context.Context, req *v1.CreateNodeGroupRequest) (int64, error)

CreateNodeGroup creates node group

func (*GroupUseCase) DeleteNodeGroup

func (uc *GroupUseCase) DeleteNodeGroup(ctx context.Context, id int64) error

DeleteNodeGroup deletes node group

func (*GroupUseCase) ExportGroupResult

func (uc *GroupUseCase) ExportGroupResult(ctx context.Context, req *v1.ExportGroupResultRequest) ([]byte, string, error)

ExportGroupResult exports group result as CSV

func (*GroupUseCase) GetGroupConfig

func (uc *GroupUseCase) GetGroupConfig(ctx context.Context) (*v1.GroupConfig, *v1.RecalculationState, error)

GetGroupConfig gets group config

func (*GroupUseCase) GetGroupHistory

func (uc *GroupUseCase) GetGroupHistory(ctx context.Context, req *v1.GetGroupHistoryRequest) ([]*ent.ProxyGroupHistory, int32, error)

GetGroupHistory gets group history

func (*GroupUseCase) GetGroupHistoryDetail

func (uc *GroupUseCase) GetGroupHistoryDetail(ctx context.Context, historyID int64) (*GroupHistoryDetailResult, error)

GetGroupHistoryDetail gets group history detail

func (*GroupUseCase) GetNodeGroupList

func (uc *GroupUseCase) GetNodeGroupList(ctx context.Context, req *v1.GetNodeGroupListRequest) ([]*NodeGroupListItem, int32, error)

GetNodeGroupList gets node group list

func (*GroupUseCase) GetRecalculationStatus

func (uc *GroupUseCase) GetRecalculationStatus(ctx context.Context) (*v1.RecalculationState, error)

GetRecalculationStatus gets recalculation status

func (*GroupUseCase) GetSubscribeGroupMapping

func (uc *GroupUseCase) GetSubscribeGroupMapping(ctx context.Context) ([]*v1.SubscribeGroupMappingItem, error)

GetSubscribeGroupMapping gets subscribe group mapping

func (*GroupUseCase) MigrateUsers

func (uc *GroupUseCase) MigrateUsers(ctx context.Context, fromGroupID, toGroupID int64, includeLocked bool) (successCount, failedCount int32, err error)

MigrateUsers migrates users from one group to another (已废弃 - UserGroup已移除)

func (*GroupUseCase) PreviewUserNodes

func (uc *GroupUseCase) PreviewUserNodes(ctx context.Context, req *v1.PreviewUserNodesRequest) ([]*PreviewNodeGroup, error)

PreviewUserNodes previews user nodes

func (*GroupUseCase) RecalculateGroup

func (uc *GroupUseCase) RecalculateGroup(ctx context.Context, req *v1.RecalculateGroupRequest) (int64, error)

RecalculateGroup recalculates groups

func (*GroupUseCase) ResetGroups

func (uc *GroupUseCase) ResetGroups(ctx context.Context) error

ResetGroups resets all user groups

func (*GroupUseCase) UpdateGroupConfig

func (uc *GroupUseCase) UpdateGroupConfig(ctx context.Context, req *v1.UpdateGroupConfigRequest) error

UpdateGroupConfig updates group config

func (*GroupUseCase) UpdateNodeGroup

func (uc *GroupUseCase) UpdateNodeGroup(ctx context.Context, req *v1.UpdateNodeGroupRequest) error

UpdateNodeGroup updates node group

type NodeGroupListItem

type NodeGroupListItem struct {
	Group     *ent.ProxyServerGroup
	NodeCount int64
}

type PreviewNodeGroup

type PreviewNodeGroup struct {
	ID    int64
	Name  string
	Nodes []*ent.ProxyNode
}

Jump to

Keyboard shortcuts

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