server

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

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

Go to latest
Published: Feb 17, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StartPresentation = iota
	PausePresentation
	ResumePresentation
	StepInto
	Status
)
View Source
const PresentationsPageSize = 20
View Source
const SectionsPageSize = 20

Variables

View Source
var PresentationsSortFields = []string{"name"}
View Source
var SectionsSortFields = []string{"name", "duration", "position"}

Functions

func CreatePresentationHandler

func CreatePresentationHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func CreateSectionHandler

func CreateSectionHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func DeletePresentationHandler

func DeletePresentationHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func DeleteSectionHandler

func DeleteSectionHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func GetPresentationHandler

func GetPresentationHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func GetSectionHandler

func GetSectionHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func ListPresentationsHandler

func ListPresentationsHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func ListSectionsHandler

func ListSectionsHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func ListenAndServe

func ListenAndServe(ctx context.Context, wg *sync.WaitGroup, addr string, logger *slog.Logger, queriesStore *queries.Queries)

func MoveSectionHandler

func MoveSectionHandler(
	logger *slog.Logger,
	queriesStore *queries.Queries,
) http.Handler

func PatchPresentationHandler

func PatchPresentationHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func PatchSectionHandler

func PatchSectionHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func PutPresentationHandler

func PutPresentationHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func RunPresentation

func RunPresentation(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func RunTasks

func RunTasks(
	ctx context.Context,
	logger *slog.Logger,
	queriesStore *queries.Queries,
	opts ...func(*TasksState),
)

func UpdateSectionHandler

func UpdateSectionHandler(logger *slog.Logger, queriesStore *queries.Queries) http.Handler

func ValidateDuration

func ValidateDuration(v validation.Validator, duration *time.Duration)

func ValidateMovement

func ValidateMovement(v validation.Validator, move *int32)

func ValidatePosition

func ValidatePosition(v validation.Validator, position *int16)

func ValidatePresentationName

func ValidatePresentationName(v validation.Validator, name *string)

func ValidateSectionName

func ValidateSectionName(v validation.Validator, name *string)

func WithConn

func WithConn(conn *websocket.Conn) func(*TaskMsg)

func WithSectionOrderCleanInterval

func WithSectionOrderCleanInterval(d time.Duration) func(*TasksState)

func WithStep

func WithStep(step int32) func(*TaskMsg)

Types

type RunStatusResponse

type RunStatusResponse struct {
	State  string          `json:"state"`
	Step   queries.Section `json:"step"`
	MsLeft int64           `json:"ms_left"`
	// errors
	Err string `json:"error,omitempty"`
}

type RunTask

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

func NewRun

func NewRun(
	presentationID int64,
	logger *slog.Logger,
	queriesStore *queries.Queries,
) (RunTask, error)

func (RunTask) AddConnection

func (t RunTask) AddConnection(ID string, conn *websocket.Conn)

func (RunTask) Broadcast

func (t RunTask) Broadcast(msg any)

func (RunTask) GetRunState

func (t RunTask) GetRunState() RunStatusResponse

func (*RunTask) HandleMsg

func (t *RunTask) HandleMsg(msg TaskMsg) error

func (RunTask) RemoveConnection

func (t RunTask) RemoveConnection(ID string)

func (RunTask) RespondToMsg

func (t RunTask) RespondToMsg(msg TaskMsg, message any)

func (*RunTask) Run

func (t *RunTask) Run()

func (RunTask) SendMsg

func (t RunTask) SendMsg(action int, opts ...func(*TaskMsg))

func (RunTask) Terminated

func (t RunTask) Terminated() bool

type TaskMsg

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

type TasksState

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

func (TasksState) RunCleanSectionOrder

func (c TasksState) RunCleanSectionOrder(ctx context.Context)

Jump to

Keyboard shortcuts

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