Skip to content

Commit 1cc7590

Browse files
committed
better logging
1 parent cfc9f6b commit 1cc7590

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

src/bin/server.rs

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -101,28 +101,45 @@ impl Engine for EngineService {
101101
&self,
102102
request: tonic::Request<proto::TaskRequest>,
103103
) -> Result<tonic::Response<proto::Task>, tonic::Status> {
104-
let mut api = self.EngineAPI.write().await;
105104
let challenge = get_auth(&request);
105+
let input = request.get_ref();
106+
let task_id = input.task_id.clone();
106107
let uid = get_uid(&request);
108+
info!(
109+
"Task acquisition request received from user: {} for task: {}",
110+
uid, task_id
111+
);
112+
113+
let mut api = self.EngineAPI.write().await;
107114
let db = api.db.clone();
115+
debug!("Validating authentication for task acquisition");
108116
if !Events::CheckAuth(&mut api, uid.clone(), challenge, db) {
109-
info!("Aquire Task denied due to Invalid Auth");
110-
return Err(Status::permission_denied("invalid auth"));
117+
info!(
118+
"Task acquisition denied - invalid authentication for user: {}",
119+
uid
120+
);
121+
return Err(Status::permission_denied("Invalid authentication"));
111122
};
112123

113124
// Todo: check for wrong input to not cause a Panic out of bounds.
114-
let input = request.get_ref();
115-
let task_id = input.task_id.clone();
116125
let alen = &task_id.split(":").collect::<Vec<&str>>().len();
117126
if *alen != 2 {
118-
return Err(Status::invalid_argument("Invalid Params"));
127+
info!("Invalid task ID format: {}", task_id);
128+
return Err(Status::invalid_argument(
129+
"Invalid task ID format, expected 'namespace:name",
130+
));
119131
}
120132
let namespace = &task_id.split(":").collect::<Vec<&str>>()[0];
121133
let task_name = &task_id.split(":").collect::<Vec<&str>>()[1];
134+
debug!("Looking up task definition for {}:{}", namespace, task_name);
122135
let tsx = api
123136
.task_registry
124137
.get(&(namespace.to_string(), task_name.to_string()));
125138
if tsx.is_none() {
139+
warn!(
140+
"Task acquisition failed - task does not exist: {}:{}",
141+
namespace, task_name
142+
);
126143
return Err(Status::invalid_argument("Task Does not Exist"));
127144
}
128145
let mut map = api
@@ -222,10 +239,11 @@ impl Engine for EngineService {
222239
// Solved tsks -> DB
223240
let e_solv = bincode::serialize(&api.solved_tasks.tasks).unwrap();
224241
api.db.insert("solved_tasks", e_solv).unwrap();
242+
info!("Task published successfully: {} by user: {}", task_id, uid);
243+
return Ok(tonic::Response::new(proto::Empty {}));
225244
} else {
226245
return Err(tonic::Status::not_found("Invalid taskid or userid"));
227246
}
228-
Err(tonic::Status::ok("message"))
229247
}
230248
async fn create_task(
231249
&self,

0 commit comments

Comments
 (0)