nil_client/client/
world.rs1use super::Client;
5use crate::error::Result;
6use crate::http;
7use nil_payload::request::world::*;
8use nil_payload::response::world::*;
9
10impl Client {
11 pub async fn create_remote_world(
13 &self,
14 req: CreateRemoteWorldRequest,
15 ) -> Result<CreateRemoteWorldResponse> {
16 http::json_post("create-remote-world")
17 .body(req)
18 .server(self.server)
19 .maybe_authorization(self.authorization.as_ref())
20 .circuit_breaker(self.circuit_breaker())
21 .user_agent(&self.user_agent)
22 .send()
23 .await
24 }
25
26 pub async fn delete_remote_world(&self, req: DeleteRemoteWorldRequest) -> Result<()> {
28 http::post("delete-remote-world")
29 .body(req)
30 .server(self.server)
31 .maybe_authorization(self.authorization.as_ref())
32 .circuit_breaker(self.circuit_breaker())
33 .user_agent(&self.user_agent)
34 .send()
35 .await
36 }
37
38 pub async fn get_remote_world(
40 &self,
41 req: GetRemoteWorldRequest,
42 ) -> Result<GetRemoteWorldResponse> {
43 http::json_put("get-remote-world")
44 .body(req)
45 .server(self.server)
46 .circuit_breaker(self.circuit_breaker())
47 .retry(&self.retry)
48 .user_agent(&self.user_agent)
49 .send()
50 .await
51 }
52
53 pub async fn get_remote_world_limit(&self) -> Result<GetRemoteWorldLimitResponse> {
55 http::json_get("get-remote-world-limit")
56 .server(self.server)
57 .circuit_breaker(self.circuit_breaker())
58 .retry(&self.retry)
59 .user_agent(&self.user_agent)
60 .send()
61 .await
62 }
63
64 pub async fn get_remote_world_limit_per_user(
66 &self,
67 ) -> Result<GetRemoteWorldLimitPerUserResponse> {
68 http::json_get("get-remote-world-limit-per-user")
69 .server(self.server)
70 .circuit_breaker(self.circuit_breaker())
71 .retry(&self.retry)
72 .user_agent(&self.user_agent)
73 .send()
74 .await
75 }
76
77 pub async fn get_remote_worlds(&self) -> Result<GetRemoteWorldsResponse> {
79 http::json_get("get-remote-worlds")
80 .server(self.server)
81 .circuit_breaker(self.circuit_breaker())
82 .retry(&self.retry)
83 .user_agent(&self.user_agent)
84 .send()
85 .await
86 }
87
88 pub async fn get_world_bots(&self, req: GetWorldBotsRequest) -> Result<GetWorldBotsResponse> {
90 http::json_put("get-world-bots")
91 .body(req)
92 .server(self.server)
93 .circuit_breaker(self.circuit_breaker())
94 .retry(&self.retry)
95 .user_agent(&self.user_agent)
96 .send()
97 .await
98 }
99
100 pub async fn get_world_config(
102 &self,
103 req: GetWorldConfigRequest,
104 ) -> Result<GetWorldConfigResponse> {
105 http::json_put("get-world-config")
106 .body(req)
107 .server(self.server)
108 .circuit_breaker(self.circuit_breaker())
109 .retry(&self.retry)
110 .user_agent(&self.user_agent)
111 .send()
112 .await
113 }
114
115 pub async fn get_world_personnel(
117 &self,
118 req: GetWorldPersonnelRequest,
119 ) -> Result<GetWorldPersonnelResponse> {
120 http::json_put("get-world-personnel")
121 .body(req)
122 .server(self.server)
123 .circuit_breaker(self.circuit_breaker())
124 .retry(&self.retry)
125 .user_agent(&self.user_agent)
126 .send()
127 .await
128 }
129
130 pub async fn get_world_players(
132 &self,
133 req: GetWorldPlayersRequest,
134 ) -> Result<GetWorldPlayersResponse> {
135 http::json_put("get-world-players")
136 .body(req)
137 .server(self.server)
138 .circuit_breaker(self.circuit_breaker())
139 .retry(&self.retry)
140 .user_agent(&self.user_agent)
141 .send()
142 .await
143 }
144
145 pub async fn get_world_precursors(
147 &self,
148 req: GetWorldPrecursorsRequest,
149 ) -> Result<GetWorldPrecursorsResponse> {
150 http::json_put("get-world-precursors")
151 .body(req)
152 .server(self.server)
153 .circuit_breaker(self.circuit_breaker())
154 .retry(&self.retry)
155 .user_agent(&self.user_agent)
156 .send()
157 .await
158 }
159
160 pub async fn get_world_rulers(
162 &self,
163 req: GetWorldRulersRequest,
164 ) -> Result<GetWorldRulersResponse> {
165 http::json_put("get-world-rulers")
166 .body(req)
167 .server(self.server)
168 .circuit_breaker(self.circuit_breaker())
169 .retry(&self.retry)
170 .user_agent(&self.user_agent)
171 .send()
172 .await
173 }
174
175 pub async fn get_world_stats(&self, req: GetWorldStatsRequest) -> Result<GetWorldStatsResponse> {
177 http::json_put("get-world-stats")
178 .body(req)
179 .server(self.server)
180 .circuit_breaker(self.circuit_breaker())
181 .retry(&self.retry)
182 .user_agent(&self.user_agent)
183 .send()
184 .await
185 }
186
187 pub(super) async fn leave(&self, req: LeaveRequest) -> Result<()> {
189 if self.server.is_local() {
190 http::post("leave")
191 .body(req)
192 .server(self.server)
193 .maybe_authorization(self.authorization.as_ref())
194 .circuit_breaker(self.circuit_breaker())
195 .user_agent(&self.user_agent)
196 .send()
197 .await
198 } else {
199 Ok(())
200 }
201 }
202
203 pub async fn save_local_world(&self, req: SaveLocalWorldRequest) -> Result<()> {
205 if self.server.is_local() {
206 http::post("save-local-world")
207 .body(req)
208 .server(self.server)
209 .maybe_authorization(self.authorization.as_ref())
210 .circuit_breaker(self.circuit_breaker())
211 .user_agent(&self.user_agent)
212 .send()
213 .await
214 } else {
215 Ok(())
216 }
217 }
218}