date filtering, and squashed migrations
This commit is contained in:
parent
7b21ee837d
commit
67807992bc
12 changed files with 128 additions and 180 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -28,4 +28,4 @@ go.work.sum
|
|||
|
||||
tmp
|
||||
tmp/main
|
||||
foo.db
|
||||
foo.db.bak
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
create table session (
|
||||
token text primary key,
|
||||
user_name text,
|
||||
created text,
|
||||
lastAccess text
|
||||
);
|
||||
|
||||
pragma user_version = 2;
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
alter table cake
|
||||
add column category text;
|
||||
|
||||
alter table cake
|
||||
add column availability text;
|
||||
|
||||
pragma user_version = 3;
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
update cake
|
||||
set
|
||||
category = "common";
|
||||
|
||||
update cake
|
||||
set
|
||||
availability = "avaiable";
|
||||
|
||||
pragma user_version = 4;
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
update cake
|
||||
set
|
||||
availability = "available";
|
||||
|
||||
pragma user_version = 5;
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
drop table session;
|
||||
|
||||
create table session (
|
||||
token text pirmary key,
|
||||
user text,
|
||||
expiration text
|
||||
);
|
||||
|
||||
pragma user_version = 6;
|
||||
|
|
@ -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;
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
alter table user
|
||||
add column salt text;
|
||||
|
||||
pragma user_version = 8;
|
||||
|
|
@ -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;
|
||||
Loading…
Add table
Add a link
Reference in a new issue