From 5b75d459109b1b68cd929a265e5e7884f96832c8 Mon Sep 17 00:00:00 2001 From: relaxed <> Date: Wed, 25 Dec 2024 13:32:44 +0500 Subject: [PATCH] add is login requied --- src/lib/components/ui/ScreenWrap.svelte | 24 ++- src/routes/+page.svelte | 223 ++++++++++++++++++------ 2 files changed, 185 insertions(+), 62 deletions(-) diff --git a/src/lib/components/ui/ScreenWrap.svelte b/src/lib/components/ui/ScreenWrap.svelte index 60db8d5..774edd0 100644 --- a/src/lib/components/ui/ScreenWrap.svelte +++ b/src/lib/components/ui/ScreenWrap.svelte @@ -113,9 +113,8 @@ WHERE id = ${current_item.id}`; export let is_item_dialog_open = false; export let is_dialog_item_add = false; - let is_logedin = true; - - export let data_access; + let is_logedin = false; + export let is_login_requied = true; let access_level = ""; /** @@ -135,6 +134,11 @@ WHERE id = ${current_item.id}`; onMount(async () => { await load_db(); is_loaded = true; + if (!is_login_requied) { + is_logedin = true; + check_access = () => true; + check_login = async () => [true, ""]; + } }); $: cur_dialog_name = is_dialog_item_add ? `Добавить в ${db_scheme[current_page].tables[current_table]}` @@ -149,12 +153,14 @@ WHERE id = ${current_item.id}`; bind:is_view_open check_access={(name) => check_access(access_level, name, null)} on_logout={() => { - is_logedin = false; - // @ts-ignore - access_level = ""; - current_page = "Запросы"; - current_table = ""; - current_view = ""; + if (is_login_requied) { + is_logedin = false; + // @ts-ignore + access_level = ""; + current_page = "Запросы"; + current_table = ""; + current_view = ""; + } }} > diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 3df7e68..14bc848 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -27,7 +27,9 @@ async function load_db() { // dev - db = await Database.load(`sqlite:${await path.resolve()}/../db/data.db`); + db = await Database.load( + `sqlite:${await path.resolve()}/../db/data.db`, + ); // db = await Database.load(`sqlite:${await path.resolve()}/db/data.db`); @@ -162,6 +164,7 @@ GROUP BY id; let is_item_dialog_open = false; let is_dialog_item_add = false; + let is_login_requied = false; /** * @param {string} access_level @@ -174,7 +177,10 @@ GROUP BY id; if (data_access[access_level] === true) return true; // @ts-ignore - if (Object.hasOwn(data_access[access_level], tab_name) && name === null) + if ( + Object.hasOwn(data_access[access_level], tab_name) && + name === null + ) return true; // @ts-ignore @@ -210,10 +216,10 @@ insert into IdBuffer (id) values (${ar.join("), (")});`); id {current_item.id} {/if} - + @@ -250,35 +258,48 @@ insert into IdBuffer (id) values (${ar.join("), (")});`); "select id, name from Ingredients where is_allowed = 1", )} on_change={async () => { - await id_buffer(current_item.ingredients_ids); + await id_buffer( + current_item.ingredients_ids, + ); const query = ` select sum(price) as value from Ingredients join IdBuffer on IdBuffer.id = Ingredients.id `; - const price = await db.select(query); - current_item.price = price[0].value; + const price = + await db.select( + query, + ); + current_item.price = + price[0].value; }} > - + - + { - const las_id = await sql_insert_short( - current_table, - cur_cols, - "returning id", + const las_id = + await sql_insert_short( + current_table, + cur_cols, + "returning id", + ); + console.log( + las_id.lastInsertId, ); - console.log(las_id.lastInsertId); const query = `insert into PizzasIngredientsJoin (pizza_id, ingredient_id) values ${current_item.ingredients_ids.map((el) => "(" + las_id.lastInsertId + "," + el + ")").join(",")} @@ -293,7 +314,10 @@ insert into PizzasIngredientsJoin (pizza_id, ingredient_id) values ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ")").join(",")} `; await db.execute(query); - await sql_update_short(current_table, cur_cols); + await sql_update_short( + current_table, + cur_cols, + ); }} on_delete={sql_delete_short} > @@ -316,30 +340,50 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") > { - const ingredients_ids = await db.select( - `select ingredient_id from PizzasIngredientsJoin where pizza_id = ${item.id}`, - ); + const ingredients_ids = + await db.select( + `select ingredient_id from PizzasIngredientsJoin where pizza_id = ${item.id}`, + ); open_item_edit(item); - current_item.ingredients_ids = ingredients_ids.map( - (/** @type {any} */ el) => el.ingredient_id, - ); + current_item.ingredients_ids = + ingredients_ids.map( + ( + /** @type {any} */ el, + ) => + el.ingredient_id, + ); }} > - +
{:else if current_table === "Ingredients"} - {@const cur_cols = ["name", "price", "is_allowed", "weight"]} + {@const cur_cols = [ + "name", + "price", + "is_allowed", + "weight", + ]} "(" + current_item.id + "," + el + ") {/if} - + - + - + - @@ -369,10 +421,16 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") {form} bind:is_dialog_item_add on_add={async () => { - await sql_insert_short(current_table, cur_cols); + await sql_insert_short( + current_table, + cur_cols, + ); }} on_save={async () => { - await sql_update_short(current_table, cur_cols); + await sql_update_short( + current_table, + cur_cols, + ); }} on_delete={sql_delete_short} > @@ -396,14 +454,28 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") > - open_item_edit(item)}> - + + open_item_edit(item)} + > +
@@ -419,7 +491,9 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") {/if} - + @@ -439,10 +513,16 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") {form} bind:is_dialog_item_add on_add={async () => { - await sql_insert_short(current_table, ["pizza_id"]); + await sql_insert_short( + current_table, + ["pizza_id"], + ); }} on_save={async () => { - await sql_update_short(current_table, cur_cols); + await sql_update_short( + current_table, + cur_cols, + ); }} on_delete={sql_delete_short} > @@ -464,14 +544,25 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") > - open_item_edit(item)}> - + + open_item_edit(item)} + > +
{#await db.select(`select name from Pizzas where id = ${item.pizza_id}`) then data} {data[0].name} @@ -492,13 +583,17 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") {/if} - + - open_item_edit(item)}> - + + open_item_edit(item)} + > + - +
{#await db.select(`select name from Ingredients where id = ${item.ingredient_id}`) then data} {data[0].name} {/await}
@@ -562,7 +677,9 @@ ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ") {:else if is_view_open} {#if current_view === "IngredientsLeft"}