Added session id to message.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled

This commit is contained in:
2026-03-26 12:18:38 -04:00
parent 678e433632
commit 837cea4ce0
7 changed files with 137 additions and 70 deletions

View File

@@ -403,15 +403,14 @@ impl DocumentFile {
let names = docdef.get_document_names();
let id = queue.add_sender(tx);
let reg_msg = Register::new(id.clone(), RegMsg::AddDocName(names.clone()));
let rmsg = msg.response(reg_msg.clone());
queue.send(rmsg.clone());
queue.send(msg.set_action(reg_msg));
let name_result = rx.recv().unwrap();
let name_id = match name_result.get_action() {
MsgAction::Register(data) => match data.get_msg() {
RegMsg::DocumentNameID(data) => data,
RegMsg::Error(err) => {
queue.remove_sender(&id);
queue.send(msg.response(err.clone()));
queue.send(msg.set_action(err.clone()));
return;
}
_ => unreachable!("should only return a name id or an error"),
@@ -420,16 +419,15 @@ impl DocumentFile {
};
let mut route_action: HashMap<RouteID, DocFuncType> = HashMap::new();
for path_action in docdef.iter_routes() {
let request = reg_msg.response(RegMsg::AddRoute(path_action.path()));
let add_route = rmsg.response(request);
queue.send(add_route);
let reg_req = Register::new(id.clone(), RegMsg::AddRoute(path_action.path()));
queue.send(msg.set_action(reg_req));
let result = rx.recv().unwrap();
let route_id = match result.get_action() {
MsgAction::Register(data) => match data.get_msg() {
RegMsg::RouteID(data) => data,
RegMsg::Error(err) => {
queue.remove_sender(&id);
queue.send(msg.response(err.clone()));
queue.send(msg.set_action(err.clone()));
return;
}
_ => unreachable!("should only return a route id or an error"),
@@ -448,7 +446,7 @@ impl DocumentFile {
spawn(move || {
doc.listen();
});
let reply = msg.response(MsgAction::DocumentCreated);
let reply = msg.set_action(MsgAction::DocumentCreated);
queue.send(reply.clone());
}
@@ -467,7 +465,7 @@ impl DocumentFile {
DocFuncType::Delete => self.delete(&msg),
DocFuncType::Query => self.query(&msg),
DocFuncType::Show => self.queue.send(
msg.response(Reply::new(self.docdef.get_document_names()[0].clone())),
msg.set_action(Reply::new(self.docdef.get_document_names()[0].clone())),
),
DocFuncType::Update => self.update(&msg),
DocFuncType::ExistingQuery(action) => self.existing_query(&msg, action),
@@ -512,7 +510,7 @@ impl DocumentFile {
Err(mut err) => {
err.add_parent(ErrorID::Field(name.clone()));
err.add_parent(ErrorID::Document(msg.doc_name().clone()));
let reply = msg.response(err);
let reply = msg.set_action(err);
self.queue.send(reply);
return;
}
@@ -522,7 +520,7 @@ impl DocumentFile {
Err(mut err) => {
err.add_parent(ErrorID::Field(name.clone().into()));
err.add_parent(ErrorID::Document(msg.doc_name().clone()));
let reply = msg.response(err);
let reply = msg.set_action(err);
self.queue.send(reply);
return;
}
@@ -536,7 +534,7 @@ impl DocumentFile {
Err(mut err) => {
err.add_parent(ErrorID::Field(field_id.clone().into()));
err.add_parent(ErrorID::Document(msg.doc_name().clone()));
let reply = msg.response(err);
let reply = msg.set_action(err);
self.queue.send(reply);
return;
}
@@ -559,9 +557,9 @@ impl DocumentFile {
self.docs.insert(oid.clone(), holder.clone());
records.insert(oid, holder);
}
self.queue.send(msg.response(records.clone()));
self.queue.send(msg.set_action(records.clone()));
self.queue
.send(msg.response(MsgAction::OnAddition(records)));
.send(msg.set_action(MsgAction::OnAddition(records)));
}
fn delete(&mut self, msg: &Message) {
@@ -573,7 +571,7 @@ impl DocumentFile {
Ok(data) => data,
Err(mut err) => {
err.add_parent(ErrorID::Document(msg.doc_name().into()));
let reply = msg.response(err);
let reply = msg.set_action(err);
self.queue.send(reply);
return;
}
@@ -589,8 +587,8 @@ impl DocumentFile {
self.docdef.get_field_names().clone(),
records,
);
self.queue.send(msg.response(rec.clone()));
self.queue.send(msg.response(MsgAction::OnDelete(rec)));
self.queue.send(msg.set_action(rec.clone()));
self.queue.send(msg.set_action(MsgAction::OnDelete(rec)));
}
fn run_query(&self, query: &Query) -> Result<InternalRecords, MTTError> {
@@ -665,7 +663,7 @@ impl DocumentFile {
Ok(data) => data,
Err(mut err) => {
err.add_parent(ErrorID::Document(msg.doc_name().into()));
let reply = msg.response(err);
let reply = msg.set_action(err);
self.queue.send(reply);
return;
}
@@ -675,8 +673,8 @@ impl DocumentFile {
self.docdef.get_field_names().clone(),
records,
);
self.queue.send(msg.response(recs.clone()));
self.queue.send(msg.response(MsgAction::OnQuery(recs)));
self.queue.send(msg.set_action(recs.clone()));
self.queue.send(msg.set_action(MsgAction::OnQuery(recs)));
}
fn run_update(
@@ -739,7 +737,7 @@ impl DocumentFile {
updates,
);
self.queue
.send(msg.response(MsgAction::OnUpdate(recs.clone())));
.send(msg.set_action(MsgAction::OnUpdate(recs.clone())));
Ok(recs)
}
@@ -752,7 +750,7 @@ impl DocumentFile {
Ok(result) => result,
Err(mut err) => {
err.add_parent(ErrorID::Document(msg.doc_name().into()));
let reply = msg.response(err);
let reply = msg.set_action(err);
self.queue.send(reply);
return;
}
@@ -761,12 +759,12 @@ impl DocumentFile {
Ok(output) => output,
Err(mut err) => {
err.add_parent(ErrorID::Document(msg.doc_name().into()));
let reply = msg.response(err);
let reply = msg.set_action(err);
self.queue.send(reply);
return;
}
};
self.queue.send(msg.response(data));
self.queue.send(msg.set_action(data));
}
fn existing_query(&mut self, msg: &Message, action: &MsgAction) {
@@ -783,8 +781,7 @@ impl DocumentFile {
}
fn trigger(&self, msg: &Message, action: &MsgAction) {
self.queue
.send(msg.forward(self.name_id.clone(), action.clone()));
self.queue.send(msg.set_action(action.clone()));
}
}