diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-12-20 19:05:05 -0800 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-12-20 19:05:05 -0800 | 
| commit | 3ec460d30c49bd579361e08be74863b5bcd96827 (patch) | |
| tree | 62d4ecf06cbe3a1a1a1d57813689a612709eb011 /rust | |
| parent | 358d0eeafb3e4567bb6f15dbac27711b45f4cfad (diff) | |
| download | fatcat-3ec460d30c49bd579361e08be74863b5bcd96827.tar.gz fatcat-3ec460d30c49bd579361e08be74863b5bcd96827.zip | |
allow deletion of redirect-to-deletion
Diffstat (limited to 'rust')
| -rw-r--r-- | rust/src/api_entity_crud.rs | 2 | ||||
| -rw-r--r-- | rust/src/database_models.rs | 3 | 
2 files changed, 3 insertions, 2 deletions
| diff --git a/rust/src/api_entity_crud.rs b/rust/src/api_entity_crud.rs index 605c27ed..71c6c96e 100644 --- a/rust/src/api_entity_crud.rs +++ b/rust/src/api_entity_crud.rs @@ -289,7 +289,7 @@ macro_rules! generic_db_delete {                  )                  .into());              } -            if current.rev_id.is_none() { +            if current.state()? == EntityState::Deleted {                  return Err(ErrorKind::InvalidEntityStateTransform(                      "entity was already deleted".to_string(),                  ) diff --git a/rust/src/database_models.rs b/rust/src/database_models.rs index 82088f28..d5daf9a4 100644 --- a/rust/src/database_models.rs +++ b/rust/src/database_models.rs @@ -11,6 +11,7 @@ use uuid::Uuid;  // Ugh. I thought the whole point was to *not* do this, but:  // https://github.com/diesel-rs/diesel/issues/1589 +#[derive(Clone, Copy, Debug, PartialEq)]  pub enum EntityState {      WorkInProgress,      Active(Uuid), @@ -113,7 +114,7 @@ macro_rules! entity_structs {                      (None, None) => Ok(EntityState::Deleted),                      (Some(redir), rev) => Ok(EntityState::Redirect(redir, rev)),                      (None, Some(rev)) => Ok(EntityState::Active(rev)), -                    _ => bail!("Invalid EntityIdentRow state"), +                    //_ => bail!("Invalid EntityIdentRow state"),                  }              }          } | 
