@@ -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