HostServ: vhost OFFER menu, plus SETALL/DELALL/GROUP

A curated self-serve menu: operators OFFER <host> / OFFERDEL <n>, anyone
sees OFFERLIST, and a user picks one with TAKE <n> (assigned and applied
at once). Offers are a global event-sourced list (VhostOfferAdded/Removed,
threaded through apply like bots). SETALL/DELALL alias SET/DEL and GROUP
is a no-op reassurance, since the per-account vhost already covers every
grouped nick.
This commit is contained in:
Jean Chevronnet 2026-07-13 22:11:58 +00:00
parent 898461d1c2
commit 2c32dcdc63
No known key found for this signature in database
7 changed files with 197 additions and 16 deletions

View file

@ -603,6 +603,9 @@ pub trait Store {
fn request_vhost(&mut self, account: &str, host: &str) -> Result<(), RegError>;
fn take_vhost_request(&mut self, account: &str) -> Result<Option<String>, RegError>;
fn vhost_requests(&self) -> Vec<(String, String)>;
fn vhost_offer_add(&mut self, host: &str) -> Result<bool, RegError>;
fn vhost_offer_del(&mut self, index: usize) -> Result<Option<String>, RegError>;
fn vhost_offers(&self) -> Vec<String>;
fn group_nick(&mut self, nick: &str, account: &str) -> Result<(), RegError>;
fn ungroup_nick(&mut self, nick: &str) -> Result<bool, RegError>;
fn drop_account(&mut self, account: &str) -> Result<bool, RegError>;