rodo_lib 0.1.2

A Library for a Todo Manager
Documentation
use serde::{Deserialize, Serialize};
use serde_with::serde_as;
use uuid::Uuid;

use crate::utils::RodoStruct;

pub enum FIELDS {
    CONTENT(String),
}

#[serde_as]
#[derive(Serialize, Deserialize, Clone, Debug)]
/// Struct representing a Comment
///
/// * `content`: Content of the Comment
pub struct Comment {
    content: String,
}

impl Comment {
    pub fn new(content: &str) -> (Uuid, Self) {
        (
            Uuid::new_v4(),
            Self {
                content: String::from(content),
            },
        )
    }
}

impl RodoStruct<FIELDS> for Comment {
    fn edit(&mut self, fields: FIELDS) {
        match fields {
            FIELDS::CONTENT(c) => self.content = c,
        }
    }
}