MemoServ: add CANCEL, CHECK, and INFO
All checks were successful
CI / check (push) Successful in 3m49s
All checks were successful
CI / check (push) Successful in 3m49s
CANCEL recalls the sender's most recent unread memo to a target (one the recipient already read can't be recalled); CHECK reports whether the last memo you sent someone has been read; INFO summarises your mailbox. Adds memo_cancel/memo_check store methods and shares MAX_MEMOS from the module root instead of duplicating it in send.rs.
This commit is contained in:
parent
a26ee722d1
commit
98ecbca414
9 changed files with 118 additions and 2 deletions
12
modules/memoserv/src/info.rs
Normal file
12
modules/memoserv/src/info.rs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
use echo_api::{Sender, ServiceCtx, Store};
|
||||
|
||||
// INFO: a summary of your mailbox (total, unread, capacity).
|
||||
pub fn handle(me: &str, from: &Sender, account: &str, ctx: &mut ServiceCtx, db: &mut dyn Store) {
|
||||
let total = db.memo_list(account).len();
|
||||
let unread = db.unread_memos(account);
|
||||
ctx.notice(
|
||||
me,
|
||||
from.uid,
|
||||
format!("You have \x02{total}\x02 memo(s), \x02{unread}\x02 unread, of a maximum \x02{}\x02.", super::MAX_MEMOS),
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue