1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/// Provide a logger.
use log::info;
use uuid::Uuid;

use anyhow::Result;

use crate::person::{Person, PersonHook, PersonRequest};

pub struct Logger;

impl PersonHook for Logger {
    /// No logger event for validate.
    fn validate(&self, _person_request: &PersonRequest, _action: &str) -> Result<()> {
        Ok(())
    }

    /// No logger event for validate.
    fn prepare(&self, _person_request: &mut PersonRequest, _action: &str) -> Result<()> {
        Ok(())
    }

    /// No logger event for prepare_id.
    fn prepare_id(&self, _id: &mut Uuid, _action: &str) -> Result<()> {
        Ok(())
    }

    /// Log activity in postsave.
    fn processed(&self, person: &mut Person, action: &str) -> Result<()> {
        info!("{} person '{}'", action, person.name);

        Ok(())
    }
}