Started MessageAction trait.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s
This commit is contained in:
parent
ed2a303d1c
commit
564602b766
@ -1,5 +1,5 @@
|
|||||||
use super::{CalcValue, Field, RequestData};
|
use super::{CalcValue, Field, RequestData};
|
||||||
use crate::name::NameType;
|
use crate::{message::MessageAction, name::NameType};
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[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)
|
pub fn add_field<NT, CV>(&mut self, name: NT, field: CV)
|
||||||
where
|
where
|
||||||
CV: Into<CalcValue>,
|
CV: Into<CalcValue>,
|
||||||
@ -36,6 +32,12 @@ impl Addition {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl MessageAction for Addition {
|
||||||
|
fn doc_name(&self) -> NameType {
|
||||||
|
self.doc_name.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod additions {
|
mod additions {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
use super::{Addition, DocDef, Query, UserAction};
|
use super::{Addition, DocDef, Query, UserAction};
|
||||||
use crate::{
|
use crate::{
|
||||||
message::wrapper::{Delete, Records, Reply, Update},
|
message::{
|
||||||
|
wrapper::{Delete, Records, Reply, Update},
|
||||||
|
MessageAction,
|
||||||
|
},
|
||||||
mtterror::MTTError,
|
mtterror::MTTError,
|
||||||
name::NameType,
|
name::NameType,
|
||||||
queue::data_director::Register,
|
queue::data_director::Register,
|
||||||
@ -24,11 +27,12 @@ pub enum MsgAction {
|
|||||||
Update(Update),
|
Update(Update),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MsgAction {
|
impl MessageAction for MsgAction {
|
||||||
fn doc_name(&self) -> NameType {
|
fn doc_name(&self) -> NameType {
|
||||||
match self {
|
match self {
|
||||||
Self::Addition(data) => NameType::None,
|
Self::Addition(data) => data.doc_name(),
|
||||||
Self::Query(data) => data.doc_name(),
|
Self::Query(data) => data.doc_name(),
|
||||||
|
Self::Create(data) => data.doc_name(),
|
||||||
_ => NameType::None,
|
_ => NameType::None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
use super::Calculation;
|
use super::Calculation;
|
||||||
use crate::name::NameType;
|
use crate::{message::MessageAction, name::NameType};
|
||||||
use std::collections::{HashMap, HashSet};
|
use std::collections::{HashMap, HashSet};
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
@ -23,10 +23,6 @@ impl Query {
|
|||||||
Self::new(NameType::None)
|
Self::new(NameType::None)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn doc_name(&self) -> NameType {
|
|
||||||
self.doc_name.clone()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn add<NT>(&mut self, name: NT, operation: Calculation)
|
pub fn add<NT>(&mut self, name: NT, operation: Calculation)
|
||||||
where
|
where
|
||||||
NT: Into<NameType>,
|
NT: Into<NameType>,
|
||||||
@ -55,6 +51,12 @@ impl Query {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl MessageAction for Query {
|
||||||
|
fn doc_name(&self) -> NameType {
|
||||||
|
self.doc_name.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod queries {
|
mod queries {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
action::{Action, CalcValue, Field, FieldType, MsgAction},
|
action::{Action, CalcValue, Field, FieldType, MsgAction},
|
||||||
document::create::IndexType,
|
document::create::IndexType,
|
||||||
|
message::MessageAction,
|
||||||
mtterror::MTTError,
|
mtterror::MTTError,
|
||||||
name::{Name, NameType, Names},
|
name::{Name, NameType, Names},
|
||||||
queue::data_director::{Include, Path},
|
queue::data_director::{Include, Path},
|
||||||
@ -373,11 +374,24 @@ impl DocDef {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl MessageAction for DocDef {
|
||||||
|
fn doc_name(&self) -> NameType {
|
||||||
|
NameType::None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod docdefs {
|
mod docdefs {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::{action::Query, message::wrapper::Update};
|
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]
|
#[test]
|
||||||
fn can_field_be_added() {
|
fn can_field_be_added() {
|
||||||
let docname = Name::english("tester");
|
let docname = Name::english("tester");
|
||||||
|
|||||||
@ -10,7 +10,7 @@ use action::{
|
|||||||
UserAction,
|
UserAction,
|
||||||
};
|
};
|
||||||
use document::{clock::Clock, create::CreateDoc, session::Session};
|
use document::{clock::Clock, create::CreateDoc, session::Session};
|
||||||
use message::wrapper::Message;
|
use message::{wrapper::Message, MessageAction};
|
||||||
use queue::{
|
use queue::{
|
||||||
data_director::{Include, Path, RegMsg, Register},
|
data_director::{Include, Path, RegMsg, Register},
|
||||||
router::Queue,
|
router::Queue,
|
||||||
|
|||||||
@ -1 +1,7 @@
|
|||||||
pub mod wrapper;
|
pub mod wrapper;
|
||||||
|
|
||||||
|
use crate::name::NameType;
|
||||||
|
|
||||||
|
pub trait MessageAction {
|
||||||
|
fn doc_name(&self) -> NameType;
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user