internal.rs 491 B

12345678910111213141516171819202122
  1. use crate::app::InvokeResponse;
  2. use serde::Deserialize;
  3. /// The API descriptor.
  4. #[derive(Deserialize)]
  5. #[serde(tag = "cmd", rename_all = "camelCase")]
  6. pub enum Cmd {
  7. ValidateSalt { salt: String },
  8. }
  9. impl Cmd {
  10. pub fn run(self) -> crate::Result<InvokeResponse> {
  11. match self {
  12. Self::ValidateSalt { salt } => validate_salt(salt),
  13. }
  14. }
  15. }
  16. /// Validates a salt.
  17. pub fn validate_salt(salt: String) -> crate::Result<InvokeResponse> {
  18. Ok(crate::salt::is_valid(salt).into())
  19. }