Moved delete into action module.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 0s

This commit is contained in:
2026-02-16 08:28:59 -05:00
parent e2bb5bb93f
commit d47124656f
6 changed files with 90 additions and 37 deletions

65
src/action/delete.rs Normal file
View File

@@ -0,0 +1,65 @@
use crate::{
name::NameType,
message::MessageAction,
};
use super::Query;
#[derive(Clone, Debug)]
pub struct Delete {
doc_name: NameType,
query: Query,
}
impl Delete {
pub fn new<NT>(name: NT) -> Self where NT: Into<NameType> {
Self {
doc_name: name.into(),
query: Query::internal(),
}
}
pub fn get_query(&self) -> &Query {
&self.query
}
pub fn get_query_mut(&mut self) -> &mut Query {
&mut self.query
}
}
impl MessageAction for Delete {
fn doc_name(&self) -> &NameType {
&self.doc_name
}
}
#[cfg(test)]
mod deletes {
use crate::{
action::{Calculation, Operand},
name::test_support::random_name
};
use super::*;
#[test]
fn can_create_delete_request() {
let name = random_name();
let expected: NameType = name.clone().into();
let delete = Delete::new(name);
assert_eq!(delete.doc_name(), &expected);
assert_eq!(delete.get_query().iter().count(), 0);
}
#[test]
fn can_delete_query_be_added_to() {
let name = random_name();
let expected: NameType = name.clone().into();
let mut delete = Delete::new(name);
let query = delete.get_query_mut();
let mut calc = Calculation::new(Operand::Equal);
calc.add_value("something").unwrap();
query.add(random_name(), calc);
assert_eq!(delete.doc_name(), &expected);
assert_eq!(delete.get_query().iter().count(), 1);
}
}

View File

@@ -1,7 +1,7 @@
use super::{Addition, DocDef, Query, Records, Reply, Show, UserAction};
use super::{Addition, Delete, DocDef, Query, Records, Reply, Show, UserAction};
use crate::{
message::{
wrapper::{Delete, Update},
wrapper::Update,
MessageAction,
},
mtterror::MTTError,
@@ -13,6 +13,7 @@ use crate::{
pub enum MsgAction {
Addition(Addition),
Create(DocDef),
Delete(Delete),
Error(MTTError),
OnAddition(Records),
OnDelete(Records),
@@ -23,7 +24,6 @@ pub enum MsgAction {
Register(Register),
Reply(Reply),
Show(Show),
Delete(Delete),
Update(Update),
}
@@ -32,6 +32,7 @@ impl MessageAction for MsgAction {
match self {
Self::Addition(data) => data.doc_name(),
Self::Create(data) => data.doc_name(),
Self::Delete(data) => data.doc_name(),
Self::Error(data) => data.doc_name(),
Self::OnAddition(data) => data.doc_name(),
Self::OnDelete(data) => data.doc_name(),