Dropped the nuke on the backend folder (new trait too :D)

This commit is contained in:
LinlyBoi
2022-12-30 23:48:32 +02:00
parent 8b6989f45e
commit a530303f73
9 changed files with 16 additions and 481 deletions

View File

@@ -1,55 +1 @@
use crate::models::{Admin, AdminEmail, NewAdmin, NewAdminEmail};
use common::CommonAdmin;
use diesel::prelude::*;
pub fn listadmins(connection: &mut PgConnection) -> String {
use crate::schema::admins::dsl::*;
let query = admins.load::<Admin>(connection).expect("KANKER");
let admin_list = query
.iter()
.map(|admin| format!("{} {}\n", admin.name, admin.address))
.collect();
return admin_list;
}
pub fn addmin(connection: &mut PgConnection, new_admin: NewAdmin) {
use crate::schema::admins::dsl::*;
diesel::insert_into(admins)
.values(&new_admin)
.execute(connection)
.expect("LOL DEAD NOT WORKING INSERTION");
}
pub fn addmail(connection: &mut PgConnection, admin_email: String, inserted_id: i32) {
use crate::schema::admin_emails::dsl::*;
let inserted_email = NewAdminEmail {
admin_id: &inserted_id,
email: &admin_email,
};
diesel::insert_into(admin_emails)
.values(inserted_email)
.execute(connection)
.expect("You FOOL! You didn't put an email in there");
}
pub fn listadminmails(connection: &mut PgConnection) {
use crate::schema::admin_emails::dsl::*;
let results = admin_emails
.load::<AdminEmail>(connection)
.expect("hecc D:");
for addmail in results {
println!("{} {}", addmail.email, addmail.admin_id);
}
}
pub fn get_admin(connection: &mut PgConnection, admin_id: i32) -> CommonAdmin {
use crate::schema::admins::dsl::*;
let admin = &mut admins
.filter(id.eq(admin_id))
.limit(1)
.load::<Admin>(connection)
.expect("no admins :(")[0];
return CommonAdmin {
id: admin.id,
name: String::from(&admin.name),
address: String::from(&admin.address),
};
}