api

package
v0.0.0-...-6ac6f58 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2024 License: Apache-2.0, BSD-3-Clause, MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// multiSeparator is used for split keys from string
	MultiSeparator = ","

	QueryTaskIDKey          = "task_id"
	QueryProjectIDKey       = "project_id"
	QueryBuildIDKey         = "build_id"
	QueryStatusKey          = "status"
	QueryPriorityKey        = "priority"
	QueryCreateTimeLeftKey  = "create_time_left"
	QueryCreateTimeRightKey = "create_time_right"
	QueryCreateTimeKey      = "create_time"
	QueryStartTimeLeftKey   = "start_time_left"
	QueryStartTimeRightKey  = "start_time_right"
	QueryStartTimeKey       = "start_time"
	QueryEndTimeLeftKey     = "end_time_left"
	QueryEndTimeRightKey    = "end_time_right"
	QueryEndTimeKey         = "end_time"
	QueryProjectNameKey     = "project_name"
	QueryIPKey              = "ip"
	QueryStageTimeout       = "stage_timeout"
	QueryReleased           = "released"
	QueryUserKey            = "user"

	QueryDate = "day"

	QueryOffsetKey   = "offset"
	QueryLimitKey    = "limit"
	QuerySelectorKey = "selector"
	QueryOrderKey    = "order"
)
View Source
const (

	// PathV1 describe the prefix of version 1 http action.
	PathV1 = prefix + versionV1
)

Variables

View Source
var (
	// GroupListTaskInKey implements the keys that can be filtered with "In" during task list
	GroupListTaskInKey = map[string]bool{
		QueryTaskIDKey:    true,
		QueryProjectIDKey: true,
		QueryBuildIDKey:   true,
		QueryStatusKey:    true,
		QueryPriorityKey:  true,
		QueryReleased:     true,
	}

	// GroupListTaskGtKey implements the keys that can be filtered with "Gt" during task list
	GroupListTaskGtKey = map[string]bool{
		QueryCreateTimeLeftKey: true,
		QueryStartTimeLeftKey:  true,
		QueryEndTimeLeftKey:    true,
	}

	// GroupListTaskLtKey implements the keys that can be filtered with "Lt" during task list
	GroupListTaskLtKey = map[string]bool{
		QueryStartTimeRightKey:  true,
		QueryCreateTimeRightKey: true,
		QueryEndTimeRightKey:    true,
	}

	// GroupListProjectInKey implements the keys that can be filtered with "In" during project list
	GroupListProjectInKey = map[string]bool{
		QueryProjectIDKey:   true,
		QueryProjectNameKey: true,
		QueryPriorityKey:    true,
		QueryStageTimeout:   true,
	}

	// GroupListWhitelistInKey implements the keys that can be filtered with "In" during whitelist list
	GroupListWhitelistInKey = map[string]bool{
		QueryProjectIDKey: true,
		QueryIPKey:        true,
	}

	// GroupIntKey implements the int keys
	GroupIntKey = map[string]bool{
		QueryPriorityKey:  true,
		QueryStageTimeout: true,
	}

	// GroupInt64Key implements the int64 keys
	GroupInt64Key = map[string]bool{
		QueryCreateTimeLeftKey:  true,
		QueryStartTimeLeftKey:   true,
		QueryEndTimeLeftKey:     true,
		QueryStartTimeRightKey:  true,
		QueryCreateTimeRightKey: true,
		QueryEndTimeRightKey:    true,
	}

	// GroupBoolKey implements the bool keys
	GroupBoolKey = map[string]bool{
		QueryReleased: true,
	}

	// GroupFloat64Key implements the float64 keys
	GroupFloat64Key = map[string]bool{}

	// OriginKey implements the lt and gt origin key
	OriginKey = map[string]string{
		QueryCreateTimeLeftKey:  QueryCreateTimeKey,
		QueryCreateTimeRightKey: QueryCreateTimeKey,
		QueryStartTimeLeftKey:   QueryStartTimeKey,
		QueryStartTimeRightKey:  QueryStartTimeKey,
		QueryEndTimeLeftKey:     QueryEndTimeKey,
		QueryEndTimeRightKey:    QueryEndTimeKey,
	}
)

Functions

func GetAPIV1Action

func GetAPIV1Action() []*httpserver.Action

GetAPIV1Action get V1 actions

func InitActionsFunc

func InitActionsFunc() error

InitActionsFunc will call all the functions in initFunc

func MasterRequired

func MasterRequired(f restful.RouteFunction) func(req *restful.Request, resp *restful.Response)

MasterRequired wrap the api handler and make it only available for master node.

func NoLimit

func NoLimit(f restful.RouteFunction) func(req *restful.Request, resp *restful.Response)

NoLimit wrap the api handler and will process all requests.

func RegisterInitFunc

func RegisterInitFunc(f func() error)

RegisterInitFunc called by actions for registering some daemon functions and these functions will be called after flag-init and server-start

func RegisterV1Action

func RegisterV1Action(action Action)

RegisterV1Action register a handler into v1 actions means all the URL of these handlers are start with PathV1

func ReturnRest

func ReturnRest(resp *RestResponse)

ReturnRest do the return work according to a RestResponse

func WithBasicGroup

func WithBasicGroup(basic map[string]bool, extra map[string]bool) map[string]bool

WithBasicGroup combine the basic keys and the extra keys. Return a new key groups.

Types

type Action

type Action httpserver.Action

Action describe the http handler action.

type DistCCServerAPIResource

type DistCCServerAPIResource struct {
	ActionsV1 []*httpserver.Action
	MySQL     distcc.MySQL
	Conf      *config.GatewayConfig
}

DistCCServerAPIResource describe all the distcc api resources

func GetDistCCServerAPIResource

func GetDistCCServerAPIResource() *DistCCServerAPIResource

GetDistCCServerAPIResource return the singleton distcc api resource

func (*DistCCServerAPIResource) InitActions

func (a *DistCCServerAPIResource) InitActions()

InitActions add actions

type DistTaskServerAPIResource

type DistTaskServerAPIResource struct {
	ActionsV1 []*httpserver.Action
	MySQL     disttask.MySQL
	Conf      *config.GatewayConfig
}

DistTaskServerAPIResource describe all the disttask api resources

func GetDistTaskServerAPIResource

func GetDistTaskServerAPIResource() *DistTaskServerAPIResource

GetDistCCServerAPIResource return the singleton disttask api resource

func (*DistTaskServerAPIResource) InitActions

func (a *DistTaskServerAPIResource) InitActions()

InitActions add actions

type FBServerAPIResource

type FBServerAPIResource struct {
	ActionsV1 []*httpserver.Action
	MySQL     fastbuild.MySQL
	Conf      *config.GatewayConfig
}

FBServerAPIResource describe all the fastbuild api resources

func GetFBServerAPIResource

func GetFBServerAPIResource() *FBServerAPIResource

GetDistCCServerAPIResource return the singleton fastbuild api resource

func (*FBServerAPIResource) InitActions

func (a *FBServerAPIResource) InitActions()

InitActions add actions

type ProcessType

type ProcessType string
const (
	ProcessMasterOnly ProcessType = "master_only"
	ProcessNoLimit    ProcessType = "no_limit"
)

type RestResponse

type RestResponse struct {
	Resp     *restful.Response
	HTTPCode int

	Data    interface{}
	ErrCode commonTypes.ServerErrCode
	Message string
	Extra   map[string]interface{}

	WrapFunc func([]byte) []byte
}

RestResponse contains all response information need by a http handler

type XNAPISServerAPIResource

type XNAPISServerAPIResource struct {
	ActionsV1 []*httpserver.Action
	MySQL     apisjob.MySQL
	Conf      *config.GatewayConfig
}

XNAPISServerAPIResource describe all the apis api resources

func GetXNAPISServerAPIResource

func GetXNAPISServerAPIResource() *XNAPISServerAPIResource

GetDistCCServerAPIResource return the singleton apis api resource

func (*XNAPISServerAPIResource) InitActions

func (a *XNAPISServerAPIResource) InitActions()

InitActions add actions

Directories

Path Synopsis
v1

Jump to

Keyboard shortcuts

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