api

package
v0.0.0-...-cb75784 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2020 License: GPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MinPasswordLength = 8
	MinUsernameLength = 3
	MaxUsernameLength = 16
)

Variables

This section is empty.

Functions

func Index

func Index(r *Request)

Types

type BulkSubmitTaskRequest

type BulkSubmitTaskRequest struct {
	Requests []SubmitTaskRequest `json:"requests"`
}

func (BulkSubmitTaskRequest) IsValid

func (reqs BulkSubmitTaskRequest) IsValid() bool

type CreateProjectRequest

type CreateProjectRequest struct {
	Name       string     `json:"name"`
	CloneUrl   string     `json:"clone_url"`
	GitRepo    string     `json:"git_repo"`
	Version    string     `json:"version"`
	Priority   int64      `json:"priority"`
	Motd       string     `json:"motd"`
	Public     bool       `json:"public"`
	Hidden     bool       `json:"hidden"`
	Chain      int64      `json:"chain"`
	AssignRate rate.Limit `json:"assign_rate"`
	SubmitRate rate.Limit `json:"submit_rate"`
}

type CreateProjectResponse

type CreateProjectResponse struct {
	Id int64 `json:"id,omitempty"`
}

type CreateTaskResponse

type CreateTaskResponse struct {
}

type CreateWorkerAccessRequest

type CreateWorkerAccessRequest struct {
	Assign  bool  `json:"assign"`
	Submit  bool  `json:"submit"`
	Project int64 `json:"project"`
}

type CreateWorkerRequest

type CreateWorkerRequest struct {
	Alias string `json:"alias"`
}

type CreateWorkerResponse

type CreateWorkerResponse struct {
	Worker *storage.Worker `json:"worker,omitempty"`
}

type ErrorResponse

type ErrorResponse struct {
	Message    string `json:"message"`
	StackTrace string `json:"stack_trace"`
}

type GetAccountDetailsResponse

type GetAccountDetailsResponse struct {
	LoggedIn bool             `json:"logged_in"`
	Manager  *storage.Manager `json:"manager,omitempty"`
}

type GetAllWorkerStatsResponse

type GetAllWorkerStatsResponse struct {
	Stats *[]storage.WorkerStats `json:"stats"`
}

type GetAssigneeStatsForProjectResponse

type GetAssigneeStatsForProjectResponse struct {
	Assignees *[]storage.AssignedTasks `json:"assignees"`
}

type GetLogRequest

type GetLogRequest struct {
	Level storage.LogLevel `json:"level"`
	Since int64            `json:"since"`
}

type GetLogResponse

type GetLogResponse struct {
	Logs *[]storage.LogEntry `json:"logs"`
}

type GetManagerListResponse

type GetManagerListResponse struct {
	Managers *[]storage.Manager `json:"managers"`
}

type GetManagerListWithRoleOnResponse

type GetManagerListWithRoleOnResponse struct {
	Managers *[]storage.ManagerRoleOn `json:"managers"`
}

type GetProjectListResponse

type GetProjectListResponse struct {
	Projects *[]storage.Project `json:"projects,omitempty"`
}

type GetProjectResponse

type GetProjectResponse struct {
	Project *storage.Project `json:"project,omitempty"`
}

type GetSecretResponse

type GetSecretResponse struct {
	Secret string `json:"secret"`
}

type GetSnapshotsResponse

type GetSnapshotsResponse struct {
	Snapshots *[]storage.ProjectMonitoringSnapshot `json:"snapshots,omitempty"`
}

type GetTaskResponse

type GetTaskResponse struct {
	Task *storage.Task `json:"task,omitempty"`
}

type GetWebhookSecretResponse

type GetWebhookSecretResponse struct {
	WebhookSecret string `json:"webhook_secret"`
}

type GetWorkerAccessListForProjectResponse

type GetWorkerAccessListForProjectResponse struct {
	Accesses *[]storage.WorkerAccess `json:"accesses,omitempty"`
}

type GetWorkerResponse

type GetWorkerResponse struct {
	Worker *storage.Worker `json:"worker,omitempty"`
}

type GitPayload

type GitPayload struct {
	Ref        string `json:"ref"`
	Before     string `json:"before"`
	After      string `json:"after"`
	Repository struct {
		Id    int64 `json:"id"`
		Owner struct {
			Id       int64  `json:"id"`
			Username string `json:"username"`
			Login    string `json:"login"`
			FullName string `json:"full_name"`
			Email    string `json:"email"`
		} `json:"owner"`
		Name          string `json:"name"`
		FullName      string `json:"full_name"`
		Private       bool   `json:"private"`
		Fork          bool   `json:"fork"`
		Size          int64  `json:"size"`
		HtmlUrl       string `json:"html_url"`
		SshUrl        string `json:"ssh_url"`
		CloneUrl      string `json:"clone_url"`
		DefaultBranch string `json:"default_branch"`
	} `json:"repository"`
}

func (GitPayload) String

func (g GitPayload) String() string

type HardResetResponse

type HardResetResponse struct {
	AffectedTasks int64 `json:"affected_tasks"`
}

type Info

type Info struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

type JsonResponse

type JsonResponse struct {
	Ok             bool        `json:"ok"`
	Message        string      `json:"message,omitempty"`
	RateLimitDelay float64     `json:"rate_limit_delay,omitempty"`
	Content        interface{} `json:"content,omitempty"`
}

type LogRequest

type LogRequest struct {
	Scope     string `json:"scope"`
	Message   string `json:"Message"`
	TimeStamp int64  `json:"timestamp"`
	// contains filtered or unexported fields
}

func (*LogRequest) Time

func (e *LogRequest) Time() time.Time

type LoginRequest

type LoginRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type LoginResponse

type LoginResponse struct {
	Manager *storage.Manager `json:"manager"`
}

type ReclaimAssignedTasksResponse

type ReclaimAssignedTasksResponse struct {
	AffectedTasks int64 `json:"affected_tasks"`
}

type RegisterRequest

type RegisterRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type ReleaseTaskRequest

type ReleaseTaskRequest struct {
	TaskId       int64              `json:"task_id"`
	Result       storage.TaskResult `json:"result"`
	Verification int64              `json:"verification"`
}

func (*ReleaseTaskRequest) IsValid

func (r *ReleaseTaskRequest) IsValid() bool

type ReleaseTaskResponse

type ReleaseTaskResponse struct {
	Updated bool `json:"updated"`
}

type Request

type Request struct {
	Ctx *fasthttp.RequestCtx
}

func (*Request) Json

func (r *Request) Json(object JsonResponse, code int)

func (*Request) Ok

func (r *Request) Ok()

func (*Request) OkJson

func (r *Request) OkJson(object JsonResponse)

type RequestHandler

type RequestHandler func(*Request)

type ResetFailedTaskResponse

type ResetFailedTaskResponse struct {
	AffectedTasks int64 `json:"affected_tasks"`
}

type SetManagerRoleOnProjectRequest

type SetManagerRoleOnProjectRequest struct {
	Manager int64               `json:"manager"`
	Role    storage.ManagerRole `json:"role"`
}

type SetSecretRequest

type SetSecretRequest struct {
	Secret string `json:"secret"`
}

type SetWebhookSecretRequest

type SetWebhookSecretRequest struct {
	WebhookSecret string `json:"webhook_secret"`
}

type SubmitTaskRequest

type SubmitTaskRequest struct {
	Project           int64  `json:"project"`
	MaxRetries        int16  `json:"max_retries"`
	Recipe            string `json:"recipe"`
	Priority          int16  `json:"priority"`
	MaxAssignTime     int64  `json:"max_assign_time"`
	Hash64            int64  `json:"hash_u64"`
	UniqueString      string `json:"unique_string"`
	VerificationCount int16  `json:"verification_count"`
}

func (*SubmitTaskRequest) IsValid

func (req *SubmitTaskRequest) IsValid() bool

type UpdateProjectRequest

type UpdateProjectRequest struct {
	Name       string     `json:"name"`
	CloneUrl   string     `json:"clone_url"`
	GitRepo    string     `json:"git_repo"`
	Priority   int64      `json:"priority"`
	Motd       string     `json:"motd"`
	Public     bool       `json:"public"`
	Hidden     bool       `json:"hidden"`
	Chain      int64      `json:"chain"`
	Paused     bool       `json:"paused"`
	AssignRate rate.Limit `json:"assign_rate"`
	SubmitRate rate.Limit `json:"submit_rate"`
	Version    string     `json:"version"`
}

type UpdateWorkerRequest

type UpdateWorkerRequest struct {
	Alias string `json:"alias"`
}

type WebAPI

type WebAPI struct {
	Database       *storage.Database
	SessionConfig  *session.Config
	Session        *session.Session
	Cron           *cron.Cron
	AssignLimiters sync.Map
	SubmitLimiters sync.Map
	// contains filtered or unexported fields
}

func New

func New() *WebAPI

func (*WebAPI) AcceptAccessRequest

func (api *WebAPI) AcceptAccessRequest(r *Request)

func (*WebAPI) BulkSubmitTask

func (api *WebAPI) BulkSubmitTask(r *Request)

func (*WebAPI) CreateProject

func (api *WebAPI) CreateProject(r *Request)

func (*WebAPI) CreateWorker

func (api *WebAPI) CreateWorker(r *Request)

func (*WebAPI) CreateWorkerAccess

func (api *WebAPI) CreateWorkerAccess(r *Request)

func (*WebAPI) DemoteManager

func (api *WebAPI) DemoteManager(r *Request)

func (*WebAPI) GetAccountDetails

func (api *WebAPI) GetAccountDetails(r *Request)

func (*WebAPI) GetAllWorkerStats

func (api *WebAPI) GetAllWorkerStats(r *Request)

func (*WebAPI) GetAssigneeStatsForProject

func (api *WebAPI) GetAssigneeStatsForProject(r *Request)

func (*WebAPI) GetLog

func (api *WebAPI) GetLog(r *Request)

func (*WebAPI) GetManagerList

func (api *WebAPI) GetManagerList(r *Request)

func (*WebAPI) GetManagerListWithRoleOn

func (api *WebAPI) GetManagerListWithRoleOn(r *Request)

func (*WebAPI) GetNSnapshots

func (api *WebAPI) GetNSnapshots(r *Request)

func (*WebAPI) GetProject

func (api *WebAPI) GetProject(r *Request)

func (*WebAPI) GetProjectList

func (api *WebAPI) GetProjectList(r *Request)

func (*WebAPI) GetSecret

func (api *WebAPI) GetSecret(r *Request)

func (*WebAPI) GetSnapshotsWithinRange

func (api *WebAPI) GetSnapshotsWithinRange(r *Request)

func (*WebAPI) GetTaskFromProject

func (api *WebAPI) GetTaskFromProject(r *Request)

func (*WebAPI) GetWebhookSecret

func (api *WebAPI) GetWebhookSecret(r *Request)

func (*WebAPI) GetWorker

func (api *WebAPI) GetWorker(r *Request)

func (*WebAPI) GetWorkerAccessListForProject

func (api *WebAPI) GetWorkerAccessListForProject(r *Request)

func (*WebAPI) HardReset

func (api *WebAPI) HardReset(r *Request)

func (*WebAPI) LogError

func (api *WebAPI) LogError(r *Request)

func (*WebAPI) LogInfo

func (api *WebAPI) LogInfo(r *Request)

func (*WebAPI) LogTrace

func (api *WebAPI) LogTrace(r *Request)

func (*WebAPI) LogWarn

func (api *WebAPI) LogWarn(r *Request)

func (*WebAPI) Login

func (api *WebAPI) Login(r *Request)

func (*WebAPI) Logout

func (api *WebAPI) Logout(r *Request)

func (*WebAPI) PromoteManager

func (api *WebAPI) PromoteManager(r *Request)

func (*WebAPI) ReceiveGitWebHook

func (api *WebAPI) ReceiveGitWebHook(r *Request)

func (*WebAPI) ReclaimAssignedTasks

func (api *WebAPI) ReclaimAssignedTasks(r *Request)

func (*WebAPI) Register

func (api *WebAPI) Register(r *Request)

func (*WebAPI) RejectAccessRequest

func (api *WebAPI) RejectAccessRequest(r *Request)

func (*WebAPI) ReleaseTask

func (api *WebAPI) ReleaseTask(r *Request)

func (*WebAPI) ReserveAssign

func (api *WebAPI) ReserveAssign(pid int64) *rate.Reservation

func (*WebAPI) ReserveSubmit

func (api *WebAPI) ReserveSubmit(pid int64, count int) *rate.Reservation

func (*WebAPI) ResetFailedTasks

func (api *WebAPI) ResetFailedTasks(r *Request)

func (*WebAPI) Run

func (api *WebAPI) Run()

func (*WebAPI) SetManagerRoleOnProject

func (api *WebAPI) SetManagerRoleOnProject(r *Request)

func (*WebAPI) SetSecret

func (api *WebAPI) SetSecret(r *Request)

func (*WebAPI) SetWebhookSecret

func (api *WebAPI) SetWebhookSecret(r *Request)

func (*WebAPI) SetupLogger

func (api *WebAPI) SetupLogger()

func (*WebAPI) SubmitTask

func (api *WebAPI) SubmitTask(r *Request)

func (*WebAPI) UpdateProject

func (api *WebAPI) UpdateProject(r *Request)

func (*WebAPI) UpdateWorker

func (api *WebAPI) UpdateWorker(r *Request)

func (*WebAPI) WorkerSetPaused

func (api *WebAPI) WorkerSetPaused(r *Request)

type WorkerSetPausedRequest

type WorkerSetPausedRequest struct {
	Worker int64 `json:"worker"`
	Paused bool  `json:"paused"`
}

Jump to

Keyboard shortcuts

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