From 67807992bcbbe9cc65add3be6f47495a5f910f84 Mon Sep 17 00:00:00 2001 From: bronku Date: Mon, 31 Mar 2025 01:13:33 +0200 Subject: [PATCH] date filtering, and squashed migrations --- .gitignore | 2 +- internal/server/get.go | 18 +++- internal/server/templates/orders.html | 23 ++--- internal/store/migrations/1.sql | 120 ++++++++++++++++++++++---- internal/store/migrations/2.sql | 8 -- internal/store/migrations/3.sql | 7 -- internal/store/migrations/4.sql | 9 -- internal/store/migrations/5.sql | 5 -- internal/store/migrations/6.sql | 9 -- internal/store/migrations/7.sql | 11 --- internal/store/migrations/8.sql | 4 - internal/store/migrations/9.sql | 92 -------------------- 12 files changed, 128 insertions(+), 180 deletions(-) delete mode 100644 internal/store/migrations/2.sql delete mode 100644 internal/store/migrations/3.sql delete mode 100644 internal/store/migrations/4.sql delete mode 100644 internal/store/migrations/5.sql delete mode 100644 internal/store/migrations/6.sql delete mode 100644 internal/store/migrations/7.sql delete mode 100644 internal/store/migrations/8.sql delete mode 100644 internal/store/migrations/9.sql diff --git a/.gitignore b/.gitignore index 72db050..2405df8 100644 --- a/.gitignore +++ b/.gitignore @@ -28,4 +28,4 @@ go.work.sum tmp tmp/main -foo.db +foo.db.bak diff --git a/internal/server/get.go b/internal/server/get.go index 390a4c6..2d450d4 100644 --- a/internal/server/get.go +++ b/internal/server/get.go @@ -12,14 +12,26 @@ import ( func (h *Server) orders(r *http.Request) (any, int, error) { //r.URL.Query().Get() - data, err := h.s.GetTopOrders(time.Now(), time.Now().Add(time.Hour*24)) + orders, err := h.s.GetTopOrders(time.Now(), time.Now().Add(time.Hour*24)) + data := struct { + Today string + Orders []models.Order + }{Today: time.Now().Format("2006-01-02"), Orders: orders} return data, http.StatusOK, err } func (h *Server) ordersSearch(r *http.Request) (any, int, error) { q := r.URL.Query().Get("q") - fmt.Println(q) - data, err := h.s.GetFilteredOrder(q, time.Time{}, time.Time{}) + from, err := time.Parse("2006-01-02", r.URL.Query().Get("from")) + if err != nil { + from = time.Time{} + } + to, err := time.Parse("2006-01-02", r.URL.Query().Get("to")) + if err != nil { + to = time.Time{} + } + fmt.Println(from, to) + data, err := h.s.GetFilteredOrder(q, from, to) return data, http.StatusOK, err } diff --git a/internal/server/templates/orders.html b/internal/server/templates/orders.html index ad3c81b..574696e 100644 --- a/internal/server/templates/orders.html +++ b/internal/server/templates/orders.html @@ -4,25 +4,22 @@ {{end}} {{define "main"}}
-
- +
+ + + + + +
Searching...
- {{template "orders-table" .}} + {{template "orders-table" .Orders}}
-
+
{{end}} @@ -35,7 +32,6 @@ Phone Location Date - Accepted Status Total @@ -47,7 +43,6 @@ {{.Phone}} {{.Location}} {{.Date.Format "2006-01-02"}} - {{.Accepted.Format "2006-01-02"}} {{.Status}} {{.Total}} diff --git a/internal/store/migrations/1.sql b/internal/store/migrations/1.sql index 5dc0972..1387f6b 100644 --- a/internal/store/migrations/1.sql +++ b/internal/store/migrations/1.sql @@ -1,26 +1,112 @@ -create table cake ( - id integer primary key autoincrement, - name text not null unique, - price integer not null +CREATE TABLE cake +( + id integer primary key autoincrement, + name text not null unique, + price integer not null, + category text, + availability text ); -create table customer_order ( - id integer primary key autoincrement, - name text, - surname text, - phone text, - location text, - order_date string not null, +CREATE TABLE customer_order +( + id integer primary key autoincrement, + name text, + surname text, + phone text, + location text, + order_date string not null, delivery_date string not null, - status text, - paid integer + status text, + paid integer ); -create table ordered_cake ( +CREATE TABLE ordered_cake +( customer_order integer references customer_order (id) not null, - cake integer references cake (id) not null, - amount integer not null, + cake integer references cake (id) not null, + amount integer not null, primary key (customer_order, cake) ); -pragma user_version = 1; +CREATE TABLE user +( + login text primary key, + password text, + role text, + salt text +); + +CREATE TABLE session +( + token text primary key, + user text, + expiration text +); + +create +virtual table order_fts using fts5 ( + id, + name, + surname, + phone, + location, + order_date, + delivery_date, + status, + paid, + content = 'customer_order' +); + +create trigger order_fts_insert + after insert + on customer_order +begin + insert into order_fts (id, + name, + surname, + phone, + location, + order_date, + delivery_date, + status, + paid) + values (new.id, + new.name, + new.surname, + new.phone, + new.location, + new.order_date, + new.delivery_date, + new.status, + new.paid); +end; + +create trigger order_fts_delete + after delete + on customer_order +begin + delete + from order_fts + where id = old.id; +end; + +create trigger order_fts_update + after + update + on customer_order +begin + update customer_order + set id = new.id, + name = new.name, + surname = new.surname, + phone = new.phone, + location = new.location, + order_date = new.order_date, + delivery_date = new.delivery_date, + status = new.status, + paid = new.paid + where id = old.id; +end; + +pragma +user_version = 1; diff --git a/internal/store/migrations/2.sql b/internal/store/migrations/2.sql deleted file mode 100644 index 2bccfe8..0000000 --- a/internal/store/migrations/2.sql +++ /dev/null @@ -1,8 +0,0 @@ -create table session ( - token text primary key, - user_name text, - created text, - lastAccess text -); - -pragma user_version = 2; diff --git a/internal/store/migrations/3.sql b/internal/store/migrations/3.sql deleted file mode 100644 index d745f40..0000000 --- a/internal/store/migrations/3.sql +++ /dev/null @@ -1,7 +0,0 @@ -alter table cake -add column category text; - -alter table cake -add column availability text; - -pragma user_version = 3; diff --git a/internal/store/migrations/4.sql b/internal/store/migrations/4.sql deleted file mode 100644 index 9c1bd19..0000000 --- a/internal/store/migrations/4.sql +++ /dev/null @@ -1,9 +0,0 @@ -update cake -set - category = "common"; - -update cake -set - availability = "avaiable"; - -pragma user_version = 4; diff --git a/internal/store/migrations/5.sql b/internal/store/migrations/5.sql deleted file mode 100644 index 328ed55..0000000 --- a/internal/store/migrations/5.sql +++ /dev/null @@ -1,5 +0,0 @@ -update cake -set - availability = "available"; - -pragma user_version = 5; diff --git a/internal/store/migrations/6.sql b/internal/store/migrations/6.sql deleted file mode 100644 index 834a963..0000000 --- a/internal/store/migrations/6.sql +++ /dev/null @@ -1,9 +0,0 @@ -drop table session; - -create table session ( - token text pirmary key, - user text, - expiration text -); - -pragma user_version = 6; diff --git a/internal/store/migrations/7.sql b/internal/store/migrations/7.sql deleted file mode 100644 index db955e4..0000000 --- a/internal/store/migrations/7.sql +++ /dev/null @@ -1,11 +0,0 @@ -create table user (login text primary key, password text, role text); - -drop table session; - -create table session ( - token text primary key, - user text, - expiration text -); - -pragma user_version = 7; diff --git a/internal/store/migrations/8.sql b/internal/store/migrations/8.sql deleted file mode 100644 index d6e9191..0000000 --- a/internal/store/migrations/8.sql +++ /dev/null @@ -1,4 +0,0 @@ -alter table user -add column salt text; - -pragma user_version = 8; diff --git a/internal/store/migrations/9.sql b/internal/store/migrations/9.sql deleted file mode 100644 index 251e594..0000000 --- a/internal/store/migrations/9.sql +++ /dev/null @@ -1,92 +0,0 @@ -create virtual table order_fts using fts5 ( - id, - name, - surname, - phone, - location, - status, - order_date, - delivery_date, - paid, - content = 'customer_order' -); - -insert into - order_fts ( - id, - name, - surname, - phone, - location, - status, - order_date, - delivery_date, - paid - ) -select - id, - name, - surname, - phone, - location, - status, - order_date, - delivery_date, - paid -from - customer_order; - -create trigger order_fts_insert after insert on customer_order begin -insert into - order_fts ( - id, - name, - surname, - phone, - location, - status, - order_date, - delivery_date, - paid - ) -values - ( - new.id, - new.name, - new.surname, - new.phone, - new.location, - new.status, - new.order_date, - new.delivery_date, - new.paid - ); - -end; - -create trigger order_fts_delete after delete on customer_order begin -delete from order_fts -where - id = old.id; - -end; - -create trigger order_fts_update after -update on customer_order begin -update customer_order -set - id = new.id, - name = new.name, - surname = new.surname, - phone = new.phone, - location = new.location, - status = new.status, - order_date = new.order_date, - delivery_date = new.delivery_date, - paid = new.paid -where - id = old.id; - -end; - -pragma user_version = 9;