@@ -44,18 +44,19 @@ pub async fn close(instance: &str, context: &State<Arc<Context>>) -> Result<(),
44
44
}
45
45
46
46
#[ rocket:: post( "/in_game/<instance>" ) ]
47
- pub async fn in_game ( instance : & str , context : & State < Arc < Context > > ) {
47
+ pub async fn in_game ( instance : & str , context : & State < Arc < Context > > ) -> Result < ( ) , EpsilonError > {
48
48
let instance_provider = context. get_instance_provider ( ) ;
49
49
50
50
instance_provider
51
51
. enable_in_game_instance ( instance)
52
52
. await
53
53
. map_err ( |_| {
54
54
EpsilonError :: ApiServerError ( format ! ( "Failed to set in game instance ({})" , instance) )
55
- } )
56
- . unwrap ( ) ;
55
+ } ) ?;
57
56
58
57
info ! ( "An instance is now in game (name={})" , instance) ;
58
+
59
+ Ok ( ( ) )
59
60
}
60
61
61
62
#[ rocket:: get( "/get/<template>" ) ]
@@ -90,8 +91,7 @@ pub async fn get_all(context: &State<Arc<Context>>) -> Result<String, EpsilonErr
90
91
let instances = instance_provider
91
92
. get_instances ( & InstanceType :: Server , None , None )
92
93
. await
93
- . map_err ( |_| EpsilonError :: ApiServerError ( "Failed to get every instance" . to_string ( ) ) )
94
- . unwrap ( )
94
+ . map_err ( |_| EpsilonError :: ApiServerError ( "Failed to get every instance" . to_string ( ) ) ) ?
95
95
. into_iter ( ) ;
96
96
97
97
let mut json_array: Vec < InstanceJson > = Vec :: new ( ) ;
@@ -112,5 +112,6 @@ pub async fn get_from_name(
112
112
let instance_provider = context. get_instance_provider ( ) ;
113
113
let instance = instance_provider. get_instance ( instance_name) . await ?;
114
114
115
- Ok ( serde_json:: to_string ( & instance. to_json ( ) . await ?) . unwrap ( ) )
115
+ Ok ( serde_json:: to_string ( & instance. to_json ( ) . await ?)
116
+ . map_err ( |_| EpsilonError :: ParseJsonError ) ?)
116
117
}
0 commit comments