app

package
v1.25.1 Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrForbidden = errors.New("access denied")

Functions

func ACCWebAuthMiddleware added in v1.21.0

func ACCWebAuthMiddleware(lvl ACCWebAuthLevel) gin.HandlerFunc

func StartServer

func StartServer(config *cfg.Config, sM *server_manager.Service)

Types

type ACCWebAuthLevel added in v1.21.0

type ACCWebAuthLevel int
const (
	ACCWebAuthLevel_Mod ACCWebAuthLevel = iota
	ACCWebAuthLevel_Adm
)

type AccWError added in v1.16.1

type AccWError struct {
	Error string `json:"error"`
}

type ExtraAccSettings added in v1.16.2

type ExtraAccSettings struct {
	PasswordIsEmpty          bool `json:"passwordIsEmpty"`
	AdminPasswordIsEmpty     bool `json:"adminPasswordIsEmpty"`
	SpectatorPasswordIsEmpty bool `json:"spectatorPasswordIsEmpty"`
}

type Handler

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

func (*Handler) CloneInstance

func (h *Handler) CloneInstance(c *gin.Context)

CloneInstance Clones acc instance @Summary Clones acc instance @Description Clones acc instance @Tags instances @Accept json @Produce json @Success 200 @Failure 404 @Failure 500 {object} AccWError @Param id path int true "Instance ID" @Router /instance/{id}/clone [post] @Security JWT

func (*Handler) DeleteInstance

func (h *Handler) DeleteInstance(c *gin.Context)

DeleteInstance Delete instance @Summary Delete acc instance @Description Delete acc instance @Tags instances @Accept json @Produce json @Success 200 @Failure 404 @Failure 500 {object} AccWError @Param id path int true "Instance ID" @Router /instance/{id} [delete] @Security JWT

func (*Handler) ExportInstance

func (h *Handler) ExportInstance(c *gin.Context)

ExportInstance Get acc instance configuration files @Summary Get acc instance configuration files @Description Get acc instance configuration files @Tags instances @Accept json @Produce json @Success 200 string filedata "Zip file with all cofiguration files" @Failure 404 @Failure 500 {object} AccWError @Param id path int true "Instance ID" @Router /instance/{id}/export [get] @Security JWT

func (*Handler) GetInstance

func (h *Handler) GetInstance(c *gin.Context)

GetInstance Get instance information @Summary Get acc instance information @Description Get acc instance information @Tags instances @Accept json @Produce json @Success 200 {object} InstancePayload @Failure 404 @Param id path int true "Instance ID" @Router /instance/{id} [get] @Security JWT

func (*Handler) GetInstanceLiveState added in v1.16.0

func (h *Handler) GetInstanceLiveState(c *gin.Context)

GetInstanceLiveState Get acc instance live information @Summary Get acc instance live information @Description Get acc instance live information @Tags instances @Accept json @Produce json @Success 200 {object} LiveServerInstancePayload @Failure 404 @Param id path int true "Instance ID" @Router /instance/{id}/live [get] @Security JWT

func (*Handler) GetInstanceLogs

func (h *Handler) GetInstanceLogs(c *gin.Context)

GetInstanceLogs Get acc instance logs @Summary Get acc instance logs @Description Get acc instance logs @Tags instances @Accept json @Produce json @Success 200 {object} accWebInstanceLogs @Failure 404 @Failure 500 {object} AccWError @Param id path int true "Instance ID" @Router /instance/{id}/logs [get] @Security JWT

func (*Handler) ListServers

func (h *Handler) ListServers(c *gin.Context)

ListServers Handle the list all ACC dedicated servers @Summary List all ACC dedicated servers @Schemes @Description List all ACC dedicated servers @Tags servers @Accept json @Produce json @Success 200 {object} []ListServerItem{} @Router /servers [get] @Security JWT

func (*Handler) Metadata added in v1.20.0

func (h *Handler) Metadata(c *gin.Context)

Metadata Returns server OS informations @Summary Returns server OS informations @Schemes @Description Metadata informations @Tags servers @Produce json @Success 200 @Router /metadata [get] @Security JWT

func (*Handler) NewInstance

func (h *Handler) NewInstance(c *gin.Context)

NewInstance Create new instance information @Summary Create new acc instance information @Description Create new acc instance information @Tags instances @Accept json @Produce json @Success 200 {object} InstancePayload @Failure 400 {object} AccWError @Failure 500 {object} AccWError @Param instance body SaveInstancePayload true "Instance data" @Router /instance [post] @Security JWT

func (*Handler) SaveInstance

func (h *Handler) SaveInstance(c *gin.Context)

SaveInstance Saves instance information @Summary Saves acc instance information @Description Saves acc instance information @Tags instances @Accept json @Produce json @Success 200 {object} InstancePayload @Failure 404 @Failure 400 {object} AccWError @Failure 500 {object} AccWError @Param id path int true "Instance ID" @Param instance body SaveInstancePayload true "Instance data" @Router /instance/{id} [post] @Security JWT

func (*Handler) StartInstance

func (h *Handler) StartInstance(c *gin.Context)

StartInstance Starts acc instance @Summary Starts acc instance @Description Starts acc instance @Tags instances @Accept json @Produce json @Success 200 @Failure 404 @Failure 400 {object} AccWError @Failure 500 {object} AccWError @Param id path int true "Instance ID" @Router /instance/{id}/start [post] @Security JWT

func (*Handler) StopAllServers

func (h *Handler) StopAllServers(c *gin.Context)

StopAllServers Stops all running ACC dedicated servers @Summary Stops all running ACC dedicated servers @Schemes @Description Stops all running ACC dedicated servers @Tags servers @Accept json @Produce json @Success 200 @Router /servers/stop-all [post] @Security JWT

func (*Handler) StopInstance

func (h *Handler) StopInstance(c *gin.Context)

StopInstance Stops acc instance @Summary Stops acc instance @Description Stops acc instance @Tags instances @Accept json @Produce json @Success 200 @Failure 404 @Failure 400 {object} AccWError @Failure 500 {object} AccWError @Param id path int true "Instance ID" @Router /instance/{id}/stop [post] @Security JWT

type InstanceOS added in v1.20.0

type InstanceOS struct {
	Name   string `json:"name"`
	NumCPU int    `json:"numCpu"`
}

type InstancePayload

type InstancePayload struct {
	ID               string                      `json:"id"`
	Path             string                      `json:"path"`
	IsRunning        bool                        `json:"is_running"`
	PID              int                         `json:"pid"`
	Settings         instance.AccWebSettingsJson `json:"accWeb"`
	AccSettings      instance.AccConfigFiles     `json:"acc"`
	AccExtraSettings ExtraAccSettings            `json:"accExtraSettings"`
}

func NewInstancePayload

func NewInstancePayload(srv *instance.Instance) InstancePayload

type ListServerItem

type ListServerItem struct {
	ID        string `json:"id"`
	Name      string `json:"name"`
	IsRunning bool   `json:"isRunning"`
	ProcessID int    `json:"pid"`
	UdpPort   int    `json:"udpPort"`
	TcpPort   int    `json:"tcpPort"`
	Track     string `json:"track"`

	ServerState      instance.ServerState `json:"serverState"`
	NrClients        int                  `json:"nrClients"`
	SessionType      string               `json:"sessionType"`
	SessionPhase     string               `json:"sessionPhase"`
	SessionRemaining int                  `json:"sessionRemaining"`
}

type LiveServerInstancePayload added in v1.16.0

type LiveServerInstancePayload struct {
	ListServerItem
	Live *instance.LiveState `json:"live"`
}

type LoginPayload

type LoginPayload struct {
	Password string `json:"password"`
}

type SaveInstancePayload

type SaveInstancePayload struct {
	AccWeb           instance.AccWebSettingsJson `json:"accWeb"`
	Acc              instance.AccConfigFiles     `json:"acc"`
	AccExtraSettings ExtraAccSettings            `json:"accExtraSettings"`
}

type User

type User struct {
	UserName string `json:"user_name"`
	Admin    bool   `json:"admin"`
	Mod      bool   `json:"mod"`
	ReadOnly bool   `json:"read_only"`
}

func GetUserFromClaims

func GetUserFromClaims(c *gin.Context) *User

Jump to

Keyboard shortcuts

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