date filtering, and squashed migrations

This commit is contained in:
bronku 2025-03-31 01:13:33 +02:00
parent 7b21ee837d
commit 67807992bc
12 changed files with 128 additions and 180 deletions

View file

@ -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
}

View file

@ -4,25 +4,22 @@
{{end}}
{{define "main"}}
<main>
<div class="search-container">
<input
type="search"
name="q"
hx-get="/orders/search"
hx-trigger="keyup changed delay:500ms"
hx-target="#results-table"
hx-push-url="true"
placeholder="Search orders..."
>
<form class="search-container" hx-get="/orders/search" hx-target="#results-table", hx-trigger="keyup delay:500ms, change">
<input type="search" name="q" placeholder="Search orders...">
<label for="from">form</label>
<input type="date" value="{{.Today}}" id="from" name="from">
<label for="from">to</label>
<input type="date" value="{{.Today}}" id="to" name="to">
<div class="htmx-indicator">
Searching...
</div>
<div id="results-table">
{{template "orders-table" .}}
{{template "orders-table" .Orders}}
</div>
</div>
</form>
</main>
{{end}}
@ -35,7 +32,6 @@
<th>Phone</th>
<th>Location</th>
<th>Date</th>
<th>Accepted</th>
<th>Status</th>
<th>Total</th>
</tr>
@ -47,7 +43,6 @@
<th>{{.Phone}}</th>
<th>{{.Location}}</th>
<th>{{.Date.Format "2006-01-02"}}</th>
<th>{{.Accepted.Format "2006-01-02"}}</th>
<th>{{.Status}}</th>
<th>{{.Total}}</th>
</tr>

View file

@ -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;

View file

@ -1,8 +0,0 @@
create table session (
token text primary key,
user_name text,
created text,
lastAccess text
);
pragma user_version = 2;

View file

@ -1,7 +0,0 @@
alter table cake
add column category text;
alter table cake
add column availability text;
pragma user_version = 3;

View file

@ -1,9 +0,0 @@
update cake
set
category = "common";
update cake
set
availability = "avaiable";
pragma user_version = 4;

View file

@ -1,5 +0,0 @@
update cake
set
availability = "available";
pragma user_version = 5;

View file

@ -1,9 +0,0 @@
drop table session;
create table session (
token text pirmary key,
user text,
expiration text
);
pragma user_version = 6;

View file

@ -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;

View file

@ -1,4 +0,0 @@
alter table user
add column salt text;
pragma user_version = 8;

View file

@ -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;