use lemmy_db_schema::{
aggregates::structs::PersonAggregates,
source::{
+ local_site::RegistrationMode,
local_user::{LocalUser, LocalUserInsertForm},
person::{Person, PersonInsertForm},
registration_application::{RegistrationApplication, RegistrationApplicationInsertForm},
let site_view = SiteView::read_local(context.pool()).await?;
let local_site = site_view.local_site;
+ let require_registration_application =
+ local_site.registration_mode == RegistrationMode::RequireApplication;
- if !local_site.open_registration {
+ if local_site.registration_mode == RegistrationMode::Closed {
return Err(LemmyError::from_message("registration_closed"));
}
return Err(LemmyError::from_message("email_required"));
}
- if local_site.site_setup && local_site.require_application && data.answer.is_none() {
+ if local_site.site_setup && require_registration_application && data.answer.is_none() {
return Err(LemmyError::from_message(
"registration_application_answer_required",
));
}
};
- if local_site.site_setup && local_site.require_application {
+ if local_site.site_setup && require_registration_application {
// Create the registration application
let form = RegistrationApplicationInsertForm {
local_user_id: inserted_local_user.id,
// Log the user in directly if the site is not setup, or email verification and application aren't required
if !local_site.site_setup
- || (!local_site.require_application && !local_site.require_email_verification)
+ || (!require_registration_application && !local_site.require_email_verification)
{
login_response.jwt = Some(
Claims::jwt(
login_response.verify_email_sent = true;
}
- if local_site.require_application {
+ if require_registration_application {
login_response.registration_created = true;
}
}