term_keep 1.2.1

Terminal-based Google Keep clone. Can be used as a note taking / To-Do list app on a server.
Documentation
use crate::models::traits::FromSqlRow;
use crate::models::traits::ModelName;

use super::traits::RequireId;

#[derive(Debug, Clone, Default)]
pub struct Template {
  pub id: Option<u32>,
  pub name: String,
  pub content: String,
}

impl ModelName for Template {
  fn model_name() -> String {
    "template".to_owned()
  }
}

impl FromSqlRow for Template {
  fn from_row(row: &rusqlite::Row) -> Result<Self, rusqlite::Error> {
    Ok(Self {
      id: row.get("id")?,
      name: row.get("name")?,
      content: row.get("content")?,
    })
  }
}

impl RequireId for Template {
  fn option_id(&self) -> Option<u32> {
    self.id
  }
}