summaryrefslogtreecommitdiff
path: root/backend/src/queries/accounts
diff options
context:
space:
mode:
Diffstat (limited to 'backend/src/queries/accounts')
-rw-r--r--backend/src/queries/accounts/get_all.rs7
-rw-r--r--backend/src/queries/accounts/insert.rs14
-rw-r--r--backend/src/queries/accounts/mod.rs5
3 files changed, 26 insertions, 0 deletions
diff --git a/backend/src/queries/accounts/get_all.rs b/backend/src/queries/accounts/get_all.rs
new file mode 100644
index 0000000..12941ac
--- /dev/null
+++ b/backend/src/queries/accounts/get_all.rs
@@ -0,0 +1,7 @@
+use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection};
+
+use crate::{models::account::Account, schema::accounts::dsl::accounts};
+
+pub fn get_all_accounts(connection: &mut SqliteConnection) -> Result<Vec<Account>, Error> {
+ accounts.select(Account::as_select()).load(connection)
+}
diff --git a/backend/src/queries/accounts/insert.rs b/backend/src/queries/accounts/insert.rs
new file mode 100644
index 0000000..c20cf60
--- /dev/null
+++ b/backend/src/queries/accounts/insert.rs
@@ -0,0 +1,14 @@
+use diesel::prelude::*;
+use diesel::result::Error;
+
+use crate::models::account::Account;
+use crate::schema::accounts::dsl::accounts as accounts_table;
+
+pub fn insert_account(
+ accounts: &[Account],
+ connection: &mut SqliteConnection,
+) -> Result<usize, Error> {
+ diesel::insert_into(accounts_table)
+ .values(accounts)
+ .execute(connection)
+}
diff --git a/backend/src/queries/accounts/mod.rs b/backend/src/queries/accounts/mod.rs
new file mode 100644
index 0000000..94fa360
--- /dev/null
+++ b/backend/src/queries/accounts/mod.rs
@@ -0,0 +1,5 @@
+mod get_all;
+mod insert;
+
+pub use get_all::get_all_accounts;
+pub use insert::insert_account;