init
This commit is contained in:
@@ -157,6 +157,8 @@ func (s *Store) CreateLog(sessionID int64, req *model.CreateLogRequest) (*model.
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// exercise_name wird denormalisiert gespeichert, damit historische Logs
|
||||
// erhalten bleiben wenn die Übung später gelöscht wird.
|
||||
var exerciseName string
|
||||
err := s.db.QueryRow(`SELECT name FROM exercises WHERE id = ? AND deleted_at IS NULL`, req.ExerciseID).Scan(&exerciseName)
|
||||
if err == sql.ErrNoRows {
|
||||
@@ -197,6 +199,7 @@ func (s *Store) UpdateLog(sessionID, logID int64, req *model.UpdateLogRequest) (
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// Dynamisches UPDATE: nur explizit übergebene Felder werden geändert (Partial Update).
|
||||
updates := []string{}
|
||||
args := []any{}
|
||||
if req.WeightKg != nil {
|
||||
@@ -293,7 +296,8 @@ func (s *Store) DeleteSession(id, userID int64) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// checkSessionOpen prüft ob eine Session offen ist.
|
||||
// checkSessionOpen prüft ob eine Session existiert und noch nicht beendet wurde.
|
||||
// Gibt einen Fehler mit "SESSION_CLOSED" zurück wenn ended_at bereits gesetzt ist.
|
||||
func (s *Store) checkSessionOpen(sessionID int64) error {
|
||||
var endedAt *string
|
||||
err := s.db.QueryRow(`SELECT ended_at FROM sessions WHERE id = ?`, sessionID).Scan(&endedAt)
|
||||
@@ -309,7 +313,7 @@ func (s *Store) checkSessionOpen(sessionID int64) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// getLog gibt einen einzelnen Log-Eintrag zurück.
|
||||
// getLog lädt einen einzelnen Session-Log-Eintrag anhand seiner ID.
|
||||
func (s *Store) getLog(id int64) (*model.SessionLog, error) {
|
||||
var log model.SessionLog
|
||||
err := s.db.QueryRow(`
|
||||
@@ -325,7 +329,7 @@ func (s *Store) getLog(id int64) (*model.SessionLog, error) {
|
||||
return &log, nil
|
||||
}
|
||||
|
||||
// getSessionLogs gibt alle Logs einer Session zurück.
|
||||
// getSessionLogs lädt alle Logs einer Session, sortiert nach Übung und Satznummer.
|
||||
func (s *Store) getSessionLogs(sessionID int64) ([]model.SessionLog, error) {
|
||||
rows, err := s.db.Query(`
|
||||
SELECT id, session_id, exercise_id, exercise_name, set_number, weight_kg, reps, note, logged_at
|
||||
|
||||
Reference in New Issue
Block a user