Add tables for shopping list and planner
This commit is contained in:
parent
0d3c63013e
commit
d9449de02b
8 changed files with 99 additions and 76 deletions
|
|
@ -64,8 +64,8 @@ ORDER BY [title]
|
|||
r#"
|
||||
SELECT COUNT(*) = 1
|
||||
FROM [Recipe]
|
||||
INNER JOIN [User] ON [User].id = [Recipe].user_id
|
||||
WHERE [Recipe].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
||||
INNER JOIN [User] ON [User].[id] = [Recipe].[user_id]
|
||||
WHERE [Recipe].[id] = $1 AND ([user_id] = $2 OR (SELECT [is_admin] FROM [User] WHERE [id] = $2))
|
||||
"#,
|
||||
)
|
||||
.bind(recipe_id)
|
||||
|
|
@ -80,9 +80,9 @@ WHERE [Recipe].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
|||
r#"
|
||||
SELECT COUNT(*) = 1
|
||||
FROM [Recipe]
|
||||
INNER JOIN [User] ON [User].id = [Recipe].user_id
|
||||
INNER JOIN [User] ON [User].[id] = [Recipe].[user_id]
|
||||
INNER JOIN [Group] ON [Group].[recipe_id] = [Recipe].[id]
|
||||
WHERE [Group].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
||||
WHERE [Group].[id] = $1 AND ([user_id] = $2 OR (SELECT [is_admin] FROM [User] WHERE [id] = $2))
|
||||
"#,
|
||||
)
|
||||
.bind(group_id)
|
||||
|
|
@ -104,9 +104,9 @@ WHERE [Group].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
|||
r#"
|
||||
SELECT COUNT(*)
|
||||
FROM [Recipe]
|
||||
INNER JOIN [User] ON [User].id = [Recipe].user_id
|
||||
INNER JOIN [User] ON [User].[id] = [Recipe].[user_id]
|
||||
INNER JOIN [Group] ON [Group].[recipe_id] = [Recipe].[id]
|
||||
WHERE [Group].[id] IN ({}) AND ([is_admin] OR [user_id] = $2)
|
||||
WHERE [Group].[id] IN ({}) AND ([user_id] = $2 OR (SELECT [is_admin] FROM [User] WHERE [id] = $2))
|
||||
"#,
|
||||
params
|
||||
);
|
||||
|
|
@ -123,10 +123,10 @@ WHERE [Group].[id] IN ({}) AND ([is_admin] OR [user_id] = $2)
|
|||
r#"
|
||||
SELECT COUNT(*) = 1
|
||||
FROM [Recipe]
|
||||
INNER JOIN [User] ON [User].id = [Recipe].user_id
|
||||
INNER JOIN [User] ON [User].[id] = [Recipe].[user_id]
|
||||
INNER JOIN [Group] ON [Group].[recipe_id] = [Recipe].[id]
|
||||
INNER JOIN [Step] ON [Step].[group_id] = [Group].[id]
|
||||
WHERE [Step].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
||||
WHERE [Step].[id] = $1 AND ([user_id] = $2 OR (SELECT [is_admin] FROM [User] WHERE [id] = $2))
|
||||
"#,
|
||||
)
|
||||
.bind(step_id)
|
||||
|
|
@ -144,10 +144,10 @@ WHERE [Step].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
|||
r#"
|
||||
SELECT COUNT(*)
|
||||
FROM [Recipe]
|
||||
INNER JOIN [User] ON [User].id = [Recipe].user_id
|
||||
INNER JOIN [User] ON [User].[id] = [Recipe].[user_id]
|
||||
INNER JOIN [Group] ON [Group].[recipe_id] = [Recipe].[id]
|
||||
INNER JOIN [Step] ON [Step].[group_id] = [Group].[id]
|
||||
WHERE [Step].[id] IN ({}) AND ([is_admin] OR [user_id] = $2)
|
||||
WHERE [Step].[id] IN ({}) AND ([user_id] = $2 OR (SELECT [is_admin] FROM [User] WHERE [id] = $2))
|
||||
"#,
|
||||
params
|
||||
);
|
||||
|
|
@ -168,11 +168,11 @@ WHERE [Step].[id] IN ({}) AND ([is_admin] OR [user_id] = $2)
|
|||
r#"
|
||||
SELECT COUNT(*)
|
||||
FROM [Recipe]
|
||||
INNER JOIN [User] ON [User].id = [Recipe].user_id
|
||||
INNER JOIN [User] ON [User].[id] = [Recipe].[user_id]
|
||||
INNER JOIN [Group] ON [Group].[recipe_id] = [Recipe].[id]
|
||||
INNER JOIN [Step] ON [Step].[group_id] = [Group].[id]
|
||||
INNER JOIN [Ingredient] ON [Ingredient].[step_id] = [Step].[id]
|
||||
WHERE [Ingredient].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
||||
WHERE [Ingredient].[id] = $1 AND ([user_id] = $2 OR (SELECT [is_admin] FROM [User] WHERE [id] = $2))
|
||||
"#,
|
||||
)
|
||||
.bind(ingredient_id)
|
||||
|
|
@ -194,11 +194,12 @@ WHERE [Ingredient].[id] = $1 AND ([is_admin] OR [user_id] = $2)
|
|||
r#"
|
||||
SELECT COUNT(*)
|
||||
FROM [Recipe]
|
||||
INNER JOIN [User] ON [User].id = [Recipe].user_id
|
||||
INNER JOIN [User] ON [User].[id] = [Recipe].[user_id]
|
||||
INNER JOIN [Group] ON [Group].[recipe_id] = [Recipe].[id]
|
||||
INNER JOIN [Step] ON [Step].[group_id] = [Group].[id]
|
||||
INNER JOIN [Ingredient] ON [Ingredient].[step_id] = [Step].[id]
|
||||
WHERE [Ingredient].[id] IN ({}) AND ([is_admin] OR [user_id] = $2)
|
||||
WHERE [Ingredient].[id] IN ({}) AND
|
||||
([user_id] = $2 OR (SELECT [is_admin] FROM [User] WHERE [id] = $2))
|
||||
"#,
|
||||
params
|
||||
);
|
||||
|
|
@ -681,6 +682,8 @@ VALUES ($1, $2)
|
|||
.execute(&mut *tx)
|
||||
.await?;
|
||||
|
||||
tx.commit().await?;
|
||||
|
||||
Ok(db_result.last_insert_rowid())
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue