|
5 | 5 | import org.anthillplatform.runtime.requests.JsonRequest; |
6 | 6 | import org.anthillplatform.runtime.requests.Request; |
7 | 7 | import org.anthillplatform.runtime.util.JsonRPC; |
| 8 | +import org.anthillplatform.runtime.util.Utils; |
8 | 9 | import org.anthillplatform.runtime.util.WebSocketJsonRPC; |
9 | 10 | import org.java_websocket.handshake.ServerHandshake; |
10 | 11 | import org.json.JSONArray; |
@@ -85,6 +86,12 @@ public JoinMultiWrapper(LoginService.AccessToken accessToken, String ip) |
85 | 86 | } |
86 | 87 | } |
87 | 88 |
|
| 89 | + public interface IssueBanCallback |
| 90 | + { |
| 91 | + void result(GameService service, Request request, Request.Result result); |
| 92 | + } |
| 93 | + |
| 94 | + |
88 | 95 | public static class PartyMember |
89 | 96 | { |
90 | 97 | private String account; |
@@ -1568,4 +1575,33 @@ public PartySession openExistingPartySession( |
1568 | 1575 |
|
1569 | 1576 | return partySession; |
1570 | 1577 | } |
| 1578 | + |
| 1579 | + public void issueABan( |
| 1580 | + LoginService.AccessToken accessToken, |
| 1581 | + String account, |
| 1582 | + Date expires, |
| 1583 | + String reason, |
| 1584 | + IssueBanCallback callback) |
| 1585 | + { |
| 1586 | + JsonRequest jsonRequest = new JsonRequest(getLocation() + "/ban/issue", |
| 1587 | + new Request.RequestCallback() |
| 1588 | + { |
| 1589 | + @Override |
| 1590 | + public void complete(Request request, Request.Result result) |
| 1591 | + { |
| 1592 | + callback.result(GameService.this, request, result); |
| 1593 | + } |
| 1594 | + }); |
| 1595 | + |
| 1596 | + Request.Fields fields = new Request.Fields(); |
| 1597 | + |
| 1598 | + fields.put("account", account); |
| 1599 | + fields.put("reason", reason); |
| 1600 | + fields.put("expires", Utils.DATE_FORMAT.format(expires)); |
| 1601 | + |
| 1602 | + jsonRequest.setAPIVersion(getAPIVersion()); |
| 1603 | + jsonRequest.setToken(accessToken); |
| 1604 | + jsonRequest.post(fields); |
| 1605 | + |
| 1606 | + } |
1571 | 1607 | } |
0 commit comments