ecapi-sdk 3.4.6__tar.gz → 3.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ecapi-sdk
3
- Version: 3.4.6
3
+ Version: 3.5.0
4
4
  Summary: ECAPI SDK for Python
5
5
  Author: EaseCation
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ecapi-sdk"
7
- version = "3.4.6"
7
+ version = "3.5.0"
8
8
  description = "ECAPI SDK for Python"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -486,6 +486,7 @@ class AdminAPI(_BaseApi):
486
486
  self.mail = AdminMailAPI(http)
487
487
  self.operation_log = AdminOperationLogAPI(http)
488
488
  self.overwatch_case = AdminOverwatchCaseAPI(http)
489
+ self.overwatch_supervisor = AdminOverwatchSupervisorAPI(http)
489
490
  self.permission = AdminPermissionAPI(http)
490
491
  self.player_data = AdminPlayerDataAPI(http)
491
492
  self.player_merchandise = AdminPlayerMerchandiseAPI(http)
@@ -528,6 +529,10 @@ class AdminOperationLogAPI(_BaseApi):
528
529
  return self._get(f"/admin/operation-logs", query, **kwargs)
529
530
 
530
531
  class AdminOverwatchCaseAPI(_BaseApi):
532
+ def get_case(self, caseId: Union[int, float], **kwargs: Any) -> Any:
533
+ """查询监管案件详情"""
534
+ return self._get(f"/admin/overwatch-cases/{quote(str(caseId), safe='')}/detail", None, **kwargs)
535
+
531
536
  def list(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
532
537
  """分页查询 Overwatch 案件"""
533
538
  return self._get(f"/admin/overwatch-cases", query, **kwargs)
@@ -536,6 +541,27 @@ class AdminOverwatchCaseAPI(_BaseApi):
536
541
  """创建或更新 Overwatch 监督案件"""
537
542
  return self._put(f"/admin/overwatch-cases/{quote(str(recordId), safe='')}", payload, **kwargs)
538
543
 
544
+ class AdminOverwatchSupervisorAPI(_BaseApi):
545
+ def get_candidates(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
546
+ """筛选监管者候选玩家"""
547
+ return self._get(f"/admin/overwatch-supervisors/candidates", query, **kwargs)
548
+
549
+ def list(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
550
+ """分页查询全部监管者"""
551
+ return self._get(f"/admin/overwatch-supervisors", query, **kwargs)
552
+
553
+ def remove(self, ecid: str, **kwargs: Any) -> Any:
554
+ """撤销监管者资格"""
555
+ return self._delete(f"/admin/overwatch-supervisors/{quote(str(ecid), safe='')}", None, **kwargs)
556
+
557
+ def select(self, payload: Mapping[str, Any], **kwargs: Any) -> Any:
558
+ """批量选拔监管者"""
559
+ return self._post(f"/admin/overwatch-supervisors/select", payload, **kwargs)
560
+
561
+ def update(self, ecid: str, payload: Mapping[str, Any], **kwargs: Any) -> Any:
562
+ """修改监管者资格"""
563
+ return self._patch(f"/admin/overwatch-supervisors/{quote(str(ecid), safe='')}", payload, **kwargs)
564
+
539
565
  class AdminPermissionAPI(_BaseApi):
540
566
  def delete_entitlement(self, ecid: str, entitlementKey: str, **kwargs: Any) -> Any:
541
567
  """删除玩家权益"""
@@ -747,6 +773,59 @@ class GameLogAPI(_BaseApi):
747
773
  """分页查询游戏玩家记录"""
748
774
  return self._get(f"/game-logs/players", query, **kwargs)
749
775
 
776
+ class EchoMelandAPI(_BaseApi):
777
+ def add_favorite(self, worldId: Union[int, float], ecid: str, **kwargs: Any) -> Any:
778
+ """添加玩家家园收藏"""
779
+ return self._put(f"/homeland/players/{quote(str(ecid), safe='')}/favorites/{quote(str(worldId), safe='')}", None, **kwargs)
780
+
781
+ def delete_member(self, worldId: Union[int, float], ecid: str, **kwargs: Any) -> Any:
782
+ """移除家园成员"""
783
+ return self._delete(f"/homeland/worlds/{quote(str(worldId), safe='')}/members/{quote(str(ecid), safe='')}", None, **kwargs)
784
+
785
+ def get_overview(self, **kwargs: Any) -> Any:
786
+ """查询家园全服概览"""
787
+ return self._get(f"/homeland/overview", None, **kwargs)
788
+
789
+ def get_player(self, ecid: str, **kwargs: Any) -> Any:
790
+ """查询玩家家园数据"""
791
+ return self._get(f"/homeland/players/{quote(str(ecid), safe='')}", None, **kwargs)
792
+
793
+ def get_servers(self, **kwargs: Any) -> Any:
794
+ """查询家园服务器运行数据"""
795
+ return self._get(f"/homeland/servers", None, **kwargs)
796
+
797
+ def get_snapshots(self, worldId: Union[int, float], query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
798
+ """查询家园最近存档"""
799
+ return self._get(f"/homeland/worlds/{quote(str(worldId), safe='')}/snapshots", query, **kwargs)
800
+
801
+ def get_world(self, worldId: Union[int, float], **kwargs: Any) -> Any:
802
+ """查询家园详情"""
803
+ return self._get(f"/homeland/worlds/{quote(str(worldId), safe='')}", None, **kwargs)
804
+
805
+ def get_worlds(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
806
+ """分页查询全服家园"""
807
+ return self._get(f"/homeland/worlds", query, **kwargs)
808
+
809
+ def remove_favorite(self, worldId: Union[int, float], ecid: str, **kwargs: Any) -> Any:
810
+ """移除玩家家园收藏"""
811
+ return self._delete(f"/homeland/players/{quote(str(ecid), safe='')}/favorites/{quote(str(worldId), safe='')}", None, **kwargs)
812
+
813
+ def rollback_world(self, worldId: Union[int, float], payload: Mapping[str, Any], **kwargs: Any) -> Any:
814
+ """回档家园"""
815
+ return self._post(f"/homeland/worlds/{quote(str(worldId), safe='')}/rollback", payload, **kwargs)
816
+
817
+ def update_ender_chest(self, ecid: str, payload: Mapping[str, Any], **kwargs: Any) -> Any:
818
+ """修改玩家家园末影箱"""
819
+ return self._patch(f"/homeland/players/{quote(str(ecid), safe='')}/ender-chest", payload, **kwargs)
820
+
821
+ def update_world(self, worldId: Union[int, float], payload: Mapping[str, Any], **kwargs: Any) -> Any:
822
+ """修改家园资料和配置"""
823
+ return self._patch(f"/homeland/worlds/{quote(str(worldId), safe='')}", payload, **kwargs)
824
+
825
+ def upsert_member(self, worldId: Union[int, float], ecid: str, payload: Mapping[str, Any], **kwargs: Any) -> Any:
826
+ """新增或修改家园成员"""
827
+ return self._put(f"/homeland/worlds/{quote(str(worldId), safe='')}/members/{quote(str(ecid), safe='')}", payload, **kwargs)
828
+
750
829
  class LogAPI(_BaseApi):
751
830
  def __init__(self, http: _HttpClient) -> None:
752
831
  super().__init__(http)
@@ -956,7 +1035,6 @@ class PlayerStatusAPI(_BaseApi):
956
1035
  class ServerAPI(_BaseApi):
957
1036
  def __init__(self, http: _HttpClient) -> None:
958
1037
  super().__init__(http)
959
- self.attendance = ServerAttendanceAPI(http)
960
1038
  self.broadcast = ServerBroadcastAPI(http)
961
1039
  self.config_sync = ServerConfigSyncAPI(http)
962
1040
  self.easechat = ServerEaseChatAPI(http)
@@ -983,11 +1061,6 @@ class ServerAPI(_BaseApi):
983
1061
  """查询服务器运行列表"""
984
1062
  return self._get(f"/servers", query, **kwargs)
985
1063
 
986
- class ServerAttendanceAPI(_BaseApi):
987
- def set_projection(self, ecid: str, payload: Mapping[str, Any], **kwargs: Any) -> Any:
988
- """设置管理员出勤投影"""
989
- return self._put(f"/admin/players/{quote(str(ecid), safe='')}/attendance-projection", payload, **kwargs)
990
-
991
1064
  class ServerBroadcastAPI(_BaseApi):
992
1065
  def compare(self, **kwargs: Any) -> Any:
993
1066
  """查询 Broadcast 差异"""
@@ -1283,6 +1356,7 @@ class ECAPIClient:
1283
1356
  self.audit = AuditAPI(self._http)
1284
1357
  self.auth = AuthAPI(self._http)
1285
1358
  self.game_log = GameLogAPI(self._http)
1359
+ self.homeland = EchoMelandAPI(self._http)
1286
1360
  self.log = LogAPI(self._http)
1287
1361
  self.pit2 = PIT2API(self._http)
1288
1362
  self.player = PlayerAPI(self._http)
@@ -291,6 +291,13 @@ class AdminOverwatchCaseAPIListQuery(TypedDict, total=False):
291
291
  recordId: QueryValue
292
292
  current: QueryValue
293
293
  pageSize: QueryValue
294
+ status: QueryValue
295
+ source: QueryValue
296
+ targetEcid: QueryValue
297
+ reviewType: QueryValue
298
+ reviewStatus: QueryValue
299
+ startTime: QueryValue
300
+ endTime: QueryValue
294
301
 
295
302
  class AdminOverwatchCaseAPIUpsertByRecordBody(TypedDict, total=False):
296
303
  status: str
@@ -302,6 +309,31 @@ class AdminOverwatchCaseAPIUpsertByRecordBody(TypedDict, total=False):
302
309
  reviewType: str
303
310
  reviewStatus: str
304
311
 
312
+ class AdminOverwatchSupervisorAPIListQuery(TypedDict, total=False):
313
+ current: QueryValue
314
+ pageSize: QueryValue
315
+ status: QueryValue
316
+ keyword: QueryValue
317
+
318
+ class AdminOverwatchSupervisorAPIGetCandidatesQuery(TypedDict, total=False):
319
+ minExp: QueryValue
320
+ activeWithinDays: QueryValue
321
+ maxBanDegree: QueryValue
322
+ limit: QueryValue
323
+
324
+ class AdminOverwatchSupervisorAPISelectBodyRequired(TypedDict):
325
+ ecids: Sequence[Any]
326
+
327
+ class AdminOverwatchSupervisorAPISelectBody(AdminOverwatchSupervisorAPISelectBodyRequired, total=False):
328
+ minExp: int
329
+ activeWithinDays: int
330
+ maxBanDegree: int
331
+ months: int
332
+
333
+ class AdminOverwatchSupervisorAPIUpdateBody(TypedDict, total=False):
334
+ level: int
335
+ expiry: Optional[str]
336
+
305
337
  class AdminPermissionAPISetAnticheatPermissionBodyRequired(TypedDict):
306
338
  enabled: bool
307
339
 
@@ -596,6 +628,46 @@ class GameLogAPIGetPlayersQuery(GameLogAPIGetPlayersQueryRequired, total=False):
596
628
  current: QueryValue
597
629
  pageSize: QueryValue
598
630
 
631
+ class EchoMelandAPIUpdateEnderChestBodyRequired(TypedDict):
632
+ nbtBase64: Optional[str]
633
+
634
+ class EchoMelandAPIUpdateEnderChestBody(EchoMelandAPIUpdateEnderChestBodyRequired, total=False):
635
+ pass
636
+
637
+ class EchoMelandAPIGetWorldsQuery(TypedDict, total=False):
638
+ current: QueryValue
639
+ pageSize: QueryValue
640
+ worldId: QueryValue
641
+ ecid: QueryValue
642
+ keyword: QueryValue
643
+ worldType: QueryValue
644
+ isPublic: QueryValue
645
+ loaded: QueryValue
646
+
647
+ class EchoMelandAPIUpdateWorldBody(TypedDict, total=False):
648
+ worldType: int
649
+ isPublic: bool
650
+ name: str
651
+ description: Optional[str]
652
+ minPlayerLevel: int
653
+ metaJson: str
654
+
655
+ class EchoMelandAPIUpsertMemberBodyRequired(TypedDict):
656
+ userType: str
657
+
658
+ class EchoMelandAPIUpsertMemberBody(EchoMelandAPIUpsertMemberBodyRequired, total=False):
659
+ userNbtBase64: Optional[str]
660
+
661
+ class EchoMelandAPIRollbackWorldBodyRequired(TypedDict):
662
+ mapVersionId: str
663
+ metaVersionId: str
664
+
665
+ class EchoMelandAPIRollbackWorldBody(EchoMelandAPIRollbackWorldBodyRequired, total=False):
666
+ pass
667
+
668
+ class EchoMelandAPIGetSnapshotsQuery(TypedDict, total=False):
669
+ limit: QueryValue
670
+
599
671
  class LogAPIGetAuthQuery(TypedDict, total=False):
600
672
  ecid: QueryValue
601
673
  action: QueryValue
@@ -839,18 +911,6 @@ class ServerAPIGetMainstackEventsQueryRequired(TypedDict):
839
911
  class ServerAPIGetMainstackEventsQuery(ServerAPIGetMainstackEventsQueryRequired, total=False):
840
912
  pass
841
913
 
842
- class ServerAttendanceAPISetProjectionBodyRequired(TypedDict):
843
- eventId: str
844
- revision: int
845
- state: str
846
- sessionId: Optional[str]
847
- startedAt: Optional[str]
848
- elapsedMinutes: int
849
- occurredAt: str
850
-
851
- class ServerAttendanceAPISetProjectionBody(ServerAttendanceAPISetProjectionBodyRequired, total=False):
852
- reason: str
853
-
854
914
  class ServerBroadcastAPIDeployBodyRequired(TypedDict):
855
915
  items: Sequence[Any]
856
916
 
@@ -1201,6 +1261,7 @@ class AdminAPI:
1201
1261
  mail: AdminMailAPI
1202
1262
  operation_log: AdminOperationLogAPI
1203
1263
  overwatch_case: AdminOverwatchCaseAPI
1264
+ overwatch_supervisor: AdminOverwatchSupervisorAPI
1204
1265
  permission: AdminPermissionAPI
1205
1266
  player_data: AdminPlayerDataAPI
1206
1267
  player_merchandise: AdminPlayerMerchandiseAPI
@@ -1226,9 +1287,17 @@ class AdminOperationLogAPI:
1226
1287
  def list(self, query: Optional[AdminOperationLogAPIListQuery] = ..., **kwargs: Any) -> Any: ...
1227
1288
 
1228
1289
  class AdminOverwatchCaseAPI:
1290
+ def get_case(self, caseId: Union[int, float], **kwargs: Any) -> Any: ...
1229
1291
  def list(self, query: Optional[AdminOverwatchCaseAPIListQuery] = ..., **kwargs: Any) -> Any: ...
1230
1292
  def upsert_by_record(self, recordId: Union[int, float], payload: AdminOverwatchCaseAPIUpsertByRecordBody, **kwargs: Any) -> Any: ...
1231
1293
 
1294
+ class AdminOverwatchSupervisorAPI:
1295
+ def get_candidates(self, query: Optional[AdminOverwatchSupervisorAPIGetCandidatesQuery] = ..., **kwargs: Any) -> Any: ...
1296
+ def list(self, query: Optional[AdminOverwatchSupervisorAPIListQuery] = ..., **kwargs: Any) -> Any: ...
1297
+ def remove(self, ecid: str, **kwargs: Any) -> Any: ...
1298
+ def select(self, payload: AdminOverwatchSupervisorAPISelectBody, **kwargs: Any) -> Any: ...
1299
+ def update(self, ecid: str, payload: AdminOverwatchSupervisorAPIUpdateBody, **kwargs: Any) -> Any: ...
1300
+
1232
1301
  class AdminPermissionAPI:
1233
1302
  def delete_entitlement(self, ecid: str, entitlementKey: str, **kwargs: Any) -> Any: ...
1234
1303
  def set_anticheat_permission(self, ecid: str, payload: AdminPermissionAPISetAnticheatPermissionBody, **kwargs: Any) -> Any: ...
@@ -1301,6 +1370,21 @@ class GameLogAPI:
1301
1370
  def get_pit_sessions(self, query: Optional[GameLogAPIGetPitSessionsQuery] = ..., **kwargs: Any) -> Any: ...
1302
1371
  def get_players(self, query: GameLogAPIGetPlayersQuery, **kwargs: Any) -> Any: ...
1303
1372
 
1373
+ class EchoMelandAPI:
1374
+ def add_favorite(self, worldId: Union[int, float], ecid: str, **kwargs: Any) -> Any: ...
1375
+ def delete_member(self, worldId: Union[int, float], ecid: str, **kwargs: Any) -> Any: ...
1376
+ def get_overview(self, **kwargs: Any) -> Any: ...
1377
+ def get_player(self, ecid: str, **kwargs: Any) -> Any: ...
1378
+ def get_servers(self, **kwargs: Any) -> Any: ...
1379
+ def get_snapshots(self, worldId: Union[int, float], query: Optional[EchoMelandAPIGetSnapshotsQuery] = ..., **kwargs: Any) -> Any: ...
1380
+ def get_world(self, worldId: Union[int, float], **kwargs: Any) -> Any: ...
1381
+ def get_worlds(self, query: Optional[EchoMelandAPIGetWorldsQuery] = ..., **kwargs: Any) -> Any: ...
1382
+ def remove_favorite(self, worldId: Union[int, float], ecid: str, **kwargs: Any) -> Any: ...
1383
+ def rollback_world(self, worldId: Union[int, float], payload: EchoMelandAPIRollbackWorldBody, **kwargs: Any) -> Any: ...
1384
+ def update_ender_chest(self, ecid: str, payload: EchoMelandAPIUpdateEnderChestBody, **kwargs: Any) -> Any: ...
1385
+ def update_world(self, worldId: Union[int, float], payload: EchoMelandAPIUpdateWorldBody, **kwargs: Any) -> Any: ...
1386
+ def upsert_member(self, worldId: Union[int, float], ecid: str, payload: EchoMelandAPIUpsertMemberBody, **kwargs: Any) -> Any: ...
1387
+
1304
1388
  class LogAPI:
1305
1389
  order: LogOrderAPI
1306
1390
  order_download_task: LogOrderDownloadTaskAPI
@@ -1378,7 +1462,6 @@ class PlayerStatusAPI:
1378
1462
  def get(self, query: PlayerStatusAPIGetQuery, **kwargs: Any) -> Any: ...
1379
1463
 
1380
1464
  class ServerAPI:
1381
- attendance: ServerAttendanceAPI
1382
1465
  broadcast: ServerBroadcastAPI
1383
1466
  config_sync: ServerConfigSyncAPI
1384
1467
  easechat: ServerEaseChatAPI
@@ -1396,9 +1479,6 @@ class ServerAPI:
1396
1479
  def get_statistics(self, **kwargs: Any) -> Any: ...
1397
1480
  def list(self, query: Optional[ServerAPIListQuery] = ..., **kwargs: Any) -> Any: ...
1398
1481
 
1399
- class ServerAttendanceAPI:
1400
- def set_projection(self, ecid: str, payload: ServerAttendanceAPISetProjectionBody, **kwargs: Any) -> Any: ...
1401
-
1402
1482
  class ServerBroadcastAPI:
1403
1483
  def compare(self, **kwargs: Any) -> Any: ...
1404
1484
  def create(self, payload: ServerBroadcastAPICreateBody, **kwargs: Any) -> Any: ...
@@ -1506,6 +1586,7 @@ class ECAPIClient:
1506
1586
  audit: AuditAPI
1507
1587
  auth: AuthAPI
1508
1588
  game_log: GameLogAPI
1589
+ homeland: EchoMelandAPI
1509
1590
  log: LogAPI
1510
1591
  pit2: PIT2API
1511
1592
  player: PlayerAPI
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ecapi-sdk
3
- Version: 3.4.6
3
+ Version: 3.5.0
4
4
  Summary: ECAPI SDK for Python
5
5
  Author: EaseCation
6
6
  License: MIT
File without changes
File without changes