targets

package
v0.0.0-...-8bfef16 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddTargetHandler

func AddTargetHandler(logger *slog.Logger, targetAdder TargetAdder) http.HandlerFunc

func DeleteTargetHandler

func DeleteTargetHandler(logger *slog.Logger, targetDeleter TargetDeleter) http.HandlerFunc

func UpdateTargetHandler

func UpdateTargetHandler(logger *slog.Logger, targetUpdater TargetUpdater) http.HandlerFunc

Types

type AddTargetRequest

type AddTargetRequest struct {
	Name    string `json:"name" validate:"required,min=1,max=100"`
	Country string `json:"country" validate:"required,min=1,max=100"`
	Notes   string `json:"notes" validate:"omitempty,max=500"`
}

type TargetAdder

type TargetAdder interface {
	AddTarget(missionID int64, name, country, notes string) (int64, error)
	MissionExists(missionID int64) (bool, error)
}

type TargetDeleter

type TargetDeleter interface {
	DeleteTarget(targetID int64) error
}

type TargetUpdater

type TargetUpdater interface {
	UpdateNotes(targetID int64, notes string) error
	UpdateCompleteStatus(targetID int64, complete bool) error
	MissionExists(missionID int64) (bool, error)
	TargetExists(targetID int64) (bool, error)
}

type UpdateRequest

type UpdateRequest struct {
	Notes    *string `json:"notes,omitempty" validate:"omitempty,max=500"`
	Complete *bool   `json:"complete,omitempty"`
}

Jump to

Keyboard shortcuts

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