Documentation
¶
Index ¶
- Constants
- Variables
- func NewDestroyFormData(code string, anzahl int, history []Event) webx.TemplateData[ScannerFormData]
- func NewScannerFormData(code string, anzahl int, history []Event) webx.TemplateData[ScannerFormData]
- func SliceEqual[T Comperable[T]](left []T, right []T) bool
- type Aktualisierungsanfrage
- type Clock
- type Comperable
- type Ding
- type DingRef
- type Event
- type IndexFormData
- type InsertResult
- type Module
- func (m Module) Create(w http.ResponseWriter, r *http.Request)
- func (m Module) Destroy(w http.ResponseWriter, r *http.Request)
- func (m Module) DestroyForm(w http.ResponseWriter, r *http.Request)
- func (m Module) Edit(w http.ResponseWriter, r *http.Request)
- func (m Module) Index(w http.ResponseWriter, r *http.Request)
- func (m *Module) Mount(mux *http.ServeMux, prefix string, middleware ...webx.Middleware)
- func (m Module) NewForm(w http.ResponseWriter, r *http.Request)
- func (m Module) Show(w http.ResponseWriter, r *http.Request)
- func (m Module) Update(w http.ResponseWriter, r *http.Request)
- type Repository
- func (r Repository) Aktualisieren(ctx context.Context, anfrage Aktualisierungsanfrage) error
- func (r Repository) GetAllEvents(ctx context.Context, limit int) ([]Event, error)
- func (r Repository) GetById(ctx context.Context, id int64) (Ding, error)
- func (r Repository) GetEvents(ctx context.Context, query string, args ...any) ([]Event, error)
- func (r Repository) Insert(ctx context.Context, code string, anzahl int) (InsertResult, error)
- func (r Repository) LogEvent(ctx context.Context, operation int, count int, dingId int64) error
- func (r Repository) MengeAktualisieren(ctx context.Context, code string, menge int) (*Ding, error)
- func (r Repository) ProductHistory(ctx context.Context, dingId int64, limit int) ([]Event, error)
- func (r Repository) Search(ctx context.Context, limit int, query string, sort string) ([]DingRef, error)
- type ScannerFormData
- type ShowResponseData
Constants ¶
const ( Name = "name" Allgemein = "allgemein" Anzahl = "anzahl" Code = "code" Beschreibung = "beschreibung" Aktualisiert = "aktualisiert" )
Variables ¶
var CreateScript string
var ErrDataAccess = errors.New("data access error")
ErrDataAccess beschreibt einen Fehler während des Zugriffs auf die Daten des Repositories.
Es handelt sich dabei um einen nicht näher bezeichneten technischen Fehler. Üblicherweise verursachen context.Canceled oder sql.ErrConnDone, sql.ErrNoRows oder sql.ErrTxDone diesen Fehler.
var ErrInsertEvent = errors.New("event cannot be logged")
ErrInsertEvent beschreibt einen Fehler, der beim Protokollieren eines Eregnisses auftritt.
var ErrInvalidParameter = errors.New("invalid paramater")
var ErrNoRecord = errors.New("no record found")
var FixtureScript string
Functions ¶
func NewDestroyFormData ¶
func NewDestroyFormData(code string, anzahl int, history []Event) webx.TemplateData[ScannerFormData]
func NewScannerFormData ¶
func NewScannerFormData(code string, anzahl int, history []Event) webx.TemplateData[ScannerFormData]
func SliceEqual ¶
func SliceEqual[T Comperable[T]](left []T, right []T) bool
Types ¶
type Aktualisierungsanfrage ¶
type Clock ¶
Clock ist eine Schnittstelle, die das aktuelle Datum und die aktuelle Uhrzeit bereitstellt.
type Comperable ¶
type IndexFormData ¶
type InsertResult ¶
type Module ¶
type Module struct { Repository *Repository Templates fs.FS Photos webx.Module }
func (Module) Create ¶
func (m Module) Create(w http.ResponseWriter, r *http.Request)
Lagert Dinge ein.
Ziel der Form von NewForm.
Wenn ein Fehler auftritt, wird die Form von [NewForm] mit den übertragenen Werte erneut angezeigt. Zusätzlich werden die Validierungsfehler ausgegeben.
Wenn die Erzeugung eine neuen Dings erfolgreich war, wird nach /new weitergeleitet, wenn das Ding bekannt ist, so dass der Workflow fortgesetzt werden kann und weitere Dinge hinzugefügt werden können. Wenn es sich um ein neues Ding handelt, wird nach /:id/edit weitergeleitet, um weitere Daten über das Ding anzufordern.
func (Module) DestroyForm ¶
func (m Module) DestroyForm(w http.ResponseWriter, r *http.Request)
Zeigt eine Form an, um Dinge zu entnehmen.
func (Module) Edit ¶
func (m Module) Edit(w http.ResponseWriter, r *http.Request)
Edit zeigt eine Form zum Bearbeiten eines spezifischen Dings
func (Module) Index ¶
func (m Module) Index(w http.ResponseWriter, r *http.Request)
Zeigt eine Liste aller Dinge
func (Module) NewForm ¶
func (m Module) NewForm(w http.ResponseWriter, r *http.Request)
Liefert eine HTML Form zum Einlagern eines neuen Dings.
type Repository ¶
type Repository struct { Clock Clock Tm sqlx.TransactionManager }
func (Repository) Aktualisieren ¶
func (r Repository) Aktualisieren(ctx context.Context, anfrage Aktualisierungsanfrage) error
func (Repository) GetAllEvents ¶
func (Repository) Insert ¶
func (r Repository) Insert(ctx context.Context, code string, anzahl int) (InsertResult, error)
func (Repository) MengeAktualisieren ¶
Todo: Wird nur von Destroy verwendet. Also Spezialisieren!!
func (Repository) ProductHistory ¶
ProductHistory liefert eine Liste der Ereignisse zu einem Ding
TODO: Es muss differenziert werden zwischen der Historie eines Dings und der Historie in der Übersicht. Die Historie zu einem Ding benötigt keine Referenz zum Ding selbst, das dieses ja bekannt ist. Hingegen benötigt die Übersicht aber eben jene Referenz, damit eine Navigation möglich ist.