Move Order struct to data models package

This commit is contained in:
bronku 2025-03-28 14:56:16 +01:00
parent 7ee564f6b2
commit 93afc14386
5 changed files with 26 additions and 26 deletions

View file

@ -1,5 +1,7 @@
package models
import "time"
type Cake struct {
Name string
ID int
@ -8,3 +10,16 @@ type Cake struct {
Category string
Availability string
}
type Order struct {
ID int
Name string
Surname string
Phone string
Location string
Date time.Time
Accepted time.Time
Status string
Paid int // increments of 0.01
Cakes []Cake
}

View file

@ -6,7 +6,6 @@ import (
"strings"
"github.com/Bronku/iroon/internal/models"
"github.com/Bronku/iroon/internal/store"
)
func (h *Server) index(r *http.Request) (any, int, error) {
@ -40,7 +39,7 @@ func (h *Server) cake(r *http.Request) (any, int, error) {
func (h *Server) order(r *http.Request) (any, int, error) {
type formData struct {
Order store.Order
Order models.Order
Catalogue []models.Cake
}
var err error

View file

@ -8,7 +8,6 @@ import (
"time"
"github.com/Bronku/iroon/internal/models"
"github.com/Bronku/iroon/internal/store"
)
func (h *Server) postCake(r *http.Request) (any, int, error) {
@ -45,7 +44,7 @@ func (h *Server) postOrder(r *http.Request) (any, int, error) {
return nil, http.StatusBadRequest, err
}
var n store.Order
var n models.Order
n.ID, err = strconv.Atoi(r.FormValue("id"))
if err != nil {
return nil, http.StatusBadRequest, err

View file

@ -8,21 +8,8 @@ import (
"github.com/Bronku/iroon/internal/models"
)
type Order struct {
ID int
Name string
Surname string
Phone string
Location string
Date time.Time
Accepted time.Time
Status string
Paid int // increments of 0.01
Cakes []models.Cake
}
func (s *Store) GetOrder(id int) (Order, error) {
var out Order
func (s *Store) GetOrder(id int) (models.Order, error) {
var out models.Order
row, err := s.db.Query("select id, name, surname, phone, location, order_date, delivery_date, status, paid from customer_order where id = ?;", id)
if err != nil {
return out, err
@ -62,8 +49,8 @@ func (s *Store) GetOrder(id int) (Order, error) {
return out, nil
}
func (s *Store) GetOrders() ([]Order, error) {
var out []Order
func (s *Store) GetOrders() ([]models.Order, error) {
var out []models.Order
rows, err := s.db.Query("select id, name, surname, phone, location, order_date, delivery_date, status, paid from customer_order;")
if err != nil {
return out, err
@ -71,7 +58,7 @@ func (s *Store) GetOrders() ([]Order, error) {
defer rows.Close()
for rows.Next() {
var o Order
var o models.Order
var order_date, delivery_date string
err = rows.Scan(&o.ID, &o.Name, &o.Surname, &o.Phone, &o.Location, &order_date, &delivery_date, &o.Status, &o.Paid)
if err != nil {
@ -108,7 +95,7 @@ func (s *Store) GetOrders() ([]Order, error) {
return out, nil
}
func (s *Store) SaveOrder(newOrder Order) (int, error) {
func (s *Store) SaveOrder(newOrder models.Order) (int, error) {
query := "insert into customer_order(name, surname, phone, location, order_date, delivery_date, status, paid) values (?, ?, ?, ?, ?, ?, ?, ?) returning id;"
if newOrder.ID != 0 {
query = "update customer_order set name = ?, surname = ?, phone = ?, location = ?, order_date = ?, delivery_date = ?, status = ?, paid = ? where id = "

View file

@ -110,7 +110,7 @@ func TestStore(t *testing.T) {
// create new order
now := time.Now()
newOrder := Order{
newOrder := models.Order{
Name: "John",
Surname: "Doe",
Phone: "123-456-7890",
@ -130,7 +130,7 @@ func TestStore(t *testing.T) {
}
// create another order
anotherOrder := Order{
anotherOrder := models.Order{
Name: "Jane",
Surname: "Doe",
Phone: "123-456-7890",
@ -162,7 +162,7 @@ func TestStore(t *testing.T) {
}
// update non existing order
var updatedOrder Order
var updatedOrder models.Order
updatedOrder.ID = 10
_, err = s.SaveOrder(updatedOrder)
if err == nil {