use dialtone_common::rest::sites::site_data::{PublicSiteInfo, RegistrationMethod, SiteData};
use dialtone_sqlx::db::site_info::create_site;
use dialtone_sqlx::db::site_info::fetch_site;
use dialtone_sqlx::db::site_info::update::update_site;
use sqlx::Pool;
pub async fn create_site_tst_utl(pool: &Pool<sqlx::Postgres>, host_name: &str) {
create_site(
pool,
host_name,
"test".to_string(),
Some("testy sites".to_string()),
None,
)
.await
.unwrap();
}
pub async fn open_registration(pool: &Pool<sqlx::Postgres>, host_name: &str) {
let site_info = fetch_site(pool, host_name).await.unwrap().unwrap();
let registration_methods = vec![RegistrationMethod::OpenRegistration];
let new_site_data = SiteData {
public: PublicSiteInfo {
registration_methods,
..site_info.site_data.public
},
..site_info.site_data
};
update_site(pool, host_name, new_site_data).await.unwrap();
}
pub async fn simple_code_registration(pool: &Pool<sqlx::Postgres>, host_name: &str, code: String) {
let site_info = fetch_site(pool, host_name).await.unwrap().unwrap();
let registration_methods = vec![RegistrationMethod::SimpleCode];
let new_site_data = SiteData {
public: PublicSiteInfo {
registration_methods,
..site_info.site_data.public
},
simple_code_for_registration: Some(code),
..site_info.site_data
};
update_site(pool, host_name, new_site_data).await.unwrap();
}