Merge pull request 'billing_module' (#3) from billing_module into develop
Reviewed-on: #3
This commit is contained in:
commit
eac0683253
|
@ -1,11 +1,8 @@
|
|||
use std::convert::TryInto;
|
||||
|
||||
use chrono::Utc;
|
||||
use diesel::{ExpressionMethods, QueryDsl, RunQueryDsl};
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::connector::establish_connection;
|
||||
use crate::modules::api::events::instances::update::PatchInstanceData;
|
||||
use crate::schema::eu_instances;
|
||||
use crate::Settings;
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
use diesel::sql_types::Integer;
|
||||
use rocket::serde::json::Json;
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::events::{add_position_to_template, EventUnitTemplatePosition, RawEventUnitTemplatePosition, update_eu_template, update_positions_templates};
|
||||
use crate::database::controller::events::{EventUnitTemplatePosition, RawEventUnitTemplatePosition, update_eu_template, update_positions_templates};
|
||||
use crate::database::model::events::EventUnitTemplate;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
|
@ -72,7 +71,7 @@ pub fn update_position_for_template(
|
|||
|
||||
let data = position_template_data.into_inner();
|
||||
|
||||
if (data.template_id != template_id || data.position_entity_id != position_id || data.position_template_id != position_template_id) {
|
||||
if data.template_id != template_id || data.position_entity_id != position_id || data.position_template_id != position_template_id {
|
||||
return Err(Json(
|
||||
ApiError::new(400, "template_id or position_entity_id or position_template_id in URI doesn't match PUT data!".to_string()).to_wrapper(),
|
||||
));
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
use chrono::{DateTime, FixedOffset, NaiveDateTime};
|
||||
use chrono_tz::Tz;
|
||||
use diesel::result::Error;
|
||||
use rocket::serde::json::Json;
|
||||
use rocket::State;
|
||||
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
use std::convert::TryInto;
|
||||
|
||||
use chrono::{DateTime, ParseError, Utc};
|
||||
use rocket::serde::json::Json;
|
||||
use rocket::State;
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::database::controller::events::{change_position_instances, get_event};
|
||||
use crate::database::controller::events::instances::instances::{RawEventUnitInstanceChangeset, update_instance};
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
use rocket::State;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use chrono::{Local, NaiveDateTime};
|
||||
use rocket::serde::json::Json;
|
||||
use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError};
|
||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_option_uuid};
|
||||
use crate::database::model::event_requests::EventRequest;
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::entities::generate_entity;
|
||||
use diesel::sql_types::Integer;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::database::controller::event_requests::add_event_request;
|
||||
use chrono::{NaiveDateTime, ParseError, Local};
|
||||
use std::str::FromStr;
|
||||
use crate::database::model::event_requests::EventRequest;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_option_uuid};
|
||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
||||
|
||||
#[derive(Queryable, Clone, Deserialize, Serialize)]
|
||||
pub struct RequestData {
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
use rocket::{State, Request};
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::database::model::event_requests::EventRequest;
|
||||
use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError};
|
||||
use crate::modules::api::member_management::controller::parser::parse_member_cookie;
|
||||
use crate::database::controller::event_requests::{get_event_requests, get_event_request_count};
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use rocket::serde::json::Json;
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::event_requests::{get_event_request_count, get_event_requests};
|
||||
use crate::database::model::event_requests::EventRequest;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::modules::api::member_management::controller::parser::parse_member_cookie;
|
||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
||||
|
||||
#[derive(Queryable, Clone, Deserialize, Serialize)]
|
||||
pub struct EventRequestList{
|
||||
pub struct EventRequestList {
|
||||
pub(crate) requests: Vec<EventRequest>,
|
||||
pub(crate) total_request_count: i64,
|
||||
}
|
||||
|
|
|
@ -1,23 +1,24 @@
|
|||
use crate::helper::settings::Settings;
|
||||
use rocket::State;
|
||||
use rocket::serde::json::Json;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::modules::api::events::requests::create::RequestData;
|
||||
use crate::database::model::event_requests::EventRequest;
|
||||
use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError};
|
||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_option_uuid, parse_uuid};
|
||||
use crate::database::controller::entities::generate_entity;
|
||||
use chrono::{NaiveDateTime, Local};
|
||||
use crate::database::controller::event_requests::{add_event_request, change_event_request, get_event_request};
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::helper::mail_templates::MailTemplates;
|
||||
use crate::helper::mail_queue::queue::{MailQueue, Mail};
|
||||
use std::sync::Arc;
|
||||
use crate::database::model::organisers::Organiser;
|
||||
|
||||
use chrono::NaiveDateTime;
|
||||
use rocket::serde::json::Json;
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::api_communication_targets::get_member_email_addresses;
|
||||
use crate::database::controller::event_requests::{change_event_request, get_event_request};
|
||||
use crate::database::controller::members::get_member_by_uuid;
|
||||
use crate::database::controller::organisers::get_organiser;
|
||||
use crate::database::controller::permissions::get_members_with_permission;
|
||||
use crate::database::controller::api_communication_targets::get_member_email_addresses;
|
||||
use crate::database::controller::members::get_member_by_uuid;
|
||||
use crate::database::model::event_requests::EventRequest;
|
||||
use crate::database::model::organisers::Organiser;
|
||||
use crate::helper::mail_queue::queue::{Mail, MailQueue};
|
||||
use crate::helper::mail_templates::MailTemplates;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::modules::api::events::requests::create::RequestData;
|
||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_option_uuid, parse_uuid};
|
||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
||||
|
||||
#[put("/api/event_requests/<request_id>", format = "json", data = "<create_request_data>")]
|
||||
pub fn update_event_request(
|
||||
|
|
|
@ -1,19 +1,18 @@
|
|||
use crate::database::controller::api_communication_targets::{update_communication_target, get_member_communication_types};
|
||||
use rocket::serde::json::Json;
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::api_communication_targets::{get_member_communication_types, update_communication_target};
|
||||
use crate::database::controller::groups::get_groups_for_member;
|
||||
use crate::database::controller::member_communication::{add_communication_target, get_communication_target, remove_communication_target};
|
||||
use crate::database::model::member_communication::CommunicationTargetCreate;
|
||||
use crate::helper::check_access::check_access_to_member_or_group;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string};
|
||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
||||
use crate::schema::communication_targets;
|
||||
|
||||
|
||||
use rocket::State;
|
||||
use rocket::serde::json::Json;
|
||||
use crate::helper::check_access::check_access_to_member_or_group;
|
||||
use crate::database::controller::groups::get_groups_for_member;
|
||||
use crate::database::controller::member_communication::{get_communication_target, add_communication_target, remove_communication_target};
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::database::model::member_communication::CommunicationTargetCreate;
|
||||
|
||||
#[derive(Serialize, Deserialize, Queryable, Clone, AsChangeset)]
|
||||
#[table_name = "communication_targets"]
|
||||
pub struct CommunicationTarget {
|
||||
|
@ -58,9 +57,18 @@ pub fn api_communication_targets_create(
|
|||
let caller = parse_member_cookie(cookie.member)?;
|
||||
let communication_target = communication_target.into_inner();
|
||||
|
||||
let groups = get_groups_for_member(settings, communication_target.entity_id).unwrap().into_iter().map(|m|crate::modules::member_management::model::groups::Group::from(m)).collect();
|
||||
if !check_access_to_member_or_group(settings, communication_target.entity_id, groups, caller.entity_id, crate::permissions::modules::member_management::profile::communication::EDIT.to_string()){
|
||||
return Err(Json(ApiError::new(401, "Keine Berechtigung, ein Kommunikationsziel hinzuzufügen.".to_string()).to_wrapper()))
|
||||
let groups = get_groups_for_member(settings, communication_target.entity_id).unwrap().into_iter().map(|m| crate::modules::member_management::model::groups::Group::from(m)).collect();
|
||||
|
||||
if communication_target.entity_id != caller.entity_id { //if Member edits own communication target, do not check permissions
|
||||
if !check_access_to_member_or_group(settings, communication_target.entity_id, groups, caller.entity_id, crate::permissions::modules::member_management::profile::communication::EDIT.to_string()) {
|
||||
return Err(Json(
|
||||
ApiError::new(
|
||||
403,
|
||||
"Keine Berechtigung, Kommunikationsziel hinzuzufügen!".to_string(),
|
||||
)
|
||||
.to_wrapper(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
match add_communication_target(settings, communication_target) {
|
||||
|
@ -156,20 +164,28 @@ pub fn api_communication_targets_delete(
|
|||
settings: &State<Settings>,
|
||||
target_id: String,
|
||||
) -> Result<(), Json<ApiErrorWrapper>> {
|
||||
let member = parse_member_cookie(cookie.member)?;
|
||||
let caller = parse_member_cookie(cookie.member)?;
|
||||
let target_id = parse_uuid_string(target_id)?;
|
||||
|
||||
let target = match get_communication_target(settings, target_id){
|
||||
let target = match get_communication_target(settings, target_id) {
|
||||
Ok(target) => target,
|
||||
Err(e) => {
|
||||
return Err(translate_diesel(e))
|
||||
}
|
||||
};
|
||||
|
||||
let groups = get_groups_for_member(settings, target.entity_id).unwrap().into_iter().map(|m|crate::modules::member_management::model::groups::Group::from(m)).collect();
|
||||
let groups = get_groups_for_member(settings, target.entity_id).unwrap().into_iter().map(|m| crate::modules::member_management::model::groups::Group::from(m)).collect();
|
||||
|
||||
if !check_access_to_member_or_group(settings, target.entity_id, groups, member.entity_id, crate::permissions::modules::member_management::profile::communication::EDIT.to_string()){
|
||||
return Err(Json(ApiError::new(401, "Keine Berechtigung Kommunikationseintrag zu löschen!".to_string()).to_wrapper()))
|
||||
if target.entity_id != caller.entity_id { //if Member edits own communication target, do not check permissions
|
||||
if !check_access_to_member_or_group(settings, target.entity_id, groups, caller.entity_id, crate::permissions::modules::member_management::profile::communication::EDIT.to_string()) {
|
||||
return Err(Json(
|
||||
ApiError::new(
|
||||
403,
|
||||
"Keine Berechtigung, Kommunikationsziel zu entfernen!".to_string(),
|
||||
)
|
||||
.to_wrapper(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
match remove_communication_target(settings, target_id) {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
use rocket::State;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use rocket::serde::json::Json;
|
||||
use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError};
|
||||
use crate::modules::api::member_management::controller::parser::parse_member_cookie;
|
||||
use crate::database::controller::roles::get_permissions_for_role;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::model::permissions::Permission;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::modules::api::member_management::controller::parser::parse_member_cookie;
|
||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
||||
|
||||
/// Get all permissions
|
||||
///
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
use rocket::State;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use rocket::serde::json::Json;
|
||||
use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError};
|
||||
use crate::modules::api::member_management::controller::parser::parse_member_cookie;
|
||||
use crate::database::controller::roles::{get_permissions_for_role, get_roles, get_members_for_role};
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::database::model::permissions::Permission;
|
||||
use crate::database::controller::permissions::{get_role_permission_id, get_role_permission_context};
|
||||
use crate::database::model::roles::Role;
|
||||
use crate::modules::api::members::get_member::MemberSearchResult;
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::permissions::{get_role_permission_context, get_role_permission_id};
|
||||
use crate::database::controller::roles::{get_members_for_role, get_permissions_for_role, get_roles};
|
||||
use crate::database::model::api_members::RawMemberSearchResult;
|
||||
use crate::database::model::permissions::Permission;
|
||||
use crate::database::model::roles::Role;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::modules::api::member_management::controller::parser::parse_member_cookie;
|
||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
||||
|
||||
/// Get all permissions for role
|
||||
///
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
use rocket::State;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use rocket::serde::json::Json;
|
||||
use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError};
|
||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid};
|
||||
use crate::database::controller::roles::{get_permissions_for_role, add_permission_context, remove_permission_context, add_member_to_role, remove_member_from_role, update_role};
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::database::model::permissions::Permission;
|
||||
use crate::database::controller::permissions::{add_permission_to_role, remove_permission_from_role, get_role_permission_id};
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::permissions::{add_permission_to_role, get_role_permission_id, remove_permission_from_role};
|
||||
use crate::database::controller::roles::{add_member_to_role, add_permission_context, remove_member_from_role, remove_permission_context, update_role};
|
||||
use crate::database::model::roles::Role;
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::translate_diesel_error::translate_diesel;
|
||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid};
|
||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
||||
|
||||
/// Add permission to role
|
||||
///
|
||||
|
@ -102,15 +102,18 @@ pub fn api_add_context(
|
|||
return Err(Json(ApiError::new(403, "No permission to edit role permissions".to_string()).to_wrapper()))
|
||||
}
|
||||
|
||||
let rpi = match get_role_permission_id(settings, &permission_id, &role_id){
|
||||
Ok(rpi) => match rpi{
|
||||
let rpi = match get_role_permission_id(settings, &permission_id, &role_id) {
|
||||
Ok(rpi) => match rpi {
|
||||
Some(rpi) => rpi,
|
||||
None => {
|
||||
warn!("Couldn't find role_permission_id");
|
||||
return Err(Json(ApiError::new(404, "role_permission_id not found.".to_string()).to_wrapper()))
|
||||
}
|
||||
},
|
||||
Err(e) => return Err(Json(ApiError::new(500, "Couldn't get role_permission_id.".to_string()).to_wrapper())),
|
||||
Err(e) => {
|
||||
warn!("Couldn't get role_permission_id: {}", e);
|
||||
return Err(Json(ApiError::new(500, "Couldn't get role_permission_id.".to_string()).to_wrapper()))
|
||||
},
|
||||
};
|
||||
|
||||
let context_id = parse_uuid(&context_id)?;
|
||||
|
@ -148,12 +151,15 @@ pub fn api_remove_context(
|
|||
return Err(Json(ApiError::new(403, "No permission to edit role permissions".to_string()).to_wrapper()))
|
||||
}
|
||||
|
||||
let rpi = match get_role_permission_id(settings, &permission_id, &role_id){
|
||||
Ok(rpi) => match rpi{
|
||||
let rpi = match get_role_permission_id(settings, &permission_id, &role_id) {
|
||||
Ok(rpi) => match rpi {
|
||||
Some(rpi) => rpi,
|
||||
None => return Err(Json(ApiError::new(404, "role_permission_id not found.".to_string()).to_wrapper()))
|
||||
},
|
||||
Err(e) => return Err(Json(ApiError::new(500, "Couldn't get role_permission_id.".to_string()).to_wrapper())),
|
||||
Err(e) => {
|
||||
warn!("Couldn't get role_permission_id: {}", e);
|
||||
return Err(Json(ApiError::new(500, "Couldn't get role_permission_id.".to_string()).to_wrapper()))
|
||||
},
|
||||
};
|
||||
|
||||
let context_id = parse_uuid(&context_id)?;
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
use rocket::State;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::database::controller::events::get_eu_position;
|
||||
use crate::modules::api::member_management::controller::parser::parse_uuid_string;
|
||||
use serde_json::{Value, Map};
|
||||
use std::fmt;
|
||||
use crate::database::controller::member_licenses::check_license_for_member;
|
||||
use crate::database::model::member_licenses::MemberDrivePermission;
|
||||
use crate::database::controller::member_qualifications::check_qualification_for_member;
|
||||
|
||||
pub fn check_position_requirements(settings: &State<Settings>, position_id: uuid::Uuid, member_id: uuid::Uuid) -> Result<bool, RequirementParserError>{
|
||||
let position = match get_eu_position(settings, position_id){
|
||||
use rocket::State;
|
||||
use serde_json::{Map, Value};
|
||||
|
||||
use crate::database::controller::events::get_eu_position;
|
||||
use crate::database::controller::member_licenses::check_license_for_member;
|
||||
use crate::database::controller::member_qualifications::check_qualification_for_member;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::modules::api::member_management::controller::parser::parse_uuid_string;
|
||||
|
||||
pub fn check_position_requirements(settings: &State<Settings>, position_id: uuid::Uuid, member_id: uuid::Uuid) -> Result<bool, RequirementParserError> {
|
||||
let position = match get_eu_position(settings, position_id) {
|
||||
Ok(pos) => pos,
|
||||
Err(e) => return Err(RequirementParserError::from(e))
|
||||
};
|
||||
match position.requirements{
|
||||
match position.requirements {
|
||||
Some(req) => parse_requirements(req, settings, member_id),
|
||||
None => Ok(true)
|
||||
}
|
||||
|
|
|
@ -1,13 +1,22 @@
|
|||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use rocket::State;
|
||||
use crate::helper::settings::Settings;
|
||||
|
||||
use rocket::http::Status;
|
||||
use crate::helper::sitebuilder::model::general::{Header, Stylesheet, Footer, Script};
|
||||
use crate::helper::sitebuilder::model::sidebar::Sidebar;
|
||||
use crate::modules::event_management::eventlist::EventTemplates;
|
||||
use rocket::State;
|
||||
use rocket_dyn_templates::Template;
|
||||
|
||||
use crate::helper::session_cookies::model::SessionCookie;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::helper::sitebuilder::model::general::{Footer, Header, Script, Stylesheet};
|
||||
use crate::helper::sitebuilder::model::sidebar::Sidebar;
|
||||
use crate::modules::api::member_management::controller::parser::parse_uuid_string;
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct EditEvent {
|
||||
pub header: Header,
|
||||
pub footer: Footer,
|
||||
pub sidebar: Sidebar,
|
||||
pub caller: uuid::Uuid,
|
||||
pub event_id: uuid::Uuid,
|
||||
}
|
||||
|
||||
#[get("/portal/em/event?<id>")]
|
||||
pub fn edit_event(cookie: SessionCookie, _settings: &State<Settings>, id: String) -> Result<Template, Status> {
|
||||
let member = match cookie.member {
|
||||
|
@ -42,11 +51,12 @@ pub fn edit_event(cookie: SessionCookie, _settings: &State<Settings>, id: String
|
|||
let mut sidebar = Sidebar::new(member.clone());
|
||||
sidebar.event_management.active = true;
|
||||
|
||||
let eventlist = EventTemplates {
|
||||
let eventlist = EditEvent {
|
||||
header,
|
||||
footer,
|
||||
sidebar,
|
||||
caller: member.entity_id
|
||||
caller: member.entity_id,
|
||||
event_id: parse_uuid_string(id).unwrap(), //TODO: do not unwrap
|
||||
};
|
||||
|
||||
Ok(Template::render("module_em_edit_event", eventlist))
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
use crate::database::controller::users::get_user_by_email;
|
||||
use crate::database::model::users::User;
|
||||
use crate::helper::session_cookies::model::SessionCookieStorage;
|
||||
use crate::modules::welcome::model::login_error_type::LoginError;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::modules::welcome::model::login_form::LoginForm;
|
||||
use crate::database::controller::login_protection::{add_login_attempt, add_login_attempt_username};
|
||||
use chrono::{Duration, Utc};
|
||||
use rocket::http::{Cookie, CookieJar};
|
||||
use rocket::State;
|
||||
|
||||
use crate::database::controller::login_protection::add_login_attempt;
|
||||
use crate::database::controller::login_protection::login_attempts_exceeded;
|
||||
use crate::database::controller::users::get_user_by_email;
|
||||
use crate::database::model::users::User;
|
||||
use crate::helper::session_cookies::model::SessionCookieStorage;
|
||||
use crate::helper::settings::Settings;
|
||||
use crate::modules::welcome::model::login_error_type::LoginError;
|
||||
use crate::modules::welcome::model::login_form::LoginForm;
|
||||
|
||||
pub fn check_login(login_form: LoginForm, settings: &State<Settings>) -> Result<User, LoginError> {
|
||||
let user: User = match get_user_by_email(login_form.login_email.clone().to_lowercase(), &settings){
|
||||
Some(user) => match login_attempts_exceeded(settings, login_form.login_email.to_lowercase()){
|
||||
let user: User = match get_user_by_email(login_form.login_email.clone().to_lowercase(), &settings) {
|
||||
Some(user) => match login_attempts_exceeded(settings, login_form.login_email.to_lowercase()) {
|
||||
Ok(result) => {
|
||||
if result{
|
||||
return Err(LoginError::MaxLoginAttemptsExceeded)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use crate::helper::sitebuilder::model::alerts::Alert;
|
||||
use crate::helper::sitebuilder::model::general::{Footer, Header, Script, Stylesheet};
|
||||
use crate::helper::sitebuilder::model::general::{Footer, Header, Stylesheet};
|
||||
use crate::modules::welcome::model::welcome_module::WelcomeModule;
|
||||
|
||||
pub fn get_context(alert: Option<Alert>) -> WelcomeModule {
|
||||
|
|
Loading…
Reference in New Issue