Automatically trim values before saving
This commit is contained in:
		@@ -103,8 +103,29 @@ fn check_opt_str_val(
 | 
				
			|||||||
    Ok(())
 | 
					    Ok(())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn trim_opt_val(val: &mut Option<String>) {
 | 
				
			||||||
 | 
					    if let Some(s) = val {
 | 
				
			||||||
 | 
					        *val = Some(s.trim().to_string());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if val.as_deref() == Some("") {
 | 
				
			||||||
 | 
					        *val = None;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl MemberRequest {
 | 
					impl MemberRequest {
 | 
				
			||||||
    pub async fn to_member(self, member: &mut Member) -> anyhow::Result<()> {
 | 
					    pub async fn to_member(mut self, member: &mut Member) -> anyhow::Result<()> {
 | 
				
			||||||
 | 
					        // Trim values before processing
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.first_name);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.last_name);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.birth_last_name);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.email);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.country);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.address);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.city);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.note);
 | 
				
			||||||
 | 
					        trim_opt_val(&mut self.phone);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let c = StaticConstraints::default();
 | 
					        let c = StaticConstraints::default();
 | 
				
			||||||
        check_opt_str_val(
 | 
					        check_opt_str_val(
 | 
				
			||||||
            &self.first_name,
 | 
					            &self.first_name,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ diesel::table! {
 | 
				
			|||||||
        family_id -> Int4,
 | 
					        family_id -> Int4,
 | 
				
			||||||
        wife -> Nullable<Int4>,
 | 
					        wife -> Nullable<Int4>,
 | 
				
			||||||
        husband -> Nullable<Int4>,
 | 
					        husband -> Nullable<Int4>,
 | 
				
			||||||
 | 
					        #[max_length = 1]
 | 
				
			||||||
        state -> Nullable<Varchar>,
 | 
					        state -> Nullable<Varchar>,
 | 
				
			||||||
        photo_id -> Nullable<Int4>,
 | 
					        photo_id -> Nullable<Int4>,
 | 
				
			||||||
        time_create -> Int8,
 | 
					        time_create -> Int8,
 | 
				
			||||||
@@ -23,7 +24,9 @@ diesel::table! {
 | 
				
			|||||||
    families (id) {
 | 
					    families (id) {
 | 
				
			||||||
        id -> Int4,
 | 
					        id -> Int4,
 | 
				
			||||||
        time_create -> Int8,
 | 
					        time_create -> Int8,
 | 
				
			||||||
 | 
					        #[max_length = 30]
 | 
				
			||||||
        name -> Varchar,
 | 
					        name -> Varchar,
 | 
				
			||||||
 | 
					        #[max_length = 7]
 | 
				
			||||||
        invitation_code -> Varchar,
 | 
					        invitation_code -> Varchar,
 | 
				
			||||||
        disable_couple_photos -> Bool,
 | 
					        disable_couple_photos -> Bool,
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -33,16 +36,26 @@ diesel::table! {
 | 
				
			|||||||
    members (id) {
 | 
					    members (id) {
 | 
				
			||||||
        id -> Int4,
 | 
					        id -> Int4,
 | 
				
			||||||
        family_id -> Int4,
 | 
					        family_id -> Int4,
 | 
				
			||||||
 | 
					        #[max_length = 30]
 | 
				
			||||||
        first_name -> Nullable<Varchar>,
 | 
					        first_name -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 30]
 | 
				
			||||||
        last_name -> Nullable<Varchar>,
 | 
					        last_name -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 30]
 | 
				
			||||||
        birth_last_name -> Nullable<Varchar>,
 | 
					        birth_last_name -> Nullable<Varchar>,
 | 
				
			||||||
        photo_id -> Nullable<Int4>,
 | 
					        photo_id -> Nullable<Int4>,
 | 
				
			||||||
 | 
					        #[max_length = 255]
 | 
				
			||||||
        email -> Nullable<Varchar>,
 | 
					        email -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 30]
 | 
				
			||||||
        phone -> Nullable<Varchar>,
 | 
					        phone -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 155]
 | 
				
			||||||
        address -> Nullable<Varchar>,
 | 
					        address -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 150]
 | 
				
			||||||
        city -> Nullable<Varchar>,
 | 
					        city -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 12]
 | 
				
			||||||
        postal_code -> Nullable<Varchar>,
 | 
					        postal_code -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 2]
 | 
				
			||||||
        country -> Nullable<Varchar>,
 | 
					        country -> Nullable<Varchar>,
 | 
				
			||||||
 | 
					        #[max_length = 1]
 | 
				
			||||||
        sex -> Nullable<Varchar>,
 | 
					        sex -> Nullable<Varchar>,
 | 
				
			||||||
        time_create -> Int8,
 | 
					        time_create -> Int8,
 | 
				
			||||||
        time_update -> Int8,
 | 
					        time_update -> Int8,
 | 
				
			||||||
@@ -71,11 +84,15 @@ diesel::table! {
 | 
				
			|||||||
diesel::table! {
 | 
					diesel::table! {
 | 
				
			||||||
    photos (id) {
 | 
					    photos (id) {
 | 
				
			||||||
        id -> Int4,
 | 
					        id -> Int4,
 | 
				
			||||||
 | 
					        #[max_length = 36]
 | 
				
			||||||
        file_id -> Varchar,
 | 
					        file_id -> Varchar,
 | 
				
			||||||
        time_create -> Int8,
 | 
					        time_create -> Int8,
 | 
				
			||||||
 | 
					        #[max_length = 150]
 | 
				
			||||||
        mime_type -> Varchar,
 | 
					        mime_type -> Varchar,
 | 
				
			||||||
 | 
					        #[max_length = 130]
 | 
				
			||||||
        sha512 -> Varchar,
 | 
					        sha512 -> Varchar,
 | 
				
			||||||
        file_size -> Int4,
 | 
					        file_size -> Int4,
 | 
				
			||||||
 | 
					        #[max_length = 130]
 | 
				
			||||||
        thumb_sha512 -> Varchar,
 | 
					        thumb_sha512 -> Varchar,
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -83,12 +100,16 @@ diesel::table! {
 | 
				
			|||||||
diesel::table! {
 | 
					diesel::table! {
 | 
				
			||||||
    users (id) {
 | 
					    users (id) {
 | 
				
			||||||
        id -> Int4,
 | 
					        id -> Int4,
 | 
				
			||||||
 | 
					        #[max_length = 30]
 | 
				
			||||||
        name -> Varchar,
 | 
					        name -> Varchar,
 | 
				
			||||||
 | 
					        #[max_length = 255]
 | 
				
			||||||
        email -> Varchar,
 | 
					        email -> Varchar,
 | 
				
			||||||
        password -> Nullable<Varchar>,
 | 
					        password -> Nullable<Varchar>,
 | 
				
			||||||
        time_create -> Int8,
 | 
					        time_create -> Int8,
 | 
				
			||||||
 | 
					        #[max_length = 150]
 | 
				
			||||||
        reset_password_token -> Nullable<Varchar>,
 | 
					        reset_password_token -> Nullable<Varchar>,
 | 
				
			||||||
        time_gen_reset_token -> Int8,
 | 
					        time_gen_reset_token -> Int8,
 | 
				
			||||||
 | 
					        #[max_length = 150]
 | 
				
			||||||
        delete_account_token -> Nullable<Varchar>,
 | 
					        delete_account_token -> Nullable<Varchar>,
 | 
				
			||||||
        time_gen_delete_account_token -> Int8,
 | 
					        time_gen_delete_account_token -> Int8,
 | 
				
			||||||
        time_activate -> Int8,
 | 
					        time_activate -> Int8,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user