Migration test data complete

This commit is contained in:
2022-07-01 15:25:10 +10:00
parent 5e78701b0b
commit 905adcd7bd
4 changed files with 95 additions and 70 deletions

View File

@@ -4,6 +4,8 @@ open DredgeFramework
open DredgePos.Types open DredgePos.Types
open System.IO open System.IO
let spaceButton () = (Entity.GetFirstByColumn<button> "primary_action" "spacer").id
let CreatePageFromDirectory index (dir: string) = let CreatePageFromDirectory index (dir: string) =
let dirName = DirectoryInfo(dir).Name let dirName = DirectoryInfo(dir).Name
@@ -103,6 +105,33 @@ let CreateDefaultSalesCategories (path: string) =
path path
let CreateDefaultButtons (path: string) =
Entity.Create {
id = 0
text = ""
primary_action = "spacer"
secondary_action = ""
primary_action_value = ""
secondary_action_value = ""
image = ""
extra_classes = "invisible"
extra_styles = ""
}
|> ignore
path
let CreateDefaultItems (path: string) =
Entity.Create {
id = 0
name = "Custom Item"
code = "OPEN000"
sales_category_id = (Entity.GetFirstByColumn<sales_category> "name" "Food").id
item_type = "item"
price1 = 0
}
|> ignore
path
let CreateRooms () = let CreateRooms () =
"wwwroot/images/rooms" "wwwroot/images/rooms"
|> Directory.GetFiles |> Directory.GetFiles
@@ -122,23 +151,24 @@ let populateEntreeGrid () =
let DipSalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Dips" let DipSalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Dips"
let Entrees = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id let Entrees = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let Dips = Entity.GetAllByColumn<item> "sales_category_id" DipSalesCategory.id let Dips = Entity.GetAllByColumn<item> "sales_category_id" DipSalesCategory.id
let space = spaceButton()
let GridData = let GridData =
[| [|
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
|] |]
|> Array.mapi (fun index current -> |> Array.mapi (fun index current ->
let isFirstColumn = (index % 6) = 0 let isFirstColumn = (index % 6) = 0
if not isFirstColumn then current else if not isFirstColumn then current else
let entree = Entrees |> Array.tryItem (index/6) let entree = Entrees |> Array.tryItem (index/6)
match entree with match entree with
| None -> 0 | None -> space
| Some x -> x.id | Some x -> x.id
) )
|> Array.mapi (fun index current -> |> Array.mapi (fun index current ->
@@ -146,7 +176,7 @@ let populateEntreeGrid () =
if not isSecondRow then current else if not isSecondRow then current else
let entree = Dips |> Array.tryItem (index-7) let entree = Dips |> Array.tryItem (index-7)
match entree with match entree with
| None -> 0 | None -> space
| Some x -> x.id | Some x -> x.id
) )
@@ -162,20 +192,21 @@ let populateEntreeGrid () =
let populateMainGrid (category: string) () = let populateMainGrid (category: string) () =
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" category let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" category
let Mains = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id let Mains = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let space = spaceButton()
let getId index = let getId index =
match Mains |> Array.tryItem index with match Mains |> Array.tryItem index with
| None -> 0 | None -> space
| Some x -> x.id | Some x -> x.id
let GridData = let GridData =
[| [|
getId 0; 0; getId 1; 0; getId 2; 0; getId 0; space; getId 1; space; getId 2; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
getId 3; 0; getId 4; 0; getId 5; 0; getId 3; space; getId 4; space; getId 5; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
|] |]
let grid = let grid =
@@ -186,22 +217,23 @@ let populateMainGrid (category: string) () =
Entity.Update newGrid |> ignore Entity.Update newGrid |> ignore
let populateDessertGrid () = let populateDessertGrid () =
let space = spaceButton()
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Dessert" let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Dessert"
let Desserts = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id let Desserts = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let getId index = let getId index =
match Desserts |> Array.tryItem index with match Desserts |> Array.tryItem index with
| None -> 0 | None -> space
| Some x -> x.id | Some x -> x.id
let GridData = let GridData =
[| [|
getId 0; 0; getId 1; 0; 0 ; 0; getId 0; space; getId 1; space; space ; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; getId 2; 0; getId 4; 0; 0; space; getId 2; space; getId 4; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
|] |]
let grid = let grid =
@@ -212,38 +244,43 @@ let populateDessertGrid () =
Entity.Update newGrid |> ignore Entity.Update newGrid |> ignore
let populateBeerGrid () = let populateBeerGrid () =
let space = spaceButton()
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Beer" let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Beer"
let Beers = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id let Beers = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let grid = let grid =
Entity.GetFirstByColumn<order_screen_page_group> "label" "Beer" Entity.GetFirstByColumn<order_screen_page_group> "label" "Beer"
|> Entity.GetRelated<grid, order_screen_page_group> |> Entity.GetRelated<grid, order_screen_page_group>
let GridData = let mutable buttonMap = Map.empty<string, int[]>
Beers Beers
|> Array.chunkBySize 24 |> Array.chunkBySize 24
|> Array.map (fun beerPage -> |> Array.map (fun beerPage ->
let getId index = let getId index =
match beerPage |> Array.tryItem index with match beerPage |> Array.tryItem index with
| None -> 0 | None -> space
| Some x -> x.id | Some x -> x.id
[| [|
getId 0; getId 1; getId 2; getId 3; getId 4 ; getId 5; getId 0; getId 1; getId 2; getId 3; getId 4 ; getId 5;
0; 0; 0; 0; 0 ;0; space; space; space; space; space; space;
getId 6; getId 7; getId 8; getId 9; getId 10 ; getId 11; getId 6; getId 7; getId 8; getId 9; getId 10 ; getId 11;
0; 0; 0; 0; 0 ;0; space; space; space; space; space; space;
getId 12; getId 13; getId 14; getId 15; getId 16 ; getId 17; getId 12; getId 13; getId 14; getId 15; getId 16 ; getId 17;
0; 0; 0; 0; 0 ;0; space; space; space; space; space; space;
getId 18; getId 19; getId 20; getId 21; getId 22 ; getId 23; getId 18; getId 19; getId 20; getId 21; getId 22 ; getId 23;
0; 0; 0; 0; 0 ;0; space; space; space; space; space; space;
|] |]
) )
|> Array.mapi (fun index beerpage -> (map [$"page{index+1}", beerpage])) |> Array.iteri (fun index buttonIds ->
|> jsonEncode buttonMap <- buttonMap |> Map.add $"page{index+1}" buttonIds
)
let GridData = buttonMap |> jsonEncode
let newGrid = {grid with data=GridData} let newGrid = {grid with data=GridData}
Entity.Update newGrid |> ignore Entity.Update newGrid |> ignore
let populateSteakTemperaturesGrid () = let populateSteakTemperaturesGrid () =
let space = spaceButton()
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Steak Temperatures" let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Steak Temperatures"
let Temps = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id let Temps = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let grid = let grid =
@@ -252,18 +289,14 @@ let populateSteakTemperaturesGrid () =
let getId index = let getId index =
match Temps |> Array.tryItem index with match Temps |> Array.tryItem index with
| None -> 0 | None -> space
| Some x -> x.id | Some x -> x.id
let GridData = let GridData =
[| [|
getId 0; 0; getId 1; 0; getId 2; 0; getId 0; space; getId 1; space; getId 2; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
getId 3; 0; getId 4; 0; getId 5; 0; getId 3; space; getId 4; space; getId 5; space;
0; 0; 0; 0; 0; 0; space; space; space; space; space; space;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
|] |]
let newGrid = {grid with data=(jsonEncode {|page1=GridData|}); rows=4; cols=6} let newGrid = {grid with data=(jsonEncode {|page1=GridData|}); rows=4; cols=6}
@@ -338,6 +371,8 @@ let run () =
|> CreateDefaultClerk |> CreateDefaultClerk
|> CreateDefaultPrintGroups |> CreateDefaultPrintGroups
|> CreateDefaultSalesCategories |> CreateDefaultSalesCategories
|> CreateDefaultItems
|> CreateDefaultButtons
|> Directory.GetDirectories |> Directory.GetDirectories
|> Array.mapi CreatePageFromDirectory |> Array.mapi CreatePageFromDirectory
|> Array.iter CreateItemsAndButtons |> Array.iter CreateItemsAndButtons

View File

@@ -14,7 +14,7 @@ let getOrderScreenData (tableNumber: int) =
order_screen_pages = Entity.GetAllInVenue<order_screen_page_group> order_screen_pages = Entity.GetAllInVenue<order_screen_page_group>
sales_categories = Entity.GetAllInVenue<sales_category> sales_categories = Entity.GetAllInVenue<sales_category>
print_groups = Entity.GetAllInVenue<print_group> print_groups = Entity.GetAllInVenue<print_group>
custom_item = Entity.GetAllByColumn<item> "code" "OPEN000" |> first custom_item = Entity.GetFirstByColumn<item> "code" "OPEN000"
table = Floorplan.Model.getTable tableNumber table = Floorplan.Model.getTable tableNumber
|} |}
|> ajaxSuccess |> ajaxSuccess

View File

@@ -112,7 +112,7 @@ let itemButton (button: button) =
else else
span [ span [
_class "buttonImg" _class "buttonImg"
_style $"background-image:url('/images/items/{button.image}');" _style $"background-image:url(\"/images/items/{button.image}\");"
] [] ] []
posButton extraClasses [ posButton extraClasses [

10
sql.log
View File

@@ -1,10 +0,0 @@
create table if not exists migrations
(
id serial
constraint migrations_pk
primary key,
"name" varchar(100) not null,
"timestamp" int not null
);