Ok(Template::render("test",&c))
}
-#[derive(Error,Debug)]
-#[error("operation error {:?}",self)]
-enum OpError {
- Conflict,
- PieceGone,
- PieceHeld,
-}
-
#[derive(Debug,Serialize,Deserialize)]
struct ApiGrab {
t : String,
let r : Result<(),OpError> = (||{
let piece = decode_visible_pieceid(form.p);
let gs = &mut g.gs;
- let p = gs.pieces.get_mut(piece).ok_or(OpError::PieceGone)?;
+ let p = gs.pieces.byid_mut(piece)?;
let q_gen = form.g;
let u_gen =
if client == p.lastclient { p.gen_lastclient }
use std::sync::PoisonError;
+#[derive(Error,Debug)]
+#[error("operation error {:?}",self)]
+pub enum OpError {
+ Conflict,
+ PieceGone,
+ PieceHeld,
+}
+
#[derive(Error,Debug)]
pub enum OnlineError {
#[error("Game corrupted by previous crash - consult administrator")]
type Error = OE;
const ERROR : OE = <Self as AccessId>::ERROR;
}
+
+impl IdForById for PieceId {
+ type Error = OpError;
+ const ERROR : OpError = OpError::PieceGone;
+}