Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

We'd like to have a consistent and safe way for study designers (almost always the implementers, so people with the DEVELOPER role) to delete and remove things as they set up a study. Often out deletes actually remove things from the database, and so those calls are only accessible to administrators for test clean-up.

...

  • always return this item regardless of deletion status so references do not break
  • Note: if developers try and delete things retrieve objects, to verify they are not referencing older models in their apps, this aspect of our API could be misleading. Their apps will continue to work, but the returned items will be marked deleted=true. Just something to be aware of.

...

  • If item is already logically deleted, throw an EntityNotFoundException
  • If item is not marked deleted, mark it as deleted

...

  • If item is not in database, throw an EntityNotFoundException
  • If item is in database but logically deleted, this should physically delete the item

...