source: src-tauri/src/lib.rs

main
Last change on this file was a4ca79c, checked in by Georgi Paunkov <paunkovgeorgi@…>, 5 days ago

Initial commit

  • Property mode set to 100644
File size: 4.1 KB
RevLine 
[a4ca79c]1mod db;
2mod commands;
3mod models;
4use db::create_pool;
5use sqlx::PgPool;
6use tauri::Manager;
7use commands::auth::ActiveSessions;
8use std::collections::HashMap;
9use std::sync::Mutex;
10use commands::auth::login;
11
12use commands::product::{
13 get_products,
14 get_products_by_category
15};
16
17use commands::category::{
18 get_categories,
19 create_category,
20 update_category,
21 delete_category
22};
23
24use commands::table::{
25 get_tables,
26 reserve_table,
27 cancel_reservation
28};
29
30use commands::order::{
31 create_order,
32 get_order_total,
33 get_active_order,
34 pay_order,
35 update_order_quantity,
36 delete_order_item
37};
38
39use commands::order_item::{
40 add_order_item,
41 get_order_items
42};
43
44use commands::payment::create_payment;
45
46use commands::invoice::{
47 create_invoice,
48 get_invoice
49};
50
51use commands::inventory::{
52 get_inventory,
53 get_low_stock,
54 restock_product
55};
56
57use commands::report::{
58 today_sales,
59 today_orders,
60 best_product,
61 z_report,
62 employee_performance,
63 search_orders
64};
65
66use commands::admin::{
67 add_product,
68 update_product,
69 delete_product,
70 update_product_price
71};
72
73use commands::employees::{
74 get_employees,
75 get_roles,
76 add_employee,
77 update_employee_role,
78 reset_employee_pin,
79 toggle_employee,
80 delete_employee
81};
82use commands::window::{
83 minimize_window,
84 maximize_window,
85 unmaximize_window,
86 is_maximized,
87 close_window
88};
89use commands::kitchen::{get_kitchen_orders, mark_kitchen_order_ready};
90use commands::settings::{get_settings, update_settings};
91
92#[cfg_attr(mobile, tauri::mobile_entry_point)]
93pub fn run() {
94 tauri::Builder::default()
95 .invoke_handler(
96 tauri::generate_handler![
97 login,
98
99 get_products,
100 get_products_by_category,
101 get_categories,
102 create_category,
103 update_category,
104 delete_category,
105 get_settings,
106 update_settings,
107 get_tables,
108 reserve_table,
109 cancel_reservation,
110 delete_employee,
111 create_order,
112 get_order_total,
113 get_active_order,
114 pay_order,
115
116 add_order_item,
117 get_order_items,
118 update_order_quantity,
119 delete_order_item,
120
121 create_payment,
122
123 create_invoice,
124 get_invoice,
125
126 get_inventory,
127 get_low_stock,
128 restock_product,
129 get_kitchen_orders,
130 mark_kitchen_order_ready,
131 today_sales,
132 today_orders,
133 best_product,
134 z_report,
135 employee_performance,
136 search_orders,
137
138 add_product,
139 update_product,
140 delete_product,
141 update_product_price,
142
143 get_employees,
144 get_roles,
145 add_employee,
146 update_employee_role,
147 reset_employee_pin,
148 toggle_employee,
149 minimize_window,
150 maximize_window,
151 unmaximize_window,
152 is_maximized,
153 close_window,
154
155 ]
156 )
157 .setup(|app: &mut tauri::App| {
158 let pool: PgPool = tauri::async_runtime::block_on(async {
159 create_pool().await
160 });
161 app.manage(ActiveSessions(Mutex::new(HashMap::new())));
162 app.manage(pool);
163
164 println!("Database connected!");
165
166 if std::env::args().any(|a| a == "--kitchen-window") {
167 tauri::WebviewWindowBuilder::new(
168 app,
169 "kitchen",
170 tauri::WebviewUrl::App("index.html?mode=kitchen".into()),
171 )
172 .title("Кујна")
173 .fullscreen(true)
174 .decorations(false)
175 .build()?;
176 }
177
178 Ok(())
179 })
180 .run(tauri::generate_context!())
181 .expect("error while running tauri");
182}
Note: See TracBrowser for help on using the repository browser.