Overhaul file erorr handling

This commit is contained in:
Joscha 2021-12-15 19:16:11 +00:00
parent 261c304268
commit c07d27aa13
4 changed files with 115 additions and 38 deletions

View file

@ -5,12 +5,20 @@ use crate::files::commands::Done;
use crate::files::Files;
use super::error::Result;
use super::layout::line::LineLayout;
pub fn mark_done(files: &mut Files, entry: &Entry, now: NaiveDateTime) -> Result<()> {
pub fn mark_done(
files: &mut Files,
entries: &[Entry],
layout: &LineLayout,
number: usize,
now: NaiveDateTime,
) -> Result<()> {
let entry = &entries[layout.look_up_number(number)?];
let done = Done {
date: entry.dates.map(|dates| dates.into()),
done_at: now.date(),
};
files.add_done(entry.source, done)?;
files.add_done(number, entry.source, done)?;
Ok(())
}