more simpler + torty sectino

This commit is contained in:
bronkuu 2026-06-15 20:30:15 +02:00
parent a74c276cd3
commit 3b184c7c6f
10 changed files with 375 additions and 152 deletions

View file

@ -3,7 +3,9 @@ package store
import (
"database/sql"
"log"
"time"
"git.bronku.xyz/bronku/cake-order-tracker/config"
"git.bronku.xyz/bronku/cake-order-tracker/models"
)
@ -67,6 +69,44 @@ func (s *Store) saveSpecialCakeTags(tx *sql.Tx, specialCakeID int, tagIDs []int)
return nil
}
func (s *Store) GetSpecialCakesInRange(from, to time.Time) ([]models.SpecialCakeWithOrder, error) {
start, end := dateRangeParams(from, to)
rows, err := s.db.Query(`
SELECT sc.id, sc.customer_order, sc.name, sc.price, sc.size, sc.shape, sc.flavour, sc.notes,
co.name, co.surname, co.delivery_date
FROM special_cake sc
JOIN customer_order co ON sc.customer_order = co.id
WHERE co.status != 'picked_up' AND co.delivery_date >= ? AND co.delivery_date <= ?
ORDER BY co.delivery_date
`, start, end)
if err != nil {
return nil, err
}
defer rows.Close()
var out []models.SpecialCakeWithOrder
for rows.Next() {
var sw models.SpecialCakeWithOrder
var price int
var deliveryDate string
if err := rows.Scan(&sw.ID, &sw.OrderID, &sw.Name, &price, &sw.Size, &sw.Shape, &sw.Flavour, &sw.Notes,
&sw.ClientName, &sw.ClientSurname, &deliveryDate); err != nil {
return nil, err
}
sw.Price = models.Price(price)
sw.OrderDate, err = time.Parse(config.DateTimeFormat, deliveryDate)
if err != nil {
return nil, err
}
sw.Tags, err = s.GetSpecialCakeTags(sw.ID)
if err != nil {
return nil, err
}
out = append(out, sw)
}
return out, rows.Err()
}
func (s *Store) SaveSpecialCakes(tx *sql.Tx, orderID int, cakes []models.SpecialCake) error {
if _, err := tx.Exec("delete from special_cake where customer_order = ?;", orderID); err != nil {
return err