Started MessageAction trait.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s

This commit is contained in:
Jeff Baskin 2026-02-12 10:18:53 -05:00
parent ed2a303d1c
commit 564602b766
6 changed files with 42 additions and 14 deletions

View File

@ -1,5 +1,5 @@
use super::{CalcValue, Field, RequestData};
use crate::name::NameType;
use crate::{message::MessageAction, name::NameType};
use uuid::Uuid;
#[derive(Clone, Debug)]
@ -19,10 +19,6 @@ impl Addition {
}
}
pub fn doc_name(&self) -> NameType {
self.doc_name.clone()
}
pub fn add_field<NT, CV>(&mut self, name: NT, field: CV)
where
CV: Into<CalcValue>,
@ -36,6 +32,12 @@ impl Addition {
}
}
impl MessageAction for Addition {
fn doc_name(&self) -> NameType {
self.doc_name.clone()
}
}
#[cfg(test)]
mod additions {
use super::*;

View File

@ -1,6 +1,9 @@
use super::{Addition, DocDef, Query, UserAction};
use crate::{
message::wrapper::{Delete, Records, Reply, Update},
message::{
wrapper::{Delete, Records, Reply, Update},
MessageAction,
},
mtterror::MTTError,
name::NameType,
queue::data_director::Register,
@ -24,11 +27,12 @@ pub enum MsgAction {
Update(Update),
}
impl MsgAction {
impl MessageAction for MsgAction {
fn doc_name(&self) -> NameType {
match self {
Self::Addition(data) => NameType::None,
Self::Addition(data) => data.doc_name(),
Self::Query(data) => data.doc_name(),
Self::Create(data) => data.doc_name(),
_ => NameType::None,
}
}

View File

@ -1,5 +1,5 @@
use super::Calculation;
use crate::name::NameType;
use crate::{message::MessageAction, name::NameType};
use std::collections::{HashMap, HashSet};
#[derive(Clone, Debug)]
@ -23,10 +23,6 @@ impl Query {
Self::new(NameType::None)
}
pub fn doc_name(&self) -> NameType {
self.doc_name.clone()
}
pub fn add<NT>(&mut self, name: NT, operation: Calculation)
where
NT: Into<NameType>,
@ -55,6 +51,12 @@ impl Query {
}
}
impl MessageAction for Query {
fn doc_name(&self) -> NameType {
self.doc_name.clone()
}
}
#[cfg(test)]
mod queries {
use super::*;

View File

@ -1,6 +1,7 @@
use crate::{
action::{Action, CalcValue, Field, FieldType, MsgAction},
document::create::IndexType,
message::MessageAction,
mtterror::MTTError,
name::{Name, NameType, Names},
queue::data_director::{Include, Path},
@ -373,11 +374,24 @@ impl DocDef {
}
}
impl MessageAction for DocDef {
fn doc_name(&self) -> NameType {
NameType::None
}
}
#[cfg(test)]
mod docdefs {
use super::*;
use crate::{action::Query, message::wrapper::Update};
#[test]
fn message_doc_name_returns_none() {
let docname = Name::english("tester");
let mut docdef = DocDef::new(docname);
assert_eq!(docdef.doc_name(), NameType::None);
}
#[test]
fn can_field_be_added() {
let docname = Name::english("tester");

View File

@ -10,7 +10,7 @@ use action::{
UserAction,
};
use document::{clock::Clock, create::CreateDoc, session::Session};
use message::wrapper::Message;
use message::{wrapper::Message, MessageAction};
use queue::{
data_director::{Include, Path, RegMsg, Register},
router::Queue,

View File

@ -1 +1,7 @@
pub mod wrapper;
use crate::name::NameType;
pub trait MessageAction {
fn doc_name(&self) -> NameType;
}