@rebornteam/reborn-api 3.2.1 → 4.5.0
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.
- package/.openapi-generator/FILES +70 -4
- package/README.md +103 -8
- package/api.ts +4362 -455
- package/base.ts +1 -1
- package/common.ts +1 -1
- package/configuration.ts +1 -1
- package/dist/api.d.ts +2735 -394
- package/dist/api.js +3171 -444
- package/dist/base.d.ts +1 -1
- package/dist/base.js +1 -1
- package/dist/common.d.ts +1 -1
- package/dist/common.js +1 -1
- package/dist/configuration.d.ts +1 -1
- package/dist/configuration.js +1 -1
- package/dist/esm/api.d.ts +2735 -394
- package/dist/esm/api.js +3146 -439
- package/dist/esm/base.d.ts +1 -1
- package/dist/esm/base.js +1 -1
- package/dist/esm/common.d.ts +1 -1
- package/dist/esm/common.js +1 -1
- package/dist/esm/configuration.d.ts +1 -1
- package/dist/esm/configuration.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/docs/AdminAltAccount.md +27 -0
- package/docs/AdminAltExemption.md +31 -0
- package/docs/AdminAltGraph.md +27 -0
- package/docs/AdminAltGraphEdge.md +25 -0
- package/docs/AdminAltGraphNode.md +29 -0
- package/docs/AdminApplyPunishmentResult.md +4 -4
- package/docs/AdminAsyncJob.md +49 -0
- package/docs/AdminAsyncJobArtifactMeta.md +23 -0
- package/docs/AdminAsyncJobStartResponse.md +21 -0
- package/docs/AdminAuditLogApi.md +141 -0
- package/docs/AdminAuditLogEntry.md +33 -0
- package/docs/AdminBulkRevokeRequest.md +25 -0
- package/docs/AdminBulkRevokeResponse.md +21 -0
- package/docs/AdminConnectionCheckResult.md +4 -0
- package/docs/AdminConnectionsApi.md +154 -39
- package/docs/AdminCreateAltExemptionRequest.md +23 -0
- package/docs/AdminCreatePlayerNoteRequest.md +21 -0
- package/docs/AdminDashboardConnectionResponse.md +4 -2
- package/docs/AdminJobsApi.md +230 -0
- package/docs/AdminPlayerDetailResponse.md +4 -4
- package/docs/AdminPlayerNote.md +31 -0
- package/docs/AdminPlayerPunishmentResponse.md +51 -0
- package/docs/AdminPlayerReport.md +39 -0
- package/docs/AdminPlayerSession.md +31 -0
- package/docs/AdminPlayerSessionStats.md +29 -0
- package/docs/AdminPlayerSummary.md +2 -4
- package/docs/AdminPlayersApi.md +1043 -19
- package/docs/AdminPunishmentEvaluation.md +4 -8
- package/docs/AdminPunishmentTargets.md +23 -0
- package/docs/AdminPunishmentsApi.md +179 -21
- package/docs/AdminReportTarget.md +23 -0
- package/docs/AdminReportsApi.md +123 -0
- package/docs/AdminResolveReportRequest.md +21 -0
- package/docs/AdminSetAggressiveModeImmunityRequest.md +21 -0
- package/docs/AdminTrustFactorBreakdown.md +61 -0
- package/docs/AdminTrustFactorHistoryEntry.md +23 -0
- package/docs/AdminTrustFactorImpact.md +23 -0
- package/docs/AdminUpdatePunishmentRequest.md +35 -0
- package/docs/ChatApi.md +4 -4
- package/docs/ConnectionApi.md +4 -4
- package/docs/ConnectionGetConnectionDetailsResponse.md +5 -1
- package/docs/ConnectionResult.md +1 -1
- package/docs/CreateReportRequest.md +27 -0
- package/docs/CreateReportResponse.md +23 -0
- package/docs/CursoredPageAdminAuditLogEntry.md +38 -0
- package/docs/CursoredPageable.md +30 -0
- package/docs/JobStatus.md +17 -0
- package/docs/PageAdminAltAccount.md +36 -0
- package/docs/PageAdminAltExemption.md +36 -0
- package/docs/PageAdminAsyncJob.md +36 -0
- package/docs/PageAdminAuditLogEntry.md +36 -0
- package/docs/PageAdminDashboardConnectionResponse.md +36 -0
- package/docs/PageAdminPlayerNote.md +36 -0
- package/docs/PageAdminPlayerPunishmentResponse.md +36 -0
- package/docs/PageAdminPlayerReport.md +36 -0
- package/docs/PageAdminPlayerSession.md +36 -0
- package/docs/PageAdminPlayerSummary.md +36 -0
- package/docs/PageAdminPunishmentListItem.md +36 -0
- package/docs/PagePunishmentGetPunishmentResponse.md +36 -0
- package/docs/Pageable.md +28 -0
- package/docs/PageableMode.md +12 -0
- package/docs/PlayerGetPlayerInformation.md +5 -3
- package/docs/PlayerSessionEndRequest.md +23 -0
- package/docs/PlayerSessionStartRequest.md +27 -0
- package/docs/PlayerSessionStartResponse.md +51 -0
- package/docs/PlayerSessionsApi.md +116 -0
- package/docs/PunishmentApi.md +22 -24
- package/docs/PunishmentSource.md +11 -0
- package/docs/PunishmentType.md +1 -0
- package/docs/ReportApi.md +64 -0
- package/docs/ReportCategory.md +17 -0
- package/docs/SliceAdminAltAccount.md +32 -0
- package/docs/SliceAdminAltExemption.md +32 -0
- package/docs/SliceAdminAsyncJob.md +32 -0
- package/docs/SliceAdminAuditLogEntry.md +32 -0
- package/docs/SliceAdminDashboardConnectionResponse.md +32 -0
- package/docs/SliceAdminPlayerNote.md +32 -0
- package/docs/SliceAdminPlayerPunishmentResponse.md +32 -0
- package/docs/SliceAdminPlayerReport.md +32 -0
- package/docs/SliceAdminPlayerSession.md +32 -0
- package/docs/SliceAdminPlayerSummary.md +32 -0
- package/docs/SliceAdminPunishmentListItem.md +32 -0
- package/docs/SlicePunishmentGetPunishmentResponse.md +32 -0
- package/docs/Sort.md +20 -0
- package/docs/SortOrder.md +26 -0
- package/docs/SortOrderDirection.md +10 -0
- package/index.ts +1 -1
- package/package.json +1 -1
- package/docs/AdminBackfillLocationResponse.md +0 -25
- package/docs/AdminPagedConnectionResponse.md +0 -29
- package/docs/AdminPagedPlayerResponse.md +0 -29
- package/docs/AdminPagedPunishmentResponse.md +0 -29
package/dist/api.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Reborn API
|
|
3
3
|
* The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
|
|
4
4
|
*
|
|
5
|
-
* The version of the OpenAPI document:
|
|
5
|
+
* The version of the OpenAPI document: 4.5.0
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -13,6 +13,119 @@ import type { Configuration } from './configuration';
|
|
|
13
13
|
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
|
|
14
14
|
import type { RequestArgs } from './base';
|
|
15
15
|
import { BaseAPI } from './base';
|
|
16
|
+
/**
|
|
17
|
+
* Another player who has been seen on at least one of this player\'s historical connections — i.e. an alt account candidate.
|
|
18
|
+
*/
|
|
19
|
+
export interface AdminAltAccount {
|
|
20
|
+
/**
|
|
21
|
+
* Alt player\'s Minecraft UUID
|
|
22
|
+
*/
|
|
23
|
+
'uuid': string;
|
|
24
|
+
/**
|
|
25
|
+
* Most recently seen username for the alt, null if never recorded
|
|
26
|
+
*/
|
|
27
|
+
'username'?: string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Timestamp of the alt\'s most recent connection (ISO-8601), null if never connected
|
|
30
|
+
*/
|
|
31
|
+
'lastUsedAt'?: string | null;
|
|
32
|
+
/**
|
|
33
|
+
* Number of distinct connections this alt shares with the source player
|
|
34
|
+
*/
|
|
35
|
+
'sharedConnectionCount': number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Per-pair exemption from aggressive-mode alt propagation. When a row exists with (player_id=X, alt_player_id=Y), propagation for X will skip Y as an alt source.
|
|
39
|
+
*/
|
|
40
|
+
export interface AdminAltExemption {
|
|
41
|
+
/**
|
|
42
|
+
* Player this exemption applies to
|
|
43
|
+
*/
|
|
44
|
+
'playerUuid': string;
|
|
45
|
+
/**
|
|
46
|
+
* Player to be skipped as an alt source
|
|
47
|
+
*/
|
|
48
|
+
'altPlayerUuid': string;
|
|
49
|
+
/**
|
|
50
|
+
* Most recent username of the exempted alt
|
|
51
|
+
*/
|
|
52
|
+
'altPlayerUsername'?: string | null;
|
|
53
|
+
/**
|
|
54
|
+
* Staff member who created the exemption
|
|
55
|
+
*/
|
|
56
|
+
'createdBy': string;
|
|
57
|
+
/**
|
|
58
|
+
* When the exemption was created (ISO-8601)
|
|
59
|
+
*/
|
|
60
|
+
'createdAt': string;
|
|
61
|
+
/**
|
|
62
|
+
* Optional human-readable reason
|
|
63
|
+
*/
|
|
64
|
+
'reason'?: string | null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Alt-graph rooted at a player, walked out to the requested hop depth.
|
|
68
|
+
*/
|
|
69
|
+
export interface AdminAltGraph {
|
|
70
|
+
/**
|
|
71
|
+
* UUID of the focal player. Always appears in nodes at depth=0.
|
|
72
|
+
*/
|
|
73
|
+
'rootUuid': string;
|
|
74
|
+
/**
|
|
75
|
+
* Maximum hop depth walked. Capped server-side at MAX_PROPAGATION_DEPTH.
|
|
76
|
+
*/
|
|
77
|
+
'depth': number;
|
|
78
|
+
/**
|
|
79
|
+
* Every player reachable from the root within {@code depth} hops, including the root at depth=0.
|
|
80
|
+
*/
|
|
81
|
+
'nodes': Array<AdminAltGraphNode>;
|
|
82
|
+
/**
|
|
83
|
+
* Undirected edges between any two players in nodes that share at least one non-promiscuous connection.
|
|
84
|
+
*/
|
|
85
|
+
'edges': Array<AdminAltGraphEdge>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Undirected edge in an alt-graph traversal.
|
|
89
|
+
*/
|
|
90
|
+
export interface AdminAltGraphEdge {
|
|
91
|
+
/**
|
|
92
|
+
* One endpoint of the edge
|
|
93
|
+
*/
|
|
94
|
+
'fromUuid': string;
|
|
95
|
+
/**
|
|
96
|
+
* Other endpoint of the edge. The pair is emitted only once — the SQL ensures fromUuid < toUuid lexicographically.
|
|
97
|
+
*/
|
|
98
|
+
'toUuid': string;
|
|
99
|
+
/**
|
|
100
|
+
* Number of distinct non-promiscuous connections these two players share. Drives edge thickness.
|
|
101
|
+
*/
|
|
102
|
+
'sharedConnectionCount': number;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* One player node in an alt-graph traversal.
|
|
106
|
+
*/
|
|
107
|
+
export interface AdminAltGraphNode {
|
|
108
|
+
/**
|
|
109
|
+
* Player Minecraft UUID
|
|
110
|
+
*/
|
|
111
|
+
'uuid': string;
|
|
112
|
+
/**
|
|
113
|
+
* Most recently seen username, null if never resolved
|
|
114
|
+
*/
|
|
115
|
+
'username'?: string | null;
|
|
116
|
+
/**
|
|
117
|
+
* Hop count from the focal player (0 = the focal player herself).
|
|
118
|
+
*/
|
|
119
|
+
'depth': number;
|
|
120
|
+
/**
|
|
121
|
+
* Trust factor (0-100). Drives the node colour in the graph.
|
|
122
|
+
*/
|
|
123
|
+
'trustFactor': number;
|
|
124
|
+
/**
|
|
125
|
+
* Whether this player currently has at least one active (non-revoked, non-expired) player_punishment row. Drives a red outline ring on the node.
|
|
126
|
+
*/
|
|
127
|
+
'hasActivePunishment': boolean;
|
|
128
|
+
}
|
|
16
129
|
/**
|
|
17
130
|
* Request to apply a punishment to one or more targets
|
|
18
131
|
*/
|
|
@@ -72,15 +185,15 @@ export interface AdminApplyPunishmentResult {
|
|
|
72
185
|
*/
|
|
73
186
|
'type': PunishmentType;
|
|
74
187
|
/**
|
|
75
|
-
* Severity level applied
|
|
188
|
+
* Severity level applied (1-4)
|
|
76
189
|
*/
|
|
77
190
|
'severity': number;
|
|
78
191
|
/**
|
|
79
|
-
*
|
|
192
|
+
* Trust factor (0-100) for the targeted player after the punishment landed. Present only when the target is a player; absent for any other target shape.
|
|
80
193
|
*/
|
|
81
|
-
'
|
|
194
|
+
'newTrustFactor'?: number | null;
|
|
82
195
|
/**
|
|
83
|
-
* Whether the punishment was made permanent
|
|
196
|
+
* Whether the punishment was made permanent. Mirrors the request\'s forcePermanent flag — auto-escalation has been removed.
|
|
84
197
|
*/
|
|
85
198
|
'isPermanent': boolean;
|
|
86
199
|
/**
|
|
@@ -89,21 +202,150 @@ export interface AdminApplyPunishmentResult {
|
|
|
89
202
|
'expiresAt'?: string | null;
|
|
90
203
|
}
|
|
91
204
|
/**
|
|
92
|
-
*
|
|
205
|
+
* One row of admin_job — a long-running admin operation.
|
|
206
|
+
*/
|
|
207
|
+
export interface AdminAsyncJob {
|
|
208
|
+
/**
|
|
209
|
+
* Job id
|
|
210
|
+
*/
|
|
211
|
+
'id': string;
|
|
212
|
+
/**
|
|
213
|
+
* Stable identifier of what kind of work this is (e.g. LOCATION_BACKFILL)
|
|
214
|
+
*/
|
|
215
|
+
'jobType': string;
|
|
216
|
+
/**
|
|
217
|
+
* Current lifecycle state.
|
|
218
|
+
*/
|
|
219
|
+
'status': JobStatus;
|
|
220
|
+
/**
|
|
221
|
+
* Number of units processed so far
|
|
222
|
+
*/
|
|
223
|
+
'progressCurrent': number;
|
|
224
|
+
/**
|
|
225
|
+
* Total units, when known up front. Null when total is undetermined.
|
|
226
|
+
*/
|
|
227
|
+
'progressTotal'?: number | null;
|
|
228
|
+
/**
|
|
229
|
+
* Optional human-readable status line (e.g. \"Re-checking IpHub\").
|
|
230
|
+
*/
|
|
231
|
+
'progressMessage'?: string | null;
|
|
232
|
+
/**
|
|
233
|
+
* Error message when status = FAILED. Null otherwise.
|
|
234
|
+
*/
|
|
235
|
+
'errorMessage'?: string | null;
|
|
236
|
+
/**
|
|
237
|
+
* Type-specific JSON result, populated when status = COMPLETED. Schema varies by jobType — consult the docs for each type.
|
|
238
|
+
*/
|
|
239
|
+
'resultPayload'?: object | null;
|
|
240
|
+
/**
|
|
241
|
+
* Admin who submitted the job (Discord username for SSO admins).
|
|
242
|
+
*/
|
|
243
|
+
'startedBy': string;
|
|
244
|
+
/**
|
|
245
|
+
* When the job was submitted (ISO-8601).
|
|
246
|
+
*/
|
|
247
|
+
'startedAt': string;
|
|
248
|
+
/**
|
|
249
|
+
* Timestamp of the most recent progress update. The reaper marks jobs FAILED when this falls behind by 5 min.
|
|
250
|
+
*/
|
|
251
|
+
'lastProgressAt': string;
|
|
252
|
+
/**
|
|
253
|
+
* When the job entered a terminal state. Null while running.
|
|
254
|
+
*/
|
|
255
|
+
'finishedAt'?: string | null;
|
|
256
|
+
/**
|
|
257
|
+
* True if an admin has requested cancellation. The host instance picks this up at its next progress tick.
|
|
258
|
+
*/
|
|
259
|
+
'cancelRequested': boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Identifier of the API instance that is running this job. Other instances can see state and request cancellation but cannot dispose the in-flight Reactor subscription directly.
|
|
262
|
+
*/
|
|
263
|
+
'hostInstance': string;
|
|
264
|
+
/**
|
|
265
|
+
* Pointer to a CSV artifact emitted by this job, when one exists. Present only after the job marks COMPLETED and the artifact has been persisted. Download the CSV bytes via GET /admin/job/{id}/artifact.csv.
|
|
266
|
+
*/
|
|
267
|
+
'artifact'?: AdminAsyncJobArtifactMeta | null;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Pointer to a job\'s CSV artifact. Present only when the job emitted one.
|
|
271
|
+
*/
|
|
272
|
+
export interface AdminAsyncJobArtifactMeta {
|
|
273
|
+
/**
|
|
274
|
+
* Number of data rows in the artifact (excluding the header).
|
|
275
|
+
*/
|
|
276
|
+
'rowCount': number;
|
|
277
|
+
/**
|
|
278
|
+
* When the artifact was finalized (typically a few seconds after the job marked COMPLETED).
|
|
279
|
+
*/
|
|
280
|
+
'createdAt': string;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Acknowledgement returned by endpoints that submit an async job. The id is the polling target — GET /admin/job/{id} for status, DELETE /admin/job/{id} to cancel.
|
|
284
|
+
*/
|
|
285
|
+
export interface AdminAsyncJobStartResponse {
|
|
286
|
+
/**
|
|
287
|
+
* Server-assigned job id
|
|
288
|
+
*/
|
|
289
|
+
'jobId': string;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Single admin audit-log entry. Captures who did what to which target with an action-specific JSON payload (e.g. before/after for edits, count for bulk ops).
|
|
293
|
+
*/
|
|
294
|
+
export interface AdminAuditLogEntry {
|
|
295
|
+
/**
|
|
296
|
+
* Sequential id (ordering matches createdAt)
|
|
297
|
+
*/
|
|
298
|
+
'id': number;
|
|
299
|
+
/**
|
|
300
|
+
* Discord username of the moderator who performed the action
|
|
301
|
+
*/
|
|
302
|
+
'actorUsername': string;
|
|
303
|
+
/**
|
|
304
|
+
* Action verb. Open-vocabulary; current values include APPLY_PUNISHMENT, EDIT_PUNISHMENT, REVOKE_PROPAGATED_LINK, BULK_REVOKE, SET_AGGRESSIVE_MODE_IMMUNITY, ADD_ALT_EXEMPTION, REMOVE_ALT_EXEMPTION.
|
|
305
|
+
*/
|
|
306
|
+
'action': string;
|
|
307
|
+
/**
|
|
308
|
+
* Type of entity acted upon (PLAYER, PUNISHMENT, PLAYER_PUNISHMENT, etc.)
|
|
309
|
+
*/
|
|
310
|
+
'targetType': string;
|
|
311
|
+
/**
|
|
312
|
+
* Identifier of the target (stringified id or UUID, depending on targetType)
|
|
313
|
+
*/
|
|
314
|
+
'targetId': string;
|
|
315
|
+
/**
|
|
316
|
+
* Action-specific JSON payload. Shape depends on the action.
|
|
317
|
+
*/
|
|
318
|
+
'payload'?: string | null;
|
|
319
|
+
/**
|
|
320
|
+
* When the action occurred (ISO-8601)
|
|
321
|
+
*/
|
|
322
|
+
'createdAt': string;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Bulk-revoke every active PROPAGATED player_punishment row sourced from a single alt or connection. Used when staff identify a false-positive source (e.g. a shared NAT or legitimate roommate) and want to undo every link it caused.
|
|
93
326
|
*/
|
|
94
|
-
export interface
|
|
327
|
+
export interface AdminBulkRevokeRequest {
|
|
328
|
+
/**
|
|
329
|
+
* Revoke links whose source_player_id matches. Mutually exclusive with sourceConnectionId.
|
|
330
|
+
*/
|
|
331
|
+
'sourcePlayerId'?: number | null;
|
|
95
332
|
/**
|
|
96
|
-
*
|
|
333
|
+
* Revoke links whose source_connection_id matches. Mutually exclusive with sourcePlayerId.
|
|
97
334
|
*/
|
|
98
|
-
'
|
|
335
|
+
'sourceConnectionId'?: number | null;
|
|
99
336
|
/**
|
|
100
|
-
*
|
|
337
|
+
* Optional reason for the audit log
|
|
101
338
|
*/
|
|
102
|
-
'
|
|
339
|
+
'reason'?: string | null;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Result of a bulk-revoke operation
|
|
343
|
+
*/
|
|
344
|
+
export interface AdminBulkRevokeResponse {
|
|
103
345
|
/**
|
|
104
|
-
*
|
|
346
|
+
* Number of player_punishment rows soft-deleted by the operation
|
|
105
347
|
*/
|
|
106
|
-
'
|
|
348
|
+
'revoked': number;
|
|
107
349
|
}
|
|
108
350
|
/**
|
|
109
351
|
* Client credential response
|
|
@@ -187,6 +429,36 @@ export interface AdminConnectionCheckResult {
|
|
|
187
429
|
* Country code reported by this service, if available
|
|
188
430
|
*/
|
|
189
431
|
'country'?: string | null;
|
|
432
|
+
/**
|
|
433
|
+
* Latitude reported by this service, if available
|
|
434
|
+
*/
|
|
435
|
+
'latitude'?: number | null;
|
|
436
|
+
/**
|
|
437
|
+
* Longitude reported by this service, if available
|
|
438
|
+
*/
|
|
439
|
+
'longitude'?: number | null;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Add an alt exemption: mark altPlayerUuid as a known-legitimate associate of the path player. Subsequent aggressive-mode propagation skips this pair as an alt source.
|
|
443
|
+
*/
|
|
444
|
+
export interface AdminCreateAltExemptionRequest {
|
|
445
|
+
/**
|
|
446
|
+
* UUID of the player to mark as a known-legitimate associate
|
|
447
|
+
*/
|
|
448
|
+
'altPlayerUuid': string;
|
|
449
|
+
/**
|
|
450
|
+
* Optional human-readable reason (e.g. \'roommates, verified via support ticket #1234\')
|
|
451
|
+
*/
|
|
452
|
+
'reason'?: string | null;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Create a staff note on a player
|
|
456
|
+
*/
|
|
457
|
+
export interface AdminCreatePlayerNoteRequest {
|
|
458
|
+
/**
|
|
459
|
+
* Note body (1–4000 chars)
|
|
460
|
+
*/
|
|
461
|
+
'body': string;
|
|
190
462
|
}
|
|
191
463
|
/**
|
|
192
464
|
* Request to evaluate the impact of a punishment across one or more targets before applying
|
|
@@ -220,7 +492,14 @@ export interface AdminCreatePunishmentDraftRequest {
|
|
|
220
492
|
export interface AdminDashboardConnectionResponse {
|
|
221
493
|
'id': number;
|
|
222
494
|
'ipAddress': string;
|
|
223
|
-
|
|
495
|
+
/**
|
|
496
|
+
* City reported by the first VPN provider that returned one for this IP.
|
|
497
|
+
*/
|
|
498
|
+
'city'?: string | null;
|
|
499
|
+
/**
|
|
500
|
+
* Country code (ISO 3166-1 alpha-2 or alpha-3 depending on provider) from the first provider that returned one.
|
|
501
|
+
*/
|
|
502
|
+
'country'?: string | null;
|
|
224
503
|
'isVpn': boolean;
|
|
225
504
|
'isBypassed': boolean;
|
|
226
505
|
'bypassExpiresAt'?: string | null;
|
|
@@ -252,120 +531,188 @@ export interface AdminIpSearchResult {
|
|
|
252
531
|
'players': Array<AdminPlayerSearchResult>;
|
|
253
532
|
}
|
|
254
533
|
/**
|
|
255
|
-
*
|
|
534
|
+
* Full player detail including punishment history and all known usernames
|
|
256
535
|
*/
|
|
257
|
-
export interface
|
|
536
|
+
export interface AdminPlayerDetailResponse {
|
|
258
537
|
/**
|
|
259
|
-
*
|
|
538
|
+
* Internal player ID
|
|
260
539
|
*/
|
|
261
|
-
'
|
|
540
|
+
'id': number;
|
|
262
541
|
/**
|
|
263
|
-
*
|
|
542
|
+
* Player Minecraft UUID
|
|
264
543
|
*/
|
|
265
|
-
'
|
|
544
|
+
'uuid': string;
|
|
266
545
|
/**
|
|
267
|
-
*
|
|
546
|
+
* Most recently seen username
|
|
268
547
|
*/
|
|
269
|
-
'
|
|
548
|
+
'username'?: string | null;
|
|
270
549
|
/**
|
|
271
|
-
*
|
|
550
|
+
* Whether this player still has first-join status
|
|
272
551
|
*/
|
|
273
|
-
'
|
|
552
|
+
'firstJoin': boolean;
|
|
274
553
|
/**
|
|
275
|
-
*
|
|
554
|
+
* Timestamp of first connection (ISO-8601)
|
|
276
555
|
*/
|
|
277
|
-
'
|
|
556
|
+
'firstLogin': string;
|
|
557
|
+
/**
|
|
558
|
+
* Timestamp of most recent connection (ISO-8601)
|
|
559
|
+
*/
|
|
560
|
+
'lastUsedAt'?: string | null;
|
|
561
|
+
/**
|
|
562
|
+
* Trust factor (0-100, higher = more trusted). Informational only — does NOT auto-escalate punishments. See compute_trust_factor in the database for the formula.
|
|
563
|
+
*/
|
|
564
|
+
'trustFactor': number;
|
|
565
|
+
/**
|
|
566
|
+
* All usernames this player has used, newest first
|
|
567
|
+
*/
|
|
568
|
+
'usernameHistory': Array<AdminUsernameHistoryEntry>;
|
|
569
|
+
/**
|
|
570
|
+
* True when this player is exempt from aggressive-mode propagation. Toggling on also bulk-revokes existing propagated links. Defaults to false.
|
|
571
|
+
*/
|
|
572
|
+
'aggressiveModeImmunity': boolean;
|
|
278
573
|
}
|
|
279
574
|
/**
|
|
280
|
-
*
|
|
575
|
+
* Free-form staff note about a player
|
|
281
576
|
*/
|
|
282
|
-
export interface
|
|
577
|
+
export interface AdminPlayerNote {
|
|
578
|
+
/**
|
|
579
|
+
* Note id
|
|
580
|
+
*/
|
|
581
|
+
'id': number;
|
|
283
582
|
/**
|
|
284
|
-
*
|
|
583
|
+
* Username (Discord username for SSO admins) of the staff member who wrote the note
|
|
285
584
|
*/
|
|
286
|
-
'
|
|
585
|
+
'author': string;
|
|
287
586
|
/**
|
|
288
|
-
*
|
|
587
|
+
* The note body (1–4000 characters)
|
|
289
588
|
*/
|
|
290
|
-
'
|
|
589
|
+
'body': string;
|
|
291
590
|
/**
|
|
292
|
-
*
|
|
591
|
+
* When the note was created (ISO-8601)
|
|
293
592
|
*/
|
|
294
|
-
'
|
|
593
|
+
'createdAt': string;
|
|
295
594
|
/**
|
|
296
|
-
*
|
|
595
|
+
* When the note was soft-deleted. Null on active notes. Deleted notes are still returned by default; the UI styles them as struck-through.
|
|
297
596
|
*/
|
|
298
|
-
'
|
|
597
|
+
'deletedAt'?: string | null;
|
|
299
598
|
/**
|
|
300
|
-
*
|
|
599
|
+
* Staff member who soft-deleted the note. Null on active notes.
|
|
301
600
|
*/
|
|
302
|
-
'
|
|
601
|
+
'deletedBy'?: string | null;
|
|
303
602
|
}
|
|
304
603
|
/**
|
|
305
|
-
*
|
|
604
|
+
* A single player_punishment link with full audit metadata. Used by admin UIs to render the player\'s punishment history with DIRECT vs PROPAGATED badges and per-link revoke controls.
|
|
306
605
|
*/
|
|
307
|
-
export interface
|
|
606
|
+
export interface AdminPlayerPunishmentResponse {
|
|
308
607
|
/**
|
|
309
|
-
*
|
|
608
|
+
* player_punishment row id (the link id, NOT the punishment id)
|
|
310
609
|
*/
|
|
311
|
-
'
|
|
610
|
+
'id': number;
|
|
312
611
|
/**
|
|
313
|
-
*
|
|
612
|
+
* Source punishment id this link points to
|
|
314
613
|
*/
|
|
315
|
-
'
|
|
614
|
+
'punishmentId': number;
|
|
316
615
|
/**
|
|
317
|
-
*
|
|
616
|
+
* UUID of the player this link is attached to
|
|
318
617
|
*/
|
|
319
|
-
'
|
|
618
|
+
'playerUuid': string;
|
|
320
619
|
/**
|
|
321
|
-
*
|
|
620
|
+
* Punishment type
|
|
322
621
|
*/
|
|
323
|
-
'
|
|
622
|
+
'type': PunishmentType;
|
|
324
623
|
/**
|
|
325
|
-
*
|
|
624
|
+
* Severity (1-4)
|
|
326
625
|
*/
|
|
327
|
-
'
|
|
626
|
+
'severity': number;
|
|
627
|
+
/**
|
|
628
|
+
* Reason from the source punishment record
|
|
629
|
+
*/
|
|
630
|
+
'reason': string;
|
|
631
|
+
/**
|
|
632
|
+
* Internal admin notes from the source punishment (may be null)
|
|
633
|
+
*/
|
|
634
|
+
'notes'?: string | null;
|
|
635
|
+
/**
|
|
636
|
+
* Original issuer of the punishment
|
|
637
|
+
*/
|
|
638
|
+
'createdBy': string;
|
|
639
|
+
/**
|
|
640
|
+
* When the source punishment was created (ISO-8601)
|
|
641
|
+
*/
|
|
642
|
+
'createdAt': string;
|
|
643
|
+
/**
|
|
644
|
+
* Source punishment expiration (null = permanent)
|
|
645
|
+
*/
|
|
646
|
+
'expiresAt'?: string | null;
|
|
647
|
+
/**
|
|
648
|
+
* How this link came to exist. DIRECT links are immutable from the link side (remove via the punishment-level delete); PROPAGATED links are revocable individually.
|
|
649
|
+
*/
|
|
650
|
+
'source': PunishmentSource;
|
|
651
|
+
/**
|
|
652
|
+
* Human-readable origin for a PROPAGATED link, e.g. \'Propagated from alt Notch (player_id=42)\' or \'Propagated from connection 1.2.3.4\'. Null for DIRECT links.
|
|
653
|
+
*/
|
|
654
|
+
'transferNote'?: string | null;
|
|
655
|
+
/**
|
|
656
|
+
* player.id that triggered this PROPAGATED link (the alt account). Null for DIRECT links, for PROPAGATED links pre-dating the structured-source migration, and for connection-sourced PROPAGATED links.
|
|
657
|
+
*/
|
|
658
|
+
'sourcePlayerId'?: number | null;
|
|
659
|
+
/**
|
|
660
|
+
* connection.id that triggered this PROPAGATED link (the IP). Null for DIRECT links, for PROPAGATED links pre-dating the structured-source migration, and for player-sourced PROPAGATED links.
|
|
661
|
+
*/
|
|
662
|
+
'sourceConnectionId'?: number | null;
|
|
663
|
+
/**
|
|
664
|
+
* When this link was revoked by a staff member. Null while active.
|
|
665
|
+
*/
|
|
666
|
+
'revokedAt'?: string | null;
|
|
667
|
+
/**
|
|
668
|
+
* Staff member who revoked this link.
|
|
669
|
+
*/
|
|
670
|
+
'revokedBy'?: string | null;
|
|
328
671
|
}
|
|
329
672
|
/**
|
|
330
|
-
*
|
|
673
|
+
* One peer report. May target one or more players.
|
|
331
674
|
*/
|
|
332
|
-
export interface
|
|
675
|
+
export interface AdminPlayerReport {
|
|
333
676
|
/**
|
|
334
|
-
*
|
|
677
|
+
* Report id
|
|
335
678
|
*/
|
|
336
679
|
'id': number;
|
|
337
680
|
/**
|
|
338
|
-
*
|
|
681
|
+
* Reporter\'s UUID
|
|
339
682
|
*/
|
|
340
|
-
'
|
|
683
|
+
'reporterUuid': string;
|
|
341
684
|
/**
|
|
342
|
-
*
|
|
685
|
+
* Reporter\'s username at the time of the report (last-known if changed)
|
|
343
686
|
*/
|
|
344
|
-
'
|
|
687
|
+
'reporterUsername'?: string | null;
|
|
345
688
|
/**
|
|
346
|
-
*
|
|
689
|
+
* All players this report flags. At least one entry.
|
|
347
690
|
*/
|
|
348
|
-
'
|
|
691
|
+
'reportedTargets': Array<AdminReportTarget>;
|
|
349
692
|
/**
|
|
350
|
-
*
|
|
693
|
+
* Category
|
|
351
694
|
*/
|
|
352
|
-
'
|
|
695
|
+
'category': string;
|
|
353
696
|
/**
|
|
354
|
-
*
|
|
697
|
+
* Reason text
|
|
355
698
|
*/
|
|
356
|
-
'
|
|
699
|
+
'reason': string;
|
|
357
700
|
/**
|
|
358
|
-
*
|
|
701
|
+
* When created (ISO-8601)
|
|
359
702
|
*/
|
|
360
|
-
'
|
|
703
|
+
'createdAt': string;
|
|
361
704
|
/**
|
|
362
|
-
*
|
|
705
|
+
* When resolved by staff. Null = open.
|
|
363
706
|
*/
|
|
364
|
-
'
|
|
707
|
+
'resolvedAt'?: string | null;
|
|
365
708
|
/**
|
|
366
|
-
*
|
|
709
|
+
* Staff member who resolved it
|
|
367
710
|
*/
|
|
368
|
-
'
|
|
711
|
+
'resolvedBy'?: string | null;
|
|
712
|
+
/**
|
|
713
|
+
* Staff\'s resolution note
|
|
714
|
+
*/
|
|
715
|
+
'resolutionNote'?: string | null;
|
|
369
716
|
}
|
|
370
717
|
/**
|
|
371
718
|
* Lightweight player reference used in search results and punishment evaluations
|
|
@@ -381,21 +728,75 @@ export interface AdminPlayerSearchResult {
|
|
|
381
728
|
'username'?: string | null;
|
|
382
729
|
}
|
|
383
730
|
/**
|
|
384
|
-
*
|
|
731
|
+
* A single player session — one visit by one player to one game server. Active sessions have null endedAt and durationSeconds; closed sessions have both populated.
|
|
385
732
|
*/
|
|
386
|
-
export interface
|
|
733
|
+
export interface AdminPlayerSession {
|
|
387
734
|
/**
|
|
388
|
-
*
|
|
735
|
+
* Session id (UUID)
|
|
389
736
|
*/
|
|
390
|
-
'id':
|
|
737
|
+
'id': string;
|
|
391
738
|
/**
|
|
392
739
|
* Player Minecraft UUID
|
|
393
740
|
*/
|
|
394
|
-
'
|
|
741
|
+
'playerUuid': string;
|
|
395
742
|
/**
|
|
396
|
-
*
|
|
743
|
+
* Game server session id this session is associated with. Nullable when the server record has been deleted.
|
|
397
744
|
*/
|
|
398
|
-
'
|
|
745
|
+
'serverSessionId'?: string | null;
|
|
746
|
+
/**
|
|
747
|
+
* When the player joined (ISO-8601)
|
|
748
|
+
*/
|
|
749
|
+
'startedAt': string;
|
|
750
|
+
/**
|
|
751
|
+
* When the player disconnected (ISO-8601). Null while the session is still active.
|
|
752
|
+
*/
|
|
753
|
+
'endedAt'?: string | null;
|
|
754
|
+
/**
|
|
755
|
+
* Closed session duration in seconds (ended_at − started_at). Null while active.
|
|
756
|
+
*/
|
|
757
|
+
'durationSeconds'?: number | null;
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Aggregate session statistics for one player. Computed on demand from player_session.
|
|
761
|
+
*/
|
|
762
|
+
export interface AdminPlayerSessionStats {
|
|
763
|
+
/**
|
|
764
|
+
* Sum of duration_seconds across all closed sessions
|
|
765
|
+
*/
|
|
766
|
+
'totalSecondsPlayed': number;
|
|
767
|
+
/**
|
|
768
|
+
* Total number of session rows for this player (active + closed)
|
|
769
|
+
*/
|
|
770
|
+
'sessionCount': number;
|
|
771
|
+
/**
|
|
772
|
+
* Distinct calendar days (UTC) on which this player had at least one session
|
|
773
|
+
*/
|
|
774
|
+
'distinctDaysActive': number;
|
|
775
|
+
/**
|
|
776
|
+
* Most recent session start time (ISO-8601). Null if the player has never connected.
|
|
777
|
+
*/
|
|
778
|
+
'lastStartedAt'?: string | null;
|
|
779
|
+
/**
|
|
780
|
+
* True when the player has at least one currently-active (ended_at IS NULL) session.
|
|
781
|
+
*/
|
|
782
|
+
'currentlyOnline': boolean;
|
|
783
|
+
}
|
|
784
|
+
/**
|
|
785
|
+
* Summary of a player record, used in list views
|
|
786
|
+
*/
|
|
787
|
+
export interface AdminPlayerSummary {
|
|
788
|
+
/**
|
|
789
|
+
* Internal player ID
|
|
790
|
+
*/
|
|
791
|
+
'id': number;
|
|
792
|
+
/**
|
|
793
|
+
* Player Minecraft UUID
|
|
794
|
+
*/
|
|
795
|
+
'uuid': string;
|
|
796
|
+
/**
|
|
797
|
+
* Most recently seen username, null if never recorded
|
|
798
|
+
*/
|
|
799
|
+
'username'?: string | null;
|
|
399
800
|
/**
|
|
400
801
|
* Whether this player still has first-join status
|
|
401
802
|
*/
|
|
@@ -409,13 +810,9 @@ export interface AdminPlayerSummary {
|
|
|
409
810
|
*/
|
|
410
811
|
'lastUsedAt'?: string | null;
|
|
411
812
|
/**
|
|
412
|
-
*
|
|
413
|
-
*/
|
|
414
|
-
'punishmentPointsRaw': number;
|
|
415
|
-
/**
|
|
416
|
-
* Punishment score as a percentage. Values above 100 indicate future punishments should be permanent.
|
|
813
|
+
* Trust factor (0-100, higher = more trusted). Informational only — does NOT auto-escalate punishments. See compute_trust_factor in the database for the formula.
|
|
417
814
|
*/
|
|
418
|
-
'
|
|
815
|
+
'trustFactor': number;
|
|
419
816
|
}
|
|
420
817
|
/**
|
|
421
818
|
* Batch punishment draft — one evaluation per target
|
|
@@ -439,19 +836,11 @@ export interface AdminPunishmentEvaluation {
|
|
|
439
836
|
*/
|
|
440
837
|
'affectedPlayers': Array<AdminPlayerSearchResult>;
|
|
441
838
|
/**
|
|
442
|
-
*
|
|
443
|
-
*/
|
|
444
|
-
'currentScore': number;
|
|
445
|
-
/**
|
|
446
|
-
* Points this punishment would add to the score
|
|
447
|
-
*/
|
|
448
|
-
'pointsToAdd': number;
|
|
449
|
-
/**
|
|
450
|
-
* Projected score after applying this punishment
|
|
839
|
+
* Trust factor preview for the targeted player. Present only when the target is a player; absent for any other target shape.
|
|
451
840
|
*/
|
|
452
|
-
'
|
|
841
|
+
'trustFactorImpact'?: AdminTrustFactorImpact | null;
|
|
453
842
|
/**
|
|
454
|
-
* Whether this punishment
|
|
843
|
+
* Whether this punishment will be permanent. Mirrors the request\'s forcePermanent flag — auto-escalation has been removed.
|
|
455
844
|
*/
|
|
456
845
|
'willBePermanent': boolean;
|
|
457
846
|
/**
|
|
@@ -467,7 +856,7 @@ export interface AdminPunishmentEvaluation {
|
|
|
467
856
|
*/
|
|
468
857
|
'isConnectionTarget': boolean;
|
|
469
858
|
/**
|
|
470
|
-
* The
|
|
859
|
+
* The punishment type that will be applied. Equal to the requested type — auto-escalation has been removed.
|
|
471
860
|
*/
|
|
472
861
|
'effectiveType': PunishmentType;
|
|
473
862
|
}
|
|
@@ -515,6 +904,202 @@ export interface AdminPunishmentTarget {
|
|
|
515
904
|
*/
|
|
516
905
|
'ipAddress'?: string | null;
|
|
517
906
|
}
|
|
907
|
+
/**
|
|
908
|
+
* Active DIRECT participants currently attached to a punishment.
|
|
909
|
+
*/
|
|
910
|
+
export interface AdminPunishmentTargets {
|
|
911
|
+
/**
|
|
912
|
+
* UUIDs of players with an active DIRECT player_punishment link to this punishment.
|
|
913
|
+
*/
|
|
914
|
+
'playerUuids': Array<string>;
|
|
915
|
+
/**
|
|
916
|
+
* IPs of connections with a live connection_punishment row for this punishment.
|
|
917
|
+
*/
|
|
918
|
+
'ipAddresses': Array<string>;
|
|
919
|
+
}
|
|
920
|
+
/**
|
|
921
|
+
* One reported player attached to a report.
|
|
922
|
+
*/
|
|
923
|
+
export interface AdminReportTarget {
|
|
924
|
+
/**
|
|
925
|
+
* Target player\'s UUID
|
|
926
|
+
*/
|
|
927
|
+
'uuid': string;
|
|
928
|
+
/**
|
|
929
|
+
* Target player\'s last-known username
|
|
930
|
+
*/
|
|
931
|
+
'username'?: string | null;
|
|
932
|
+
}
|
|
933
|
+
/**
|
|
934
|
+
* Resolve a player report. Sets resolved_at = NOW() and stores the staff note.
|
|
935
|
+
*/
|
|
936
|
+
export interface AdminResolveReportRequest {
|
|
937
|
+
/**
|
|
938
|
+
* Free-form resolution note from staff (e.g. \"Watched 10 min footage, no cheating evident.\")
|
|
939
|
+
*/
|
|
940
|
+
'resolutionNote'?: string | null;
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* Set whether a player is exempt from aggressive-mode punishment propagation. Toggling on also revokes all currently-active propagated links for the player.
|
|
944
|
+
*/
|
|
945
|
+
export interface AdminSetAggressiveModeImmunityRequest {
|
|
946
|
+
/**
|
|
947
|
+
* True to mark the player immune (no future propagation; existing propagated links bulk-revoked). False to re-enable propagation.
|
|
948
|
+
*/
|
|
949
|
+
'immune': boolean;
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* Detailed breakdown of how a player\'s trust factor was computed. The final score is the same value returned by compute_trust_factor — this DTO carries the subtotals (bonuses, penalties) and the underlying signal counts that drove each subtotal. Powers the \"why is this score 65?\" admin tooltip. Informational only; trust factor does not auto-escalate punishments.
|
|
953
|
+
*/
|
|
954
|
+
export interface AdminTrustFactorBreakdown {
|
|
955
|
+
/**
|
|
956
|
+
* Starting score before any signals applied. Constant 75.
|
|
957
|
+
*/
|
|
958
|
+
'baseTrust': number;
|
|
959
|
+
/**
|
|
960
|
+
* Bonus from account age (+1 per 30 days, capped at +15)
|
|
961
|
+
*/
|
|
962
|
+
'ageBonus': number;
|
|
963
|
+
/**
|
|
964
|
+
* Bonus from clean history. +10 if no active punishments; otherwise +1 per 60 days since the most recent one. Capped at +10.
|
|
965
|
+
*/
|
|
966
|
+
'cleanHistoryBonus': number;
|
|
967
|
+
/**
|
|
968
|
+
* Bonus from connection stability. Stair-step on distinct-connection count: ≤1=+5, ≤3=+3, ≤8=+1, else 0.
|
|
969
|
+
*/
|
|
970
|
+
'stabilityBonus': number;
|
|
971
|
+
/**
|
|
972
|
+
* Bonus from admin affirmation. alt-exemptions × 2 + active player-bypass × 4, capped at +10.
|
|
973
|
+
*/
|
|
974
|
+
'adminAffirmationBonus': number;
|
|
975
|
+
/**
|
|
976
|
+
* Penalty from active punishments. Type-weighted, severity-scaled, time-decayed (BAN half-life 730d, MUTE 180d, WARNING 60d). Capped at -40.
|
|
977
|
+
*/
|
|
978
|
+
'punishmentPenalty': number;
|
|
979
|
+
/**
|
|
980
|
+
* Penalty from alts. dirty-alts × 4 + clean-alts × 0.5, after promiscuity/alt caps, excluding alt-exempted players. Capped at -20.
|
|
981
|
+
*/
|
|
982
|
+
'altPenalty': number;
|
|
983
|
+
/**
|
|
984
|
+
* Penalty from VPN exposure. Fraction of the player\'s connections flagged > 50% positive × 15.
|
|
985
|
+
*/
|
|
986
|
+
'vpnPenalty': number;
|
|
987
|
+
/**
|
|
988
|
+
* Penalty from active PROPAGATED punishment links × 3. Capped at -15.
|
|
989
|
+
*/
|
|
990
|
+
'propagationPenalty': number;
|
|
991
|
+
/**
|
|
992
|
+
* Sum of base + bonuses - penalties BEFORE clamping to 0..100. Useful for debugging \"why is my -50 raw sum clamped to 0?\" cases.
|
|
993
|
+
*/
|
|
994
|
+
'rawSum': number;
|
|
995
|
+
/**
|
|
996
|
+
* The clamped final trust factor (0–100). Identical to what compute_trust_factor() returns.
|
|
997
|
+
*/
|
|
998
|
+
'finalScore': number;
|
|
999
|
+
/**
|
|
1000
|
+
* Days since the player\'s account was created.
|
|
1001
|
+
*/
|
|
1002
|
+
'accountAgeDays': number;
|
|
1003
|
+
/**
|
|
1004
|
+
* Days since the most recent active punishment landed. Null when the player has none — the clean_history bonus is at its cap.
|
|
1005
|
+
*/
|
|
1006
|
+
'daysSinceLastPunishment'?: number | null;
|
|
1007
|
+
/**
|
|
1008
|
+
* Distinct connections this player has used. Drives the stability bonus.
|
|
1009
|
+
*/
|
|
1010
|
+
'numConnections': number;
|
|
1011
|
+
/**
|
|
1012
|
+
* Alt-exemption rows attributed to this player (admin-asserted legitimate associates).
|
|
1013
|
+
*/
|
|
1014
|
+
'numAltExemptions': number;
|
|
1015
|
+
/**
|
|
1016
|
+
* Whether this player currently has an active player_bypass row.
|
|
1017
|
+
*/
|
|
1018
|
+
'hasPlayerBypass': boolean;
|
|
1019
|
+
/**
|
|
1020
|
+
* Count of active (non-revoked, non-expired) player_punishment rows on this player. Includes both DIRECT and PROPAGATED.
|
|
1021
|
+
*/
|
|
1022
|
+
'numActivePunishments': number;
|
|
1023
|
+
/**
|
|
1024
|
+
* Alts with active punishments (drives the bigger per-alt penalty multiplier).
|
|
1025
|
+
*/
|
|
1026
|
+
'numDirtyAlts': number;
|
|
1027
|
+
/**
|
|
1028
|
+
* Alts WITHOUT active punishments (drives the smaller per-alt penalty multiplier).
|
|
1029
|
+
*/
|
|
1030
|
+
'numCleanAlts': number;
|
|
1031
|
+
/**
|
|
1032
|
+
* Fraction of this player\'s connections flagged > 50% VPN-positive. Range 0..1.
|
|
1033
|
+
*/
|
|
1034
|
+
'vpnConnectionRatio': number;
|
|
1035
|
+
/**
|
|
1036
|
+
* Active PROPAGATED player_punishment links on this player (i.e. aggressive-mode propagation).
|
|
1037
|
+
*/
|
|
1038
|
+
'numPropagatedLinks': number;
|
|
1039
|
+
}
|
|
1040
|
+
/**
|
|
1041
|
+
* One trust factor snapshot for a player on a given day.
|
|
1042
|
+
*/
|
|
1043
|
+
export interface AdminTrustFactorHistoryEntry {
|
|
1044
|
+
/**
|
|
1045
|
+
* UTC date the snapshot was taken
|
|
1046
|
+
*/
|
|
1047
|
+
'snapshotDate': string;
|
|
1048
|
+
/**
|
|
1049
|
+
* Trust factor (0–100, higher = more trusted) on that day
|
|
1050
|
+
*/
|
|
1051
|
+
'trustFactor': number;
|
|
1052
|
+
}
|
|
1053
|
+
/**
|
|
1054
|
+
* Trust factor impact preview for a player-targeted punishment.
|
|
1055
|
+
*/
|
|
1056
|
+
export interface AdminTrustFactorImpact {
|
|
1057
|
+
/**
|
|
1058
|
+
* Trust factor right now (0-100, higher = more trusted). Computed by compute_trust_factor in the database.
|
|
1059
|
+
*/
|
|
1060
|
+
'currentTrustFactor': number;
|
|
1061
|
+
/**
|
|
1062
|
+
* Approximate trust factor AFTER this punishment would land. Approximate because caps in the underlying signals can absorb part of the impact, so the actual post-apply value may be higher than this preview.
|
|
1063
|
+
*/
|
|
1064
|
+
'projectedTrustFactor': number;
|
|
1065
|
+
}
|
|
1066
|
+
/**
|
|
1067
|
+
* Partial update for a punishment. All fields are optional; omitted fields stay untouched.
|
|
1068
|
+
*/
|
|
1069
|
+
export interface AdminUpdatePunishmentRequest {
|
|
1070
|
+
/**
|
|
1071
|
+
* Replace the visible reason. Min 3, max 500 characters.
|
|
1072
|
+
*/
|
|
1073
|
+
'reason'?: string | null;
|
|
1074
|
+
/**
|
|
1075
|
+
* Replace the internal admin notes. Null leaves them untouched; empty string clears them.
|
|
1076
|
+
*/
|
|
1077
|
+
'notes'?: string | null;
|
|
1078
|
+
/**
|
|
1079
|
+
* Replace the expiry timestamp (ISO-8601). Send an explicit null in JSON to make permanent — but note: omitting the field leaves expiry untouched. Use \'forcePermanent\' if you want to clear.
|
|
1080
|
+
*/
|
|
1081
|
+
'expiresAt'?: string | null;
|
|
1082
|
+
/**
|
|
1083
|
+
* When true, clears expiresAt (makes the punishment permanent). Takes precedence over expiresAt.
|
|
1084
|
+
*/
|
|
1085
|
+
'forcePermanent'?: boolean | null;
|
|
1086
|
+
/**
|
|
1087
|
+
* Replace the punishment type (BAN/MUTE/KICK/WARNING). Affects trust factor retroactively.
|
|
1088
|
+
*/
|
|
1089
|
+
'type'?: PunishmentType | null;
|
|
1090
|
+
/**
|
|
1091
|
+
* Replace the severity (1–4). Affects trust factor retroactively.
|
|
1092
|
+
*/
|
|
1093
|
+
'severity'?: number | null;
|
|
1094
|
+
/**
|
|
1095
|
+
* Targets to ADD. Each entry has either a player UUID or an IP. UUID → new DIRECT player_punishment row. IP → new connection_punishment row.
|
|
1096
|
+
*/
|
|
1097
|
+
'addTargets'?: Array<AdminPunishmentTarget> | null;
|
|
1098
|
+
/**
|
|
1099
|
+
* Targets to REMOVE. UUID → soft-revoke the DIRECT player_punishment link. IP → delete the connection_punishment row outright. PROPAGATED links are not affected by this endpoint.
|
|
1100
|
+
*/
|
|
1101
|
+
'removeTargets'?: Array<AdminPunishmentTarget> | null;
|
|
1102
|
+
}
|
|
518
1103
|
/**
|
|
519
1104
|
* A single entry in a player\'s username history
|
|
520
1105
|
*/
|
|
@@ -568,9 +1153,18 @@ export interface ConnectionGetConnectionDetailsResponse {
|
|
|
568
1153
|
*/
|
|
569
1154
|
'ipAddress': string;
|
|
570
1155
|
/**
|
|
571
|
-
*
|
|
1156
|
+
* City reported by the first VPN provider that returned one for this IP. Null for localhost / private IPs or when no provider returned a city.
|
|
1157
|
+
*/
|
|
1158
|
+
'city'?: string | null;
|
|
1159
|
+
/**
|
|
1160
|
+
* Country code reported by the first VPN provider that returned one (ISO 3166-1 alpha-2 or alpha-3 depending on provider).
|
|
572
1161
|
*/
|
|
573
|
-
'
|
|
1162
|
+
'country'?: string | null;
|
|
1163
|
+
/**
|
|
1164
|
+
* **DEPRECATED.** Combined city + country string retained for clients pinned to ≤ 3.6.0. Reads as \"City, COUNTRY\" when both are present, the available one when only one is, null when neither is. Use {@link #city} and {@link #country} directly.
|
|
1165
|
+
* @deprecated
|
|
1166
|
+
*/
|
|
1167
|
+
'approximateLocation'?: string | null;
|
|
574
1168
|
/**
|
|
575
1169
|
* Confidence score representing the percentage of VPN detection services that flagged this IP as suspicious. Range: 0.0 (clean) to 100.0 (definitely VPN/proxy).
|
|
576
1170
|
*/
|
|
@@ -605,7 +1199,7 @@ export interface ConnectionGetConnectionDetailsResponse {
|
|
|
605
1199
|
'connectionResult'?: ConnectionResult | null;
|
|
606
1200
|
}
|
|
607
1201
|
/**
|
|
608
|
-
*
|
|
1202
|
+
* Final allow/deny verdict plus formatted kick message if denied.
|
|
609
1203
|
*/
|
|
610
1204
|
export interface ConnectionResult {
|
|
611
1205
|
'code': ConnectionResultResultCode;
|
|
@@ -635,6 +1229,60 @@ export interface CreateBypassRequest {
|
|
|
635
1229
|
*/
|
|
636
1230
|
'expiresAtEpoch': number;
|
|
637
1231
|
}
|
|
1232
|
+
/**
|
|
1233
|
+
* Game-server-issued peer report. Sent when a player runs /report in-game. A single report can target multiple players (\"these 3 were griefing together\"); the same reporter resubmitting the EXACT same target set while the prior report is unresolved updates it in place (response\'s deduplicated = true). Any different target set, even an overlapping one, creates a new report.
|
|
1234
|
+
*/
|
|
1235
|
+
export interface CreateReportRequest {
|
|
1236
|
+
/**
|
|
1237
|
+
* Reporter\'s UUID (the player who ran /report)
|
|
1238
|
+
*/
|
|
1239
|
+
'reporterUuid': string;
|
|
1240
|
+
/**
|
|
1241
|
+
* One or more reported player UUIDs. Duplicates within the list are de-duped server-side. The reporter MUST NOT appear in this list.
|
|
1242
|
+
*/
|
|
1243
|
+
'reportedUuids': Array<string>;
|
|
1244
|
+
/**
|
|
1245
|
+
* Category of misconduct. Coarse on purpose — staff refine in triage.
|
|
1246
|
+
*/
|
|
1247
|
+
'category': ReportCategory;
|
|
1248
|
+
/**
|
|
1249
|
+
* Free-form description from the reporter (1–500 chars)
|
|
1250
|
+
*/
|
|
1251
|
+
'reason': string;
|
|
1252
|
+
}
|
|
1253
|
+
/**
|
|
1254
|
+
* Acknowledgement that a peer report was accepted by the API.
|
|
1255
|
+
*/
|
|
1256
|
+
export interface CreateReportResponse {
|
|
1257
|
+
/**
|
|
1258
|
+
* Server-assigned report id
|
|
1259
|
+
*/
|
|
1260
|
+
'reportId': number;
|
|
1261
|
+
/**
|
|
1262
|
+
* True if an active report from this reporter against this target already existed; the row\'s reason/category were updated in place. False on first report.
|
|
1263
|
+
*/
|
|
1264
|
+
'deduplicated': boolean;
|
|
1265
|
+
}
|
|
1266
|
+
export interface CursoredPageAdminAuditLogEntry {
|
|
1267
|
+
'content': Array<AdminAuditLogEntry>;
|
|
1268
|
+
'pageable': Pageable;
|
|
1269
|
+
'pageNumber': number;
|
|
1270
|
+
'offset': number;
|
|
1271
|
+
'size': number;
|
|
1272
|
+
'empty': boolean;
|
|
1273
|
+
'numberOfElements': number;
|
|
1274
|
+
'totalSize': number;
|
|
1275
|
+
'totalPages': number;
|
|
1276
|
+
'cursors': Array<object>;
|
|
1277
|
+
}
|
|
1278
|
+
export interface CursoredPageable {
|
|
1279
|
+
'orderBy': Array<SortOrder>;
|
|
1280
|
+
'number': number;
|
|
1281
|
+
'size': number;
|
|
1282
|
+
'mode': PageableMode;
|
|
1283
|
+
'sort': Sort;
|
|
1284
|
+
'backward': boolean;
|
|
1285
|
+
}
|
|
638
1286
|
export declare const GameType: {
|
|
639
1287
|
readonly Rotj: "ROTJ";
|
|
640
1288
|
readonly Legacy: "LEGACY";
|
|
@@ -642,7 +1290,163 @@ export declare const GameType: {
|
|
|
642
1290
|
};
|
|
643
1291
|
export type GameType = typeof GameType[keyof typeof GameType];
|
|
644
1292
|
/**
|
|
645
|
-
*
|
|
1293
|
+
* Current lifecycle state.
|
|
1294
|
+
*/
|
|
1295
|
+
export declare const JobStatus: {
|
|
1296
|
+
readonly Queued: "QUEUED";
|
|
1297
|
+
readonly Running: "RUNNING";
|
|
1298
|
+
readonly Completed: "COMPLETED";
|
|
1299
|
+
readonly Failed: "FAILED";
|
|
1300
|
+
readonly Cancelled: "CANCELLED";
|
|
1301
|
+
};
|
|
1302
|
+
export type JobStatus = typeof JobStatus[keyof typeof JobStatus];
|
|
1303
|
+
export interface PageAdminAltAccount {
|
|
1304
|
+
'content': Array<AdminAltAccount>;
|
|
1305
|
+
'pageable': Pageable;
|
|
1306
|
+
'pageNumber': number;
|
|
1307
|
+
'offset': number;
|
|
1308
|
+
'size': number;
|
|
1309
|
+
'empty': boolean;
|
|
1310
|
+
'numberOfElements': number;
|
|
1311
|
+
'totalSize': number;
|
|
1312
|
+
'totalPages': number;
|
|
1313
|
+
}
|
|
1314
|
+
export interface PageAdminAltExemption {
|
|
1315
|
+
'content': Array<AdminAltExemption>;
|
|
1316
|
+
'pageable': Pageable;
|
|
1317
|
+
'pageNumber': number;
|
|
1318
|
+
'offset': number;
|
|
1319
|
+
'size': number;
|
|
1320
|
+
'empty': boolean;
|
|
1321
|
+
'numberOfElements': number;
|
|
1322
|
+
'totalSize': number;
|
|
1323
|
+
'totalPages': number;
|
|
1324
|
+
}
|
|
1325
|
+
export interface PageAdminAsyncJob {
|
|
1326
|
+
'content': Array<AdminAsyncJob>;
|
|
1327
|
+
'pageable': Pageable;
|
|
1328
|
+
'pageNumber': number;
|
|
1329
|
+
'offset': number;
|
|
1330
|
+
'size': number;
|
|
1331
|
+
'empty': boolean;
|
|
1332
|
+
'numberOfElements': number;
|
|
1333
|
+
'totalSize': number;
|
|
1334
|
+
'totalPages': number;
|
|
1335
|
+
}
|
|
1336
|
+
export interface PageAdminAuditLogEntry {
|
|
1337
|
+
'content': Array<AdminAuditLogEntry>;
|
|
1338
|
+
'pageable': Pageable;
|
|
1339
|
+
'pageNumber': number;
|
|
1340
|
+
'offset': number;
|
|
1341
|
+
'size': number;
|
|
1342
|
+
'empty': boolean;
|
|
1343
|
+
'numberOfElements': number;
|
|
1344
|
+
'totalSize': number;
|
|
1345
|
+
'totalPages': number;
|
|
1346
|
+
}
|
|
1347
|
+
export interface PageAdminDashboardConnectionResponse {
|
|
1348
|
+
'content': Array<AdminDashboardConnectionResponse>;
|
|
1349
|
+
'pageable': Pageable;
|
|
1350
|
+
'pageNumber': number;
|
|
1351
|
+
'offset': number;
|
|
1352
|
+
'size': number;
|
|
1353
|
+
'empty': boolean;
|
|
1354
|
+
'numberOfElements': number;
|
|
1355
|
+
'totalSize': number;
|
|
1356
|
+
'totalPages': number;
|
|
1357
|
+
}
|
|
1358
|
+
export interface PageAdminPlayerNote {
|
|
1359
|
+
'content': Array<AdminPlayerNote>;
|
|
1360
|
+
'pageable': Pageable;
|
|
1361
|
+
'pageNumber': number;
|
|
1362
|
+
'offset': number;
|
|
1363
|
+
'size': number;
|
|
1364
|
+
'empty': boolean;
|
|
1365
|
+
'numberOfElements': number;
|
|
1366
|
+
'totalSize': number;
|
|
1367
|
+
'totalPages': number;
|
|
1368
|
+
}
|
|
1369
|
+
export interface PageAdminPlayerPunishmentResponse {
|
|
1370
|
+
'content': Array<AdminPlayerPunishmentResponse>;
|
|
1371
|
+
'pageable': Pageable;
|
|
1372
|
+
'pageNumber': number;
|
|
1373
|
+
'offset': number;
|
|
1374
|
+
'size': number;
|
|
1375
|
+
'empty': boolean;
|
|
1376
|
+
'numberOfElements': number;
|
|
1377
|
+
'totalSize': number;
|
|
1378
|
+
'totalPages': number;
|
|
1379
|
+
}
|
|
1380
|
+
export interface PageAdminPlayerReport {
|
|
1381
|
+
'content': Array<AdminPlayerReport>;
|
|
1382
|
+
'pageable': Pageable;
|
|
1383
|
+
'pageNumber': number;
|
|
1384
|
+
'offset': number;
|
|
1385
|
+
'size': number;
|
|
1386
|
+
'empty': boolean;
|
|
1387
|
+
'numberOfElements': number;
|
|
1388
|
+
'totalSize': number;
|
|
1389
|
+
'totalPages': number;
|
|
1390
|
+
}
|
|
1391
|
+
export interface PageAdminPlayerSession {
|
|
1392
|
+
'content': Array<AdminPlayerSession>;
|
|
1393
|
+
'pageable': Pageable;
|
|
1394
|
+
'pageNumber': number;
|
|
1395
|
+
'offset': number;
|
|
1396
|
+
'size': number;
|
|
1397
|
+
'empty': boolean;
|
|
1398
|
+
'numberOfElements': number;
|
|
1399
|
+
'totalSize': number;
|
|
1400
|
+
'totalPages': number;
|
|
1401
|
+
}
|
|
1402
|
+
export interface PageAdminPlayerSummary {
|
|
1403
|
+
'content': Array<AdminPlayerSummary>;
|
|
1404
|
+
'pageable': Pageable;
|
|
1405
|
+
'pageNumber': number;
|
|
1406
|
+
'offset': number;
|
|
1407
|
+
'size': number;
|
|
1408
|
+
'empty': boolean;
|
|
1409
|
+
'numberOfElements': number;
|
|
1410
|
+
'totalSize': number;
|
|
1411
|
+
'totalPages': number;
|
|
1412
|
+
}
|
|
1413
|
+
export interface PageAdminPunishmentListItem {
|
|
1414
|
+
'content': Array<AdminPunishmentListItem>;
|
|
1415
|
+
'pageable': Pageable;
|
|
1416
|
+
'pageNumber': number;
|
|
1417
|
+
'offset': number;
|
|
1418
|
+
'size': number;
|
|
1419
|
+
'empty': boolean;
|
|
1420
|
+
'numberOfElements': number;
|
|
1421
|
+
'totalSize': number;
|
|
1422
|
+
'totalPages': number;
|
|
1423
|
+
}
|
|
1424
|
+
export interface PagePunishmentGetPunishmentResponse {
|
|
1425
|
+
'content': Array<PunishmentGetPunishmentResponse>;
|
|
1426
|
+
'pageable': Pageable;
|
|
1427
|
+
'pageNumber': number;
|
|
1428
|
+
'offset': number;
|
|
1429
|
+
'size': number;
|
|
1430
|
+
'empty': boolean;
|
|
1431
|
+
'numberOfElements': number;
|
|
1432
|
+
'totalSize': number;
|
|
1433
|
+
'totalPages': number;
|
|
1434
|
+
}
|
|
1435
|
+
export interface Pageable {
|
|
1436
|
+
'orderBy': Array<SortOrder>;
|
|
1437
|
+
'number': number;
|
|
1438
|
+
'size': number;
|
|
1439
|
+
'mode': PageableMode;
|
|
1440
|
+
'sort': Sort;
|
|
1441
|
+
}
|
|
1442
|
+
export declare const PageableMode: {
|
|
1443
|
+
readonly CursorNext: "CURSOR_NEXT";
|
|
1444
|
+
readonly CursorPrevious: "CURSOR_PREVIOUS";
|
|
1445
|
+
readonly Offset: "OFFSET";
|
|
1446
|
+
};
|
|
1447
|
+
export type PageableMode = typeof PageableMode[keyof typeof PageableMode];
|
|
1448
|
+
/**
|
|
1449
|
+
* Player information including join history, tracking data, and trust factor
|
|
646
1450
|
*/
|
|
647
1451
|
export interface PlayerGetPlayerInformation {
|
|
648
1452
|
/**
|
|
@@ -654,73 +1458,182 @@ export interface PlayerGetPlayerInformation {
|
|
|
654
1458
|
*/
|
|
655
1459
|
'firstLogin': string;
|
|
656
1460
|
/**
|
|
657
|
-
*
|
|
1461
|
+
* Trust factor (0-100, higher = more trusted). Composite signal from account age, punishment history, alts, connections, propagation, and admin affirmations. Informational only — does NOT auto-escalate punishments.
|
|
1462
|
+
*/
|
|
1463
|
+
'trustFactor': number;
|
|
1464
|
+
/**
|
|
1465
|
+
* **DEPRECATED.** The punishment-score formula was removed in 3.7.0 when trust factor replaced it. This field always serializes as 0.0 and is retained only for clients pinned to ≤ 3.6.0. Use {@link #trustFactor} instead.
|
|
1466
|
+
* @deprecated
|
|
658
1467
|
*/
|
|
659
1468
|
'punishmentPointsRaw': number;
|
|
660
1469
|
/**
|
|
661
|
-
*
|
|
1470
|
+
* **DEPRECATED.** See {@link #punishmentPointsRaw}. Always 0.0 — use trustFactor.
|
|
1471
|
+
* @deprecated
|
|
662
1472
|
*/
|
|
663
1473
|
'punishmentPointsPercent': number;
|
|
664
1474
|
}
|
|
665
1475
|
/**
|
|
666
|
-
*
|
|
1476
|
+
* Close the active player session for a (playerUuid, serverSessionId) pair. No-op if no active session is found.
|
|
667
1477
|
*/
|
|
668
|
-
export interface
|
|
669
|
-
/**
|
|
670
|
-
* Unique identifier for the punishment
|
|
671
|
-
*/
|
|
672
|
-
'id': number;
|
|
673
|
-
/**
|
|
674
|
-
* Reason for the punishment, shown to the punished player
|
|
675
|
-
*/
|
|
676
|
-
'reason': string;
|
|
1478
|
+
export interface PlayerSessionEndRequest {
|
|
677
1479
|
/**
|
|
678
|
-
*
|
|
1480
|
+
* Player Minecraft UUID
|
|
679
1481
|
*/
|
|
680
|
-
'
|
|
1482
|
+
'playerUuid': string;
|
|
681
1483
|
/**
|
|
682
|
-
*
|
|
1484
|
+
* Server session id the player was on
|
|
683
1485
|
*/
|
|
684
|
-
'
|
|
1486
|
+
'serverSessionId': string;
|
|
1487
|
+
}
|
|
1488
|
+
/**
|
|
1489
|
+
* Unified player-join request. Runs the full authorization check (VPN, bypass, punishments) and conditionally opens a player_session for the allowed players.
|
|
1490
|
+
*/
|
|
1491
|
+
export interface PlayerSessionStartRequest {
|
|
685
1492
|
/**
|
|
686
|
-
*
|
|
1493
|
+
* Player Minecraft UUID
|
|
687
1494
|
*/
|
|
688
|
-
'
|
|
1495
|
+
'playerUuid': string;
|
|
689
1496
|
/**
|
|
690
|
-
*
|
|
1497
|
+
* Server session id this player is on (from /v1/servers register)
|
|
691
1498
|
*/
|
|
692
|
-
'
|
|
1499
|
+
'serverSessionId': string;
|
|
693
1500
|
/**
|
|
694
|
-
*
|
|
1501
|
+
* IPv4 address the player is connecting from
|
|
695
1502
|
*/
|
|
696
|
-
'
|
|
1503
|
+
'ip': string;
|
|
697
1504
|
/**
|
|
698
|
-
*
|
|
1505
|
+
* When true, bypass any cached VPN-check result and re-run all detection services. Useful when debugging a specific connection. Defaults to false.
|
|
699
1506
|
*/
|
|
700
|
-
'
|
|
1507
|
+
'forceRecheck'?: boolean | null;
|
|
701
1508
|
}
|
|
702
1509
|
/**
|
|
703
|
-
*
|
|
1510
|
+
* Result of POST /v1/player-session/start. Always populated; session fields are null when the player was not allowed in.
|
|
704
1511
|
*/
|
|
705
|
-
export interface
|
|
1512
|
+
export interface PlayerSessionStartResponse {
|
|
706
1513
|
/**
|
|
707
|
-
*
|
|
1514
|
+
* Session row id. Null when the join was not allowed.
|
|
708
1515
|
*/
|
|
709
|
-
'
|
|
710
|
-
}
|
|
711
|
-
/**
|
|
712
|
-
* Punishment type with severity information
|
|
713
|
-
*/
|
|
714
|
-
export interface PunishmentSeveritiesResponsePunishmentTypeInfo {
|
|
1516
|
+
'sessionId'?: string | null;
|
|
715
1517
|
/**
|
|
716
|
-
*
|
|
1518
|
+
* When the session was opened (ISO-8601). For re-attached sessions this is the original start time, not now. Null when the join was not allowed.
|
|
717
1519
|
*/
|
|
718
|
-
'
|
|
1520
|
+
'startedAt'?: string | null;
|
|
719
1521
|
/**
|
|
720
|
-
*
|
|
1522
|
+
* Player Minecraft UUID
|
|
721
1523
|
*/
|
|
722
|
-
'
|
|
723
|
-
|
|
1524
|
+
'playerUuid': string;
|
|
1525
|
+
/**
|
|
1526
|
+
* Server session id the join applies to
|
|
1527
|
+
*/
|
|
1528
|
+
'serverSessionId': string;
|
|
1529
|
+
/**
|
|
1530
|
+
* Final allow/deny verdict plus formatted kick message if denied.
|
|
1531
|
+
*/
|
|
1532
|
+
'connectionResult': ConnectionResult;
|
|
1533
|
+
/**
|
|
1534
|
+
* Player\'s connecting IP, echoed from the request
|
|
1535
|
+
*/
|
|
1536
|
+
'ipAddress': string;
|
|
1537
|
+
/**
|
|
1538
|
+
* City reported by the first VPN provider that returned one. Null when no provider has city data (private IPs, localhost, sparse providers).
|
|
1539
|
+
*/
|
|
1540
|
+
'city'?: string | null;
|
|
1541
|
+
/**
|
|
1542
|
+
* Country code reported by the first VPN provider that returned one (ISO 3166-1 alpha-2 or alpha-3 depending on provider).
|
|
1543
|
+
*/
|
|
1544
|
+
'country'?: string | null;
|
|
1545
|
+
/**
|
|
1546
|
+
* Confidence score (0.0–100.0) representing what fraction of VPN detection services flagged this IP as suspicious.
|
|
1547
|
+
*/
|
|
1548
|
+
'percentPositive': number;
|
|
1549
|
+
/**
|
|
1550
|
+
* Total VPN detection services successfully queried on this IP
|
|
1551
|
+
*/
|
|
1552
|
+
'numberOfChecks': number;
|
|
1553
|
+
/**
|
|
1554
|
+
* Whether this IP has an active administrative VPN bypass
|
|
1555
|
+
*/
|
|
1556
|
+
'isBypassed': boolean;
|
|
1557
|
+
/**
|
|
1558
|
+
* Bypass expiration timestamp; null if not bypassed or bypass is permanent.
|
|
1559
|
+
*/
|
|
1560
|
+
'bypassedUntil'?: string | null;
|
|
1561
|
+
/**
|
|
1562
|
+
* Per-provider VPN check results, useful for the admin UI / debugging.
|
|
1563
|
+
*/
|
|
1564
|
+
'checkResults'?: Array<AdminConnectionCheckResult>;
|
|
1565
|
+
/**
|
|
1566
|
+
* Player info (first-join flag, first login, punishment score). Null only in edge cases where the player record could not be loaded.
|
|
1567
|
+
*/
|
|
1568
|
+
'playerInformation'?: PlayerGetPlayerInformation | null;
|
|
1569
|
+
/**
|
|
1570
|
+
* Active (non-expired, non-revoked) punishments on this player, including any that were just propagated by the join check.
|
|
1571
|
+
*/
|
|
1572
|
+
'activePunishments': Array<PunishmentGetPunishmentResponse>;
|
|
1573
|
+
/**
|
|
1574
|
+
* Aggregate session stats. Useful for game-server-side welcome messages (\"Welcome back — you\'ve played 250 hours\") or for the chat plugin to know if the player is a returning user.
|
|
1575
|
+
*/
|
|
1576
|
+
'sessionStats': AdminPlayerSessionStats;
|
|
1577
|
+
}
|
|
1578
|
+
/**
|
|
1579
|
+
* Punishment information including reason, type, creator, and expiration
|
|
1580
|
+
*/
|
|
1581
|
+
export interface PunishmentGetPunishmentResponse {
|
|
1582
|
+
/**
|
|
1583
|
+
* Unique identifier for the punishment
|
|
1584
|
+
*/
|
|
1585
|
+
'id': number;
|
|
1586
|
+
/**
|
|
1587
|
+
* Reason for the punishment, shown to the punished player
|
|
1588
|
+
*/
|
|
1589
|
+
'reason': string;
|
|
1590
|
+
/**
|
|
1591
|
+
* Internal administrator notes — not shown to the punished player
|
|
1592
|
+
*/
|
|
1593
|
+
'notes'?: string | null;
|
|
1594
|
+
/**
|
|
1595
|
+
* Type of punishment
|
|
1596
|
+
*/
|
|
1597
|
+
'type': PunishmentType;
|
|
1598
|
+
/**
|
|
1599
|
+
* Severity level (1=Minor, 2=Moderate, 3=Severe, 4=Critical)
|
|
1600
|
+
*/
|
|
1601
|
+
'severity': number;
|
|
1602
|
+
/**
|
|
1603
|
+
* Username or identifier of the person who created this punishment
|
|
1604
|
+
*/
|
|
1605
|
+
'createdBy': string;
|
|
1606
|
+
/**
|
|
1607
|
+
* Timestamp when the punishment expires (ISO-8601 format). Null for permanent punishments.
|
|
1608
|
+
*/
|
|
1609
|
+
'expiresAt'?: string | null;
|
|
1610
|
+
/**
|
|
1611
|
+
* Timestamp when the punishment was created (ISO-8601 format)
|
|
1612
|
+
*/
|
|
1613
|
+
'createdAt': string;
|
|
1614
|
+
}
|
|
1615
|
+
/**
|
|
1616
|
+
* Response containing punishment severity durations for each type
|
|
1617
|
+
*/
|
|
1618
|
+
export interface PunishmentSeveritiesResponse {
|
|
1619
|
+
/**
|
|
1620
|
+
* List of punishment types with their severity durations
|
|
1621
|
+
*/
|
|
1622
|
+
'punishmentTypes': Array<PunishmentSeveritiesResponsePunishmentTypeInfo>;
|
|
1623
|
+
}
|
|
1624
|
+
/**
|
|
1625
|
+
* Punishment type with severity information
|
|
1626
|
+
*/
|
|
1627
|
+
export interface PunishmentSeveritiesResponsePunishmentTypeInfo {
|
|
1628
|
+
/**
|
|
1629
|
+
* Type of punishment
|
|
1630
|
+
*/
|
|
1631
|
+
'type': PunishmentType;
|
|
1632
|
+
/**
|
|
1633
|
+
* List of severity levels with durations
|
|
1634
|
+
*/
|
|
1635
|
+
'severities': Array<PunishmentSeveritiesResponseSeverityInfo>;
|
|
1636
|
+
}
|
|
724
1637
|
/**
|
|
725
1638
|
* Severity level with duration information
|
|
726
1639
|
*/
|
|
@@ -734,11 +1647,22 @@ export interface PunishmentSeveritiesResponseSeverityInfo {
|
|
|
734
1647
|
*/
|
|
735
1648
|
'durationSeconds': number;
|
|
736
1649
|
}
|
|
1650
|
+
/**
|
|
1651
|
+
* How this link came to exist. DIRECT links are immutable from the link side (remove via the punishment-level delete); PROPAGATED links are revocable individually.
|
|
1652
|
+
*/
|
|
1653
|
+
export declare const PunishmentSource: {
|
|
1654
|
+
readonly Direct: "DIRECT";
|
|
1655
|
+
readonly Propagated: "PROPAGATED";
|
|
1656
|
+
};
|
|
1657
|
+
export type PunishmentSource = typeof PunishmentSource[keyof typeof PunishmentSource];
|
|
737
1658
|
export declare const PunishmentTargetType: {
|
|
738
1659
|
readonly Player: "PLAYER";
|
|
739
1660
|
readonly Connection: "CONNECTION";
|
|
740
1661
|
};
|
|
741
1662
|
export type PunishmentTargetType = typeof PunishmentTargetType[keyof typeof PunishmentTargetType];
|
|
1663
|
+
/**
|
|
1664
|
+
* Type of punishment
|
|
1665
|
+
*/
|
|
742
1666
|
export declare const PunishmentType: {
|
|
743
1667
|
readonly Ban: "BAN";
|
|
744
1668
|
readonly Mute: "MUTE";
|
|
@@ -757,6 +1681,17 @@ export declare const Region: {
|
|
|
757
1681
|
readonly Au: "AU";
|
|
758
1682
|
};
|
|
759
1683
|
export type Region = typeof Region[keyof typeof Region];
|
|
1684
|
+
/**
|
|
1685
|
+
* Category of misconduct. Coarse on purpose — staff refine in triage.
|
|
1686
|
+
*/
|
|
1687
|
+
export declare const ReportCategory: {
|
|
1688
|
+
readonly Cheating: "CHEATING";
|
|
1689
|
+
readonly Harassment: "HARASSMENT";
|
|
1690
|
+
readonly ChatAbuse: "CHAT_ABUSE";
|
|
1691
|
+
readonly Griefing: "GRIEFING";
|
|
1692
|
+
readonly Other: "OTHER";
|
|
1693
|
+
};
|
|
1694
|
+
export type ReportCategory = typeof ReportCategory[keyof typeof ReportCategory];
|
|
760
1695
|
/**
|
|
761
1696
|
* Search kind — PLAYER for UUID/username searches, IP for IP address searches
|
|
762
1697
|
*/
|
|
@@ -781,6 +1716,128 @@ export interface ServerSessionDTO {
|
|
|
781
1716
|
'endedAt'?: string | null;
|
|
782
1717
|
'online': boolean;
|
|
783
1718
|
}
|
|
1719
|
+
export interface SliceAdminAltAccount {
|
|
1720
|
+
'content': Array<AdminAltAccount>;
|
|
1721
|
+
'pageable': Pageable;
|
|
1722
|
+
'pageNumber': number;
|
|
1723
|
+
'offset': number;
|
|
1724
|
+
'size': number;
|
|
1725
|
+
'empty': boolean;
|
|
1726
|
+
'numberOfElements': number;
|
|
1727
|
+
}
|
|
1728
|
+
export interface SliceAdminAltExemption {
|
|
1729
|
+
'content': Array<AdminAltExemption>;
|
|
1730
|
+
'pageable': Pageable;
|
|
1731
|
+
'pageNumber': number;
|
|
1732
|
+
'offset': number;
|
|
1733
|
+
'size': number;
|
|
1734
|
+
'empty': boolean;
|
|
1735
|
+
'numberOfElements': number;
|
|
1736
|
+
}
|
|
1737
|
+
export interface SliceAdminAsyncJob {
|
|
1738
|
+
'content': Array<AdminAsyncJob>;
|
|
1739
|
+
'pageable': Pageable;
|
|
1740
|
+
'pageNumber': number;
|
|
1741
|
+
'offset': number;
|
|
1742
|
+
'size': number;
|
|
1743
|
+
'empty': boolean;
|
|
1744
|
+
'numberOfElements': number;
|
|
1745
|
+
}
|
|
1746
|
+
export interface SliceAdminAuditLogEntry {
|
|
1747
|
+
'content': Array<AdminAuditLogEntry>;
|
|
1748
|
+
'pageable': Pageable;
|
|
1749
|
+
'pageNumber': number;
|
|
1750
|
+
'offset': number;
|
|
1751
|
+
'size': number;
|
|
1752
|
+
'empty': boolean;
|
|
1753
|
+
'numberOfElements': number;
|
|
1754
|
+
}
|
|
1755
|
+
export interface SliceAdminDashboardConnectionResponse {
|
|
1756
|
+
'content': Array<AdminDashboardConnectionResponse>;
|
|
1757
|
+
'pageable': Pageable;
|
|
1758
|
+
'pageNumber': number;
|
|
1759
|
+
'offset': number;
|
|
1760
|
+
'size': number;
|
|
1761
|
+
'empty': boolean;
|
|
1762
|
+
'numberOfElements': number;
|
|
1763
|
+
}
|
|
1764
|
+
export interface SliceAdminPlayerNote {
|
|
1765
|
+
'content': Array<AdminPlayerNote>;
|
|
1766
|
+
'pageable': Pageable;
|
|
1767
|
+
'pageNumber': number;
|
|
1768
|
+
'offset': number;
|
|
1769
|
+
'size': number;
|
|
1770
|
+
'empty': boolean;
|
|
1771
|
+
'numberOfElements': number;
|
|
1772
|
+
}
|
|
1773
|
+
export interface SliceAdminPlayerPunishmentResponse {
|
|
1774
|
+
'content': Array<AdminPlayerPunishmentResponse>;
|
|
1775
|
+
'pageable': Pageable;
|
|
1776
|
+
'pageNumber': number;
|
|
1777
|
+
'offset': number;
|
|
1778
|
+
'size': number;
|
|
1779
|
+
'empty': boolean;
|
|
1780
|
+
'numberOfElements': number;
|
|
1781
|
+
}
|
|
1782
|
+
export interface SliceAdminPlayerReport {
|
|
1783
|
+
'content': Array<AdminPlayerReport>;
|
|
1784
|
+
'pageable': Pageable;
|
|
1785
|
+
'pageNumber': number;
|
|
1786
|
+
'offset': number;
|
|
1787
|
+
'size': number;
|
|
1788
|
+
'empty': boolean;
|
|
1789
|
+
'numberOfElements': number;
|
|
1790
|
+
}
|
|
1791
|
+
export interface SliceAdminPlayerSession {
|
|
1792
|
+
'content': Array<AdminPlayerSession>;
|
|
1793
|
+
'pageable': Pageable;
|
|
1794
|
+
'pageNumber': number;
|
|
1795
|
+
'offset': number;
|
|
1796
|
+
'size': number;
|
|
1797
|
+
'empty': boolean;
|
|
1798
|
+
'numberOfElements': number;
|
|
1799
|
+
}
|
|
1800
|
+
export interface SliceAdminPlayerSummary {
|
|
1801
|
+
'content': Array<AdminPlayerSummary>;
|
|
1802
|
+
'pageable': Pageable;
|
|
1803
|
+
'pageNumber': number;
|
|
1804
|
+
'offset': number;
|
|
1805
|
+
'size': number;
|
|
1806
|
+
'empty': boolean;
|
|
1807
|
+
'numberOfElements': number;
|
|
1808
|
+
}
|
|
1809
|
+
export interface SliceAdminPunishmentListItem {
|
|
1810
|
+
'content': Array<AdminPunishmentListItem>;
|
|
1811
|
+
'pageable': Pageable;
|
|
1812
|
+
'pageNumber': number;
|
|
1813
|
+
'offset': number;
|
|
1814
|
+
'size': number;
|
|
1815
|
+
'empty': boolean;
|
|
1816
|
+
'numberOfElements': number;
|
|
1817
|
+
}
|
|
1818
|
+
export interface SlicePunishmentGetPunishmentResponse {
|
|
1819
|
+
'content': Array<PunishmentGetPunishmentResponse>;
|
|
1820
|
+
'pageable': Pageable;
|
|
1821
|
+
'pageNumber': number;
|
|
1822
|
+
'offset': number;
|
|
1823
|
+
'size': number;
|
|
1824
|
+
'empty': boolean;
|
|
1825
|
+
'numberOfElements': number;
|
|
1826
|
+
}
|
|
1827
|
+
export interface Sort {
|
|
1828
|
+
'orderBy': Array<SortOrder>;
|
|
1829
|
+
}
|
|
1830
|
+
export interface SortOrder {
|
|
1831
|
+
'ignoreCase': boolean;
|
|
1832
|
+
'direction': SortOrderDirection;
|
|
1833
|
+
'property': string;
|
|
1834
|
+
'ascending': boolean;
|
|
1835
|
+
}
|
|
1836
|
+
export declare const SortOrderDirection: {
|
|
1837
|
+
readonly Asc: "ASC";
|
|
1838
|
+
readonly Desc: "DESC";
|
|
1839
|
+
};
|
|
1840
|
+
export type SortOrderDirection = typeof SortOrderDirection[keyof typeof SortOrderDirection];
|
|
784
1841
|
export interface TokenRequest {
|
|
785
1842
|
'grant_type'?: string | null;
|
|
786
1843
|
'client_id'?: string | null;
|
|
@@ -807,6 +1864,122 @@ export interface UserProfileResponse {
|
|
|
807
1864
|
'roles': Array<string>;
|
|
808
1865
|
'discordRoles': Array<string>;
|
|
809
1866
|
}
|
|
1867
|
+
/**
|
|
1868
|
+
* AdminAuditLogApi - axios parameter creator
|
|
1869
|
+
*/
|
|
1870
|
+
export declare const AdminAuditLogApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
1871
|
+
/**
|
|
1872
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1873
|
+
* @summary Search the admin audit log
|
|
1874
|
+
* @param {Pageable} pageable
|
|
1875
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1876
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1877
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1878
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
1879
|
+
* @param {*} [options] Override http request option.
|
|
1880
|
+
* @throws {RequiredError}
|
|
1881
|
+
*/
|
|
1882
|
+
search: (pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1883
|
+
/**
|
|
1884
|
+
* Cursor-based companion to GET /admin/audit-log. Preferred for the admin UI\'s infinite-scroll view of the audit log because the SQL plan stays flat as the table grows — offset pagination degrades linearly with depth, this does not. Pass the {@code cursor} returned in the previous response to get the next page; omit it for the first page.
|
|
1885
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1886
|
+
* @param {CursoredPageable} pageable
|
|
1887
|
+
* @param {string | null} [actor]
|
|
1888
|
+
* @param {string | null} [action]
|
|
1889
|
+
* @param {string | null} [targetType]
|
|
1890
|
+
* @param {string | null} [targetId]
|
|
1891
|
+
* @param {*} [options] Override http request option.
|
|
1892
|
+
* @throws {RequiredError}
|
|
1893
|
+
*/
|
|
1894
|
+
searchCursor: (pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1895
|
+
};
|
|
1896
|
+
/**
|
|
1897
|
+
* AdminAuditLogApi - functional programming interface
|
|
1898
|
+
*/
|
|
1899
|
+
export declare const AdminAuditLogApiFp: (configuration?: Configuration) => {
|
|
1900
|
+
/**
|
|
1901
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1902
|
+
* @summary Search the admin audit log
|
|
1903
|
+
* @param {Pageable} pageable
|
|
1904
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1905
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1906
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1907
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
1908
|
+
* @param {*} [options] Override http request option.
|
|
1909
|
+
* @throws {RequiredError}
|
|
1910
|
+
*/
|
|
1911
|
+
search(pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAuditLogEntry>>;
|
|
1912
|
+
/**
|
|
1913
|
+
* Cursor-based companion to GET /admin/audit-log. Preferred for the admin UI\'s infinite-scroll view of the audit log because the SQL plan stays flat as the table grows — offset pagination degrades linearly with depth, this does not. Pass the {@code cursor} returned in the previous response to get the next page; omit it for the first page.
|
|
1914
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1915
|
+
* @param {CursoredPageable} pageable
|
|
1916
|
+
* @param {string | null} [actor]
|
|
1917
|
+
* @param {string | null} [action]
|
|
1918
|
+
* @param {string | null} [targetType]
|
|
1919
|
+
* @param {string | null} [targetId]
|
|
1920
|
+
* @param {*} [options] Override http request option.
|
|
1921
|
+
* @throws {RequiredError}
|
|
1922
|
+
*/
|
|
1923
|
+
searchCursor(pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CursoredPageAdminAuditLogEntry>>;
|
|
1924
|
+
};
|
|
1925
|
+
/**
|
|
1926
|
+
* AdminAuditLogApi - factory interface
|
|
1927
|
+
*/
|
|
1928
|
+
export declare const AdminAuditLogApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
1929
|
+
/**
|
|
1930
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1931
|
+
* @summary Search the admin audit log
|
|
1932
|
+
* @param {Pageable} pageable
|
|
1933
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1934
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1935
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1936
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
1937
|
+
* @param {*} [options] Override http request option.
|
|
1938
|
+
* @throws {RequiredError}
|
|
1939
|
+
*/
|
|
1940
|
+
search(pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAuditLogEntry>;
|
|
1941
|
+
/**
|
|
1942
|
+
* Cursor-based companion to GET /admin/audit-log. Preferred for the admin UI\'s infinite-scroll view of the audit log because the SQL plan stays flat as the table grows — offset pagination degrades linearly with depth, this does not. Pass the {@code cursor} returned in the previous response to get the next page; omit it for the first page.
|
|
1943
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1944
|
+
* @param {CursoredPageable} pageable
|
|
1945
|
+
* @param {string | null} [actor]
|
|
1946
|
+
* @param {string | null} [action]
|
|
1947
|
+
* @param {string | null} [targetType]
|
|
1948
|
+
* @param {string | null} [targetId]
|
|
1949
|
+
* @param {*} [options] Override http request option.
|
|
1950
|
+
* @throws {RequiredError}
|
|
1951
|
+
*/
|
|
1952
|
+
searchCursor(pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<CursoredPageAdminAuditLogEntry>;
|
|
1953
|
+
};
|
|
1954
|
+
/**
|
|
1955
|
+
* AdminAuditLogApi - object-oriented interface
|
|
1956
|
+
*/
|
|
1957
|
+
export declare class AdminAuditLogApi extends BaseAPI {
|
|
1958
|
+
/**
|
|
1959
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1960
|
+
* @summary Search the admin audit log
|
|
1961
|
+
* @param {Pageable} pageable
|
|
1962
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1963
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1964
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1965
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
1966
|
+
* @param {*} [options] Override http request option.
|
|
1967
|
+
* @throws {RequiredError}
|
|
1968
|
+
*/
|
|
1969
|
+
search(pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAuditLogEntry, any, {}>>;
|
|
1970
|
+
/**
|
|
1971
|
+
* Cursor-based companion to GET /admin/audit-log. Preferred for the admin UI\'s infinite-scroll view of the audit log because the SQL plan stays flat as the table grows — offset pagination degrades linearly with depth, this does not. Pass the {@code cursor} returned in the previous response to get the next page; omit it for the first page.
|
|
1972
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1973
|
+
* @param {CursoredPageable} pageable
|
|
1974
|
+
* @param {string | null} [actor]
|
|
1975
|
+
* @param {string | null} [action]
|
|
1976
|
+
* @param {string | null} [targetType]
|
|
1977
|
+
* @param {string | null} [targetId]
|
|
1978
|
+
* @param {*} [options] Override http request option.
|
|
1979
|
+
* @throws {RequiredError}
|
|
1980
|
+
*/
|
|
1981
|
+
searchCursor(pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CursoredPageAdminAuditLogEntry, any, {}>>;
|
|
1982
|
+
}
|
|
810
1983
|
/**
|
|
811
1984
|
* AdminClientCredentialsApi - axios parameter creator
|
|
812
1985
|
*/
|
|
@@ -1056,8 +2229,8 @@ export declare class AdminClientCredentialsApi extends BaseAPI {
|
|
|
1056
2229
|
*/
|
|
1057
2230
|
export declare const AdminConnectionsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
1058
2231
|
/**
|
|
1059
|
-
*
|
|
1060
|
-
* @summary
|
|
2232
|
+
* Submits an async job that iterates every connection_check row missing both city and country and re-runs its source VPN service to populate location data. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final {@code Admin_BackfillLocationResponse} (processed/succeeded/failed counts) lands in the job\'s {@code result_payload} on COMPLETED.
|
|
2233
|
+
* @summary Start a location backfill job
|
|
1061
2234
|
* @param {*} [options] Override http request option.
|
|
1062
2235
|
* @throws {RequiredError}
|
|
1063
2236
|
*/
|
|
@@ -1070,32 +2243,49 @@ export declare const AdminConnectionsApiAxiosParamCreator: (configuration?: Conf
|
|
|
1070
2243
|
* @throws {RequiredError}
|
|
1071
2244
|
*/
|
|
1072
2245
|
createBypass: (createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2246
|
+
/**
|
|
2247
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2248
|
+
* @summary Get connection detail
|
|
2249
|
+
* @param {number} id
|
|
2250
|
+
* @param {*} [options] Override http request option.
|
|
2251
|
+
* @throws {RequiredError}
|
|
2252
|
+
*/
|
|
2253
|
+
getConnection: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2254
|
+
/**
|
|
2255
|
+
* Paginated list of every player ever seen on this connection, with punishment scoring inline. Suitable for an infinite-scroll panel inside the connection detail modal.
|
|
2256
|
+
* @summary List players who have used this connection
|
|
2257
|
+
* @param {number} id
|
|
2258
|
+
* @param {Pageable} pageable
|
|
2259
|
+
* @param {*} [options] Override http request option.
|
|
2260
|
+
* @throws {RequiredError}
|
|
2261
|
+
*/
|
|
2262
|
+
getConnectionPlayers: (id: number, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1073
2263
|
/**
|
|
1074
2264
|
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
1075
2265
|
* @summary List all connections (paginated)
|
|
1076
|
-
* @param {
|
|
1077
|
-
* @param {
|
|
1078
|
-
* @param {
|
|
1079
|
-
* @param {
|
|
1080
|
-
* @param {
|
|
2266
|
+
* @param {Pageable} pageable
|
|
2267
|
+
* @param {number | null} [createdAfter]
|
|
2268
|
+
* @param {number | null} [createdBefore]
|
|
2269
|
+
* @param {string | null} [ipAddress]
|
|
2270
|
+
* @param {string | null} [uuid]
|
|
2271
|
+
* @param {boolean | null} [isVpn]
|
|
1081
2272
|
* @param {*} [options] Override http request option.
|
|
1082
2273
|
* @throws {RequiredError}
|
|
1083
2274
|
*/
|
|
1084
|
-
listAllConnections: (
|
|
2275
|
+
listAllConnections: (pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1085
2276
|
/**
|
|
1086
2277
|
* Returns a list of recent connections with VPN detection status, bypass information, and associated player data. Optionally filter by epoch timestamp (seconds since Unix epoch).
|
|
1087
2278
|
* @summary List recent connections
|
|
1088
|
-
* @param {
|
|
1089
|
-
* @param {number | null} [
|
|
1090
|
-
* @param {
|
|
1091
|
-
* @param {string | null} [
|
|
1092
|
-
* @param {
|
|
1093
|
-
* @param {
|
|
1094
|
-
* @param {number | null} [limit] Maximum number of records to return
|
|
2279
|
+
* @param {Pageable} pageable
|
|
2280
|
+
* @param {number | null} [createdAfter]
|
|
2281
|
+
* @param {number | null} [createdBefore]
|
|
2282
|
+
* @param {string | null} [ipAddress]
|
|
2283
|
+
* @param {string | null} [uuid]
|
|
2284
|
+
* @param {boolean | null} [isVpn]
|
|
1095
2285
|
* @param {*} [options] Override http request option.
|
|
1096
2286
|
* @throws {RequiredError}
|
|
1097
2287
|
*/
|
|
1098
|
-
listConnections: (createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null,
|
|
2288
|
+
listConnections: (pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1099
2289
|
/**
|
|
1100
2290
|
* Re-runs one named VPN detection service for a specific connection, persists the updated result, and recalculates the connection\'s overall `percentPositive` and `numberOfChecks` from all stored checks. Returns the refreshed check result including its new `checkedAt` timestamp.
|
|
1101
2291
|
* @summary Refresh a single VPN check
|
|
@@ -1111,12 +2301,12 @@ export declare const AdminConnectionsApiAxiosParamCreator: (configuration?: Conf
|
|
|
1111
2301
|
*/
|
|
1112
2302
|
export declare const AdminConnectionsApiFp: (configuration?: Configuration) => {
|
|
1113
2303
|
/**
|
|
1114
|
-
*
|
|
1115
|
-
* @summary
|
|
2304
|
+
* Submits an async job that iterates every connection_check row missing both city and country and re-runs its source VPN service to populate location data. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final {@code Admin_BackfillLocationResponse} (processed/succeeded/failed counts) lands in the job\'s {@code result_payload} on COMPLETED.
|
|
2305
|
+
* @summary Start a location backfill job
|
|
1116
2306
|
* @param {*} [options] Override http request option.
|
|
1117
2307
|
* @throws {RequiredError}
|
|
1118
2308
|
*/
|
|
1119
|
-
backfillLocation(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<
|
|
2309
|
+
backfillLocation(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJobStartResponse>>;
|
|
1120
2310
|
/**
|
|
1121
2311
|
* Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
|
|
1122
2312
|
* @summary Create connection bypass
|
|
@@ -1125,32 +2315,49 @@ export declare const AdminConnectionsApiFp: (configuration?: Configuration) => {
|
|
|
1125
2315
|
* @throws {RequiredError}
|
|
1126
2316
|
*/
|
|
1127
2317
|
createBypass(createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminConnectionBypassResponse>>;
|
|
2318
|
+
/**
|
|
2319
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2320
|
+
* @summary Get connection detail
|
|
2321
|
+
* @param {number} id
|
|
2322
|
+
* @param {*} [options] Override http request option.
|
|
2323
|
+
* @throws {RequiredError}
|
|
2324
|
+
*/
|
|
2325
|
+
getConnection(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminDashboardConnectionResponse>>;
|
|
2326
|
+
/**
|
|
2327
|
+
* Paginated list of every player ever seen on this connection, with punishment scoring inline. Suitable for an infinite-scroll panel inside the connection detail modal.
|
|
2328
|
+
* @summary List players who have used this connection
|
|
2329
|
+
* @param {number} id
|
|
2330
|
+
* @param {Pageable} pageable
|
|
2331
|
+
* @param {*} [options] Override http request option.
|
|
2332
|
+
* @throws {RequiredError}
|
|
2333
|
+
*/
|
|
2334
|
+
getConnectionPlayers(id: number, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerSummary>>;
|
|
1128
2335
|
/**
|
|
1129
2336
|
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
1130
2337
|
* @summary List all connections (paginated)
|
|
1131
|
-
* @param {
|
|
1132
|
-
* @param {
|
|
1133
|
-
* @param {
|
|
1134
|
-
* @param {
|
|
1135
|
-
* @param {
|
|
2338
|
+
* @param {Pageable} pageable
|
|
2339
|
+
* @param {number | null} [createdAfter]
|
|
2340
|
+
* @param {number | null} [createdBefore]
|
|
2341
|
+
* @param {string | null} [ipAddress]
|
|
2342
|
+
* @param {string | null} [uuid]
|
|
2343
|
+
* @param {boolean | null} [isVpn]
|
|
1136
2344
|
* @param {*} [options] Override http request option.
|
|
1137
2345
|
* @throws {RequiredError}
|
|
1138
2346
|
*/
|
|
1139
|
-
listAllConnections(
|
|
2347
|
+
listAllConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminDashboardConnectionResponse>>;
|
|
1140
2348
|
/**
|
|
1141
2349
|
* Returns a list of recent connections with VPN detection status, bypass information, and associated player data. Optionally filter by epoch timestamp (seconds since Unix epoch).
|
|
1142
2350
|
* @summary List recent connections
|
|
1143
|
-
* @param {
|
|
1144
|
-
* @param {number | null} [
|
|
1145
|
-
* @param {
|
|
1146
|
-
* @param {string | null} [
|
|
1147
|
-
* @param {
|
|
1148
|
-
* @param {
|
|
1149
|
-
* @param {number | null} [limit] Maximum number of records to return
|
|
2351
|
+
* @param {Pageable} pageable
|
|
2352
|
+
* @param {number | null} [createdAfter]
|
|
2353
|
+
* @param {number | null} [createdBefore]
|
|
2354
|
+
* @param {string | null} [ipAddress]
|
|
2355
|
+
* @param {string | null} [uuid]
|
|
2356
|
+
* @param {boolean | null} [isVpn]
|
|
1150
2357
|
* @param {*} [options] Override http request option.
|
|
1151
2358
|
* @throws {RequiredError}
|
|
1152
2359
|
*/
|
|
1153
|
-
listConnections(createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null,
|
|
2360
|
+
listConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<AdminDashboardConnectionResponse>>>;
|
|
1154
2361
|
/**
|
|
1155
2362
|
* Re-runs one named VPN detection service for a specific connection, persists the updated result, and recalculates the connection\'s overall `percentPositive` and `numberOfChecks` from all stored checks. Returns the refreshed check result including its new `checkedAt` timestamp.
|
|
1156
2363
|
* @summary Refresh a single VPN check
|
|
@@ -1166,12 +2373,12 @@ export declare const AdminConnectionsApiFp: (configuration?: Configuration) => {
|
|
|
1166
2373
|
*/
|
|
1167
2374
|
export declare const AdminConnectionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
1168
2375
|
/**
|
|
1169
|
-
*
|
|
1170
|
-
* @summary
|
|
2376
|
+
* Submits an async job that iterates every connection_check row missing both city and country and re-runs its source VPN service to populate location data. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final {@code Admin_BackfillLocationResponse} (processed/succeeded/failed counts) lands in the job\'s {@code result_payload} on COMPLETED.
|
|
2377
|
+
* @summary Start a location backfill job
|
|
1171
2378
|
* @param {*} [options] Override http request option.
|
|
1172
2379
|
* @throws {RequiredError}
|
|
1173
2380
|
*/
|
|
1174
|
-
backfillLocation(options?: RawAxiosRequestConfig): AxiosPromise<
|
|
2381
|
+
backfillLocation(options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJobStartResponse>;
|
|
1175
2382
|
/**
|
|
1176
2383
|
* Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
|
|
1177
2384
|
* @summary Create connection bypass
|
|
@@ -1180,32 +2387,49 @@ export declare const AdminConnectionsApiFactory: (configuration?: Configuration,
|
|
|
1180
2387
|
* @throws {RequiredError}
|
|
1181
2388
|
*/
|
|
1182
2389
|
createBypass(createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminConnectionBypassResponse>;
|
|
2390
|
+
/**
|
|
2391
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2392
|
+
* @summary Get connection detail
|
|
2393
|
+
* @param {number} id
|
|
2394
|
+
* @param {*} [options] Override http request option.
|
|
2395
|
+
* @throws {RequiredError}
|
|
2396
|
+
*/
|
|
2397
|
+
getConnection(id: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminDashboardConnectionResponse>;
|
|
2398
|
+
/**
|
|
2399
|
+
* Paginated list of every player ever seen on this connection, with punishment scoring inline. Suitable for an infinite-scroll panel inside the connection detail modal.
|
|
2400
|
+
* @summary List players who have used this connection
|
|
2401
|
+
* @param {number} id
|
|
2402
|
+
* @param {Pageable} pageable
|
|
2403
|
+
* @param {*} [options] Override http request option.
|
|
2404
|
+
* @throws {RequiredError}
|
|
2405
|
+
*/
|
|
2406
|
+
getConnectionPlayers(id: number, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerSummary>;
|
|
1183
2407
|
/**
|
|
1184
2408
|
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
1185
2409
|
* @summary List all connections (paginated)
|
|
1186
|
-
* @param {
|
|
1187
|
-
* @param {
|
|
1188
|
-
* @param {
|
|
1189
|
-
* @param {
|
|
1190
|
-
* @param {
|
|
2410
|
+
* @param {Pageable} pageable
|
|
2411
|
+
* @param {number | null} [createdAfter]
|
|
2412
|
+
* @param {number | null} [createdBefore]
|
|
2413
|
+
* @param {string | null} [ipAddress]
|
|
2414
|
+
* @param {string | null} [uuid]
|
|
2415
|
+
* @param {boolean | null} [isVpn]
|
|
1191
2416
|
* @param {*} [options] Override http request option.
|
|
1192
2417
|
* @throws {RequiredError}
|
|
1193
2418
|
*/
|
|
1194
|
-
listAllConnections(
|
|
2419
|
+
listAllConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminDashboardConnectionResponse>;
|
|
1195
2420
|
/**
|
|
1196
2421
|
* Returns a list of recent connections with VPN detection status, bypass information, and associated player data. Optionally filter by epoch timestamp (seconds since Unix epoch).
|
|
1197
2422
|
* @summary List recent connections
|
|
1198
|
-
* @param {
|
|
1199
|
-
* @param {number | null} [
|
|
1200
|
-
* @param {
|
|
1201
|
-
* @param {string | null} [
|
|
1202
|
-
* @param {
|
|
1203
|
-
* @param {
|
|
1204
|
-
* @param {number | null} [limit] Maximum number of records to return
|
|
2423
|
+
* @param {Pageable} pageable
|
|
2424
|
+
* @param {number | null} [createdAfter]
|
|
2425
|
+
* @param {number | null} [createdBefore]
|
|
2426
|
+
* @param {string | null} [ipAddress]
|
|
2427
|
+
* @param {string | null} [uuid]
|
|
2428
|
+
* @param {boolean | null} [isVpn]
|
|
1205
2429
|
* @param {*} [options] Override http request option.
|
|
1206
2430
|
* @throws {RequiredError}
|
|
1207
2431
|
*/
|
|
1208
|
-
listConnections(createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null,
|
|
2432
|
+
listConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): AxiosPromise<Array<AdminDashboardConnectionResponse>>;
|
|
1209
2433
|
/**
|
|
1210
2434
|
* Re-runs one named VPN detection service for a specific connection, persists the updated result, and recalculates the connection\'s overall `percentPositive` and `numberOfChecks` from all stored checks. Returns the refreshed check result including its new `checkedAt` timestamp.
|
|
1211
2435
|
* @summary Refresh a single VPN check
|
|
@@ -1221,12 +2445,12 @@ export declare const AdminConnectionsApiFactory: (configuration?: Configuration,
|
|
|
1221
2445
|
*/
|
|
1222
2446
|
export declare class AdminConnectionsApi extends BaseAPI {
|
|
1223
2447
|
/**
|
|
1224
|
-
*
|
|
1225
|
-
* @summary
|
|
2448
|
+
* Submits an async job that iterates every connection_check row missing both city and country and re-runs its source VPN service to populate location data. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final {@code Admin_BackfillLocationResponse} (processed/succeeded/failed counts) lands in the job\'s {@code result_payload} on COMPLETED.
|
|
2449
|
+
* @summary Start a location backfill job
|
|
1226
2450
|
* @param {*} [options] Override http request option.
|
|
1227
2451
|
* @throws {RequiredError}
|
|
1228
2452
|
*/
|
|
1229
|
-
backfillLocation(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<
|
|
2453
|
+
backfillLocation(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminAsyncJobStartResponse, any, {}>>;
|
|
1230
2454
|
/**
|
|
1231
2455
|
* Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
|
|
1232
2456
|
* @summary Create connection bypass
|
|
@@ -1235,181 +2459,974 @@ export declare class AdminConnectionsApi extends BaseAPI {
|
|
|
1235
2459
|
* @throws {RequiredError}
|
|
1236
2460
|
*/
|
|
1237
2461
|
createBypass(createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminConnectionBypassResponse, any, {}>>;
|
|
2462
|
+
/**
|
|
2463
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2464
|
+
* @summary Get connection detail
|
|
2465
|
+
* @param {number} id
|
|
2466
|
+
* @param {*} [options] Override http request option.
|
|
2467
|
+
* @throws {RequiredError}
|
|
2468
|
+
*/
|
|
2469
|
+
getConnection(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminDashboardConnectionResponse, any, {}>>;
|
|
2470
|
+
/**
|
|
2471
|
+
* Paginated list of every player ever seen on this connection, with punishment scoring inline. Suitable for an infinite-scroll panel inside the connection detail modal.
|
|
2472
|
+
* @summary List players who have used this connection
|
|
2473
|
+
* @param {number} id
|
|
2474
|
+
* @param {Pageable} pageable
|
|
2475
|
+
* @param {*} [options] Override http request option.
|
|
2476
|
+
* @throws {RequiredError}
|
|
2477
|
+
*/
|
|
2478
|
+
getConnectionPlayers(id: number, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerSummary, any, {}>>;
|
|
1238
2479
|
/**
|
|
1239
2480
|
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
1240
2481
|
* @summary List all connections (paginated)
|
|
1241
|
-
* @param {
|
|
1242
|
-
* @param {
|
|
1243
|
-
* @param {
|
|
1244
|
-
* @param {
|
|
1245
|
-
* @param {
|
|
2482
|
+
* @param {Pageable} pageable
|
|
2483
|
+
* @param {number | null} [createdAfter]
|
|
2484
|
+
* @param {number | null} [createdBefore]
|
|
2485
|
+
* @param {string | null} [ipAddress]
|
|
2486
|
+
* @param {string | null} [uuid]
|
|
2487
|
+
* @param {boolean | null} [isVpn]
|
|
1246
2488
|
* @param {*} [options] Override http request option.
|
|
1247
2489
|
* @throws {RequiredError}
|
|
1248
2490
|
*/
|
|
1249
|
-
listAllConnections(
|
|
2491
|
+
listAllConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminDashboardConnectionResponse, any, {}>>;
|
|
1250
2492
|
/**
|
|
1251
2493
|
* Returns a list of recent connections with VPN detection status, bypass information, and associated player data. Optionally filter by epoch timestamp (seconds since Unix epoch).
|
|
1252
2494
|
* @summary List recent connections
|
|
1253
|
-
* @param {
|
|
1254
|
-
* @param {number | null} [
|
|
1255
|
-
* @param {
|
|
1256
|
-
* @param {string | null} [
|
|
1257
|
-
* @param {
|
|
1258
|
-
* @param {
|
|
1259
|
-
* @param {
|
|
2495
|
+
* @param {Pageable} pageable
|
|
2496
|
+
* @param {number | null} [createdAfter]
|
|
2497
|
+
* @param {number | null} [createdBefore]
|
|
2498
|
+
* @param {string | null} [ipAddress]
|
|
2499
|
+
* @param {string | null} [uuid]
|
|
2500
|
+
* @param {boolean | null} [isVpn]
|
|
2501
|
+
* @param {*} [options] Override http request option.
|
|
2502
|
+
* @throws {RequiredError}
|
|
2503
|
+
*/
|
|
2504
|
+
listConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminDashboardConnectionResponse[], any, {}>>;
|
|
2505
|
+
/**
|
|
2506
|
+
* Re-runs one named VPN detection service for a specific connection, persists the updated result, and recalculates the connection\'s overall `percentPositive` and `numberOfChecks` from all stored checks. Returns the refreshed check result including its new `checkedAt` timestamp.
|
|
2507
|
+
* @summary Refresh a single VPN check
|
|
2508
|
+
* @param {number} connectionId
|
|
2509
|
+
* @param {string} service
|
|
2510
|
+
* @param {*} [options] Override http request option.
|
|
2511
|
+
* @throws {RequiredError}
|
|
2512
|
+
*/
|
|
2513
|
+
recheckService(connectionId: number, service: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminConnectionCheckResult, any, {}>>;
|
|
2514
|
+
}
|
|
2515
|
+
/**
|
|
2516
|
+
* AdminDashboardApi - axios parameter creator
|
|
2517
|
+
*/
|
|
2518
|
+
export declare const AdminDashboardApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
2519
|
+
/**
|
|
2520
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2521
|
+
* @summary Get dashboard statistics
|
|
2522
|
+
* @param {*} [options] Override http request option.
|
|
2523
|
+
* @throws {RequiredError}
|
|
2524
|
+
*/
|
|
2525
|
+
dashboardStats: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2526
|
+
};
|
|
2527
|
+
/**
|
|
2528
|
+
* AdminDashboardApi - functional programming interface
|
|
2529
|
+
*/
|
|
2530
|
+
export declare const AdminDashboardApiFp: (configuration?: Configuration) => {
|
|
2531
|
+
/**
|
|
2532
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2533
|
+
* @summary Get dashboard statistics
|
|
2534
|
+
* @param {*} [options] Override http request option.
|
|
2535
|
+
* @throws {RequiredError}
|
|
2536
|
+
*/
|
|
2537
|
+
dashboardStats(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminGetDashboardStats>>;
|
|
2538
|
+
};
|
|
2539
|
+
/**
|
|
2540
|
+
* AdminDashboardApi - factory interface
|
|
2541
|
+
*/
|
|
2542
|
+
export declare const AdminDashboardApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
2543
|
+
/**
|
|
2544
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2545
|
+
* @summary Get dashboard statistics
|
|
2546
|
+
* @param {*} [options] Override http request option.
|
|
2547
|
+
* @throws {RequiredError}
|
|
2548
|
+
*/
|
|
2549
|
+
dashboardStats(options?: RawAxiosRequestConfig): AxiosPromise<AdminGetDashboardStats>;
|
|
2550
|
+
};
|
|
2551
|
+
/**
|
|
2552
|
+
* AdminDashboardApi - object-oriented interface
|
|
2553
|
+
*/
|
|
2554
|
+
export declare class AdminDashboardApi extends BaseAPI {
|
|
2555
|
+
/**
|
|
2556
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2557
|
+
* @summary Get dashboard statistics
|
|
2558
|
+
* @param {*} [options] Override http request option.
|
|
2559
|
+
* @throws {RequiredError}
|
|
2560
|
+
*/
|
|
2561
|
+
dashboardStats(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminGetDashboardStats, any, {}>>;
|
|
2562
|
+
}
|
|
2563
|
+
/**
|
|
2564
|
+
* AdminJobsApi - axios parameter creator
|
|
2565
|
+
*/
|
|
2566
|
+
export declare const AdminJobsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
2567
|
+
/**
|
|
2568
|
+
* Flips cancel_requested on the row. The host instance sees this at its next progress tick and bails out, transitioning the row to CANCELLED. Already-terminal jobs (COMPLETED/FAILED/CANCELLED) return 404.
|
|
2569
|
+
* @summary Request cancellation of an async job
|
|
2570
|
+
* @param {string} id Job id
|
|
2571
|
+
* @param {*} [options] Override http request option.
|
|
2572
|
+
* @throws {RequiredError}
|
|
2573
|
+
*/
|
|
2574
|
+
cancel: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2575
|
+
/**
|
|
2576
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
2577
|
+
* @summary Download a job\'s CSV artifact
|
|
2578
|
+
* @param {string} id Job id
|
|
2579
|
+
* @param {*} [options] Override http request option.
|
|
2580
|
+
* @throws {RequiredError}
|
|
2581
|
+
*/
|
|
2582
|
+
downloadArtifact: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2583
|
+
/**
|
|
2584
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2585
|
+
* @summary Get one async job
|
|
2586
|
+
* @param {string} id Job id
|
|
2587
|
+
* @param {*} [options] Override http request option.
|
|
2588
|
+
* @throws {RequiredError}
|
|
2589
|
+
*/
|
|
2590
|
+
get: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2591
|
+
/**
|
|
2592
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2593
|
+
* @summary List async jobs
|
|
2594
|
+
* @param {Pageable} pageable
|
|
2595
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2596
|
+
* @param {*} [options] Override http request option.
|
|
2597
|
+
* @throws {RequiredError}
|
|
2598
|
+
*/
|
|
2599
|
+
list: (pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2600
|
+
};
|
|
2601
|
+
/**
|
|
2602
|
+
* AdminJobsApi - functional programming interface
|
|
2603
|
+
*/
|
|
2604
|
+
export declare const AdminJobsApiFp: (configuration?: Configuration) => {
|
|
2605
|
+
/**
|
|
2606
|
+
* Flips cancel_requested on the row. The host instance sees this at its next progress tick and bails out, transitioning the row to CANCELLED. Already-terminal jobs (COMPLETED/FAILED/CANCELLED) return 404.
|
|
2607
|
+
* @summary Request cancellation of an async job
|
|
2608
|
+
* @param {string} id Job id
|
|
2609
|
+
* @param {*} [options] Override http request option.
|
|
2610
|
+
* @throws {RequiredError}
|
|
2611
|
+
*/
|
|
2612
|
+
cancel(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2613
|
+
/**
|
|
2614
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
2615
|
+
* @summary Download a job\'s CSV artifact
|
|
2616
|
+
* @param {string} id Job id
|
|
2617
|
+
* @param {*} [options] Override http request option.
|
|
2618
|
+
* @throws {RequiredError}
|
|
2619
|
+
*/
|
|
2620
|
+
downloadArtifact(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
|
|
2621
|
+
/**
|
|
2622
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2623
|
+
* @summary Get one async job
|
|
2624
|
+
* @param {string} id Job id
|
|
2625
|
+
* @param {*} [options] Override http request option.
|
|
2626
|
+
* @throws {RequiredError}
|
|
2627
|
+
*/
|
|
2628
|
+
get(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJob>>;
|
|
2629
|
+
/**
|
|
2630
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2631
|
+
* @summary List async jobs
|
|
2632
|
+
* @param {Pageable} pageable
|
|
2633
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2634
|
+
* @param {*} [options] Override http request option.
|
|
2635
|
+
* @throws {RequiredError}
|
|
2636
|
+
*/
|
|
2637
|
+
list(pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAsyncJob>>;
|
|
2638
|
+
};
|
|
2639
|
+
/**
|
|
2640
|
+
* AdminJobsApi - factory interface
|
|
2641
|
+
*/
|
|
2642
|
+
export declare const AdminJobsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
2643
|
+
/**
|
|
2644
|
+
* Flips cancel_requested on the row. The host instance sees this at its next progress tick and bails out, transitioning the row to CANCELLED. Already-terminal jobs (COMPLETED/FAILED/CANCELLED) return 404.
|
|
2645
|
+
* @summary Request cancellation of an async job
|
|
2646
|
+
* @param {string} id Job id
|
|
2647
|
+
* @param {*} [options] Override http request option.
|
|
2648
|
+
* @throws {RequiredError}
|
|
2649
|
+
*/
|
|
2650
|
+
cancel(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
2651
|
+
/**
|
|
2652
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
2653
|
+
* @summary Download a job\'s CSV artifact
|
|
2654
|
+
* @param {string} id Job id
|
|
2655
|
+
* @param {*} [options] Override http request option.
|
|
2656
|
+
* @throws {RequiredError}
|
|
2657
|
+
*/
|
|
2658
|
+
downloadArtifact(id: string, options?: RawAxiosRequestConfig): AxiosPromise<string>;
|
|
2659
|
+
/**
|
|
2660
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2661
|
+
* @summary Get one async job
|
|
2662
|
+
* @param {string} id Job id
|
|
2663
|
+
* @param {*} [options] Override http request option.
|
|
2664
|
+
* @throws {RequiredError}
|
|
2665
|
+
*/
|
|
2666
|
+
get(id: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJob>;
|
|
2667
|
+
/**
|
|
2668
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2669
|
+
* @summary List async jobs
|
|
2670
|
+
* @param {Pageable} pageable
|
|
2671
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2672
|
+
* @param {*} [options] Override http request option.
|
|
2673
|
+
* @throws {RequiredError}
|
|
2674
|
+
*/
|
|
2675
|
+
list(pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAsyncJob>;
|
|
2676
|
+
};
|
|
2677
|
+
/**
|
|
2678
|
+
* AdminJobsApi - object-oriented interface
|
|
2679
|
+
*/
|
|
2680
|
+
export declare class AdminJobsApi extends BaseAPI {
|
|
2681
|
+
/**
|
|
2682
|
+
* Flips cancel_requested on the row. The host instance sees this at its next progress tick and bails out, transitioning the row to CANCELLED. Already-terminal jobs (COMPLETED/FAILED/CANCELLED) return 404.
|
|
2683
|
+
* @summary Request cancellation of an async job
|
|
2684
|
+
* @param {string} id Job id
|
|
2685
|
+
* @param {*} [options] Override http request option.
|
|
2686
|
+
* @throws {RequiredError}
|
|
2687
|
+
*/
|
|
2688
|
+
cancel(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
2689
|
+
/**
|
|
2690
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
2691
|
+
* @summary Download a job\'s CSV artifact
|
|
2692
|
+
* @param {string} id Job id
|
|
2693
|
+
* @param {*} [options] Override http request option.
|
|
2694
|
+
* @throws {RequiredError}
|
|
2695
|
+
*/
|
|
2696
|
+
downloadArtifact(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any, {}>>;
|
|
2697
|
+
/**
|
|
2698
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2699
|
+
* @summary Get one async job
|
|
2700
|
+
* @param {string} id Job id
|
|
2701
|
+
* @param {*} [options] Override http request option.
|
|
2702
|
+
* @throws {RequiredError}
|
|
2703
|
+
*/
|
|
2704
|
+
get(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminAsyncJob, any, {}>>;
|
|
2705
|
+
/**
|
|
2706
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2707
|
+
* @summary List async jobs
|
|
2708
|
+
* @param {Pageable} pageable
|
|
2709
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2710
|
+
* @param {*} [options] Override http request option.
|
|
2711
|
+
* @throws {RequiredError}
|
|
2712
|
+
*/
|
|
2713
|
+
list(pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAsyncJob, any, {}>>;
|
|
2714
|
+
}
|
|
2715
|
+
/**
|
|
2716
|
+
* AdminPlayersApi - axios parameter creator
|
|
2717
|
+
*/
|
|
2718
|
+
export declare const AdminPlayersApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
2719
|
+
/**
|
|
2720
|
+
* Mark another player as a known-legitimate associate (e.g. roommate). The relationship is stored symmetrically: subsequent aggressive-mode propagation skips this pair as an alt source in either direction. Finer-grained than the per-player aggressive_mode_immunity flag.
|
|
2721
|
+
* @summary Add an alt exemption
|
|
2722
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2723
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
2724
|
+
* @param {*} [options] Override http request option.
|
|
2725
|
+
* @throws {RequiredError}
|
|
2726
|
+
*/
|
|
2727
|
+
addAltExemption: (uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2728
|
+
/**
|
|
2729
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
2730
|
+
* @summary Start a username backfill job
|
|
2731
|
+
* @param {*} [options] Override http request option.
|
|
2732
|
+
* @throws {RequiredError}
|
|
2733
|
+
*/
|
|
2734
|
+
backfillUsernames: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2735
|
+
/**
|
|
2736
|
+
* Soft-revokes every currently active PROPAGATED player_punishment row whose source matches the supplied id. Exactly one of sourcePlayerId / sourceConnectionId must be set. Useful when staff identify a single source as a false positive (e.g. shared NAT, legitimate roommate) and want to undo every link it caused in one operation.
|
|
2737
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
2738
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
2739
|
+
* @param {*} [options] Override http request option.
|
|
2740
|
+
* @throws {RequiredError}
|
|
2741
|
+
*/
|
|
2742
|
+
bulkRevokePropagated: (adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2743
|
+
/**
|
|
2744
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
2745
|
+
* @summary Create a staff note on a player
|
|
2746
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2747
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
2748
|
+
* @param {*} [options] Override http request option.
|
|
2749
|
+
* @throws {RequiredError}
|
|
2750
|
+
*/
|
|
2751
|
+
createPlayerNote: (uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2752
|
+
/**
|
|
2753
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
2754
|
+
* @summary Soft-delete a staff note
|
|
2755
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
2756
|
+
* @param {number} noteId Note id
|
|
2757
|
+
* @param {*} [options] Override http request option.
|
|
2758
|
+
* @throws {RequiredError}
|
|
2759
|
+
*/
|
|
2760
|
+
deletePlayerNote: (uuid: string, noteId: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2761
|
+
/**
|
|
2762
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
2763
|
+
* @summary Alt-graph traversal rooted at a player
|
|
2764
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2765
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
2766
|
+
* @param {*} [options] Override http request option.
|
|
2767
|
+
* @throws {RequiredError}
|
|
2768
|
+
*/
|
|
2769
|
+
getAltGraph: (uuid: string, depth?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2770
|
+
/**
|
|
2771
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
2772
|
+
* @summary Get player detail
|
|
2773
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2774
|
+
* @param {*} [options] Override http request option.
|
|
2775
|
+
* @throws {RequiredError}
|
|
2776
|
+
*/
|
|
2777
|
+
getPlayer: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2778
|
+
/**
|
|
2779
|
+
* Other players who have been seen on at least one of this player\'s historical connections. Sorted by shared-connection count desc, then last seen desc.
|
|
2780
|
+
* @summary List a player\'s alt accounts
|
|
2781
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2782
|
+
* @param {Pageable} pageable
|
|
2783
|
+
* @param {*} [options] Override http request option.
|
|
2784
|
+
* @throws {RequiredError}
|
|
2785
|
+
*/
|
|
2786
|
+
getPlayerAlts: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2787
|
+
/**
|
|
2788
|
+
* Paginated list of every connection this player has used (latest first). Same shape as the dashboard connection list, suitable for an infinite-scroll panel inside the player detail modal.
|
|
2789
|
+
* @summary List a player\'s connection history
|
|
2790
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2791
|
+
* @param {Pageable} pageable
|
|
2792
|
+
* @param {*} [options] Override http request option.
|
|
2793
|
+
* @throws {RequiredError}
|
|
2794
|
+
*/
|
|
2795
|
+
getPlayerConnections: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2796
|
+
/**
|
|
2797
|
+
* Paginated list of every player_punishment row for this player — DIRECT and PROPAGATED, active and revoked. Includes the transfer_note explaining why each propagated link was inserted and the revocation audit trail. The admin UI uses this to render a punishment-history section inside the player detail modal.
|
|
2798
|
+
* @summary List a player\'s full punishment history
|
|
2799
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2800
|
+
* @param {Pageable} pageable
|
|
2801
|
+
* @param {*} [options] Override http request option.
|
|
2802
|
+
* @throws {RequiredError}
|
|
2803
|
+
*/
|
|
2804
|
+
getPlayerPunishments: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2805
|
+
/**
|
|
2806
|
+
* Single-row summary: total seconds played, session count, distinct days active, most recent session start, and whether the player is currently online. Computed on demand from player_session. Feeds the trust factor system.
|
|
2807
|
+
* @summary Get a player\'s aggregate session stats
|
|
2808
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2809
|
+
* @param {*} [options] Override http request option.
|
|
2810
|
+
* @throws {RequiredError}
|
|
2811
|
+
*/
|
|
2812
|
+
getSessionStats: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2813
|
+
/**
|
|
2814
|
+
* Paginated list of the player\'s known-legitimate-associate exemptions. The list reflects rows where this player is the source side (player_id = this); since exemptions are stored symmetrically the reciprocal rows exist too.
|
|
2815
|
+
* @summary List a player\'s alt exemptions
|
|
2816
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2817
|
+
* @param {Pageable} pageable
|
|
2818
|
+
* @param {*} [options] Override http request option.
|
|
2819
|
+
* @throws {RequiredError}
|
|
2820
|
+
*/
|
|
2821
|
+
listAltExemptions: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2822
|
+
/**
|
|
2823
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
2824
|
+
* @summary List staff notes on a player
|
|
2825
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2826
|
+
* @param {Pageable} pageable
|
|
2827
|
+
* @param {*} [options] Override http request option.
|
|
2828
|
+
* @throws {RequiredError}
|
|
2829
|
+
*/
|
|
2830
|
+
listPlayerNotes: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2831
|
+
/**
|
|
2832
|
+
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
2833
|
+
* @summary List players
|
|
2834
|
+
* @param {Pageable} pageable
|
|
2835
|
+
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
2836
|
+
* @param {*} [options] Override http request option.
|
|
2837
|
+
* @throws {RequiredError}
|
|
2838
|
+
*/
|
|
2839
|
+
listPlayers: (pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2840
|
+
/**
|
|
2841
|
+
* Paginated history of player_session rows (active + closed), newest first. Each row records one visit by this player to one game server. Used by the admin player detail view and as the underlying data for the session-stats aggregate.
|
|
2842
|
+
* @summary List a player\'s session history
|
|
2843
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2844
|
+
* @param {Pageable} pageable
|
|
2845
|
+
* @param {*} [options] Override http request option.
|
|
2846
|
+
* @throws {RequiredError}
|
|
2847
|
+
*/
|
|
2848
|
+
listSessions: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2849
|
+
/**
|
|
2850
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
2851
|
+
* @summary Remove an alt exemption
|
|
2852
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2853
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
2854
|
+
* @param {*} [options] Override http request option.
|
|
2855
|
+
* @throws {RequiredError}
|
|
2856
|
+
*/
|
|
2857
|
+
removeAltExemption: (uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2858
|
+
/**
|
|
2859
|
+
* Soft-deletes a single player_punishment row that was inserted by aggressive-mode propagation. The source punishment record is untouched — only the link between this player and that punishment is removed from enforcement. Rejected with 404 if the row is DIRECT (the original punishment record) or already revoked.
|
|
2860
|
+
* @summary Revoke a propagated punishment link
|
|
2861
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
2862
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
2863
|
+
* @param {*} [options] Override http request option.
|
|
2864
|
+
* @throws {RequiredError}
|
|
2865
|
+
*/
|
|
2866
|
+
revokePropagatedLink: (uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2867
|
+
/**
|
|
2868
|
+
* Sets whether a player is exempt from aggressive-mode propagation. Flipping the flag ON also bulk-revokes every currently active PROPAGATED link for the player in the same transaction, so the player\'s enforcement state immediately reflects the cleared status. Flipping back to OFF re-enables propagation but does NOT un-revoke previously-revoked links.
|
|
2869
|
+
* @summary Toggle aggressive-mode immunity
|
|
2870
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2871
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
2872
|
+
* @param {*} [options] Override http request option.
|
|
2873
|
+
* @throws {RequiredError}
|
|
2874
|
+
*/
|
|
2875
|
+
setAggressiveModeImmunity: (uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2876
|
+
/**
|
|
2877
|
+
* Returns every subtotal (bonuses / penalties) and the underlying signal counts that fed compute_trust_factor for this player. The {@code finalScore} matches what GET /admin/player/{uuid} returns; this endpoint adds the per-component detail. Used by the admin UI \"why is this score what it is?\" tooltip. Informational only — trust factor never auto-escalates punishments.
|
|
2878
|
+
* @summary Trust factor breakdown for a player
|
|
2879
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2880
|
+
* @param {*} [options] Override http request option.
|
|
2881
|
+
* @throws {RequiredError}
|
|
2882
|
+
*/
|
|
2883
|
+
trustFactorBreakdown: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2884
|
+
/**
|
|
2885
|
+
* Returns one snapshot per day (oldest first) over the requested window. Useful for trend visualization. The daily snapshot job runs at 03:00 UTC; days with no row indicate the snapshot job didn\'t run that day (e.g., outage).
|
|
2886
|
+
* @summary Trust factor history for a player
|
|
2887
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2888
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
2889
|
+
* @param {*} [options] Override http request option.
|
|
2890
|
+
* @throws {RequiredError}
|
|
2891
|
+
*/
|
|
2892
|
+
trustFactorHistory: (uuid: string, days?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2893
|
+
};
|
|
2894
|
+
/**
|
|
2895
|
+
* AdminPlayersApi - functional programming interface
|
|
2896
|
+
*/
|
|
2897
|
+
export declare const AdminPlayersApiFp: (configuration?: Configuration) => {
|
|
2898
|
+
/**
|
|
2899
|
+
* Mark another player as a known-legitimate associate (e.g. roommate). The relationship is stored symmetrically: subsequent aggressive-mode propagation skips this pair as an alt source in either direction. Finer-grained than the per-player aggressive_mode_immunity flag.
|
|
2900
|
+
* @summary Add an alt exemption
|
|
2901
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2902
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
2903
|
+
* @param {*} [options] Override http request option.
|
|
2904
|
+
* @throws {RequiredError}
|
|
2905
|
+
*/
|
|
2906
|
+
addAltExemption(uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2907
|
+
/**
|
|
2908
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
2909
|
+
* @summary Start a username backfill job
|
|
2910
|
+
* @param {*} [options] Override http request option.
|
|
2911
|
+
* @throws {RequiredError}
|
|
2912
|
+
*/
|
|
2913
|
+
backfillUsernames(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJobStartResponse>>;
|
|
2914
|
+
/**
|
|
2915
|
+
* Soft-revokes every currently active PROPAGATED player_punishment row whose source matches the supplied id. Exactly one of sourcePlayerId / sourceConnectionId must be set. Useful when staff identify a single source as a false positive (e.g. shared NAT, legitimate roommate) and want to undo every link it caused in one operation.
|
|
2916
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
2917
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
2918
|
+
* @param {*} [options] Override http request option.
|
|
2919
|
+
* @throws {RequiredError}
|
|
2920
|
+
*/
|
|
2921
|
+
bulkRevokePropagated(adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminBulkRevokeResponse>>;
|
|
2922
|
+
/**
|
|
2923
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
2924
|
+
* @summary Create a staff note on a player
|
|
2925
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2926
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
2927
|
+
* @param {*} [options] Override http request option.
|
|
2928
|
+
* @throws {RequiredError}
|
|
2929
|
+
*/
|
|
2930
|
+
createPlayerNote(uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerNote>>;
|
|
2931
|
+
/**
|
|
2932
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
2933
|
+
* @summary Soft-delete a staff note
|
|
2934
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
2935
|
+
* @param {number} noteId Note id
|
|
2936
|
+
* @param {*} [options] Override http request option.
|
|
2937
|
+
* @throws {RequiredError}
|
|
2938
|
+
*/
|
|
2939
|
+
deletePlayerNote(uuid: string, noteId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2940
|
+
/**
|
|
2941
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
2942
|
+
* @summary Alt-graph traversal rooted at a player
|
|
2943
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2944
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
2945
|
+
* @param {*} [options] Override http request option.
|
|
2946
|
+
* @throws {RequiredError}
|
|
2947
|
+
*/
|
|
2948
|
+
getAltGraph(uuid: string, depth?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAltGraph>>;
|
|
2949
|
+
/**
|
|
2950
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
2951
|
+
* @summary Get player detail
|
|
2952
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2953
|
+
* @param {*} [options] Override http request option.
|
|
2954
|
+
* @throws {RequiredError}
|
|
2955
|
+
*/
|
|
2956
|
+
getPlayer(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerDetailResponse>>;
|
|
2957
|
+
/**
|
|
2958
|
+
* Other players who have been seen on at least one of this player\'s historical connections. Sorted by shared-connection count desc, then last seen desc.
|
|
2959
|
+
* @summary List a player\'s alt accounts
|
|
2960
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2961
|
+
* @param {Pageable} pageable
|
|
2962
|
+
* @param {*} [options] Override http request option.
|
|
2963
|
+
* @throws {RequiredError}
|
|
2964
|
+
*/
|
|
2965
|
+
getPlayerAlts(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAltAccount>>;
|
|
2966
|
+
/**
|
|
2967
|
+
* Paginated list of every connection this player has used (latest first). Same shape as the dashboard connection list, suitable for an infinite-scroll panel inside the player detail modal.
|
|
2968
|
+
* @summary List a player\'s connection history
|
|
2969
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2970
|
+
* @param {Pageable} pageable
|
|
2971
|
+
* @param {*} [options] Override http request option.
|
|
2972
|
+
* @throws {RequiredError}
|
|
2973
|
+
*/
|
|
2974
|
+
getPlayerConnections(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminDashboardConnectionResponse>>;
|
|
2975
|
+
/**
|
|
2976
|
+
* Paginated list of every player_punishment row for this player — DIRECT and PROPAGATED, active and revoked. Includes the transfer_note explaining why each propagated link was inserted and the revocation audit trail. The admin UI uses this to render a punishment-history section inside the player detail modal.
|
|
2977
|
+
* @summary List a player\'s full punishment history
|
|
2978
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2979
|
+
* @param {Pageable} pageable
|
|
2980
|
+
* @param {*} [options] Override http request option.
|
|
2981
|
+
* @throws {RequiredError}
|
|
2982
|
+
*/
|
|
2983
|
+
getPlayerPunishments(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerPunishmentResponse>>;
|
|
2984
|
+
/**
|
|
2985
|
+
* Single-row summary: total seconds played, session count, distinct days active, most recent session start, and whether the player is currently online. Computed on demand from player_session. Feeds the trust factor system.
|
|
2986
|
+
* @summary Get a player\'s aggregate session stats
|
|
2987
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2988
|
+
* @param {*} [options] Override http request option.
|
|
2989
|
+
* @throws {RequiredError}
|
|
2990
|
+
*/
|
|
2991
|
+
getSessionStats(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerSessionStats>>;
|
|
2992
|
+
/**
|
|
2993
|
+
* Paginated list of the player\'s known-legitimate-associate exemptions. The list reflects rows where this player is the source side (player_id = this); since exemptions are stored symmetrically the reciprocal rows exist too.
|
|
2994
|
+
* @summary List a player\'s alt exemptions
|
|
2995
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2996
|
+
* @param {Pageable} pageable
|
|
2997
|
+
* @param {*} [options] Override http request option.
|
|
2998
|
+
* @throws {RequiredError}
|
|
2999
|
+
*/
|
|
3000
|
+
listAltExemptions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAltExemption>>;
|
|
3001
|
+
/**
|
|
3002
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
3003
|
+
* @summary List staff notes on a player
|
|
3004
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3005
|
+
* @param {Pageable} pageable
|
|
3006
|
+
* @param {*} [options] Override http request option.
|
|
3007
|
+
* @throws {RequiredError}
|
|
3008
|
+
*/
|
|
3009
|
+
listPlayerNotes(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerNote>>;
|
|
3010
|
+
/**
|
|
3011
|
+
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
3012
|
+
* @summary List players
|
|
3013
|
+
* @param {Pageable} pageable
|
|
3014
|
+
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3015
|
+
* @param {*} [options] Override http request option.
|
|
3016
|
+
* @throws {RequiredError}
|
|
3017
|
+
*/
|
|
3018
|
+
listPlayers(pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerSummary>>;
|
|
3019
|
+
/**
|
|
3020
|
+
* Paginated history of player_session rows (active + closed), newest first. Each row records one visit by this player to one game server. Used by the admin player detail view and as the underlying data for the session-stats aggregate.
|
|
3021
|
+
* @summary List a player\'s session history
|
|
3022
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3023
|
+
* @param {Pageable} pageable
|
|
3024
|
+
* @param {*} [options] Override http request option.
|
|
3025
|
+
* @throws {RequiredError}
|
|
3026
|
+
*/
|
|
3027
|
+
listSessions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerSession>>;
|
|
3028
|
+
/**
|
|
3029
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
3030
|
+
* @summary Remove an alt exemption
|
|
3031
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3032
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
3033
|
+
* @param {*} [options] Override http request option.
|
|
3034
|
+
* @throws {RequiredError}
|
|
3035
|
+
*/
|
|
3036
|
+
removeAltExemption(uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
3037
|
+
/**
|
|
3038
|
+
* Soft-deletes a single player_punishment row that was inserted by aggressive-mode propagation. The source punishment record is untouched — only the link between this player and that punishment is removed from enforcement. Rejected with 404 if the row is DIRECT (the original punishment record) or already revoked.
|
|
3039
|
+
* @summary Revoke a propagated punishment link
|
|
3040
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
3041
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
3042
|
+
* @param {*} [options] Override http request option.
|
|
3043
|
+
* @throws {RequiredError}
|
|
3044
|
+
*/
|
|
3045
|
+
revokePropagatedLink(uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
3046
|
+
/**
|
|
3047
|
+
* Sets whether a player is exempt from aggressive-mode propagation. Flipping the flag ON also bulk-revokes every currently active PROPAGATED link for the player in the same transaction, so the player\'s enforcement state immediately reflects the cleared status. Flipping back to OFF re-enables propagation but does NOT un-revoke previously-revoked links.
|
|
3048
|
+
* @summary Toggle aggressive-mode immunity
|
|
3049
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3050
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
3051
|
+
* @param {*} [options] Override http request option.
|
|
3052
|
+
* @throws {RequiredError}
|
|
3053
|
+
*/
|
|
3054
|
+
setAggressiveModeImmunity(uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerDetailResponse>>;
|
|
3055
|
+
/**
|
|
3056
|
+
* Returns every subtotal (bonuses / penalties) and the underlying signal counts that fed compute_trust_factor for this player. The {@code finalScore} matches what GET /admin/player/{uuid} returns; this endpoint adds the per-component detail. Used by the admin UI \"why is this score what it is?\" tooltip. Informational only — trust factor never auto-escalates punishments.
|
|
3057
|
+
* @summary Trust factor breakdown for a player
|
|
3058
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3059
|
+
* @param {*} [options] Override http request option.
|
|
3060
|
+
* @throws {RequiredError}
|
|
3061
|
+
*/
|
|
3062
|
+
trustFactorBreakdown(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminTrustFactorBreakdown>>;
|
|
3063
|
+
/**
|
|
3064
|
+
* Returns one snapshot per day (oldest first) over the requested window. Useful for trend visualization. The daily snapshot job runs at 03:00 UTC; days with no row indicate the snapshot job didn\'t run that day (e.g., outage).
|
|
3065
|
+
* @summary Trust factor history for a player
|
|
3066
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3067
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
3068
|
+
* @param {*} [options] Override http request option.
|
|
3069
|
+
* @throws {RequiredError}
|
|
3070
|
+
*/
|
|
3071
|
+
trustFactorHistory(uuid: string, days?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminTrustFactorHistoryEntry>>;
|
|
3072
|
+
};
|
|
3073
|
+
/**
|
|
3074
|
+
* AdminPlayersApi - factory interface
|
|
3075
|
+
*/
|
|
3076
|
+
export declare const AdminPlayersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3077
|
+
/**
|
|
3078
|
+
* Mark another player as a known-legitimate associate (e.g. roommate). The relationship is stored symmetrically: subsequent aggressive-mode propagation skips this pair as an alt source in either direction. Finer-grained than the per-player aggressive_mode_immunity flag.
|
|
3079
|
+
* @summary Add an alt exemption
|
|
3080
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3081
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
3082
|
+
* @param {*} [options] Override http request option.
|
|
3083
|
+
* @throws {RequiredError}
|
|
3084
|
+
*/
|
|
3085
|
+
addAltExemption(uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3086
|
+
/**
|
|
3087
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
3088
|
+
* @summary Start a username backfill job
|
|
3089
|
+
* @param {*} [options] Override http request option.
|
|
3090
|
+
* @throws {RequiredError}
|
|
3091
|
+
*/
|
|
3092
|
+
backfillUsernames(options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJobStartResponse>;
|
|
3093
|
+
/**
|
|
3094
|
+
* Soft-revokes every currently active PROPAGATED player_punishment row whose source matches the supplied id. Exactly one of sourcePlayerId / sourceConnectionId must be set. Useful when staff identify a single source as a false positive (e.g. shared NAT, legitimate roommate) and want to undo every link it caused in one operation.
|
|
3095
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
3096
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
3097
|
+
* @param {*} [options] Override http request option.
|
|
3098
|
+
* @throws {RequiredError}
|
|
3099
|
+
*/
|
|
3100
|
+
bulkRevokePropagated(adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminBulkRevokeResponse>;
|
|
3101
|
+
/**
|
|
3102
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
3103
|
+
* @summary Create a staff note on a player
|
|
3104
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3105
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
3106
|
+
* @param {*} [options] Override http request option.
|
|
3107
|
+
* @throws {RequiredError}
|
|
3108
|
+
*/
|
|
3109
|
+
createPlayerNote(uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerNote>;
|
|
3110
|
+
/**
|
|
3111
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
3112
|
+
* @summary Soft-delete a staff note
|
|
3113
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
3114
|
+
* @param {number} noteId Note id
|
|
3115
|
+
* @param {*} [options] Override http request option.
|
|
3116
|
+
* @throws {RequiredError}
|
|
3117
|
+
*/
|
|
3118
|
+
deletePlayerNote(uuid: string, noteId: number, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3119
|
+
/**
|
|
3120
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
3121
|
+
* @summary Alt-graph traversal rooted at a player
|
|
3122
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3123
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
3124
|
+
* @param {*} [options] Override http request option.
|
|
3125
|
+
* @throws {RequiredError}
|
|
3126
|
+
*/
|
|
3127
|
+
getAltGraph(uuid: string, depth?: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminAltGraph>;
|
|
3128
|
+
/**
|
|
3129
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
3130
|
+
* @summary Get player detail
|
|
3131
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3132
|
+
* @param {*} [options] Override http request option.
|
|
3133
|
+
* @throws {RequiredError}
|
|
3134
|
+
*/
|
|
3135
|
+
getPlayer(uuid: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerDetailResponse>;
|
|
3136
|
+
/**
|
|
3137
|
+
* Other players who have been seen on at least one of this player\'s historical connections. Sorted by shared-connection count desc, then last seen desc.
|
|
3138
|
+
* @summary List a player\'s alt accounts
|
|
3139
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3140
|
+
* @param {Pageable} pageable
|
|
3141
|
+
* @param {*} [options] Override http request option.
|
|
3142
|
+
* @throws {RequiredError}
|
|
3143
|
+
*/
|
|
3144
|
+
getPlayerAlts(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAltAccount>;
|
|
3145
|
+
/**
|
|
3146
|
+
* Paginated list of every connection this player has used (latest first). Same shape as the dashboard connection list, suitable for an infinite-scroll panel inside the player detail modal.
|
|
3147
|
+
* @summary List a player\'s connection history
|
|
3148
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3149
|
+
* @param {Pageable} pageable
|
|
3150
|
+
* @param {*} [options] Override http request option.
|
|
3151
|
+
* @throws {RequiredError}
|
|
3152
|
+
*/
|
|
3153
|
+
getPlayerConnections(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminDashboardConnectionResponse>;
|
|
3154
|
+
/**
|
|
3155
|
+
* Paginated list of every player_punishment row for this player — DIRECT and PROPAGATED, active and revoked. Includes the transfer_note explaining why each propagated link was inserted and the revocation audit trail. The admin UI uses this to render a punishment-history section inside the player detail modal.
|
|
3156
|
+
* @summary List a player\'s full punishment history
|
|
3157
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3158
|
+
* @param {Pageable} pageable
|
|
3159
|
+
* @param {*} [options] Override http request option.
|
|
3160
|
+
* @throws {RequiredError}
|
|
3161
|
+
*/
|
|
3162
|
+
getPlayerPunishments(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerPunishmentResponse>;
|
|
3163
|
+
/**
|
|
3164
|
+
* Single-row summary: total seconds played, session count, distinct days active, most recent session start, and whether the player is currently online. Computed on demand from player_session. Feeds the trust factor system.
|
|
3165
|
+
* @summary Get a player\'s aggregate session stats
|
|
3166
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3167
|
+
* @param {*} [options] Override http request option.
|
|
3168
|
+
* @throws {RequiredError}
|
|
3169
|
+
*/
|
|
3170
|
+
getSessionStats(uuid: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerSessionStats>;
|
|
3171
|
+
/**
|
|
3172
|
+
* Paginated list of the player\'s known-legitimate-associate exemptions. The list reflects rows where this player is the source side (player_id = this); since exemptions are stored symmetrically the reciprocal rows exist too.
|
|
3173
|
+
* @summary List a player\'s alt exemptions
|
|
3174
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3175
|
+
* @param {Pageable} pageable
|
|
3176
|
+
* @param {*} [options] Override http request option.
|
|
3177
|
+
* @throws {RequiredError}
|
|
3178
|
+
*/
|
|
3179
|
+
listAltExemptions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAltExemption>;
|
|
3180
|
+
/**
|
|
3181
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
3182
|
+
* @summary List staff notes on a player
|
|
3183
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3184
|
+
* @param {Pageable} pageable
|
|
3185
|
+
* @param {*} [options] Override http request option.
|
|
3186
|
+
* @throws {RequiredError}
|
|
3187
|
+
*/
|
|
3188
|
+
listPlayerNotes(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerNote>;
|
|
3189
|
+
/**
|
|
3190
|
+
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
3191
|
+
* @summary List players
|
|
3192
|
+
* @param {Pageable} pageable
|
|
3193
|
+
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3194
|
+
* @param {*} [options] Override http request option.
|
|
3195
|
+
* @throws {RequiredError}
|
|
3196
|
+
*/
|
|
3197
|
+
listPlayers(pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerSummary>;
|
|
3198
|
+
/**
|
|
3199
|
+
* Paginated history of player_session rows (active + closed), newest first. Each row records one visit by this player to one game server. Used by the admin player detail view and as the underlying data for the session-stats aggregate.
|
|
3200
|
+
* @summary List a player\'s session history
|
|
3201
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3202
|
+
* @param {Pageable} pageable
|
|
3203
|
+
* @param {*} [options] Override http request option.
|
|
3204
|
+
* @throws {RequiredError}
|
|
3205
|
+
*/
|
|
3206
|
+
listSessions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerSession>;
|
|
3207
|
+
/**
|
|
3208
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
3209
|
+
* @summary Remove an alt exemption
|
|
3210
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3211
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
3212
|
+
* @param {*} [options] Override http request option.
|
|
3213
|
+
* @throws {RequiredError}
|
|
3214
|
+
*/
|
|
3215
|
+
removeAltExemption(uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3216
|
+
/**
|
|
3217
|
+
* Soft-deletes a single player_punishment row that was inserted by aggressive-mode propagation. The source punishment record is untouched — only the link between this player and that punishment is removed from enforcement. Rejected with 404 if the row is DIRECT (the original punishment record) or already revoked.
|
|
3218
|
+
* @summary Revoke a propagated punishment link
|
|
3219
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
3220
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
3221
|
+
* @param {*} [options] Override http request option.
|
|
3222
|
+
* @throws {RequiredError}
|
|
3223
|
+
*/
|
|
3224
|
+
revokePropagatedLink(uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3225
|
+
/**
|
|
3226
|
+
* Sets whether a player is exempt from aggressive-mode propagation. Flipping the flag ON also bulk-revokes every currently active PROPAGATED link for the player in the same transaction, so the player\'s enforcement state immediately reflects the cleared status. Flipping back to OFF re-enables propagation but does NOT un-revoke previously-revoked links.
|
|
3227
|
+
* @summary Toggle aggressive-mode immunity
|
|
3228
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3229
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
3230
|
+
* @param {*} [options] Override http request option.
|
|
3231
|
+
* @throws {RequiredError}
|
|
3232
|
+
*/
|
|
3233
|
+
setAggressiveModeImmunity(uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerDetailResponse>;
|
|
3234
|
+
/**
|
|
3235
|
+
* Returns every subtotal (bonuses / penalties) and the underlying signal counts that fed compute_trust_factor for this player. The {@code finalScore} matches what GET /admin/player/{uuid} returns; this endpoint adds the per-component detail. Used by the admin UI \"why is this score what it is?\" tooltip. Informational only — trust factor never auto-escalates punishments.
|
|
3236
|
+
* @summary Trust factor breakdown for a player
|
|
3237
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3238
|
+
* @param {*} [options] Override http request option.
|
|
3239
|
+
* @throws {RequiredError}
|
|
3240
|
+
*/
|
|
3241
|
+
trustFactorBreakdown(uuid: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminTrustFactorBreakdown>;
|
|
3242
|
+
/**
|
|
3243
|
+
* Returns one snapshot per day (oldest first) over the requested window. Useful for trend visualization. The daily snapshot job runs at 03:00 UTC; days with no row indicate the snapshot job didn\'t run that day (e.g., outage).
|
|
3244
|
+
* @summary Trust factor history for a player
|
|
3245
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3246
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
3247
|
+
* @param {*} [options] Override http request option.
|
|
3248
|
+
* @throws {RequiredError}
|
|
3249
|
+
*/
|
|
3250
|
+
trustFactorHistory(uuid: string, days?: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminTrustFactorHistoryEntry>;
|
|
3251
|
+
};
|
|
3252
|
+
/**
|
|
3253
|
+
* AdminPlayersApi - object-oriented interface
|
|
3254
|
+
*/
|
|
3255
|
+
export declare class AdminPlayersApi extends BaseAPI {
|
|
3256
|
+
/**
|
|
3257
|
+
* Mark another player as a known-legitimate associate (e.g. roommate). The relationship is stored symmetrically: subsequent aggressive-mode propagation skips this pair as an alt source in either direction. Finer-grained than the per-player aggressive_mode_immunity flag.
|
|
3258
|
+
* @summary Add an alt exemption
|
|
3259
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3260
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
3261
|
+
* @param {*} [options] Override http request option.
|
|
3262
|
+
* @throws {RequiredError}
|
|
3263
|
+
*/
|
|
3264
|
+
addAltExemption(uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
3265
|
+
/**
|
|
3266
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
3267
|
+
* @summary Start a username backfill job
|
|
3268
|
+
* @param {*} [options] Override http request option.
|
|
3269
|
+
* @throws {RequiredError}
|
|
3270
|
+
*/
|
|
3271
|
+
backfillUsernames(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminAsyncJobStartResponse, any, {}>>;
|
|
3272
|
+
/**
|
|
3273
|
+
* Soft-revokes every currently active PROPAGATED player_punishment row whose source matches the supplied id. Exactly one of sourcePlayerId / sourceConnectionId must be set. Useful when staff identify a single source as a false positive (e.g. shared NAT, legitimate roommate) and want to undo every link it caused in one operation.
|
|
3274
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
3275
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
3276
|
+
* @param {*} [options] Override http request option.
|
|
3277
|
+
* @throws {RequiredError}
|
|
3278
|
+
*/
|
|
3279
|
+
bulkRevokePropagated(adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminBulkRevokeResponse, any, {}>>;
|
|
3280
|
+
/**
|
|
3281
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
3282
|
+
* @summary Create a staff note on a player
|
|
3283
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3284
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
3285
|
+
* @param {*} [options] Override http request option.
|
|
3286
|
+
* @throws {RequiredError}
|
|
3287
|
+
*/
|
|
3288
|
+
createPlayerNote(uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerNote, any, {}>>;
|
|
3289
|
+
/**
|
|
3290
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
3291
|
+
* @summary Soft-delete a staff note
|
|
3292
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
3293
|
+
* @param {number} noteId Note id
|
|
3294
|
+
* @param {*} [options] Override http request option.
|
|
3295
|
+
* @throws {RequiredError}
|
|
3296
|
+
*/
|
|
3297
|
+
deletePlayerNote(uuid: string, noteId: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
3298
|
+
/**
|
|
3299
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
3300
|
+
* @summary Alt-graph traversal rooted at a player
|
|
3301
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3302
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
3303
|
+
* @param {*} [options] Override http request option.
|
|
3304
|
+
* @throws {RequiredError}
|
|
3305
|
+
*/
|
|
3306
|
+
getAltGraph(uuid: string, depth?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminAltGraph, any, {}>>;
|
|
3307
|
+
/**
|
|
3308
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
3309
|
+
* @summary Get player detail
|
|
3310
|
+
* @param {string} uuid Player Minecraft UUID
|
|
1260
3311
|
* @param {*} [options] Override http request option.
|
|
1261
3312
|
* @throws {RequiredError}
|
|
1262
3313
|
*/
|
|
1263
|
-
|
|
3314
|
+
getPlayer(uuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerDetailResponse, any, {}>>;
|
|
1264
3315
|
/**
|
|
1265
|
-
*
|
|
1266
|
-
* @summary
|
|
1267
|
-
* @param {
|
|
1268
|
-
* @param {
|
|
3316
|
+
* Other players who have been seen on at least one of this player\'s historical connections. Sorted by shared-connection count desc, then last seen desc.
|
|
3317
|
+
* @summary List a player\'s alt accounts
|
|
3318
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3319
|
+
* @param {Pageable} pageable
|
|
1269
3320
|
* @param {*} [options] Override http request option.
|
|
1270
3321
|
* @throws {RequiredError}
|
|
1271
3322
|
*/
|
|
1272
|
-
|
|
1273
|
-
}
|
|
1274
|
-
/**
|
|
1275
|
-
* AdminDashboardApi - axios parameter creator
|
|
1276
|
-
*/
|
|
1277
|
-
export declare const AdminDashboardApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
3323
|
+
getPlayerAlts(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAltAccount, any, {}>>;
|
|
1278
3324
|
/**
|
|
1279
|
-
*
|
|
1280
|
-
* @summary
|
|
3325
|
+
* Paginated list of every connection this player has used (latest first). Same shape as the dashboard connection list, suitable for an infinite-scroll panel inside the player detail modal.
|
|
3326
|
+
* @summary List a player\'s connection history
|
|
3327
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3328
|
+
* @param {Pageable} pageable
|
|
1281
3329
|
* @param {*} [options] Override http request option.
|
|
1282
3330
|
* @throws {RequiredError}
|
|
1283
3331
|
*/
|
|
1284
|
-
|
|
1285
|
-
};
|
|
1286
|
-
/**
|
|
1287
|
-
* AdminDashboardApi - functional programming interface
|
|
1288
|
-
*/
|
|
1289
|
-
export declare const AdminDashboardApiFp: (configuration?: Configuration) => {
|
|
3332
|
+
getPlayerConnections(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminDashboardConnectionResponse, any, {}>>;
|
|
1290
3333
|
/**
|
|
1291
|
-
*
|
|
1292
|
-
* @summary
|
|
3334
|
+
* Paginated list of every player_punishment row for this player — DIRECT and PROPAGATED, active and revoked. Includes the transfer_note explaining why each propagated link was inserted and the revocation audit trail. The admin UI uses this to render a punishment-history section inside the player detail modal.
|
|
3335
|
+
* @summary List a player\'s full punishment history
|
|
3336
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3337
|
+
* @param {Pageable} pageable
|
|
1293
3338
|
* @param {*} [options] Override http request option.
|
|
1294
3339
|
* @throws {RequiredError}
|
|
1295
3340
|
*/
|
|
1296
|
-
|
|
1297
|
-
};
|
|
1298
|
-
/**
|
|
1299
|
-
* AdminDashboardApi - factory interface
|
|
1300
|
-
*/
|
|
1301
|
-
export declare const AdminDashboardApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3341
|
+
getPlayerPunishments(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerPunishmentResponse, any, {}>>;
|
|
1302
3342
|
/**
|
|
1303
|
-
*
|
|
1304
|
-
* @summary Get
|
|
3343
|
+
* Single-row summary: total seconds played, session count, distinct days active, most recent session start, and whether the player is currently online. Computed on demand from player_session. Feeds the trust factor system.
|
|
3344
|
+
* @summary Get a player\'s aggregate session stats
|
|
3345
|
+
* @param {string} uuid Player Minecraft UUID
|
|
1305
3346
|
* @param {*} [options] Override http request option.
|
|
1306
3347
|
* @throws {RequiredError}
|
|
1307
3348
|
*/
|
|
1308
|
-
|
|
1309
|
-
};
|
|
1310
|
-
/**
|
|
1311
|
-
* AdminDashboardApi - object-oriented interface
|
|
1312
|
-
*/
|
|
1313
|
-
export declare class AdminDashboardApi extends BaseAPI {
|
|
3349
|
+
getSessionStats(uuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerSessionStats, any, {}>>;
|
|
1314
3350
|
/**
|
|
1315
|
-
*
|
|
1316
|
-
* @summary
|
|
3351
|
+
* Paginated list of the player\'s known-legitimate-associate exemptions. The list reflects rows where this player is the source side (player_id = this); since exemptions are stored symmetrically the reciprocal rows exist too.
|
|
3352
|
+
* @summary List a player\'s alt exemptions
|
|
3353
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3354
|
+
* @param {Pageable} pageable
|
|
1317
3355
|
* @param {*} [options] Override http request option.
|
|
1318
3356
|
* @throws {RequiredError}
|
|
1319
3357
|
*/
|
|
1320
|
-
|
|
1321
|
-
}
|
|
1322
|
-
/**
|
|
1323
|
-
* AdminPlayersApi - axios parameter creator
|
|
1324
|
-
*/
|
|
1325
|
-
export declare const AdminPlayersApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
3358
|
+
listAltExemptions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAltExemption, any, {}>>;
|
|
1326
3359
|
/**
|
|
1327
|
-
*
|
|
1328
|
-
* @summary
|
|
3360
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
3361
|
+
* @summary List staff notes on a player
|
|
1329
3362
|
* @param {string} uuid Player Minecraft UUID
|
|
3363
|
+
* @param {Pageable} pageable
|
|
1330
3364
|
* @param {*} [options] Override http request option.
|
|
1331
3365
|
* @throws {RequiredError}
|
|
1332
3366
|
*/
|
|
1333
|
-
|
|
3367
|
+
listPlayerNotes(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerNote, any, {}>>;
|
|
1334
3368
|
/**
|
|
1335
3369
|
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
1336
3370
|
* @summary List players
|
|
1337
|
-
* @param {
|
|
1338
|
-
* @param {number} limit Page size
|
|
3371
|
+
* @param {Pageable} pageable
|
|
1339
3372
|
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
1340
3373
|
* @param {*} [options] Override http request option.
|
|
1341
3374
|
* @throws {RequiredError}
|
|
1342
3375
|
*/
|
|
1343
|
-
listPlayers
|
|
1344
|
-
};
|
|
1345
|
-
/**
|
|
1346
|
-
* AdminPlayersApi - functional programming interface
|
|
1347
|
-
*/
|
|
1348
|
-
export declare const AdminPlayersApiFp: (configuration?: Configuration) => {
|
|
3376
|
+
listPlayers(pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerSummary, any, {}>>;
|
|
1349
3377
|
/**
|
|
1350
|
-
*
|
|
1351
|
-
* @summary
|
|
3378
|
+
* Paginated history of player_session rows (active + closed), newest first. Each row records one visit by this player to one game server. Used by the admin player detail view and as the underlying data for the session-stats aggregate.
|
|
3379
|
+
* @summary List a player\'s session history
|
|
1352
3380
|
* @param {string} uuid Player Minecraft UUID
|
|
3381
|
+
* @param {Pageable} pageable
|
|
1353
3382
|
* @param {*} [options] Override http request option.
|
|
1354
3383
|
* @throws {RequiredError}
|
|
1355
3384
|
*/
|
|
1356
|
-
|
|
3385
|
+
listSessions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerSession, any, {}>>;
|
|
1357
3386
|
/**
|
|
1358
|
-
*
|
|
1359
|
-
* @summary
|
|
1360
|
-
* @param {
|
|
1361
|
-
* @param {
|
|
1362
|
-
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3387
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
3388
|
+
* @summary Remove an alt exemption
|
|
3389
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3390
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
1363
3391
|
* @param {*} [options] Override http request option.
|
|
1364
3392
|
* @throws {RequiredError}
|
|
1365
3393
|
*/
|
|
1366
|
-
|
|
1367
|
-
};
|
|
1368
|
-
/**
|
|
1369
|
-
* AdminPlayersApi - factory interface
|
|
1370
|
-
*/
|
|
1371
|
-
export declare const AdminPlayersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3394
|
+
removeAltExemption(uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1372
3395
|
/**
|
|
1373
|
-
*
|
|
1374
|
-
* @summary
|
|
1375
|
-
* @param {string} uuid Player Minecraft UUID
|
|
3396
|
+
* Soft-deletes a single player_punishment row that was inserted by aggressive-mode propagation. The source punishment record is untouched — only the link between this player and that punishment is removed from enforcement. Rejected with 404 if the row is DIRECT (the original punishment record) or already revoked.
|
|
3397
|
+
* @summary Revoke a propagated punishment link
|
|
3398
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
3399
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
1376
3400
|
* @param {*} [options] Override http request option.
|
|
1377
3401
|
* @throws {RequiredError}
|
|
1378
3402
|
*/
|
|
1379
|
-
|
|
3403
|
+
revokePropagatedLink(uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1380
3404
|
/**
|
|
1381
|
-
*
|
|
1382
|
-
* @summary
|
|
1383
|
-
* @param {
|
|
1384
|
-
* @param {
|
|
1385
|
-
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3405
|
+
* Sets whether a player is exempt from aggressive-mode propagation. Flipping the flag ON also bulk-revokes every currently active PROPAGATED link for the player in the same transaction, so the player\'s enforcement state immediately reflects the cleared status. Flipping back to OFF re-enables propagation but does NOT un-revoke previously-revoked links.
|
|
3406
|
+
* @summary Toggle aggressive-mode immunity
|
|
3407
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3408
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
1386
3409
|
* @param {*} [options] Override http request option.
|
|
1387
3410
|
* @throws {RequiredError}
|
|
1388
3411
|
*/
|
|
1389
|
-
|
|
1390
|
-
};
|
|
1391
|
-
/**
|
|
1392
|
-
* AdminPlayersApi - object-oriented interface
|
|
1393
|
-
*/
|
|
1394
|
-
export declare class AdminPlayersApi extends BaseAPI {
|
|
3412
|
+
setAggressiveModeImmunity(uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerDetailResponse, any, {}>>;
|
|
1395
3413
|
/**
|
|
1396
|
-
* Returns
|
|
1397
|
-
* @summary
|
|
3414
|
+
* Returns every subtotal (bonuses / penalties) and the underlying signal counts that fed compute_trust_factor for this player. The {@code finalScore} matches what GET /admin/player/{uuid} returns; this endpoint adds the per-component detail. Used by the admin UI \"why is this score what it is?\" tooltip. Informational only — trust factor never auto-escalates punishments.
|
|
3415
|
+
* @summary Trust factor breakdown for a player
|
|
1398
3416
|
* @param {string} uuid Player Minecraft UUID
|
|
1399
3417
|
* @param {*} [options] Override http request option.
|
|
1400
3418
|
* @throws {RequiredError}
|
|
1401
3419
|
*/
|
|
1402
|
-
|
|
3420
|
+
trustFactorBreakdown(uuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminTrustFactorBreakdown, any, {}>>;
|
|
1403
3421
|
/**
|
|
1404
|
-
* Returns
|
|
1405
|
-
* @summary
|
|
1406
|
-
* @param {
|
|
1407
|
-
* @param {number}
|
|
1408
|
-
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3422
|
+
* Returns one snapshot per day (oldest first) over the requested window. Useful for trend visualization. The daily snapshot job runs at 03:00 UTC; days with no row indicate the snapshot job didn\'t run that day (e.g., outage).
|
|
3423
|
+
* @summary Trust factor history for a player
|
|
3424
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3425
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
1409
3426
|
* @param {*} [options] Override http request option.
|
|
1410
3427
|
* @throws {RequiredError}
|
|
1411
3428
|
*/
|
|
1412
|
-
|
|
3429
|
+
trustFactorHistory(uuid: string, days?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminTrustFactorHistoryEntry, any, {}>>;
|
|
1413
3430
|
}
|
|
1414
3431
|
/**
|
|
1415
3432
|
* AdminPunishmentsApi - axios parameter creator
|
|
@@ -1431,21 +3448,44 @@ export declare const AdminPunishmentsApiAxiosParamCreator: (configuration?: Conf
|
|
|
1431
3448
|
* @throws {RequiredError}
|
|
1432
3449
|
*/
|
|
1433
3450
|
createDraft: (adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3451
|
+
/**
|
|
3452
|
+
* Partial update of a punishment record. Reason / notes / expiresAt are mutable; severity is intentionally immutable to keep the punishment score deterministic. To make a punishment permanent, set forcePermanent=true. The endpoint returns 404 if the id doesn\'t exist, 200 with the updated entity otherwise. Every edit is recorded in admin_audit_log with the before/after payload.
|
|
3453
|
+
* @summary Edit a punishment
|
|
3454
|
+
* @param {number} id Punishment id
|
|
3455
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3456
|
+
* @param {*} [options] Override http request option.
|
|
3457
|
+
* @throws {RequiredError}
|
|
3458
|
+
*/
|
|
3459
|
+
editPunishment: (id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3460
|
+
/**
|
|
3461
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
3462
|
+
* @summary List a punishment\'s current participants
|
|
3463
|
+
* @param {number} id Punishment id
|
|
3464
|
+
* @param {*} [options] Override http request option.
|
|
3465
|
+
* @throws {RequiredError}
|
|
3466
|
+
*/
|
|
3467
|
+
getPunishmentTargets: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1434
3468
|
/**
|
|
1435
3469
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1436
3470
|
* @summary List punishments
|
|
1437
|
-
* @param {
|
|
1438
|
-
* @param {
|
|
1439
|
-
* @param {string | null} [
|
|
1440
|
-
* @param {string | null} [
|
|
1441
|
-
* @param {
|
|
1442
|
-
* @param {
|
|
1443
|
-
* @param {number | null} [
|
|
1444
|
-
* @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
|
|
3471
|
+
* @param {Pageable} pageable
|
|
3472
|
+
* @param {string | null} [uuid]
|
|
3473
|
+
* @param {string | null} [username]
|
|
3474
|
+
* @param {string | null} [ipAddress]
|
|
3475
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3476
|
+
* @param {number | null} [issuedAfter]
|
|
3477
|
+
* @param {number | null} [issuedBefore]
|
|
1445
3478
|
* @param {*} [options] Override http request option.
|
|
1446
3479
|
* @throws {RequiredError}
|
|
1447
3480
|
*/
|
|
1448
|
-
getPunishments: (
|
|
3481
|
+
getPunishments: (pageable: Pageable, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<PunishmentType> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3482
|
+
/**
|
|
3483
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
3484
|
+
* @summary Start an alt-propagation sweep job
|
|
3485
|
+
* @param {*} [options] Override http request option.
|
|
3486
|
+
* @throws {RequiredError}
|
|
3487
|
+
*/
|
|
3488
|
+
propagationSweep: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1449
3489
|
/**
|
|
1450
3490
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1451
3491
|
* @summary Search punishment targets
|
|
@@ -1475,21 +3515,44 @@ export declare const AdminPunishmentsApiFp: (configuration?: Configuration) => {
|
|
|
1475
3515
|
* @throws {RequiredError}
|
|
1476
3516
|
*/
|
|
1477
3517
|
createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentDraftResponse>>;
|
|
3518
|
+
/**
|
|
3519
|
+
* Partial update of a punishment record. Reason / notes / expiresAt are mutable; severity is intentionally immutable to keep the punishment score deterministic. To make a punishment permanent, set forcePermanent=true. The endpoint returns 404 if the id doesn\'t exist, 200 with the updated entity otherwise. Every edit is recorded in admin_audit_log with the before/after payload.
|
|
3520
|
+
* @summary Edit a punishment
|
|
3521
|
+
* @param {number} id Punishment id
|
|
3522
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3523
|
+
* @param {*} [options] Override http request option.
|
|
3524
|
+
* @throws {RequiredError}
|
|
3525
|
+
*/
|
|
3526
|
+
editPunishment(id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
3527
|
+
/**
|
|
3528
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
3529
|
+
* @summary List a punishment\'s current participants
|
|
3530
|
+
* @param {number} id Punishment id
|
|
3531
|
+
* @param {*} [options] Override http request option.
|
|
3532
|
+
* @throws {RequiredError}
|
|
3533
|
+
*/
|
|
3534
|
+
getPunishmentTargets(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentTargets>>;
|
|
1478
3535
|
/**
|
|
1479
3536
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1480
3537
|
* @summary List punishments
|
|
1481
|
-
* @param {
|
|
1482
|
-
* @param {
|
|
1483
|
-
* @param {string | null} [
|
|
1484
|
-
* @param {string | null} [
|
|
1485
|
-
* @param {
|
|
1486
|
-
* @param {
|
|
1487
|
-
* @param {number | null} [
|
|
1488
|
-
* @param {
|
|
3538
|
+
* @param {Pageable} pageable
|
|
3539
|
+
* @param {string | null} [uuid]
|
|
3540
|
+
* @param {string | null} [username]
|
|
3541
|
+
* @param {string | null} [ipAddress]
|
|
3542
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3543
|
+
* @param {number | null} [issuedAfter]
|
|
3544
|
+
* @param {number | null} [issuedBefore]
|
|
3545
|
+
* @param {*} [options] Override http request option.
|
|
3546
|
+
* @throws {RequiredError}
|
|
3547
|
+
*/
|
|
3548
|
+
getPunishments(pageable: Pageable, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<PunishmentType> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPunishmentListItem>>;
|
|
3549
|
+
/**
|
|
3550
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
3551
|
+
* @summary Start an alt-propagation sweep job
|
|
1489
3552
|
* @param {*} [options] Override http request option.
|
|
1490
3553
|
* @throws {RequiredError}
|
|
1491
3554
|
*/
|
|
1492
|
-
|
|
3555
|
+
propagationSweep(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJobStartResponse>>;
|
|
1493
3556
|
/**
|
|
1494
3557
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1495
3558
|
* @summary Search punishment targets
|
|
@@ -1519,21 +3582,44 @@ export declare const AdminPunishmentsApiFactory: (configuration?: Configuration,
|
|
|
1519
3582
|
* @throws {RequiredError}
|
|
1520
3583
|
*/
|
|
1521
3584
|
createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentDraftResponse>;
|
|
3585
|
+
/**
|
|
3586
|
+
* Partial update of a punishment record. Reason / notes / expiresAt are mutable; severity is intentionally immutable to keep the punishment score deterministic. To make a punishment permanent, set forcePermanent=true. The endpoint returns 404 if the id doesn\'t exist, 200 with the updated entity otherwise. Every edit is recorded in admin_audit_log with the before/after payload.
|
|
3587
|
+
* @summary Edit a punishment
|
|
3588
|
+
* @param {number} id Punishment id
|
|
3589
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3590
|
+
* @param {*} [options] Override http request option.
|
|
3591
|
+
* @throws {RequiredError}
|
|
3592
|
+
*/
|
|
3593
|
+
editPunishment(id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3594
|
+
/**
|
|
3595
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
3596
|
+
* @summary List a punishment\'s current participants
|
|
3597
|
+
* @param {number} id Punishment id
|
|
3598
|
+
* @param {*} [options] Override http request option.
|
|
3599
|
+
* @throws {RequiredError}
|
|
3600
|
+
*/
|
|
3601
|
+
getPunishmentTargets(id: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentTargets>;
|
|
1522
3602
|
/**
|
|
1523
3603
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1524
3604
|
* @summary List punishments
|
|
1525
|
-
* @param {
|
|
1526
|
-
* @param {
|
|
1527
|
-
* @param {string | null} [
|
|
1528
|
-
* @param {string | null} [
|
|
1529
|
-
* @param {
|
|
1530
|
-
* @param {
|
|
1531
|
-
* @param {number | null} [
|
|
1532
|
-
* @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
|
|
3605
|
+
* @param {Pageable} pageable
|
|
3606
|
+
* @param {string | null} [uuid]
|
|
3607
|
+
* @param {string | null} [username]
|
|
3608
|
+
* @param {string | null} [ipAddress]
|
|
3609
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3610
|
+
* @param {number | null} [issuedAfter]
|
|
3611
|
+
* @param {number | null} [issuedBefore]
|
|
1533
3612
|
* @param {*} [options] Override http request option.
|
|
1534
3613
|
* @throws {RequiredError}
|
|
1535
3614
|
*/
|
|
1536
|
-
getPunishments(
|
|
3615
|
+
getPunishments(pageable: Pageable, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<PunishmentType> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPunishmentListItem>;
|
|
3616
|
+
/**
|
|
3617
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
3618
|
+
* @summary Start an alt-propagation sweep job
|
|
3619
|
+
* @param {*} [options] Override http request option.
|
|
3620
|
+
* @throws {RequiredError}
|
|
3621
|
+
*/
|
|
3622
|
+
propagationSweep(options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJobStartResponse>;
|
|
1537
3623
|
/**
|
|
1538
3624
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1539
3625
|
* @summary Search punishment targets
|
|
@@ -1563,21 +3649,44 @@ export declare class AdminPunishmentsApi extends BaseAPI {
|
|
|
1563
3649
|
* @throws {RequiredError}
|
|
1564
3650
|
*/
|
|
1565
3651
|
createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentDraftResponse, any, {}>>;
|
|
3652
|
+
/**
|
|
3653
|
+
* Partial update of a punishment record. Reason / notes / expiresAt are mutable; severity is intentionally immutable to keep the punishment score deterministic. To make a punishment permanent, set forcePermanent=true. The endpoint returns 404 if the id doesn\'t exist, 200 with the updated entity otherwise. Every edit is recorded in admin_audit_log with the before/after payload.
|
|
3654
|
+
* @summary Edit a punishment
|
|
3655
|
+
* @param {number} id Punishment id
|
|
3656
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3657
|
+
* @param {*} [options] Override http request option.
|
|
3658
|
+
* @throws {RequiredError}
|
|
3659
|
+
*/
|
|
3660
|
+
editPunishment(id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
3661
|
+
/**
|
|
3662
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
3663
|
+
* @summary List a punishment\'s current participants
|
|
3664
|
+
* @param {number} id Punishment id
|
|
3665
|
+
* @param {*} [options] Override http request option.
|
|
3666
|
+
* @throws {RequiredError}
|
|
3667
|
+
*/
|
|
3668
|
+
getPunishmentTargets(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentTargets, any, {}>>;
|
|
1566
3669
|
/**
|
|
1567
3670
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1568
3671
|
* @summary List punishments
|
|
1569
|
-
* @param {
|
|
1570
|
-
* @param {
|
|
1571
|
-
* @param {string | null} [
|
|
1572
|
-
* @param {string | null} [
|
|
1573
|
-
* @param {
|
|
1574
|
-
* @param {
|
|
1575
|
-
* @param {number | null} [
|
|
1576
|
-
* @param {
|
|
3672
|
+
* @param {Pageable} pageable
|
|
3673
|
+
* @param {string | null} [uuid]
|
|
3674
|
+
* @param {string | null} [username]
|
|
3675
|
+
* @param {string | null} [ipAddress]
|
|
3676
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3677
|
+
* @param {number | null} [issuedAfter]
|
|
3678
|
+
* @param {number | null} [issuedBefore]
|
|
3679
|
+
* @param {*} [options] Override http request option.
|
|
3680
|
+
* @throws {RequiredError}
|
|
3681
|
+
*/
|
|
3682
|
+
getPunishments(pageable: Pageable, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<PunishmentType> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPunishmentListItem, any, {}>>;
|
|
3683
|
+
/**
|
|
3684
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
3685
|
+
* @summary Start an alt-propagation sweep job
|
|
1577
3686
|
* @param {*} [options] Override http request option.
|
|
1578
3687
|
* @throws {RequiredError}
|
|
1579
3688
|
*/
|
|
1580
|
-
|
|
3689
|
+
propagationSweep(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminAsyncJobStartResponse, any, {}>>;
|
|
1581
3690
|
/**
|
|
1582
3691
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1583
3692
|
* @summary Search punishment targets
|
|
@@ -1587,6 +3696,102 @@ export declare class AdminPunishmentsApi extends BaseAPI {
|
|
|
1587
3696
|
*/
|
|
1588
3697
|
searchTargets(q: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentSearchResponse, any, {}>>;
|
|
1589
3698
|
}
|
|
3699
|
+
/**
|
|
3700
|
+
* AdminReportsApi - axios parameter creator
|
|
3701
|
+
*/
|
|
3702
|
+
export declare const AdminReportsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
3703
|
+
/**
|
|
3704
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3705
|
+
* @summary List reports
|
|
3706
|
+
* @param {Pageable} pageable
|
|
3707
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3708
|
+
* @param {boolean} [openOnly]
|
|
3709
|
+
* @param {*} [options] Override http request option.
|
|
3710
|
+
* @throws {RequiredError}
|
|
3711
|
+
*/
|
|
3712
|
+
list1: (pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3713
|
+
/**
|
|
3714
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3715
|
+
* @summary Resolve a report
|
|
3716
|
+
* @param {number} id Report id
|
|
3717
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3718
|
+
* @param {*} [options] Override http request option.
|
|
3719
|
+
* @throws {RequiredError}
|
|
3720
|
+
*/
|
|
3721
|
+
resolve: (id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3722
|
+
};
|
|
3723
|
+
/**
|
|
3724
|
+
* AdminReportsApi - functional programming interface
|
|
3725
|
+
*/
|
|
3726
|
+
export declare const AdminReportsApiFp: (configuration?: Configuration) => {
|
|
3727
|
+
/**
|
|
3728
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3729
|
+
* @summary List reports
|
|
3730
|
+
* @param {Pageable} pageable
|
|
3731
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3732
|
+
* @param {boolean} [openOnly]
|
|
3733
|
+
* @param {*} [options] Override http request option.
|
|
3734
|
+
* @throws {RequiredError}
|
|
3735
|
+
*/
|
|
3736
|
+
list1(pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerReport>>;
|
|
3737
|
+
/**
|
|
3738
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3739
|
+
* @summary Resolve a report
|
|
3740
|
+
* @param {number} id Report id
|
|
3741
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3742
|
+
* @param {*} [options] Override http request option.
|
|
3743
|
+
* @throws {RequiredError}
|
|
3744
|
+
*/
|
|
3745
|
+
resolve(id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
3746
|
+
};
|
|
3747
|
+
/**
|
|
3748
|
+
* AdminReportsApi - factory interface
|
|
3749
|
+
*/
|
|
3750
|
+
export declare const AdminReportsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3751
|
+
/**
|
|
3752
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3753
|
+
* @summary List reports
|
|
3754
|
+
* @param {Pageable} pageable
|
|
3755
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3756
|
+
* @param {boolean} [openOnly]
|
|
3757
|
+
* @param {*} [options] Override http request option.
|
|
3758
|
+
* @throws {RequiredError}
|
|
3759
|
+
*/
|
|
3760
|
+
list1(pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerReport>;
|
|
3761
|
+
/**
|
|
3762
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3763
|
+
* @summary Resolve a report
|
|
3764
|
+
* @param {number} id Report id
|
|
3765
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3766
|
+
* @param {*} [options] Override http request option.
|
|
3767
|
+
* @throws {RequiredError}
|
|
3768
|
+
*/
|
|
3769
|
+
resolve(id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3770
|
+
};
|
|
3771
|
+
/**
|
|
3772
|
+
* AdminReportsApi - object-oriented interface
|
|
3773
|
+
*/
|
|
3774
|
+
export declare class AdminReportsApi extends BaseAPI {
|
|
3775
|
+
/**
|
|
3776
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3777
|
+
* @summary List reports
|
|
3778
|
+
* @param {Pageable} pageable
|
|
3779
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3780
|
+
* @param {boolean} [openOnly]
|
|
3781
|
+
* @param {*} [options] Override http request option.
|
|
3782
|
+
* @throws {RequiredError}
|
|
3783
|
+
*/
|
|
3784
|
+
list1(pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerReport, any, {}>>;
|
|
3785
|
+
/**
|
|
3786
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3787
|
+
* @summary Resolve a report
|
|
3788
|
+
* @param {number} id Report id
|
|
3789
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3790
|
+
* @param {*} [options] Override http request option.
|
|
3791
|
+
* @throws {RequiredError}
|
|
3792
|
+
*/
|
|
3793
|
+
resolve(id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
3794
|
+
}
|
|
1590
3795
|
/**
|
|
1591
3796
|
* AuthenticationApi - axios parameter creator
|
|
1592
3797
|
*/
|
|
@@ -1746,13 +3951,13 @@ export declare const ChatApiAxiosParamCreator: (configuration?: Configuration) =
|
|
|
1746
3951
|
/**
|
|
1747
3952
|
* Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
|
|
1748
3953
|
* @summary Get chat history
|
|
1749
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1750
3954
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1751
3955
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
3956
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1752
3957
|
* @param {*} [options] Override http request option.
|
|
1753
3958
|
* @throws {RequiredError}
|
|
1754
3959
|
*/
|
|
1755
|
-
history: (
|
|
3960
|
+
history: (sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1756
3961
|
/**
|
|
1757
3962
|
* Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
|
|
1758
3963
|
* @summary Ingest a chat message
|
|
@@ -1769,13 +3974,13 @@ export declare const ChatApiFp: (configuration?: Configuration) => {
|
|
|
1769
3974
|
/**
|
|
1770
3975
|
* Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
|
|
1771
3976
|
* @summary Get chat history
|
|
1772
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1773
3977
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1774
3978
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
3979
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1775
3980
|
* @param {*} [options] Override http request option.
|
|
1776
3981
|
* @throws {RequiredError}
|
|
1777
3982
|
*/
|
|
1778
|
-
history(
|
|
3983
|
+
history(sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ChatMessageDTO>>>;
|
|
1779
3984
|
/**
|
|
1780
3985
|
* Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
|
|
1781
3986
|
* @summary Ingest a chat message
|
|
@@ -1792,13 +3997,13 @@ export declare const ChatApiFactory: (configuration?: Configuration, basePath?:
|
|
|
1792
3997
|
/**
|
|
1793
3998
|
* Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
|
|
1794
3999
|
* @summary Get chat history
|
|
1795
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1796
4000
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1797
4001
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
4002
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1798
4003
|
* @param {*} [options] Override http request option.
|
|
1799
4004
|
* @throws {RequiredError}
|
|
1800
4005
|
*/
|
|
1801
|
-
history(
|
|
4006
|
+
history(sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise<Array<ChatMessageDTO>>;
|
|
1802
4007
|
/**
|
|
1803
4008
|
* Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
|
|
1804
4009
|
* @summary Ingest a chat message
|
|
@@ -1815,13 +4020,13 @@ export declare class ChatApi extends BaseAPI {
|
|
|
1815
4020
|
/**
|
|
1816
4021
|
* Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
|
|
1817
4022
|
* @summary Get chat history
|
|
1818
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1819
4023
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1820
4024
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
4025
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1821
4026
|
* @param {*} [options] Override http request option.
|
|
1822
4027
|
* @throws {RequiredError}
|
|
1823
4028
|
*/
|
|
1824
|
-
history(
|
|
4029
|
+
history(sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatMessageDTO[], any, {}>>;
|
|
1825
4030
|
/**
|
|
1826
4031
|
* Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
|
|
1827
4032
|
* @summary Ingest a chat message
|
|
@@ -1836,60 +4041,64 @@ export declare class ChatApi extends BaseAPI {
|
|
|
1836
4041
|
*/
|
|
1837
4042
|
export declare const ConnectionApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
1838
4043
|
/**
|
|
1839
|
-
* Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
1840
|
-
* @summary Check Connection and Detect VPN/Proxy
|
|
4044
|
+
* **DEPRECATED for game-server player-join flows.** Use `POST /v1/player-session/start` instead — it runs the same authorization check AND opens the player_session row in a single round-trip, returning the same connection / player / punishment context plus aggregate session stats. This endpoint remains available for admin and debugging scenarios where you want to inspect a connection\'s state without opening a session (e.g. one-off lookups, batch sweeps, support troubleshooting). Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
4045
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1841
4046
|
* @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
|
|
1842
|
-
* @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
4047
|
+
* @param {boolean} [forceRecheck] When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
1843
4048
|
* @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\'s history - Update the player\'s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\'t block the response.
|
|
1844
4049
|
* @param {*} [options] Override http request option.
|
|
4050
|
+
* @deprecated
|
|
1845
4051
|
* @throws {RequiredError}
|
|
1846
4052
|
*/
|
|
1847
|
-
getConnectionDetails: (ip: string, forceRecheck
|
|
4053
|
+
getConnectionDetails: (ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1848
4054
|
};
|
|
1849
4055
|
/**
|
|
1850
4056
|
* ConnectionApi - functional programming interface
|
|
1851
4057
|
*/
|
|
1852
4058
|
export declare const ConnectionApiFp: (configuration?: Configuration) => {
|
|
1853
4059
|
/**
|
|
1854
|
-
* Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
1855
|
-
* @summary Check Connection and Detect VPN/Proxy
|
|
4060
|
+
* **DEPRECATED for game-server player-join flows.** Use `POST /v1/player-session/start` instead — it runs the same authorization check AND opens the player_session row in a single round-trip, returning the same connection / player / punishment context plus aggregate session stats. This endpoint remains available for admin and debugging scenarios where you want to inspect a connection\'s state without opening a session (e.g. one-off lookups, batch sweeps, support troubleshooting). Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
4061
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1856
4062
|
* @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
|
|
1857
|
-
* @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
4063
|
+
* @param {boolean} [forceRecheck] When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
1858
4064
|
* @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\'s history - Update the player\'s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\'t block the response.
|
|
1859
4065
|
* @param {*} [options] Override http request option.
|
|
4066
|
+
* @deprecated
|
|
1860
4067
|
* @throws {RequiredError}
|
|
1861
4068
|
*/
|
|
1862
|
-
getConnectionDetails(ip: string, forceRecheck
|
|
4069
|
+
getConnectionDetails(ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConnectionGetConnectionDetailsResponse>>;
|
|
1863
4070
|
};
|
|
1864
4071
|
/**
|
|
1865
4072
|
* ConnectionApi - factory interface
|
|
1866
4073
|
*/
|
|
1867
4074
|
export declare const ConnectionApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
1868
4075
|
/**
|
|
1869
|
-
* Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
1870
|
-
* @summary Check Connection and Detect VPN/Proxy
|
|
4076
|
+
* **DEPRECATED for game-server player-join flows.** Use `POST /v1/player-session/start` instead — it runs the same authorization check AND opens the player_session row in a single round-trip, returning the same connection / player / punishment context plus aggregate session stats. This endpoint remains available for admin and debugging scenarios where you want to inspect a connection\'s state without opening a session (e.g. one-off lookups, batch sweeps, support troubleshooting). Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
4077
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1871
4078
|
* @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
|
|
1872
|
-
* @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
4079
|
+
* @param {boolean} [forceRecheck] When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
1873
4080
|
* @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\'s history - Update the player\'s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\'t block the response.
|
|
1874
4081
|
* @param {*} [options] Override http request option.
|
|
4082
|
+
* @deprecated
|
|
1875
4083
|
* @throws {RequiredError}
|
|
1876
4084
|
*/
|
|
1877
|
-
getConnectionDetails(ip: string, forceRecheck
|
|
4085
|
+
getConnectionDetails(ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<ConnectionGetConnectionDetailsResponse>;
|
|
1878
4086
|
};
|
|
1879
4087
|
/**
|
|
1880
4088
|
* ConnectionApi - object-oriented interface
|
|
1881
4089
|
*/
|
|
1882
4090
|
export declare class ConnectionApi extends BaseAPI {
|
|
1883
4091
|
/**
|
|
1884
|
-
* Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
1885
|
-
* @summary Check Connection and Detect VPN/Proxy
|
|
4092
|
+
* **DEPRECATED for game-server player-join flows.** Use `POST /v1/player-session/start` instead — it runs the same authorization check AND opens the player_session row in a single round-trip, returning the same connection / player / punishment context plus aggregate session stats. This endpoint remains available for admin and debugging scenarios where you want to inspect a connection\'s state without opening a session (e.g. one-off lookups, batch sweeps, support troubleshooting). Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
|
|
4093
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1886
4094
|
* @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
|
|
1887
|
-
* @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
4095
|
+
* @param {boolean} [forceRecheck] When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
|
|
1888
4096
|
* @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\'s history - Update the player\'s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\'t block the response.
|
|
1889
4097
|
* @param {*} [options] Override http request option.
|
|
4098
|
+
* @deprecated
|
|
1890
4099
|
* @throws {RequiredError}
|
|
1891
4100
|
*/
|
|
1892
|
-
getConnectionDetails(ip: string, forceRecheck
|
|
4101
|
+
getConnectionDetails(ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ConnectionGetConnectionDetailsResponse, any, {}>>;
|
|
1893
4102
|
}
|
|
1894
4103
|
/**
|
|
1895
4104
|
* PlayerApi - axios parameter creator
|
|
@@ -1975,6 +4184,90 @@ export declare class PlayerApi extends BaseAPI {
|
|
|
1975
4184
|
*/
|
|
1976
4185
|
getUsernames(uuids: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1977
4186
|
}
|
|
4187
|
+
/**
|
|
4188
|
+
* PlayerSessionsApi - axios parameter creator
|
|
4189
|
+
*/
|
|
4190
|
+
export declare const PlayerSessionsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
4191
|
+
/**
|
|
4192
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found, so duplicate end events from a retry don\'t error.
|
|
4193
|
+
* @summary Close the active player session
|
|
4194
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
4195
|
+
* @param {*} [options] Override http request option.
|
|
4196
|
+
* @throws {RequiredError}
|
|
4197
|
+
*/
|
|
4198
|
+
end: (playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
4199
|
+
/**
|
|
4200
|
+
* Single round-trip the game server / proxy makes when a player joins. Runs the full authorization check (VPN detection, bypass tiers, punishment propagation, active-ban evaluation) and — only if allowed — opens (or re-attaches to) a player_session row. Replaces the older two-call flow (`GET /v1/connection/details` followed by a session-open POST). `/v1/connection/details` remains available for admin / debugging use but is deprecated for player-join purposes. Idempotent at the session-open step: a duplicate join request returns the existing active session\'s id instead of creating a duplicate row. Response shape: - `connectionResult` — always populated; carries ALLOWED / BANNED / VPN_DETECTED etc. plus a formatted kick message when denied. - `sessionId` / `startedAt` — populated only when the join was allowed. - Connection context (IP, location, VPN%, bypass) for display + logging. - `playerInformation`, `activePunishments` — full player history at join time. - `sessionStats` — total seconds played / days active / currently-online, useful for game-server-side welcome messages.
|
|
4201
|
+
* @summary Player join — unified authorization + session-open
|
|
4202
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
4203
|
+
* @param {*} [options] Override http request option.
|
|
4204
|
+
* @throws {RequiredError}
|
|
4205
|
+
*/
|
|
4206
|
+
start: (playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
4207
|
+
};
|
|
4208
|
+
/**
|
|
4209
|
+
* PlayerSessionsApi - functional programming interface
|
|
4210
|
+
*/
|
|
4211
|
+
export declare const PlayerSessionsApiFp: (configuration?: Configuration) => {
|
|
4212
|
+
/**
|
|
4213
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found, so duplicate end events from a retry don\'t error.
|
|
4214
|
+
* @summary Close the active player session
|
|
4215
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
4216
|
+
* @param {*} [options] Override http request option.
|
|
4217
|
+
* @throws {RequiredError}
|
|
4218
|
+
*/
|
|
4219
|
+
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
4220
|
+
/**
|
|
4221
|
+
* Single round-trip the game server / proxy makes when a player joins. Runs the full authorization check (VPN detection, bypass tiers, punishment propagation, active-ban evaluation) and — only if allowed — opens (or re-attaches to) a player_session row. Replaces the older two-call flow (`GET /v1/connection/details` followed by a session-open POST). `/v1/connection/details` remains available for admin / debugging use but is deprecated for player-join purposes. Idempotent at the session-open step: a duplicate join request returns the existing active session\'s id instead of creating a duplicate row. Response shape: - `connectionResult` — always populated; carries ALLOWED / BANNED / VPN_DETECTED etc. plus a formatted kick message when denied. - `sessionId` / `startedAt` — populated only when the join was allowed. - Connection context (IP, location, VPN%, bypass) for display + logging. - `playerInformation`, `activePunishments` — full player history at join time. - `sessionStats` — total seconds played / days active / currently-online, useful for game-server-side welcome messages.
|
|
4222
|
+
* @summary Player join — unified authorization + session-open
|
|
4223
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
4224
|
+
* @param {*} [options] Override http request option.
|
|
4225
|
+
* @throws {RequiredError}
|
|
4226
|
+
*/
|
|
4227
|
+
start(playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlayerSessionStartResponse>>;
|
|
4228
|
+
};
|
|
4229
|
+
/**
|
|
4230
|
+
* PlayerSessionsApi - factory interface
|
|
4231
|
+
*/
|
|
4232
|
+
export declare const PlayerSessionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
4233
|
+
/**
|
|
4234
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found, so duplicate end events from a retry don\'t error.
|
|
4235
|
+
* @summary Close the active player session
|
|
4236
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
4237
|
+
* @param {*} [options] Override http request option.
|
|
4238
|
+
* @throws {RequiredError}
|
|
4239
|
+
*/
|
|
4240
|
+
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
4241
|
+
/**
|
|
4242
|
+
* Single round-trip the game server / proxy makes when a player joins. Runs the full authorization check (VPN detection, bypass tiers, punishment propagation, active-ban evaluation) and — only if allowed — opens (or re-attaches to) a player_session row. Replaces the older two-call flow (`GET /v1/connection/details` followed by a session-open POST). `/v1/connection/details` remains available for admin / debugging use but is deprecated for player-join purposes. Idempotent at the session-open step: a duplicate join request returns the existing active session\'s id instead of creating a duplicate row. Response shape: - `connectionResult` — always populated; carries ALLOWED / BANNED / VPN_DETECTED etc. plus a formatted kick message when denied. - `sessionId` / `startedAt` — populated only when the join was allowed. - Connection context (IP, location, VPN%, bypass) for display + logging. - `playerInformation`, `activePunishments` — full player history at join time. - `sessionStats` — total seconds played / days active / currently-online, useful for game-server-side welcome messages.
|
|
4243
|
+
* @summary Player join — unified authorization + session-open
|
|
4244
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
4245
|
+
* @param {*} [options] Override http request option.
|
|
4246
|
+
* @throws {RequiredError}
|
|
4247
|
+
*/
|
|
4248
|
+
start(playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig): AxiosPromise<PlayerSessionStartResponse>;
|
|
4249
|
+
};
|
|
4250
|
+
/**
|
|
4251
|
+
* PlayerSessionsApi - object-oriented interface
|
|
4252
|
+
*/
|
|
4253
|
+
export declare class PlayerSessionsApi extends BaseAPI {
|
|
4254
|
+
/**
|
|
4255
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found, so duplicate end events from a retry don\'t error.
|
|
4256
|
+
* @summary Close the active player session
|
|
4257
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
4258
|
+
* @param {*} [options] Override http request option.
|
|
4259
|
+
* @throws {RequiredError}
|
|
4260
|
+
*/
|
|
4261
|
+
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
4262
|
+
/**
|
|
4263
|
+
* Single round-trip the game server / proxy makes when a player joins. Runs the full authorization check (VPN detection, bypass tiers, punishment propagation, active-ban evaluation) and — only if allowed — opens (or re-attaches to) a player_session row. Replaces the older two-call flow (`GET /v1/connection/details` followed by a session-open POST). `/v1/connection/details` remains available for admin / debugging use but is deprecated for player-join purposes. Idempotent at the session-open step: a duplicate join request returns the existing active session\'s id instead of creating a duplicate row. Response shape: - `connectionResult` — always populated; carries ALLOWED / BANNED / VPN_DETECTED etc. plus a formatted kick message when denied. - `sessionId` / `startedAt` — populated only when the join was allowed. - Connection context (IP, location, VPN%, bypass) for display + logging. - `playerInformation`, `activePunishments` — full player history at join time. - `sessionStats` — total seconds played / days active / currently-online, useful for game-server-side welcome messages.
|
|
4264
|
+
* @summary Player join — unified authorization + session-open
|
|
4265
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
4266
|
+
* @param {*} [options] Override http request option.
|
|
4267
|
+
* @throws {RequiredError}
|
|
4268
|
+
*/
|
|
4269
|
+
start(playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PlayerSessionStartResponse, any, {}>>;
|
|
4270
|
+
}
|
|
1978
4271
|
/**
|
|
1979
4272
|
* PunishmentApi - axios parameter creator
|
|
1980
4273
|
*/
|
|
@@ -2008,19 +4301,18 @@ export declare const PunishmentApiAxiosParamCreator: (configuration?: Configurat
|
|
|
2008
4301
|
/**
|
|
2009
4302
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2010
4303
|
* @summary List recent punishments
|
|
2011
|
-
* @param {
|
|
2012
|
-
* @param {number
|
|
2013
|
-
* @param {number | null} [
|
|
2014
|
-
* @param {number | null} [
|
|
2015
|
-
* @param {number | null} [
|
|
2016
|
-
* @param {
|
|
2017
|
-
* @param {
|
|
2018
|
-
* @param {string | null} [
|
|
2019
|
-
* @param {string | null} [ipAddress] Filter by IP address
|
|
4304
|
+
* @param {Pageable} pageable
|
|
4305
|
+
* @param {number | null} [issuedAfter]
|
|
4306
|
+
* @param {number | null} [issuedBefore]
|
|
4307
|
+
* @param {number | null} [expiresAfter]
|
|
4308
|
+
* @param {number | null} [expiresBefore]
|
|
4309
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4310
|
+
* @param {string | null} [uuid]
|
|
4311
|
+
* @param {string | null} [ipAddress]
|
|
2020
4312
|
* @param {*} [options] Override http request option.
|
|
2021
4313
|
* @throws {RequiredError}
|
|
2022
4314
|
*/
|
|
2023
|
-
getRecentPunishments: (
|
|
4315
|
+
getRecentPunishments: (pageable: Pageable, issuedAfter?: number | null, issuedBefore?: number | null, expiresAfter?: number | null, expiresBefore?: number | null, type?: Array<PunishmentType> | null, uuid?: string | null, ipAddress?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2024
4316
|
};
|
|
2025
4317
|
/**
|
|
2026
4318
|
* PunishmentApi - functional programming interface
|
|
@@ -2055,19 +4347,18 @@ export declare const PunishmentApiFp: (configuration?: Configuration) => {
|
|
|
2055
4347
|
/**
|
|
2056
4348
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2057
4349
|
* @summary List recent punishments
|
|
2058
|
-
* @param {
|
|
2059
|
-
* @param {number
|
|
2060
|
-
* @param {number | null} [
|
|
2061
|
-
* @param {number | null} [
|
|
2062
|
-
* @param {number | null} [
|
|
2063
|
-
* @param {
|
|
2064
|
-
* @param {
|
|
2065
|
-
* @param {string | null} [
|
|
2066
|
-
* @param {string | null} [ipAddress] Filter by IP address
|
|
4350
|
+
* @param {Pageable} pageable
|
|
4351
|
+
* @param {number | null} [issuedAfter]
|
|
4352
|
+
* @param {number | null} [issuedBefore]
|
|
4353
|
+
* @param {number | null} [expiresAfter]
|
|
4354
|
+
* @param {number | null} [expiresBefore]
|
|
4355
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4356
|
+
* @param {string | null} [uuid]
|
|
4357
|
+
* @param {string | null} [ipAddress]
|
|
2067
4358
|
* @param {*} [options] Override http request option.
|
|
2068
4359
|
* @throws {RequiredError}
|
|
2069
4360
|
*/
|
|
2070
|
-
getRecentPunishments(
|
|
4361
|
+
getRecentPunishments(pageable: Pageable, issuedAfter?: number | null, issuedBefore?: number | null, expiresAfter?: number | null, expiresBefore?: number | null, type?: Array<PunishmentType> | null, uuid?: string | null, ipAddress?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagePunishmentGetPunishmentResponse>>;
|
|
2071
4362
|
};
|
|
2072
4363
|
/**
|
|
2073
4364
|
* PunishmentApi - factory interface
|
|
@@ -2102,19 +4393,18 @@ export declare const PunishmentApiFactory: (configuration?: Configuration, baseP
|
|
|
2102
4393
|
/**
|
|
2103
4394
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2104
4395
|
* @summary List recent punishments
|
|
2105
|
-
* @param {
|
|
2106
|
-
* @param {number
|
|
2107
|
-
* @param {number | null} [
|
|
2108
|
-
* @param {number | null} [
|
|
2109
|
-
* @param {number | null} [
|
|
2110
|
-
* @param {
|
|
2111
|
-
* @param {
|
|
2112
|
-
* @param {string | null} [
|
|
2113
|
-
* @param {string | null} [ipAddress] Filter by IP address
|
|
4396
|
+
* @param {Pageable} pageable
|
|
4397
|
+
* @param {number | null} [issuedAfter]
|
|
4398
|
+
* @param {number | null} [issuedBefore]
|
|
4399
|
+
* @param {number | null} [expiresAfter]
|
|
4400
|
+
* @param {number | null} [expiresBefore]
|
|
4401
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4402
|
+
* @param {string | null} [uuid]
|
|
4403
|
+
* @param {string | null} [ipAddress]
|
|
2114
4404
|
* @param {*} [options] Override http request option.
|
|
2115
4405
|
* @throws {RequiredError}
|
|
2116
4406
|
*/
|
|
2117
|
-
getRecentPunishments(
|
|
4407
|
+
getRecentPunishments(pageable: Pageable, issuedAfter?: number | null, issuedBefore?: number | null, expiresAfter?: number | null, expiresBefore?: number | null, type?: Array<PunishmentType> | null, uuid?: string | null, ipAddress?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<PagePunishmentGetPunishmentResponse>;
|
|
2118
4408
|
};
|
|
2119
4409
|
/**
|
|
2120
4410
|
* PunishmentApi - object-oriented interface
|
|
@@ -2149,19 +4439,70 @@ export declare class PunishmentApi extends BaseAPI {
|
|
|
2149
4439
|
/**
|
|
2150
4440
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2151
4441
|
* @summary List recent punishments
|
|
2152
|
-
* @param {
|
|
2153
|
-
* @param {number
|
|
2154
|
-
* @param {number | null} [
|
|
2155
|
-
* @param {number | null} [
|
|
2156
|
-
* @param {number | null} [
|
|
2157
|
-
* @param {
|
|
2158
|
-
* @param {
|
|
2159
|
-
* @param {string | null} [
|
|
2160
|
-
* @param {
|
|
4442
|
+
* @param {Pageable} pageable
|
|
4443
|
+
* @param {number | null} [issuedAfter]
|
|
4444
|
+
* @param {number | null} [issuedBefore]
|
|
4445
|
+
* @param {number | null} [expiresAfter]
|
|
4446
|
+
* @param {number | null} [expiresBefore]
|
|
4447
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4448
|
+
* @param {string | null} [uuid]
|
|
4449
|
+
* @param {string | null} [ipAddress]
|
|
4450
|
+
* @param {*} [options] Override http request option.
|
|
4451
|
+
* @throws {RequiredError}
|
|
4452
|
+
*/
|
|
4453
|
+
getRecentPunishments(pageable: Pageable, issuedAfter?: number | null, issuedBefore?: number | null, expiresAfter?: number | null, expiresBefore?: number | null, type?: Array<PunishmentType> | null, uuid?: string | null, ipAddress?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagePunishmentGetPunishmentResponse, any, {}>>;
|
|
4454
|
+
}
|
|
4455
|
+
/**
|
|
4456
|
+
* ReportApi - axios parameter creator
|
|
4457
|
+
*/
|
|
4458
|
+
export declare const ReportApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
4459
|
+
/**
|
|
4460
|
+
* Records that {reporterUuid} flagged one OR MORE players for misconduct in a single incident. Idempotent per (reporter, exact target set) while the prior report is unresolved — repeat submissions with the same target set overwrite reason / category in place and the response\'s {@code deduplicated} flag is true. A different target set (even overlapping) creates a new report. Resolved reports do not block fresh submissions. **Active-report cap**: each reporter may hold at most 3 unresolved reports at a time. A 4th submission with a NEW target set returns 429 until staff resolve one of the existing reports. Dedupe updates (same target set) never count against the cap.
|
|
4461
|
+
* @summary Submit a peer report
|
|
4462
|
+
* @param {CreateReportRequest} createReportRequest
|
|
4463
|
+
* @param {*} [options] Override http request option.
|
|
4464
|
+
* @throws {RequiredError}
|
|
4465
|
+
*/
|
|
4466
|
+
submit: (createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
4467
|
+
};
|
|
4468
|
+
/**
|
|
4469
|
+
* ReportApi - functional programming interface
|
|
4470
|
+
*/
|
|
4471
|
+
export declare const ReportApiFp: (configuration?: Configuration) => {
|
|
4472
|
+
/**
|
|
4473
|
+
* Records that {reporterUuid} flagged one OR MORE players for misconduct in a single incident. Idempotent per (reporter, exact target set) while the prior report is unresolved — repeat submissions with the same target set overwrite reason / category in place and the response\'s {@code deduplicated} flag is true. A different target set (even overlapping) creates a new report. Resolved reports do not block fresh submissions. **Active-report cap**: each reporter may hold at most 3 unresolved reports at a time. A 4th submission with a NEW target set returns 429 until staff resolve one of the existing reports. Dedupe updates (same target set) never count against the cap.
|
|
4474
|
+
* @summary Submit a peer report
|
|
4475
|
+
* @param {CreateReportRequest} createReportRequest
|
|
4476
|
+
* @param {*} [options] Override http request option.
|
|
4477
|
+
* @throws {RequiredError}
|
|
4478
|
+
*/
|
|
4479
|
+
submit(createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateReportResponse>>;
|
|
4480
|
+
};
|
|
4481
|
+
/**
|
|
4482
|
+
* ReportApi - factory interface
|
|
4483
|
+
*/
|
|
4484
|
+
export declare const ReportApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
4485
|
+
/**
|
|
4486
|
+
* Records that {reporterUuid} flagged one OR MORE players for misconduct in a single incident. Idempotent per (reporter, exact target set) while the prior report is unresolved — repeat submissions with the same target set overwrite reason / category in place and the response\'s {@code deduplicated} flag is true. A different target set (even overlapping) creates a new report. Resolved reports do not block fresh submissions. **Active-report cap**: each reporter may hold at most 3 unresolved reports at a time. A 4th submission with a NEW target set returns 429 until staff resolve one of the existing reports. Dedupe updates (same target set) never count against the cap.
|
|
4487
|
+
* @summary Submit a peer report
|
|
4488
|
+
* @param {CreateReportRequest} createReportRequest
|
|
4489
|
+
* @param {*} [options] Override http request option.
|
|
4490
|
+
* @throws {RequiredError}
|
|
4491
|
+
*/
|
|
4492
|
+
submit(createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateReportResponse>;
|
|
4493
|
+
};
|
|
4494
|
+
/**
|
|
4495
|
+
* ReportApi - object-oriented interface
|
|
4496
|
+
*/
|
|
4497
|
+
export declare class ReportApi extends BaseAPI {
|
|
4498
|
+
/**
|
|
4499
|
+
* Records that {reporterUuid} flagged one OR MORE players for misconduct in a single incident. Idempotent per (reporter, exact target set) while the prior report is unresolved — repeat submissions with the same target set overwrite reason / category in place and the response\'s {@code deduplicated} flag is true. A different target set (even overlapping) creates a new report. Resolved reports do not block fresh submissions. **Active-report cap**: each reporter may hold at most 3 unresolved reports at a time. A 4th submission with a NEW target set returns 429 until staff resolve one of the existing reports. Dedupe updates (same target set) never count against the cap.
|
|
4500
|
+
* @summary Submit a peer report
|
|
4501
|
+
* @param {CreateReportRequest} createReportRequest
|
|
2161
4502
|
* @param {*} [options] Override http request option.
|
|
2162
4503
|
* @throws {RequiredError}
|
|
2163
4504
|
*/
|
|
2164
|
-
|
|
4505
|
+
submit(createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateReportResponse, any, {}>>;
|
|
2165
4506
|
}
|
|
2166
4507
|
/**
|
|
2167
4508
|
* ServerSessionsApi - axios parameter creator
|