@rebornteam/reborn-api 3.2.1 → 4.0.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 +65 -4
- package/README.md +93 -8
- package/api.ts +3979 -537
- package/base.ts +1 -1
- package/common.ts +1 -1
- package/configuration.ts +1 -1
- package/dist/api.d.ts +2462 -386
- package/dist/api.js +2750 -361
- 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 +2462 -386
- package/dist/esm/api.js +2722 -353
- 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/AdminApplyPunishmentResult.md +4 -4
- package/docs/AdminAsyncJob.md +47 -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 +175 -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 +936 -16
- package/docs/AdminPunishmentEvaluation.md +4 -8
- package/docs/AdminPunishmentsApi.md +78 -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 +27 -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.0.0
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -13,6 +13,56 @@ 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
|
+
}
|
|
16
66
|
/**
|
|
17
67
|
* Request to apply a punishment to one or more targets
|
|
18
68
|
*/
|
|
@@ -72,15 +122,15 @@ export interface AdminApplyPunishmentResult {
|
|
|
72
122
|
*/
|
|
73
123
|
'type': PunishmentType;
|
|
74
124
|
/**
|
|
75
|
-
* Severity level applied
|
|
125
|
+
* Severity level applied (1-4)
|
|
76
126
|
*/
|
|
77
127
|
'severity': number;
|
|
78
128
|
/**
|
|
79
|
-
*
|
|
129
|
+
* 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
130
|
*/
|
|
81
|
-
'
|
|
131
|
+
'newTrustFactor'?: number | null;
|
|
82
132
|
/**
|
|
83
|
-
* Whether the punishment was made permanent
|
|
133
|
+
* Whether the punishment was made permanent. Mirrors the request\'s forcePermanent flag — auto-escalation has been removed.
|
|
84
134
|
*/
|
|
85
135
|
'isPermanent': boolean;
|
|
86
136
|
/**
|
|
@@ -89,21 +139,133 @@ export interface AdminApplyPunishmentResult {
|
|
|
89
139
|
'expiresAt'?: string | null;
|
|
90
140
|
}
|
|
91
141
|
/**
|
|
92
|
-
*
|
|
142
|
+
* One row of admin_job — a long-running admin operation.
|
|
143
|
+
*/
|
|
144
|
+
export interface AdminAsyncJob {
|
|
145
|
+
/**
|
|
146
|
+
* Job id
|
|
147
|
+
*/
|
|
148
|
+
'id': string;
|
|
149
|
+
/**
|
|
150
|
+
* Stable identifier of what kind of work this is (e.g. LOCATION_BACKFILL)
|
|
151
|
+
*/
|
|
152
|
+
'jobType': string;
|
|
153
|
+
/**
|
|
154
|
+
* Current lifecycle state.
|
|
155
|
+
*/
|
|
156
|
+
'status': JobStatus;
|
|
157
|
+
/**
|
|
158
|
+
* Number of units processed so far
|
|
159
|
+
*/
|
|
160
|
+
'progressCurrent': number;
|
|
161
|
+
/**
|
|
162
|
+
* Total units, when known up front. Null when total is undetermined.
|
|
163
|
+
*/
|
|
164
|
+
'progressTotal'?: number | null;
|
|
165
|
+
/**
|
|
166
|
+
* Optional human-readable status line (e.g. \"Re-checking IpHub\").
|
|
167
|
+
*/
|
|
168
|
+
'progressMessage'?: string | null;
|
|
169
|
+
/**
|
|
170
|
+
* Error message when status = FAILED. Null otherwise.
|
|
171
|
+
*/
|
|
172
|
+
'errorMessage'?: string | null;
|
|
173
|
+
/**
|
|
174
|
+
* Type-specific JSON result, populated when status = COMPLETED. Schema varies by jobType — consult the docs for each type.
|
|
175
|
+
*/
|
|
176
|
+
'resultPayload'?: object | null;
|
|
177
|
+
/**
|
|
178
|
+
* Admin who submitted the job (Discord username for SSO admins).
|
|
179
|
+
*/
|
|
180
|
+
'startedBy': string;
|
|
181
|
+
/**
|
|
182
|
+
* When the job was submitted (ISO-8601).
|
|
183
|
+
*/
|
|
184
|
+
'startedAt': string;
|
|
185
|
+
/**
|
|
186
|
+
* Timestamp of the most recent progress update. The reaper marks jobs FAILED when this falls behind by 5 min.
|
|
187
|
+
*/
|
|
188
|
+
'lastProgressAt': string;
|
|
189
|
+
/**
|
|
190
|
+
* When the job entered a terminal state. Null while running.
|
|
191
|
+
*/
|
|
192
|
+
'finishedAt'?: string | null;
|
|
193
|
+
/**
|
|
194
|
+
* True if an admin has requested cancellation. The host instance picks this up at its next progress tick.
|
|
195
|
+
*/
|
|
196
|
+
'cancelRequested': boolean;
|
|
197
|
+
/**
|
|
198
|
+
* 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.
|
|
199
|
+
*/
|
|
200
|
+
'hostInstance': string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* 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.
|
|
204
|
+
*/
|
|
205
|
+
export interface AdminAsyncJobStartResponse {
|
|
206
|
+
/**
|
|
207
|
+
* Server-assigned job id
|
|
208
|
+
*/
|
|
209
|
+
'jobId': string;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* 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).
|
|
213
|
+
*/
|
|
214
|
+
export interface AdminAuditLogEntry {
|
|
215
|
+
/**
|
|
216
|
+
* Sequential id (ordering matches createdAt)
|
|
217
|
+
*/
|
|
218
|
+
'id': number;
|
|
219
|
+
/**
|
|
220
|
+
* Discord username of the moderator who performed the action
|
|
221
|
+
*/
|
|
222
|
+
'actorUsername': string;
|
|
223
|
+
/**
|
|
224
|
+
* 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.
|
|
225
|
+
*/
|
|
226
|
+
'action': string;
|
|
227
|
+
/**
|
|
228
|
+
* Type of entity acted upon (PLAYER, PUNISHMENT, PLAYER_PUNISHMENT, etc.)
|
|
229
|
+
*/
|
|
230
|
+
'targetType': string;
|
|
231
|
+
/**
|
|
232
|
+
* Identifier of the target (stringified id or UUID, depending on targetType)
|
|
233
|
+
*/
|
|
234
|
+
'targetId': string;
|
|
235
|
+
/**
|
|
236
|
+
* Action-specific JSON payload. Shape depends on the action.
|
|
237
|
+
*/
|
|
238
|
+
'payload'?: string | null;
|
|
239
|
+
/**
|
|
240
|
+
* When the action occurred (ISO-8601)
|
|
241
|
+
*/
|
|
242
|
+
'createdAt': string;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* 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
246
|
*/
|
|
94
|
-
export interface
|
|
247
|
+
export interface AdminBulkRevokeRequest {
|
|
248
|
+
/**
|
|
249
|
+
* Revoke links whose source_player_id matches. Mutually exclusive with sourceConnectionId.
|
|
250
|
+
*/
|
|
251
|
+
'sourcePlayerId'?: number | null;
|
|
95
252
|
/**
|
|
96
|
-
*
|
|
253
|
+
* Revoke links whose source_connection_id matches. Mutually exclusive with sourcePlayerId.
|
|
97
254
|
*/
|
|
98
|
-
'
|
|
255
|
+
'sourceConnectionId'?: number | null;
|
|
99
256
|
/**
|
|
100
|
-
*
|
|
257
|
+
* Optional reason for the audit log
|
|
101
258
|
*/
|
|
102
|
-
'
|
|
259
|
+
'reason'?: string | null;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Result of a bulk-revoke operation
|
|
263
|
+
*/
|
|
264
|
+
export interface AdminBulkRevokeResponse {
|
|
103
265
|
/**
|
|
104
|
-
*
|
|
266
|
+
* Number of player_punishment rows soft-deleted by the operation
|
|
105
267
|
*/
|
|
106
|
-
'
|
|
268
|
+
'revoked': number;
|
|
107
269
|
}
|
|
108
270
|
/**
|
|
109
271
|
* Client credential response
|
|
@@ -187,6 +349,36 @@ export interface AdminConnectionCheckResult {
|
|
|
187
349
|
* Country code reported by this service, if available
|
|
188
350
|
*/
|
|
189
351
|
'country'?: string | null;
|
|
352
|
+
/**
|
|
353
|
+
* Latitude reported by this service, if available
|
|
354
|
+
*/
|
|
355
|
+
'latitude'?: number | null;
|
|
356
|
+
/**
|
|
357
|
+
* Longitude reported by this service, if available
|
|
358
|
+
*/
|
|
359
|
+
'longitude'?: number | null;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* 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.
|
|
363
|
+
*/
|
|
364
|
+
export interface AdminCreateAltExemptionRequest {
|
|
365
|
+
/**
|
|
366
|
+
* UUID of the player to mark as a known-legitimate associate
|
|
367
|
+
*/
|
|
368
|
+
'altPlayerUuid': string;
|
|
369
|
+
/**
|
|
370
|
+
* Optional human-readable reason (e.g. \'roommates, verified via support ticket #1234\')
|
|
371
|
+
*/
|
|
372
|
+
'reason'?: string | null;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Create a staff note on a player
|
|
376
|
+
*/
|
|
377
|
+
export interface AdminCreatePlayerNoteRequest {
|
|
378
|
+
/**
|
|
379
|
+
* Note body (1–4000 chars)
|
|
380
|
+
*/
|
|
381
|
+
'body': string;
|
|
190
382
|
}
|
|
191
383
|
/**
|
|
192
384
|
* Request to evaluate the impact of a punishment across one or more targets before applying
|
|
@@ -220,7 +412,14 @@ export interface AdminCreatePunishmentDraftRequest {
|
|
|
220
412
|
export interface AdminDashboardConnectionResponse {
|
|
221
413
|
'id': number;
|
|
222
414
|
'ipAddress': string;
|
|
223
|
-
|
|
415
|
+
/**
|
|
416
|
+
* City reported by the first VPN provider that returned one for this IP.
|
|
417
|
+
*/
|
|
418
|
+
'city'?: string | null;
|
|
419
|
+
/**
|
|
420
|
+
* Country code (ISO 3166-1 alpha-2 or alpha-3 depending on provider) from the first provider that returned one.
|
|
421
|
+
*/
|
|
422
|
+
'country'?: string | null;
|
|
224
423
|
'isVpn': boolean;
|
|
225
424
|
'isBypassed': boolean;
|
|
226
425
|
'bypassExpiresAt'?: string | null;
|
|
@@ -252,120 +451,188 @@ export interface AdminIpSearchResult {
|
|
|
252
451
|
'players': Array<AdminPlayerSearchResult>;
|
|
253
452
|
}
|
|
254
453
|
/**
|
|
255
|
-
*
|
|
454
|
+
* Full player detail including punishment history and all known usernames
|
|
256
455
|
*/
|
|
257
|
-
export interface
|
|
456
|
+
export interface AdminPlayerDetailResponse {
|
|
258
457
|
/**
|
|
259
|
-
*
|
|
458
|
+
* Internal player ID
|
|
260
459
|
*/
|
|
261
|
-
'
|
|
460
|
+
'id': number;
|
|
262
461
|
/**
|
|
263
|
-
*
|
|
462
|
+
* Player Minecraft UUID
|
|
264
463
|
*/
|
|
265
|
-
'
|
|
464
|
+
'uuid': string;
|
|
266
465
|
/**
|
|
267
|
-
*
|
|
466
|
+
* Most recently seen username
|
|
268
467
|
*/
|
|
269
|
-
'
|
|
468
|
+
'username'?: string | null;
|
|
270
469
|
/**
|
|
271
|
-
*
|
|
470
|
+
* Whether this player still has first-join status
|
|
272
471
|
*/
|
|
273
|
-
'
|
|
472
|
+
'firstJoin': boolean;
|
|
274
473
|
/**
|
|
275
|
-
*
|
|
474
|
+
* Timestamp of first connection (ISO-8601)
|
|
276
475
|
*/
|
|
277
|
-
'
|
|
476
|
+
'firstLogin': string;
|
|
477
|
+
/**
|
|
478
|
+
* Timestamp of most recent connection (ISO-8601)
|
|
479
|
+
*/
|
|
480
|
+
'lastUsedAt'?: string | null;
|
|
481
|
+
/**
|
|
482
|
+
* Trust factor (0-100, higher = more trusted). Informational only — does NOT auto-escalate punishments. See compute_trust_factor in the database for the formula.
|
|
483
|
+
*/
|
|
484
|
+
'trustFactor': number;
|
|
485
|
+
/**
|
|
486
|
+
* All usernames this player has used, newest first
|
|
487
|
+
*/
|
|
488
|
+
'usernameHistory': Array<AdminUsernameHistoryEntry>;
|
|
489
|
+
/**
|
|
490
|
+
* True when this player is exempt from aggressive-mode propagation. Toggling on also bulk-revokes existing propagated links. Defaults to false.
|
|
491
|
+
*/
|
|
492
|
+
'aggressiveModeImmunity': boolean;
|
|
278
493
|
}
|
|
279
494
|
/**
|
|
280
|
-
*
|
|
495
|
+
* Free-form staff note about a player
|
|
281
496
|
*/
|
|
282
|
-
export interface
|
|
497
|
+
export interface AdminPlayerNote {
|
|
283
498
|
/**
|
|
284
|
-
*
|
|
499
|
+
* Note id
|
|
285
500
|
*/
|
|
286
|
-
'
|
|
501
|
+
'id': number;
|
|
287
502
|
/**
|
|
288
|
-
*
|
|
503
|
+
* Username (Discord username for SSO admins) of the staff member who wrote the note
|
|
289
504
|
*/
|
|
290
|
-
'
|
|
505
|
+
'author': string;
|
|
291
506
|
/**
|
|
292
|
-
*
|
|
507
|
+
* The note body (1–4000 characters)
|
|
293
508
|
*/
|
|
294
|
-
'
|
|
509
|
+
'body': string;
|
|
295
510
|
/**
|
|
296
|
-
*
|
|
511
|
+
* When the note was created (ISO-8601)
|
|
297
512
|
*/
|
|
298
|
-
'
|
|
513
|
+
'createdAt': string;
|
|
299
514
|
/**
|
|
300
|
-
*
|
|
515
|
+
* When the note was soft-deleted. Null on active notes. Deleted notes are still returned by default; the UI styles them as struck-through.
|
|
301
516
|
*/
|
|
302
|
-
'
|
|
517
|
+
'deletedAt'?: string | null;
|
|
518
|
+
/**
|
|
519
|
+
* Staff member who soft-deleted the note. Null on active notes.
|
|
520
|
+
*/
|
|
521
|
+
'deletedBy'?: string | null;
|
|
303
522
|
}
|
|
304
523
|
/**
|
|
305
|
-
*
|
|
524
|
+
* 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
525
|
*/
|
|
307
|
-
export interface
|
|
526
|
+
export interface AdminPlayerPunishmentResponse {
|
|
308
527
|
/**
|
|
309
|
-
*
|
|
528
|
+
* player_punishment row id (the link id, NOT the punishment id)
|
|
310
529
|
*/
|
|
311
|
-
'
|
|
530
|
+
'id': number;
|
|
312
531
|
/**
|
|
313
|
-
*
|
|
532
|
+
* Source punishment id this link points to
|
|
314
533
|
*/
|
|
315
|
-
'
|
|
534
|
+
'punishmentId': number;
|
|
316
535
|
/**
|
|
317
|
-
*
|
|
536
|
+
* UUID of the player this link is attached to
|
|
318
537
|
*/
|
|
319
|
-
'
|
|
538
|
+
'playerUuid': string;
|
|
320
539
|
/**
|
|
321
|
-
*
|
|
540
|
+
* Punishment type
|
|
322
541
|
*/
|
|
323
|
-
'
|
|
542
|
+
'type': PunishmentType;
|
|
324
543
|
/**
|
|
325
|
-
*
|
|
544
|
+
* Severity (1-4)
|
|
326
545
|
*/
|
|
327
|
-
'
|
|
546
|
+
'severity': number;
|
|
547
|
+
/**
|
|
548
|
+
* Reason from the source punishment record
|
|
549
|
+
*/
|
|
550
|
+
'reason': string;
|
|
551
|
+
/**
|
|
552
|
+
* Internal admin notes from the source punishment (may be null)
|
|
553
|
+
*/
|
|
554
|
+
'notes'?: string | null;
|
|
555
|
+
/**
|
|
556
|
+
* Original issuer of the punishment
|
|
557
|
+
*/
|
|
558
|
+
'createdBy': string;
|
|
559
|
+
/**
|
|
560
|
+
* When the source punishment was created (ISO-8601)
|
|
561
|
+
*/
|
|
562
|
+
'createdAt': string;
|
|
563
|
+
/**
|
|
564
|
+
* Source punishment expiration (null = permanent)
|
|
565
|
+
*/
|
|
566
|
+
'expiresAt'?: string | null;
|
|
567
|
+
/**
|
|
568
|
+
* 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.
|
|
569
|
+
*/
|
|
570
|
+
'source': PunishmentSource;
|
|
571
|
+
/**
|
|
572
|
+
* 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.
|
|
573
|
+
*/
|
|
574
|
+
'transferNote'?: string | null;
|
|
575
|
+
/**
|
|
576
|
+
* 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.
|
|
577
|
+
*/
|
|
578
|
+
'sourcePlayerId'?: number | null;
|
|
579
|
+
/**
|
|
580
|
+
* 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.
|
|
581
|
+
*/
|
|
582
|
+
'sourceConnectionId'?: number | null;
|
|
583
|
+
/**
|
|
584
|
+
* When this link was revoked by a staff member. Null while active.
|
|
585
|
+
*/
|
|
586
|
+
'revokedAt'?: string | null;
|
|
587
|
+
/**
|
|
588
|
+
* Staff member who revoked this link.
|
|
589
|
+
*/
|
|
590
|
+
'revokedBy'?: string | null;
|
|
328
591
|
}
|
|
329
592
|
/**
|
|
330
|
-
*
|
|
593
|
+
* One peer report. May target one or more players.
|
|
331
594
|
*/
|
|
332
|
-
export interface
|
|
595
|
+
export interface AdminPlayerReport {
|
|
333
596
|
/**
|
|
334
|
-
*
|
|
597
|
+
* Report id
|
|
335
598
|
*/
|
|
336
599
|
'id': number;
|
|
337
600
|
/**
|
|
338
|
-
*
|
|
601
|
+
* Reporter\'s UUID
|
|
339
602
|
*/
|
|
340
|
-
'
|
|
603
|
+
'reporterUuid': string;
|
|
341
604
|
/**
|
|
342
|
-
*
|
|
605
|
+
* Reporter\'s username at the time of the report (last-known if changed)
|
|
343
606
|
*/
|
|
344
|
-
'
|
|
607
|
+
'reporterUsername'?: string | null;
|
|
345
608
|
/**
|
|
346
|
-
*
|
|
609
|
+
* All players this report flags. At least one entry.
|
|
347
610
|
*/
|
|
348
|
-
'
|
|
611
|
+
'reportedTargets': Array<AdminReportTarget>;
|
|
349
612
|
/**
|
|
350
|
-
*
|
|
613
|
+
* Category
|
|
351
614
|
*/
|
|
352
|
-
'
|
|
615
|
+
'category': string;
|
|
353
616
|
/**
|
|
354
|
-
*
|
|
617
|
+
* Reason text
|
|
355
618
|
*/
|
|
356
|
-
'
|
|
619
|
+
'reason': string;
|
|
357
620
|
/**
|
|
358
|
-
*
|
|
621
|
+
* When created (ISO-8601)
|
|
359
622
|
*/
|
|
360
|
-
'
|
|
623
|
+
'createdAt': string;
|
|
361
624
|
/**
|
|
362
|
-
*
|
|
625
|
+
* When resolved by staff. Null = open.
|
|
363
626
|
*/
|
|
364
|
-
'
|
|
627
|
+
'resolvedAt'?: string | null;
|
|
365
628
|
/**
|
|
366
|
-
*
|
|
629
|
+
* Staff member who resolved it
|
|
367
630
|
*/
|
|
368
|
-
'
|
|
631
|
+
'resolvedBy'?: string | null;
|
|
632
|
+
/**
|
|
633
|
+
* Staff\'s resolution note
|
|
634
|
+
*/
|
|
635
|
+
'resolutionNote'?: string | null;
|
|
369
636
|
}
|
|
370
637
|
/**
|
|
371
638
|
* Lightweight player reference used in search results and punishment evaluations
|
|
@@ -380,6 +647,60 @@ export interface AdminPlayerSearchResult {
|
|
|
380
647
|
*/
|
|
381
648
|
'username'?: string | null;
|
|
382
649
|
}
|
|
650
|
+
/**
|
|
651
|
+
* 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.
|
|
652
|
+
*/
|
|
653
|
+
export interface AdminPlayerSession {
|
|
654
|
+
/**
|
|
655
|
+
* Session id (UUID)
|
|
656
|
+
*/
|
|
657
|
+
'id': string;
|
|
658
|
+
/**
|
|
659
|
+
* Player Minecraft UUID
|
|
660
|
+
*/
|
|
661
|
+
'playerUuid': string;
|
|
662
|
+
/**
|
|
663
|
+
* Game server session id this session is associated with. Nullable when the server record has been deleted.
|
|
664
|
+
*/
|
|
665
|
+
'serverSessionId'?: string | null;
|
|
666
|
+
/**
|
|
667
|
+
* When the player joined (ISO-8601)
|
|
668
|
+
*/
|
|
669
|
+
'startedAt': string;
|
|
670
|
+
/**
|
|
671
|
+
* When the player disconnected (ISO-8601). Null while the session is still active.
|
|
672
|
+
*/
|
|
673
|
+
'endedAt'?: string | null;
|
|
674
|
+
/**
|
|
675
|
+
* Closed session duration in seconds (ended_at − started_at). Null while active.
|
|
676
|
+
*/
|
|
677
|
+
'durationSeconds'?: number | null;
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* Aggregate session statistics for one player. Computed on demand from player_session.
|
|
681
|
+
*/
|
|
682
|
+
export interface AdminPlayerSessionStats {
|
|
683
|
+
/**
|
|
684
|
+
* Sum of duration_seconds across all closed sessions
|
|
685
|
+
*/
|
|
686
|
+
'totalSecondsPlayed': number;
|
|
687
|
+
/**
|
|
688
|
+
* Total number of session rows for this player (active + closed)
|
|
689
|
+
*/
|
|
690
|
+
'sessionCount': number;
|
|
691
|
+
/**
|
|
692
|
+
* Distinct calendar days (UTC) on which this player had at least one session
|
|
693
|
+
*/
|
|
694
|
+
'distinctDaysActive': number;
|
|
695
|
+
/**
|
|
696
|
+
* Most recent session start time (ISO-8601). Null if the player has never connected.
|
|
697
|
+
*/
|
|
698
|
+
'lastStartedAt'?: string | null;
|
|
699
|
+
/**
|
|
700
|
+
* True when the player has at least one currently-active (ended_at IS NULL) session.
|
|
701
|
+
*/
|
|
702
|
+
'currentlyOnline': boolean;
|
|
703
|
+
}
|
|
383
704
|
/**
|
|
384
705
|
* Summary of a player record, used in list views
|
|
385
706
|
*/
|
|
@@ -409,13 +730,9 @@ export interface AdminPlayerSummary {
|
|
|
409
730
|
*/
|
|
410
731
|
'lastUsedAt'?: string | null;
|
|
411
732
|
/**
|
|
412
|
-
*
|
|
413
|
-
*/
|
|
414
|
-
'punishmentPointsRaw': number;
|
|
415
|
-
/**
|
|
416
|
-
* Punishment score as a percentage. Values above 100 indicate future punishments should be permanent.
|
|
733
|
+
* 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
734
|
*/
|
|
418
|
-
'
|
|
735
|
+
'trustFactor': number;
|
|
419
736
|
}
|
|
420
737
|
/**
|
|
421
738
|
* Batch punishment draft — one evaluation per target
|
|
@@ -439,19 +756,11 @@ export interface AdminPunishmentEvaluation {
|
|
|
439
756
|
*/
|
|
440
757
|
'affectedPlayers': Array<AdminPlayerSearchResult>;
|
|
441
758
|
/**
|
|
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
|
|
759
|
+
* Trust factor preview for the targeted player. Present only when the target is a player; absent for any other target shape.
|
|
451
760
|
*/
|
|
452
|
-
'
|
|
761
|
+
'trustFactorImpact'?: AdminTrustFactorImpact | null;
|
|
453
762
|
/**
|
|
454
|
-
* Whether this punishment
|
|
763
|
+
* Whether this punishment will be permanent. Mirrors the request\'s forcePermanent flag — auto-escalation has been removed.
|
|
455
764
|
*/
|
|
456
765
|
'willBePermanent': boolean;
|
|
457
766
|
/**
|
|
@@ -467,7 +776,7 @@ export interface AdminPunishmentEvaluation {
|
|
|
467
776
|
*/
|
|
468
777
|
'isConnectionTarget': boolean;
|
|
469
778
|
/**
|
|
470
|
-
* The
|
|
779
|
+
* The punishment type that will be applied. Equal to the requested type — auto-escalation has been removed.
|
|
471
780
|
*/
|
|
472
781
|
'effectiveType': PunishmentType;
|
|
473
782
|
}
|
|
@@ -516,23 +825,190 @@ export interface AdminPunishmentTarget {
|
|
|
516
825
|
'ipAddress'?: string | null;
|
|
517
826
|
}
|
|
518
827
|
/**
|
|
519
|
-
*
|
|
828
|
+
* One reported player attached to a report.
|
|
520
829
|
*/
|
|
521
|
-
export interface
|
|
830
|
+
export interface AdminReportTarget {
|
|
522
831
|
/**
|
|
523
|
-
*
|
|
832
|
+
* Target player\'s UUID
|
|
524
833
|
*/
|
|
525
|
-
'
|
|
834
|
+
'uuid': string;
|
|
526
835
|
/**
|
|
527
|
-
*
|
|
836
|
+
* Target player\'s last-known username
|
|
528
837
|
*/
|
|
529
|
-
'
|
|
838
|
+
'username'?: string | null;
|
|
530
839
|
}
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
840
|
+
/**
|
|
841
|
+
* Resolve a player report. Sets resolved_at = NOW() and stores the staff note.
|
|
842
|
+
*/
|
|
843
|
+
export interface AdminResolveReportRequest {
|
|
844
|
+
/**
|
|
845
|
+
* Free-form resolution note from staff (e.g. \"Watched 10 min footage, no cheating evident.\")
|
|
846
|
+
*/
|
|
847
|
+
'resolutionNote'?: string | null;
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* Set whether a player is exempt from aggressive-mode punishment propagation. Toggling on also revokes all currently-active propagated links for the player.
|
|
851
|
+
*/
|
|
852
|
+
export interface AdminSetAggressiveModeImmunityRequest {
|
|
853
|
+
/**
|
|
854
|
+
* True to mark the player immune (no future propagation; existing propagated links bulk-revoked). False to re-enable propagation.
|
|
855
|
+
*/
|
|
856
|
+
'immune': boolean;
|
|
857
|
+
}
|
|
858
|
+
/**
|
|
859
|
+
* 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.
|
|
860
|
+
*/
|
|
861
|
+
export interface AdminTrustFactorBreakdown {
|
|
862
|
+
/**
|
|
863
|
+
* Starting score before any signals applied. Constant 75.
|
|
864
|
+
*/
|
|
865
|
+
'baseTrust': number;
|
|
866
|
+
/**
|
|
867
|
+
* Bonus from account age (+1 per 30 days, capped at +15)
|
|
868
|
+
*/
|
|
869
|
+
'ageBonus': number;
|
|
870
|
+
/**
|
|
871
|
+
* Bonus from clean history. +10 if no active punishments; otherwise +1 per 60 days since the most recent one. Capped at +10.
|
|
872
|
+
*/
|
|
873
|
+
'cleanHistoryBonus': number;
|
|
874
|
+
/**
|
|
875
|
+
* Bonus from connection stability. Stair-step on distinct-connection count: ≤1=+5, ≤3=+3, ≤8=+1, else 0.
|
|
876
|
+
*/
|
|
877
|
+
'stabilityBonus': number;
|
|
878
|
+
/**
|
|
879
|
+
* Bonus from admin affirmation. alt-exemptions × 2 + active player-bypass × 4, capped at +10.
|
|
880
|
+
*/
|
|
881
|
+
'adminAffirmationBonus': number;
|
|
882
|
+
/**
|
|
883
|
+
* Penalty from active punishments. Type-weighted, severity-scaled, time-decayed (BAN half-life 730d, MUTE 180d, WARNING 60d). Capped at -40.
|
|
884
|
+
*/
|
|
885
|
+
'punishmentPenalty': number;
|
|
886
|
+
/**
|
|
887
|
+
* Penalty from alts. dirty-alts × 4 + clean-alts × 0.5, after promiscuity/alt caps, excluding alt-exempted players. Capped at -20.
|
|
888
|
+
*/
|
|
889
|
+
'altPenalty': number;
|
|
890
|
+
/**
|
|
891
|
+
* Penalty from VPN exposure. Fraction of the player\'s connections flagged > 50% positive × 15.
|
|
892
|
+
*/
|
|
893
|
+
'vpnPenalty': number;
|
|
894
|
+
/**
|
|
895
|
+
* Penalty from active PROPAGATED punishment links × 3. Capped at -15.
|
|
896
|
+
*/
|
|
897
|
+
'propagationPenalty': number;
|
|
898
|
+
/**
|
|
899
|
+
* Sum of base + bonuses - penalties BEFORE clamping to 0..100. Useful for debugging \"why is my -50 raw sum clamped to 0?\" cases.
|
|
900
|
+
*/
|
|
901
|
+
'rawSum': number;
|
|
902
|
+
/**
|
|
903
|
+
* The clamped final trust factor (0–100). Identical to what compute_trust_factor() returns.
|
|
904
|
+
*/
|
|
905
|
+
'finalScore': number;
|
|
906
|
+
/**
|
|
907
|
+
* Days since the player\'s account was created.
|
|
908
|
+
*/
|
|
909
|
+
'accountAgeDays': number;
|
|
910
|
+
/**
|
|
911
|
+
* Days since the most recent active punishment landed. Null when the player has none — the clean_history bonus is at its cap.
|
|
912
|
+
*/
|
|
913
|
+
'daysSinceLastPunishment'?: number | null;
|
|
914
|
+
/**
|
|
915
|
+
* Distinct connections this player has used. Drives the stability bonus.
|
|
916
|
+
*/
|
|
917
|
+
'numConnections': number;
|
|
918
|
+
/**
|
|
919
|
+
* Alt-exemption rows attributed to this player (admin-asserted legitimate associates).
|
|
920
|
+
*/
|
|
921
|
+
'numAltExemptions': number;
|
|
922
|
+
/**
|
|
923
|
+
* Whether this player currently has an active player_bypass row.
|
|
924
|
+
*/
|
|
925
|
+
'hasPlayerBypass': boolean;
|
|
926
|
+
/**
|
|
927
|
+
* Count of active (non-revoked, non-expired) player_punishment rows on this player. Includes both DIRECT and PROPAGATED.
|
|
928
|
+
*/
|
|
929
|
+
'numActivePunishments': number;
|
|
930
|
+
/**
|
|
931
|
+
* Alts with active punishments (drives the bigger per-alt penalty multiplier).
|
|
932
|
+
*/
|
|
933
|
+
'numDirtyAlts': number;
|
|
934
|
+
/**
|
|
935
|
+
* Alts WITHOUT active punishments (drives the smaller per-alt penalty multiplier).
|
|
936
|
+
*/
|
|
937
|
+
'numCleanAlts': number;
|
|
938
|
+
/**
|
|
939
|
+
* Fraction of this player\'s connections flagged > 50% VPN-positive. Range 0..1.
|
|
940
|
+
*/
|
|
941
|
+
'vpnConnectionRatio': number;
|
|
942
|
+
/**
|
|
943
|
+
* Active PROPAGATED player_punishment links on this player (i.e. aggressive-mode propagation).
|
|
944
|
+
*/
|
|
945
|
+
'numPropagatedLinks': number;
|
|
946
|
+
}
|
|
947
|
+
/**
|
|
948
|
+
* One trust factor snapshot for a player on a given day.
|
|
949
|
+
*/
|
|
950
|
+
export interface AdminTrustFactorHistoryEntry {
|
|
951
|
+
/**
|
|
952
|
+
* UTC date the snapshot was taken
|
|
953
|
+
*/
|
|
954
|
+
'snapshotDate': string;
|
|
955
|
+
/**
|
|
956
|
+
* Trust factor (0–100, higher = more trusted) on that day
|
|
957
|
+
*/
|
|
958
|
+
'trustFactor': number;
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* Trust factor impact preview for a player-targeted punishment.
|
|
962
|
+
*/
|
|
963
|
+
export interface AdminTrustFactorImpact {
|
|
964
|
+
/**
|
|
965
|
+
* Trust factor right now (0-100, higher = more trusted). Computed by compute_trust_factor in the database.
|
|
966
|
+
*/
|
|
967
|
+
'currentTrustFactor': number;
|
|
968
|
+
/**
|
|
969
|
+
* 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.
|
|
970
|
+
*/
|
|
971
|
+
'projectedTrustFactor': number;
|
|
972
|
+
}
|
|
973
|
+
/**
|
|
974
|
+
* Partial update for a punishment. Only reason / notes / expiresAt may be edited — severity is intentionally immutable to keep the punishment score deterministic.
|
|
975
|
+
*/
|
|
976
|
+
export interface AdminUpdatePunishmentRequest {
|
|
977
|
+
/**
|
|
978
|
+
* Replace the visible reason. Min 3, max 500 characters.
|
|
979
|
+
*/
|
|
980
|
+
'reason'?: string | null;
|
|
981
|
+
/**
|
|
982
|
+
* Replace the internal admin notes. Null leaves them untouched; empty string clears them.
|
|
983
|
+
*/
|
|
984
|
+
'notes'?: string | null;
|
|
985
|
+
/**
|
|
986
|
+
* 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.
|
|
987
|
+
*/
|
|
988
|
+
'expiresAt'?: string | null;
|
|
989
|
+
/**
|
|
990
|
+
* When true, clears expiresAt (makes the punishment permanent). Takes precedence over expiresAt.
|
|
991
|
+
*/
|
|
992
|
+
'forcePermanent'?: boolean | null;
|
|
993
|
+
}
|
|
994
|
+
/**
|
|
995
|
+
* A single entry in a player\'s username history
|
|
996
|
+
*/
|
|
997
|
+
export interface AdminUsernameHistoryEntry {
|
|
998
|
+
/**
|
|
999
|
+
* The username at this point in time
|
|
1000
|
+
*/
|
|
1001
|
+
'username': string;
|
|
1002
|
+
/**
|
|
1003
|
+
* When this username was first observed (ISO-8601)
|
|
1004
|
+
*/
|
|
1005
|
+
'changedAt': string;
|
|
1006
|
+
}
|
|
1007
|
+
export interface ChatMessageDTO {
|
|
1008
|
+
'id': number;
|
|
1009
|
+
'sentAt': string;
|
|
1010
|
+
'sessionId': string;
|
|
1011
|
+
'playerUuid': string;
|
|
536
1012
|
'message': string;
|
|
537
1013
|
'channel': string;
|
|
538
1014
|
}
|
|
@@ -568,9 +1044,18 @@ export interface ConnectionGetConnectionDetailsResponse {
|
|
|
568
1044
|
*/
|
|
569
1045
|
'ipAddress': string;
|
|
570
1046
|
/**
|
|
571
|
-
*
|
|
1047
|
+
* 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.
|
|
1048
|
+
*/
|
|
1049
|
+
'city'?: string | null;
|
|
1050
|
+
/**
|
|
1051
|
+
* Country code reported by the first VPN provider that returned one (ISO 3166-1 alpha-2 or alpha-3 depending on provider).
|
|
1052
|
+
*/
|
|
1053
|
+
'country'?: string | null;
|
|
1054
|
+
/**
|
|
1055
|
+
* **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.
|
|
1056
|
+
* @deprecated
|
|
572
1057
|
*/
|
|
573
|
-
'approximateLocation'
|
|
1058
|
+
'approximateLocation'?: string | null;
|
|
574
1059
|
/**
|
|
575
1060
|
* 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
1061
|
*/
|
|
@@ -605,7 +1090,7 @@ export interface ConnectionGetConnectionDetailsResponse {
|
|
|
605
1090
|
'connectionResult'?: ConnectionResult | null;
|
|
606
1091
|
}
|
|
607
1092
|
/**
|
|
608
|
-
*
|
|
1093
|
+
* Final allow/deny verdict plus formatted kick message if denied.
|
|
609
1094
|
*/
|
|
610
1095
|
export interface ConnectionResult {
|
|
611
1096
|
'code': ConnectionResultResultCode;
|
|
@@ -635,6 +1120,60 @@ export interface CreateBypassRequest {
|
|
|
635
1120
|
*/
|
|
636
1121
|
'expiresAtEpoch': number;
|
|
637
1122
|
}
|
|
1123
|
+
/**
|
|
1124
|
+
* 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.
|
|
1125
|
+
*/
|
|
1126
|
+
export interface CreateReportRequest {
|
|
1127
|
+
/**
|
|
1128
|
+
* Reporter\'s UUID (the player who ran /report)
|
|
1129
|
+
*/
|
|
1130
|
+
'reporterUuid': string;
|
|
1131
|
+
/**
|
|
1132
|
+
* One or more reported player UUIDs. Duplicates within the list are de-duped server-side. The reporter MUST NOT appear in this list.
|
|
1133
|
+
*/
|
|
1134
|
+
'reportedUuids': Array<string>;
|
|
1135
|
+
/**
|
|
1136
|
+
* Category of misconduct. Coarse on purpose — staff refine in triage.
|
|
1137
|
+
*/
|
|
1138
|
+
'category': ReportCategory;
|
|
1139
|
+
/**
|
|
1140
|
+
* Free-form description from the reporter (1–500 chars)
|
|
1141
|
+
*/
|
|
1142
|
+
'reason': string;
|
|
1143
|
+
}
|
|
1144
|
+
/**
|
|
1145
|
+
* Acknowledgement that a peer report was accepted by the API.
|
|
1146
|
+
*/
|
|
1147
|
+
export interface CreateReportResponse {
|
|
1148
|
+
/**
|
|
1149
|
+
* Server-assigned report id
|
|
1150
|
+
*/
|
|
1151
|
+
'reportId': number;
|
|
1152
|
+
/**
|
|
1153
|
+
* 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.
|
|
1154
|
+
*/
|
|
1155
|
+
'deduplicated': boolean;
|
|
1156
|
+
}
|
|
1157
|
+
export interface CursoredPageAdminAuditLogEntry {
|
|
1158
|
+
'content': Array<AdminAuditLogEntry>;
|
|
1159
|
+
'pageable': Pageable;
|
|
1160
|
+
'pageNumber': number;
|
|
1161
|
+
'offset': number;
|
|
1162
|
+
'size': number;
|
|
1163
|
+
'empty': boolean;
|
|
1164
|
+
'numberOfElements': number;
|
|
1165
|
+
'totalSize': number;
|
|
1166
|
+
'totalPages': number;
|
|
1167
|
+
'cursors': Array<object>;
|
|
1168
|
+
}
|
|
1169
|
+
export interface CursoredPageable {
|
|
1170
|
+
'orderBy': Array<SortOrder>;
|
|
1171
|
+
'number': number;
|
|
1172
|
+
'size': number;
|
|
1173
|
+
'mode': PageableMode;
|
|
1174
|
+
'sort': Sort;
|
|
1175
|
+
'backward': boolean;
|
|
1176
|
+
}
|
|
638
1177
|
export declare const GameType: {
|
|
639
1178
|
readonly Rotj: "ROTJ";
|
|
640
1179
|
readonly Legacy: "LEGACY";
|
|
@@ -642,7 +1181,163 @@ export declare const GameType: {
|
|
|
642
1181
|
};
|
|
643
1182
|
export type GameType = typeof GameType[keyof typeof GameType];
|
|
644
1183
|
/**
|
|
645
|
-
*
|
|
1184
|
+
* Current lifecycle state.
|
|
1185
|
+
*/
|
|
1186
|
+
export declare const JobStatus: {
|
|
1187
|
+
readonly Queued: "QUEUED";
|
|
1188
|
+
readonly Running: "RUNNING";
|
|
1189
|
+
readonly Completed: "COMPLETED";
|
|
1190
|
+
readonly Failed: "FAILED";
|
|
1191
|
+
readonly Cancelled: "CANCELLED";
|
|
1192
|
+
};
|
|
1193
|
+
export type JobStatus = typeof JobStatus[keyof typeof JobStatus];
|
|
1194
|
+
export interface PageAdminAltAccount {
|
|
1195
|
+
'content': Array<AdminAltAccount>;
|
|
1196
|
+
'pageable': Pageable;
|
|
1197
|
+
'pageNumber': number;
|
|
1198
|
+
'offset': number;
|
|
1199
|
+
'size': number;
|
|
1200
|
+
'empty': boolean;
|
|
1201
|
+
'numberOfElements': number;
|
|
1202
|
+
'totalSize': number;
|
|
1203
|
+
'totalPages': number;
|
|
1204
|
+
}
|
|
1205
|
+
export interface PageAdminAltExemption {
|
|
1206
|
+
'content': Array<AdminAltExemption>;
|
|
1207
|
+
'pageable': Pageable;
|
|
1208
|
+
'pageNumber': number;
|
|
1209
|
+
'offset': number;
|
|
1210
|
+
'size': number;
|
|
1211
|
+
'empty': boolean;
|
|
1212
|
+
'numberOfElements': number;
|
|
1213
|
+
'totalSize': number;
|
|
1214
|
+
'totalPages': number;
|
|
1215
|
+
}
|
|
1216
|
+
export interface PageAdminAsyncJob {
|
|
1217
|
+
'content': Array<AdminAsyncJob>;
|
|
1218
|
+
'pageable': Pageable;
|
|
1219
|
+
'pageNumber': number;
|
|
1220
|
+
'offset': number;
|
|
1221
|
+
'size': number;
|
|
1222
|
+
'empty': boolean;
|
|
1223
|
+
'numberOfElements': number;
|
|
1224
|
+
'totalSize': number;
|
|
1225
|
+
'totalPages': number;
|
|
1226
|
+
}
|
|
1227
|
+
export interface PageAdminAuditLogEntry {
|
|
1228
|
+
'content': Array<AdminAuditLogEntry>;
|
|
1229
|
+
'pageable': Pageable;
|
|
1230
|
+
'pageNumber': number;
|
|
1231
|
+
'offset': number;
|
|
1232
|
+
'size': number;
|
|
1233
|
+
'empty': boolean;
|
|
1234
|
+
'numberOfElements': number;
|
|
1235
|
+
'totalSize': number;
|
|
1236
|
+
'totalPages': number;
|
|
1237
|
+
}
|
|
1238
|
+
export interface PageAdminDashboardConnectionResponse {
|
|
1239
|
+
'content': Array<AdminDashboardConnectionResponse>;
|
|
1240
|
+
'pageable': Pageable;
|
|
1241
|
+
'pageNumber': number;
|
|
1242
|
+
'offset': number;
|
|
1243
|
+
'size': number;
|
|
1244
|
+
'empty': boolean;
|
|
1245
|
+
'numberOfElements': number;
|
|
1246
|
+
'totalSize': number;
|
|
1247
|
+
'totalPages': number;
|
|
1248
|
+
}
|
|
1249
|
+
export interface PageAdminPlayerNote {
|
|
1250
|
+
'content': Array<AdminPlayerNote>;
|
|
1251
|
+
'pageable': Pageable;
|
|
1252
|
+
'pageNumber': number;
|
|
1253
|
+
'offset': number;
|
|
1254
|
+
'size': number;
|
|
1255
|
+
'empty': boolean;
|
|
1256
|
+
'numberOfElements': number;
|
|
1257
|
+
'totalSize': number;
|
|
1258
|
+
'totalPages': number;
|
|
1259
|
+
}
|
|
1260
|
+
export interface PageAdminPlayerPunishmentResponse {
|
|
1261
|
+
'content': Array<AdminPlayerPunishmentResponse>;
|
|
1262
|
+
'pageable': Pageable;
|
|
1263
|
+
'pageNumber': number;
|
|
1264
|
+
'offset': number;
|
|
1265
|
+
'size': number;
|
|
1266
|
+
'empty': boolean;
|
|
1267
|
+
'numberOfElements': number;
|
|
1268
|
+
'totalSize': number;
|
|
1269
|
+
'totalPages': number;
|
|
1270
|
+
}
|
|
1271
|
+
export interface PageAdminPlayerReport {
|
|
1272
|
+
'content': Array<AdminPlayerReport>;
|
|
1273
|
+
'pageable': Pageable;
|
|
1274
|
+
'pageNumber': number;
|
|
1275
|
+
'offset': number;
|
|
1276
|
+
'size': number;
|
|
1277
|
+
'empty': boolean;
|
|
1278
|
+
'numberOfElements': number;
|
|
1279
|
+
'totalSize': number;
|
|
1280
|
+
'totalPages': number;
|
|
1281
|
+
}
|
|
1282
|
+
export interface PageAdminPlayerSession {
|
|
1283
|
+
'content': Array<AdminPlayerSession>;
|
|
1284
|
+
'pageable': Pageable;
|
|
1285
|
+
'pageNumber': number;
|
|
1286
|
+
'offset': number;
|
|
1287
|
+
'size': number;
|
|
1288
|
+
'empty': boolean;
|
|
1289
|
+
'numberOfElements': number;
|
|
1290
|
+
'totalSize': number;
|
|
1291
|
+
'totalPages': number;
|
|
1292
|
+
}
|
|
1293
|
+
export interface PageAdminPlayerSummary {
|
|
1294
|
+
'content': Array<AdminPlayerSummary>;
|
|
1295
|
+
'pageable': Pageable;
|
|
1296
|
+
'pageNumber': number;
|
|
1297
|
+
'offset': number;
|
|
1298
|
+
'size': number;
|
|
1299
|
+
'empty': boolean;
|
|
1300
|
+
'numberOfElements': number;
|
|
1301
|
+
'totalSize': number;
|
|
1302
|
+
'totalPages': number;
|
|
1303
|
+
}
|
|
1304
|
+
export interface PageAdminPunishmentListItem {
|
|
1305
|
+
'content': Array<AdminPunishmentListItem>;
|
|
1306
|
+
'pageable': Pageable;
|
|
1307
|
+
'pageNumber': number;
|
|
1308
|
+
'offset': number;
|
|
1309
|
+
'size': number;
|
|
1310
|
+
'empty': boolean;
|
|
1311
|
+
'numberOfElements': number;
|
|
1312
|
+
'totalSize': number;
|
|
1313
|
+
'totalPages': number;
|
|
1314
|
+
}
|
|
1315
|
+
export interface PagePunishmentGetPunishmentResponse {
|
|
1316
|
+
'content': Array<PunishmentGetPunishmentResponse>;
|
|
1317
|
+
'pageable': Pageable;
|
|
1318
|
+
'pageNumber': number;
|
|
1319
|
+
'offset': number;
|
|
1320
|
+
'size': number;
|
|
1321
|
+
'empty': boolean;
|
|
1322
|
+
'numberOfElements': number;
|
|
1323
|
+
'totalSize': number;
|
|
1324
|
+
'totalPages': number;
|
|
1325
|
+
}
|
|
1326
|
+
export interface Pageable {
|
|
1327
|
+
'orderBy': Array<SortOrder>;
|
|
1328
|
+
'number': number;
|
|
1329
|
+
'size': number;
|
|
1330
|
+
'mode': PageableMode;
|
|
1331
|
+
'sort': Sort;
|
|
1332
|
+
}
|
|
1333
|
+
export declare const PageableMode: {
|
|
1334
|
+
readonly CursorNext: "CURSOR_NEXT";
|
|
1335
|
+
readonly CursorPrevious: "CURSOR_PREVIOUS";
|
|
1336
|
+
readonly Offset: "OFFSET";
|
|
1337
|
+
};
|
|
1338
|
+
export type PageableMode = typeof PageableMode[keyof typeof PageableMode];
|
|
1339
|
+
/**
|
|
1340
|
+
* Player information including join history, tracking data, and trust factor
|
|
646
1341
|
*/
|
|
647
1342
|
export interface PlayerGetPlayerInformation {
|
|
648
1343
|
/**
|
|
@@ -654,14 +1349,123 @@ export interface PlayerGetPlayerInformation {
|
|
|
654
1349
|
*/
|
|
655
1350
|
'firstLogin': string;
|
|
656
1351
|
/**
|
|
657
|
-
*
|
|
1352
|
+
* 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.
|
|
1353
|
+
*/
|
|
1354
|
+
'trustFactor': number;
|
|
1355
|
+
/**
|
|
1356
|
+
* **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.
|
|
1357
|
+
* @deprecated
|
|
658
1358
|
*/
|
|
659
1359
|
'punishmentPointsRaw': number;
|
|
660
1360
|
/**
|
|
661
|
-
*
|
|
1361
|
+
* **DEPRECATED.** See {@link #punishmentPointsRaw}. Always 0.0 — use trustFactor.
|
|
1362
|
+
* @deprecated
|
|
662
1363
|
*/
|
|
663
1364
|
'punishmentPointsPercent': number;
|
|
664
1365
|
}
|
|
1366
|
+
/**
|
|
1367
|
+
* Close the active player session for a (playerUuid, serverSessionId) pair. No-op if no active session is found.
|
|
1368
|
+
*/
|
|
1369
|
+
export interface PlayerSessionEndRequest {
|
|
1370
|
+
/**
|
|
1371
|
+
* Player Minecraft UUID
|
|
1372
|
+
*/
|
|
1373
|
+
'playerUuid': string;
|
|
1374
|
+
/**
|
|
1375
|
+
* Server session id the player was on
|
|
1376
|
+
*/
|
|
1377
|
+
'serverSessionId': string;
|
|
1378
|
+
}
|
|
1379
|
+
/**
|
|
1380
|
+
* Unified player-join request. Runs the full authorization check (VPN, bypass, punishments) and conditionally opens a player_session for the allowed players.
|
|
1381
|
+
*/
|
|
1382
|
+
export interface PlayerSessionStartRequest {
|
|
1383
|
+
/**
|
|
1384
|
+
* Player Minecraft UUID
|
|
1385
|
+
*/
|
|
1386
|
+
'playerUuid': string;
|
|
1387
|
+
/**
|
|
1388
|
+
* Server session id this player is on (from /v1/servers register)
|
|
1389
|
+
*/
|
|
1390
|
+
'serverSessionId': string;
|
|
1391
|
+
/**
|
|
1392
|
+
* IPv4 address the player is connecting from
|
|
1393
|
+
*/
|
|
1394
|
+
'ip': string;
|
|
1395
|
+
/**
|
|
1396
|
+
* When true, bypass any cached VPN-check result and re-run all detection services. Useful when debugging a specific connection. Defaults to false.
|
|
1397
|
+
*/
|
|
1398
|
+
'forceRecheck'?: boolean | null;
|
|
1399
|
+
}
|
|
1400
|
+
/**
|
|
1401
|
+
* Result of POST /v1/player-session/start. Always populated; session fields are null when the player was not allowed in.
|
|
1402
|
+
*/
|
|
1403
|
+
export interface PlayerSessionStartResponse {
|
|
1404
|
+
/**
|
|
1405
|
+
* Session row id. Null when the join was not allowed.
|
|
1406
|
+
*/
|
|
1407
|
+
'sessionId'?: string | null;
|
|
1408
|
+
/**
|
|
1409
|
+
* 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.
|
|
1410
|
+
*/
|
|
1411
|
+
'startedAt'?: string | null;
|
|
1412
|
+
/**
|
|
1413
|
+
* Player Minecraft UUID
|
|
1414
|
+
*/
|
|
1415
|
+
'playerUuid': string;
|
|
1416
|
+
/**
|
|
1417
|
+
* Server session id the join applies to
|
|
1418
|
+
*/
|
|
1419
|
+
'serverSessionId': string;
|
|
1420
|
+
/**
|
|
1421
|
+
* Final allow/deny verdict plus formatted kick message if denied.
|
|
1422
|
+
*/
|
|
1423
|
+
'connectionResult': ConnectionResult;
|
|
1424
|
+
/**
|
|
1425
|
+
* Player\'s connecting IP, echoed from the request
|
|
1426
|
+
*/
|
|
1427
|
+
'ipAddress': string;
|
|
1428
|
+
/**
|
|
1429
|
+
* City reported by the first VPN provider that returned one. Null when no provider has city data (private IPs, localhost, sparse providers).
|
|
1430
|
+
*/
|
|
1431
|
+
'city'?: string | null;
|
|
1432
|
+
/**
|
|
1433
|
+
* Country code reported by the first VPN provider that returned one (ISO 3166-1 alpha-2 or alpha-3 depending on provider).
|
|
1434
|
+
*/
|
|
1435
|
+
'country'?: string | null;
|
|
1436
|
+
/**
|
|
1437
|
+
* Confidence score (0.0–100.0) representing what fraction of VPN detection services flagged this IP as suspicious.
|
|
1438
|
+
*/
|
|
1439
|
+
'percentPositive': number;
|
|
1440
|
+
/**
|
|
1441
|
+
* Total VPN detection services successfully queried on this IP
|
|
1442
|
+
*/
|
|
1443
|
+
'numberOfChecks': number;
|
|
1444
|
+
/**
|
|
1445
|
+
* Whether this IP has an active administrative VPN bypass
|
|
1446
|
+
*/
|
|
1447
|
+
'isBypassed': boolean;
|
|
1448
|
+
/**
|
|
1449
|
+
* Bypass expiration timestamp; null if not bypassed or bypass is permanent.
|
|
1450
|
+
*/
|
|
1451
|
+
'bypassedUntil'?: string | null;
|
|
1452
|
+
/**
|
|
1453
|
+
* Per-provider VPN check results, useful for the admin UI / debugging.
|
|
1454
|
+
*/
|
|
1455
|
+
'checkResults'?: Array<AdminConnectionCheckResult>;
|
|
1456
|
+
/**
|
|
1457
|
+
* Player info (first-join flag, first login, punishment score). Null only in edge cases where the player record could not be loaded.
|
|
1458
|
+
*/
|
|
1459
|
+
'playerInformation'?: PlayerGetPlayerInformation | null;
|
|
1460
|
+
/**
|
|
1461
|
+
* Active (non-expired, non-revoked) punishments on this player, including any that were just propagated by the join check.
|
|
1462
|
+
*/
|
|
1463
|
+
'activePunishments': Array<PunishmentGetPunishmentResponse>;
|
|
1464
|
+
/**
|
|
1465
|
+
* 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.
|
|
1466
|
+
*/
|
|
1467
|
+
'sessionStats': AdminPlayerSessionStats;
|
|
1468
|
+
}
|
|
665
1469
|
/**
|
|
666
1470
|
* Punishment information including reason, type, creator, and expiration
|
|
667
1471
|
*/
|
|
@@ -734,11 +1538,22 @@ export interface PunishmentSeveritiesResponseSeverityInfo {
|
|
|
734
1538
|
*/
|
|
735
1539
|
'durationSeconds': number;
|
|
736
1540
|
}
|
|
1541
|
+
/**
|
|
1542
|
+
* 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.
|
|
1543
|
+
*/
|
|
1544
|
+
export declare const PunishmentSource: {
|
|
1545
|
+
readonly Direct: "DIRECT";
|
|
1546
|
+
readonly Propagated: "PROPAGATED";
|
|
1547
|
+
};
|
|
1548
|
+
export type PunishmentSource = typeof PunishmentSource[keyof typeof PunishmentSource];
|
|
737
1549
|
export declare const PunishmentTargetType: {
|
|
738
1550
|
readonly Player: "PLAYER";
|
|
739
1551
|
readonly Connection: "CONNECTION";
|
|
740
1552
|
};
|
|
741
1553
|
export type PunishmentTargetType = typeof PunishmentTargetType[keyof typeof PunishmentTargetType];
|
|
1554
|
+
/**
|
|
1555
|
+
* Type of punishment
|
|
1556
|
+
*/
|
|
742
1557
|
export declare const PunishmentType: {
|
|
743
1558
|
readonly Ban: "BAN";
|
|
744
1559
|
readonly Mute: "MUTE";
|
|
@@ -757,6 +1572,17 @@ export declare const Region: {
|
|
|
757
1572
|
readonly Au: "AU";
|
|
758
1573
|
};
|
|
759
1574
|
export type Region = typeof Region[keyof typeof Region];
|
|
1575
|
+
/**
|
|
1576
|
+
* Category of misconduct. Coarse on purpose — staff refine in triage.
|
|
1577
|
+
*/
|
|
1578
|
+
export declare const ReportCategory: {
|
|
1579
|
+
readonly Cheating: "CHEATING";
|
|
1580
|
+
readonly Harassment: "HARASSMENT";
|
|
1581
|
+
readonly ChatAbuse: "CHAT_ABUSE";
|
|
1582
|
+
readonly Griefing: "GRIEFING";
|
|
1583
|
+
readonly Other: "OTHER";
|
|
1584
|
+
};
|
|
1585
|
+
export type ReportCategory = typeof ReportCategory[keyof typeof ReportCategory];
|
|
760
1586
|
/**
|
|
761
1587
|
* Search kind — PLAYER for UUID/username searches, IP for IP address searches
|
|
762
1588
|
*/
|
|
@@ -781,6 +1607,128 @@ export interface ServerSessionDTO {
|
|
|
781
1607
|
'endedAt'?: string | null;
|
|
782
1608
|
'online': boolean;
|
|
783
1609
|
}
|
|
1610
|
+
export interface SliceAdminAltAccount {
|
|
1611
|
+
'content': Array<AdminAltAccount>;
|
|
1612
|
+
'pageable': Pageable;
|
|
1613
|
+
'pageNumber': number;
|
|
1614
|
+
'offset': number;
|
|
1615
|
+
'size': number;
|
|
1616
|
+
'empty': boolean;
|
|
1617
|
+
'numberOfElements': number;
|
|
1618
|
+
}
|
|
1619
|
+
export interface SliceAdminAltExemption {
|
|
1620
|
+
'content': Array<AdminAltExemption>;
|
|
1621
|
+
'pageable': Pageable;
|
|
1622
|
+
'pageNumber': number;
|
|
1623
|
+
'offset': number;
|
|
1624
|
+
'size': number;
|
|
1625
|
+
'empty': boolean;
|
|
1626
|
+
'numberOfElements': number;
|
|
1627
|
+
}
|
|
1628
|
+
export interface SliceAdminAsyncJob {
|
|
1629
|
+
'content': Array<AdminAsyncJob>;
|
|
1630
|
+
'pageable': Pageable;
|
|
1631
|
+
'pageNumber': number;
|
|
1632
|
+
'offset': number;
|
|
1633
|
+
'size': number;
|
|
1634
|
+
'empty': boolean;
|
|
1635
|
+
'numberOfElements': number;
|
|
1636
|
+
}
|
|
1637
|
+
export interface SliceAdminAuditLogEntry {
|
|
1638
|
+
'content': Array<AdminAuditLogEntry>;
|
|
1639
|
+
'pageable': Pageable;
|
|
1640
|
+
'pageNumber': number;
|
|
1641
|
+
'offset': number;
|
|
1642
|
+
'size': number;
|
|
1643
|
+
'empty': boolean;
|
|
1644
|
+
'numberOfElements': number;
|
|
1645
|
+
}
|
|
1646
|
+
export interface SliceAdminDashboardConnectionResponse {
|
|
1647
|
+
'content': Array<AdminDashboardConnectionResponse>;
|
|
1648
|
+
'pageable': Pageable;
|
|
1649
|
+
'pageNumber': number;
|
|
1650
|
+
'offset': number;
|
|
1651
|
+
'size': number;
|
|
1652
|
+
'empty': boolean;
|
|
1653
|
+
'numberOfElements': number;
|
|
1654
|
+
}
|
|
1655
|
+
export interface SliceAdminPlayerNote {
|
|
1656
|
+
'content': Array<AdminPlayerNote>;
|
|
1657
|
+
'pageable': Pageable;
|
|
1658
|
+
'pageNumber': number;
|
|
1659
|
+
'offset': number;
|
|
1660
|
+
'size': number;
|
|
1661
|
+
'empty': boolean;
|
|
1662
|
+
'numberOfElements': number;
|
|
1663
|
+
}
|
|
1664
|
+
export interface SliceAdminPlayerPunishmentResponse {
|
|
1665
|
+
'content': Array<AdminPlayerPunishmentResponse>;
|
|
1666
|
+
'pageable': Pageable;
|
|
1667
|
+
'pageNumber': number;
|
|
1668
|
+
'offset': number;
|
|
1669
|
+
'size': number;
|
|
1670
|
+
'empty': boolean;
|
|
1671
|
+
'numberOfElements': number;
|
|
1672
|
+
}
|
|
1673
|
+
export interface SliceAdminPlayerReport {
|
|
1674
|
+
'content': Array<AdminPlayerReport>;
|
|
1675
|
+
'pageable': Pageable;
|
|
1676
|
+
'pageNumber': number;
|
|
1677
|
+
'offset': number;
|
|
1678
|
+
'size': number;
|
|
1679
|
+
'empty': boolean;
|
|
1680
|
+
'numberOfElements': number;
|
|
1681
|
+
}
|
|
1682
|
+
export interface SliceAdminPlayerSession {
|
|
1683
|
+
'content': Array<AdminPlayerSession>;
|
|
1684
|
+
'pageable': Pageable;
|
|
1685
|
+
'pageNumber': number;
|
|
1686
|
+
'offset': number;
|
|
1687
|
+
'size': number;
|
|
1688
|
+
'empty': boolean;
|
|
1689
|
+
'numberOfElements': number;
|
|
1690
|
+
}
|
|
1691
|
+
export interface SliceAdminPlayerSummary {
|
|
1692
|
+
'content': Array<AdminPlayerSummary>;
|
|
1693
|
+
'pageable': Pageable;
|
|
1694
|
+
'pageNumber': number;
|
|
1695
|
+
'offset': number;
|
|
1696
|
+
'size': number;
|
|
1697
|
+
'empty': boolean;
|
|
1698
|
+
'numberOfElements': number;
|
|
1699
|
+
}
|
|
1700
|
+
export interface SliceAdminPunishmentListItem {
|
|
1701
|
+
'content': Array<AdminPunishmentListItem>;
|
|
1702
|
+
'pageable': Pageable;
|
|
1703
|
+
'pageNumber': number;
|
|
1704
|
+
'offset': number;
|
|
1705
|
+
'size': number;
|
|
1706
|
+
'empty': boolean;
|
|
1707
|
+
'numberOfElements': number;
|
|
1708
|
+
}
|
|
1709
|
+
export interface SlicePunishmentGetPunishmentResponse {
|
|
1710
|
+
'content': Array<PunishmentGetPunishmentResponse>;
|
|
1711
|
+
'pageable': Pageable;
|
|
1712
|
+
'pageNumber': number;
|
|
1713
|
+
'offset': number;
|
|
1714
|
+
'size': number;
|
|
1715
|
+
'empty': boolean;
|
|
1716
|
+
'numberOfElements': number;
|
|
1717
|
+
}
|
|
1718
|
+
export interface Sort {
|
|
1719
|
+
'orderBy': Array<SortOrder>;
|
|
1720
|
+
}
|
|
1721
|
+
export interface SortOrder {
|
|
1722
|
+
'ignoreCase': boolean;
|
|
1723
|
+
'direction': SortOrderDirection;
|
|
1724
|
+
'property': string;
|
|
1725
|
+
'ascending': boolean;
|
|
1726
|
+
}
|
|
1727
|
+
export declare const SortOrderDirection: {
|
|
1728
|
+
readonly Asc: "ASC";
|
|
1729
|
+
readonly Desc: "DESC";
|
|
1730
|
+
};
|
|
1731
|
+
export type SortOrderDirection = typeof SortOrderDirection[keyof typeof SortOrderDirection];
|
|
784
1732
|
export interface TokenRequest {
|
|
785
1733
|
'grant_type'?: string | null;
|
|
786
1734
|
'client_id'?: string | null;
|
|
@@ -808,19 +1756,135 @@ export interface UserProfileResponse {
|
|
|
808
1756
|
'discordRoles': Array<string>;
|
|
809
1757
|
}
|
|
810
1758
|
/**
|
|
811
|
-
*
|
|
1759
|
+
* AdminAuditLogApi - axios parameter creator
|
|
812
1760
|
*/
|
|
813
|
-
export declare const
|
|
1761
|
+
export declare const AdminAuditLogApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
814
1762
|
/**
|
|
815
|
-
*
|
|
816
|
-
* @summary
|
|
817
|
-
* @param {
|
|
1763
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1764
|
+
* @summary Search the admin audit log
|
|
1765
|
+
* @param {Pageable} pageable
|
|
1766
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1767
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1768
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1769
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
818
1770
|
* @param {*} [options] Override http request option.
|
|
819
1771
|
* @throws {RequiredError}
|
|
820
1772
|
*/
|
|
821
|
-
|
|
1773
|
+
search: (pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
822
1774
|
/**
|
|
823
|
-
*
|
|
1775
|
+
* 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.
|
|
1776
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1777
|
+
* @param {CursoredPageable} pageable
|
|
1778
|
+
* @param {string | null} [actor]
|
|
1779
|
+
* @param {string | null} [action]
|
|
1780
|
+
* @param {string | null} [targetType]
|
|
1781
|
+
* @param {string | null} [targetId]
|
|
1782
|
+
* @param {*} [options] Override http request option.
|
|
1783
|
+
* @throws {RequiredError}
|
|
1784
|
+
*/
|
|
1785
|
+
searchCursor: (pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1786
|
+
};
|
|
1787
|
+
/**
|
|
1788
|
+
* AdminAuditLogApi - functional programming interface
|
|
1789
|
+
*/
|
|
1790
|
+
export declare const AdminAuditLogApiFp: (configuration?: Configuration) => {
|
|
1791
|
+
/**
|
|
1792
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1793
|
+
* @summary Search the admin audit log
|
|
1794
|
+
* @param {Pageable} pageable
|
|
1795
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1796
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1797
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1798
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
1799
|
+
* @param {*} [options] Override http request option.
|
|
1800
|
+
* @throws {RequiredError}
|
|
1801
|
+
*/
|
|
1802
|
+
search(pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAuditLogEntry>>;
|
|
1803
|
+
/**
|
|
1804
|
+
* 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.
|
|
1805
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1806
|
+
* @param {CursoredPageable} pageable
|
|
1807
|
+
* @param {string | null} [actor]
|
|
1808
|
+
* @param {string | null} [action]
|
|
1809
|
+
* @param {string | null} [targetType]
|
|
1810
|
+
* @param {string | null} [targetId]
|
|
1811
|
+
* @param {*} [options] Override http request option.
|
|
1812
|
+
* @throws {RequiredError}
|
|
1813
|
+
*/
|
|
1814
|
+
searchCursor(pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CursoredPageAdminAuditLogEntry>>;
|
|
1815
|
+
};
|
|
1816
|
+
/**
|
|
1817
|
+
* AdminAuditLogApi - factory interface
|
|
1818
|
+
*/
|
|
1819
|
+
export declare const AdminAuditLogApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
1820
|
+
/**
|
|
1821
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1822
|
+
* @summary Search the admin audit log
|
|
1823
|
+
* @param {Pageable} pageable
|
|
1824
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1825
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1826
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1827
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
1828
|
+
* @param {*} [options] Override http request option.
|
|
1829
|
+
* @throws {RequiredError}
|
|
1830
|
+
*/
|
|
1831
|
+
search(pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAuditLogEntry>;
|
|
1832
|
+
/**
|
|
1833
|
+
* 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.
|
|
1834
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1835
|
+
* @param {CursoredPageable} pageable
|
|
1836
|
+
* @param {string | null} [actor]
|
|
1837
|
+
* @param {string | null} [action]
|
|
1838
|
+
* @param {string | null} [targetType]
|
|
1839
|
+
* @param {string | null} [targetId]
|
|
1840
|
+
* @param {*} [options] Override http request option.
|
|
1841
|
+
* @throws {RequiredError}
|
|
1842
|
+
*/
|
|
1843
|
+
searchCursor(pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<CursoredPageAdminAuditLogEntry>;
|
|
1844
|
+
};
|
|
1845
|
+
/**
|
|
1846
|
+
* AdminAuditLogApi - object-oriented interface
|
|
1847
|
+
*/
|
|
1848
|
+
export declare class AdminAuditLogApi extends BaseAPI {
|
|
1849
|
+
/**
|
|
1850
|
+
* Paginated audit-log search. All filter parameters are optional; an empty filter set returns the most recent rows across the system. Sorted newest-first.
|
|
1851
|
+
* @summary Search the admin audit log
|
|
1852
|
+
* @param {Pageable} pageable
|
|
1853
|
+
* @param {string | null} [actor] Filter to actions performed by this Discord username (case-sensitive exact match)
|
|
1854
|
+
* @param {string | null} [action] Filter to a specific action verb (e.g. REVOKE_PROPAGATED_LINK, SET_AGGRESSIVE_MODE_IMMUNITY)
|
|
1855
|
+
* @param {string | null} [targetType] Filter to a specific target type (e.g. PLAYER, PUNISHMENT, PLAYER_PUNISHMENT)
|
|
1856
|
+
* @param {string | null} [targetId] Filter to a specific target id (paired with targetType for narrowing)
|
|
1857
|
+
* @param {*} [options] Override http request option.
|
|
1858
|
+
* @throws {RequiredError}
|
|
1859
|
+
*/
|
|
1860
|
+
search(pageable: Pageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAuditLogEntry, any, {}>>;
|
|
1861
|
+
/**
|
|
1862
|
+
* 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.
|
|
1863
|
+
* @summary Cursor-paginated audit-log search (infinite scroll)
|
|
1864
|
+
* @param {CursoredPageable} pageable
|
|
1865
|
+
* @param {string | null} [actor]
|
|
1866
|
+
* @param {string | null} [action]
|
|
1867
|
+
* @param {string | null} [targetType]
|
|
1868
|
+
* @param {string | null} [targetId]
|
|
1869
|
+
* @param {*} [options] Override http request option.
|
|
1870
|
+
* @throws {RequiredError}
|
|
1871
|
+
*/
|
|
1872
|
+
searchCursor(pageable: CursoredPageable, actor?: string | null, action?: string | null, targetType?: string | null, targetId?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CursoredPageAdminAuditLogEntry, any, {}>>;
|
|
1873
|
+
}
|
|
1874
|
+
/**
|
|
1875
|
+
* AdminClientCredentialsApi - axios parameter creator
|
|
1876
|
+
*/
|
|
1877
|
+
export declare const AdminClientCredentialsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
1878
|
+
/**
|
|
1879
|
+
* Temporarily disables a client credential, preventing authentication. Can be re-enabled later.
|
|
1880
|
+
* @summary Disable client credentials
|
|
1881
|
+
* @param {number} id Client credential ID
|
|
1882
|
+
* @param {*} [options] Override http request option.
|
|
1883
|
+
* @throws {RequiredError}
|
|
1884
|
+
*/
|
|
1885
|
+
disableClient: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1886
|
+
/**
|
|
1887
|
+
* Re-enables a previously disabled client credential, allowing authentication.
|
|
824
1888
|
* @summary Enable client credentials
|
|
825
1889
|
* @param {number} id Client credential ID
|
|
826
1890
|
* @param {*} [options] Override http request option.
|
|
@@ -1056,8 +2120,8 @@ export declare class AdminClientCredentialsApi extends BaseAPI {
|
|
|
1056
2120
|
*/
|
|
1057
2121
|
export declare const AdminConnectionsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
1058
2122
|
/**
|
|
1059
|
-
*
|
|
1060
|
-
* @summary
|
|
2123
|
+
* 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.
|
|
2124
|
+
* @summary Start a location backfill job
|
|
1061
2125
|
* @param {*} [options] Override http request option.
|
|
1062
2126
|
* @throws {RequiredError}
|
|
1063
2127
|
*/
|
|
@@ -1070,32 +2134,49 @@ export declare const AdminConnectionsApiAxiosParamCreator: (configuration?: Conf
|
|
|
1070
2134
|
* @throws {RequiredError}
|
|
1071
2135
|
*/
|
|
1072
2136
|
createBypass: (createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2137
|
+
/**
|
|
2138
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2139
|
+
* @summary Get connection detail
|
|
2140
|
+
* @param {number} id
|
|
2141
|
+
* @param {*} [options] Override http request option.
|
|
2142
|
+
* @throws {RequiredError}
|
|
2143
|
+
*/
|
|
2144
|
+
getConnection: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2145
|
+
/**
|
|
2146
|
+
* 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.
|
|
2147
|
+
* @summary List players who have used this connection
|
|
2148
|
+
* @param {number} id
|
|
2149
|
+
* @param {Pageable} pageable
|
|
2150
|
+
* @param {*} [options] Override http request option.
|
|
2151
|
+
* @throws {RequiredError}
|
|
2152
|
+
*/
|
|
2153
|
+
getConnectionPlayers: (id: number, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1073
2154
|
/**
|
|
1074
2155
|
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
1075
2156
|
* @summary List all connections (paginated)
|
|
1076
|
-
* @param {
|
|
1077
|
-
* @param {
|
|
1078
|
-
* @param {
|
|
1079
|
-
* @param {
|
|
1080
|
-
* @param {
|
|
2157
|
+
* @param {Pageable} pageable
|
|
2158
|
+
* @param {number | null} [createdAfter]
|
|
2159
|
+
* @param {number | null} [createdBefore]
|
|
2160
|
+
* @param {string | null} [ipAddress]
|
|
2161
|
+
* @param {string | null} [uuid]
|
|
2162
|
+
* @param {boolean | null} [isVpn]
|
|
1081
2163
|
* @param {*} [options] Override http request option.
|
|
1082
2164
|
* @throws {RequiredError}
|
|
1083
2165
|
*/
|
|
1084
|
-
listAllConnections: (
|
|
2166
|
+
listAllConnections: (pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1085
2167
|
/**
|
|
1086
2168
|
* 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
2169
|
* @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
|
|
2170
|
+
* @param {Pageable} pageable
|
|
2171
|
+
* @param {number | null} [createdAfter]
|
|
2172
|
+
* @param {number | null} [createdBefore]
|
|
2173
|
+
* @param {string | null} [ipAddress]
|
|
2174
|
+
* @param {string | null} [uuid]
|
|
2175
|
+
* @param {boolean | null} [isVpn]
|
|
1095
2176
|
* @param {*} [options] Override http request option.
|
|
1096
2177
|
* @throws {RequiredError}
|
|
1097
2178
|
*/
|
|
1098
|
-
listConnections: (createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null,
|
|
2179
|
+
listConnections: (pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1099
2180
|
/**
|
|
1100
2181
|
* 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
2182
|
* @summary Refresh a single VPN check
|
|
@@ -1111,12 +2192,12 @@ export declare const AdminConnectionsApiAxiosParamCreator: (configuration?: Conf
|
|
|
1111
2192
|
*/
|
|
1112
2193
|
export declare const AdminConnectionsApiFp: (configuration?: Configuration) => {
|
|
1113
2194
|
/**
|
|
1114
|
-
*
|
|
1115
|
-
* @summary
|
|
2195
|
+
* 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.
|
|
2196
|
+
* @summary Start a location backfill job
|
|
1116
2197
|
* @param {*} [options] Override http request option.
|
|
1117
2198
|
* @throws {RequiredError}
|
|
1118
2199
|
*/
|
|
1119
|
-
backfillLocation(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<
|
|
2200
|
+
backfillLocation(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJobStartResponse>>;
|
|
1120
2201
|
/**
|
|
1121
2202
|
* Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
|
|
1122
2203
|
* @summary Create connection bypass
|
|
@@ -1125,32 +2206,49 @@ export declare const AdminConnectionsApiFp: (configuration?: Configuration) => {
|
|
|
1125
2206
|
* @throws {RequiredError}
|
|
1126
2207
|
*/
|
|
1127
2208
|
createBypass(createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminConnectionBypassResponse>>;
|
|
2209
|
+
/**
|
|
2210
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2211
|
+
* @summary Get connection detail
|
|
2212
|
+
* @param {number} id
|
|
2213
|
+
* @param {*} [options] Override http request option.
|
|
2214
|
+
* @throws {RequiredError}
|
|
2215
|
+
*/
|
|
2216
|
+
getConnection(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminDashboardConnectionResponse>>;
|
|
2217
|
+
/**
|
|
2218
|
+
* 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.
|
|
2219
|
+
* @summary List players who have used this connection
|
|
2220
|
+
* @param {number} id
|
|
2221
|
+
* @param {Pageable} pageable
|
|
2222
|
+
* @param {*} [options] Override http request option.
|
|
2223
|
+
* @throws {RequiredError}
|
|
2224
|
+
*/
|
|
2225
|
+
getConnectionPlayers(id: number, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerSummary>>;
|
|
1128
2226
|
/**
|
|
1129
2227
|
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
1130
2228
|
* @summary List all connections (paginated)
|
|
1131
|
-
* @param {
|
|
1132
|
-
* @param {
|
|
1133
|
-
* @param {
|
|
1134
|
-
* @param {
|
|
1135
|
-
* @param {
|
|
2229
|
+
* @param {Pageable} pageable
|
|
2230
|
+
* @param {number | null} [createdAfter]
|
|
2231
|
+
* @param {number | null} [createdBefore]
|
|
2232
|
+
* @param {string | null} [ipAddress]
|
|
2233
|
+
* @param {string | null} [uuid]
|
|
2234
|
+
* @param {boolean | null} [isVpn]
|
|
1136
2235
|
* @param {*} [options] Override http request option.
|
|
1137
2236
|
* @throws {RequiredError}
|
|
1138
2237
|
*/
|
|
1139
|
-
listAllConnections(
|
|
2238
|
+
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
2239
|
/**
|
|
1141
2240
|
* 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
2241
|
* @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
|
|
2242
|
+
* @param {Pageable} pageable
|
|
2243
|
+
* @param {number | null} [createdAfter]
|
|
2244
|
+
* @param {number | null} [createdBefore]
|
|
2245
|
+
* @param {string | null} [ipAddress]
|
|
2246
|
+
* @param {string | null} [uuid]
|
|
2247
|
+
* @param {boolean | null} [isVpn]
|
|
1150
2248
|
* @param {*} [options] Override http request option.
|
|
1151
2249
|
* @throws {RequiredError}
|
|
1152
2250
|
*/
|
|
1153
|
-
listConnections(createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null,
|
|
2251
|
+
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
2252
|
/**
|
|
1155
2253
|
* 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
2254
|
* @summary Refresh a single VPN check
|
|
@@ -1166,12 +2264,12 @@ export declare const AdminConnectionsApiFp: (configuration?: Configuration) => {
|
|
|
1166
2264
|
*/
|
|
1167
2265
|
export declare const AdminConnectionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
1168
2266
|
/**
|
|
1169
|
-
*
|
|
1170
|
-
* @summary
|
|
2267
|
+
* 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.
|
|
2268
|
+
* @summary Start a location backfill job
|
|
1171
2269
|
* @param {*} [options] Override http request option.
|
|
1172
2270
|
* @throws {RequiredError}
|
|
1173
2271
|
*/
|
|
1174
|
-
backfillLocation(options?: RawAxiosRequestConfig): AxiosPromise<
|
|
2272
|
+
backfillLocation(options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJobStartResponse>;
|
|
1175
2273
|
/**
|
|
1176
2274
|
* Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
|
|
1177
2275
|
* @summary Create connection bypass
|
|
@@ -1180,236 +2278,950 @@ export declare const AdminConnectionsApiFactory: (configuration?: Configuration,
|
|
|
1180
2278
|
* @throws {RequiredError}
|
|
1181
2279
|
*/
|
|
1182
2280
|
createBypass(createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminConnectionBypassResponse>;
|
|
2281
|
+
/**
|
|
2282
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2283
|
+
* @summary Get connection detail
|
|
2284
|
+
* @param {number} id
|
|
2285
|
+
* @param {*} [options] Override http request option.
|
|
2286
|
+
* @throws {RequiredError}
|
|
2287
|
+
*/
|
|
2288
|
+
getConnection(id: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminDashboardConnectionResponse>;
|
|
2289
|
+
/**
|
|
2290
|
+
* 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.
|
|
2291
|
+
* @summary List players who have used this connection
|
|
2292
|
+
* @param {number} id
|
|
2293
|
+
* @param {Pageable} pageable
|
|
2294
|
+
* @param {*} [options] Override http request option.
|
|
2295
|
+
* @throws {RequiredError}
|
|
2296
|
+
*/
|
|
2297
|
+
getConnectionPlayers(id: number, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerSummary>;
|
|
2298
|
+
/**
|
|
2299
|
+
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
2300
|
+
* @summary List all connections (paginated)
|
|
2301
|
+
* @param {Pageable} pageable
|
|
2302
|
+
* @param {number | null} [createdAfter]
|
|
2303
|
+
* @param {number | null} [createdBefore]
|
|
2304
|
+
* @param {string | null} [ipAddress]
|
|
2305
|
+
* @param {string | null} [uuid]
|
|
2306
|
+
* @param {boolean | null} [isVpn]
|
|
2307
|
+
* @param {*} [options] Override http request option.
|
|
2308
|
+
* @throws {RequiredError}
|
|
2309
|
+
*/
|
|
2310
|
+
listAllConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminDashboardConnectionResponse>;
|
|
2311
|
+
/**
|
|
2312
|
+
* 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).
|
|
2313
|
+
* @summary List recent connections
|
|
2314
|
+
* @param {Pageable} pageable
|
|
2315
|
+
* @param {number | null} [createdAfter]
|
|
2316
|
+
* @param {number | null} [createdBefore]
|
|
2317
|
+
* @param {string | null} [ipAddress]
|
|
2318
|
+
* @param {string | null} [uuid]
|
|
2319
|
+
* @param {boolean | null} [isVpn]
|
|
2320
|
+
* @param {*} [options] Override http request option.
|
|
2321
|
+
* @throws {RequiredError}
|
|
2322
|
+
*/
|
|
2323
|
+
listConnections(pageable: Pageable, createdAfter?: number | null, createdBefore?: number | null, ipAddress?: string | null, uuid?: string | null, isVpn?: boolean | null, options?: RawAxiosRequestConfig): AxiosPromise<Array<AdminDashboardConnectionResponse>>;
|
|
2324
|
+
/**
|
|
2325
|
+
* 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.
|
|
2326
|
+
* @summary Refresh a single VPN check
|
|
2327
|
+
* @param {number} connectionId
|
|
2328
|
+
* @param {string} service
|
|
2329
|
+
* @param {*} [options] Override http request option.
|
|
2330
|
+
* @throws {RequiredError}
|
|
2331
|
+
*/
|
|
2332
|
+
recheckService(connectionId: number, service: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminConnectionCheckResult>;
|
|
2333
|
+
};
|
|
2334
|
+
/**
|
|
2335
|
+
* AdminConnectionsApi - object-oriented interface
|
|
2336
|
+
*/
|
|
2337
|
+
export declare class AdminConnectionsApi extends BaseAPI {
|
|
2338
|
+
/**
|
|
2339
|
+
* 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.
|
|
2340
|
+
* @summary Start a location backfill job
|
|
2341
|
+
* @param {*} [options] Override http request option.
|
|
2342
|
+
* @throws {RequiredError}
|
|
2343
|
+
*/
|
|
2344
|
+
backfillLocation(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminAsyncJobStartResponse, any, {}>>;
|
|
2345
|
+
/**
|
|
2346
|
+
* Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
|
|
2347
|
+
* @summary Create connection bypass
|
|
2348
|
+
* @param {CreateBypassRequest} createBypassRequest
|
|
2349
|
+
* @param {*} [options] Override http request option.
|
|
2350
|
+
* @throws {RequiredError}
|
|
2351
|
+
*/
|
|
2352
|
+
createBypass(createBypassRequest: CreateBypassRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminConnectionBypassResponse, any, {}>>;
|
|
2353
|
+
/**
|
|
2354
|
+
* Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
2355
|
+
* @summary Get connection detail
|
|
2356
|
+
* @param {number} id
|
|
2357
|
+
* @param {*} [options] Override http request option.
|
|
2358
|
+
* @throws {RequiredError}
|
|
2359
|
+
*/
|
|
2360
|
+
getConnection(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminDashboardConnectionResponse, any, {}>>;
|
|
2361
|
+
/**
|
|
2362
|
+
* 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.
|
|
2363
|
+
* @summary List players who have used this connection
|
|
2364
|
+
* @param {number} id
|
|
2365
|
+
* @param {Pageable} pageable
|
|
2366
|
+
* @param {*} [options] Override http request option.
|
|
2367
|
+
* @throws {RequiredError}
|
|
2368
|
+
*/
|
|
2369
|
+
getConnectionPlayers(id: number, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerSummary, any, {}>>;
|
|
1183
2370
|
/**
|
|
1184
2371
|
* Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
1185
2372
|
* @summary List all connections (paginated)
|
|
1186
|
-
* @param {
|
|
1187
|
-
* @param {
|
|
1188
|
-
* @param {
|
|
1189
|
-
* @param {
|
|
1190
|
-
* @param {
|
|
2373
|
+
* @param {Pageable} pageable
|
|
2374
|
+
* @param {number | null} [createdAfter]
|
|
2375
|
+
* @param {number | null} [createdBefore]
|
|
2376
|
+
* @param {string | null} [ipAddress]
|
|
2377
|
+
* @param {string | null} [uuid]
|
|
2378
|
+
* @param {boolean | null} [isVpn]
|
|
2379
|
+
* @param {*} [options] Override http request option.
|
|
2380
|
+
* @throws {RequiredError}
|
|
2381
|
+
*/
|
|
2382
|
+
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, {}>>;
|
|
2383
|
+
/**
|
|
2384
|
+
* 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).
|
|
2385
|
+
* @summary List recent connections
|
|
2386
|
+
* @param {Pageable} pageable
|
|
2387
|
+
* @param {number | null} [createdAfter]
|
|
2388
|
+
* @param {number | null} [createdBefore]
|
|
2389
|
+
* @param {string | null} [ipAddress]
|
|
2390
|
+
* @param {string | null} [uuid]
|
|
2391
|
+
* @param {boolean | null} [isVpn]
|
|
2392
|
+
* @param {*} [options] Override http request option.
|
|
2393
|
+
* @throws {RequiredError}
|
|
2394
|
+
*/
|
|
2395
|
+
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, {}>>;
|
|
2396
|
+
/**
|
|
2397
|
+
* 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.
|
|
2398
|
+
* @summary Refresh a single VPN check
|
|
2399
|
+
* @param {number} connectionId
|
|
2400
|
+
* @param {string} service
|
|
2401
|
+
* @param {*} [options] Override http request option.
|
|
2402
|
+
* @throws {RequiredError}
|
|
2403
|
+
*/
|
|
2404
|
+
recheckService(connectionId: number, service: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminConnectionCheckResult, any, {}>>;
|
|
2405
|
+
}
|
|
2406
|
+
/**
|
|
2407
|
+
* AdminDashboardApi - axios parameter creator
|
|
2408
|
+
*/
|
|
2409
|
+
export declare const AdminDashboardApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
2410
|
+
/**
|
|
2411
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2412
|
+
* @summary Get dashboard statistics
|
|
2413
|
+
* @param {*} [options] Override http request option.
|
|
2414
|
+
* @throws {RequiredError}
|
|
2415
|
+
*/
|
|
2416
|
+
dashboardStats: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2417
|
+
};
|
|
2418
|
+
/**
|
|
2419
|
+
* AdminDashboardApi - functional programming interface
|
|
2420
|
+
*/
|
|
2421
|
+
export declare const AdminDashboardApiFp: (configuration?: Configuration) => {
|
|
2422
|
+
/**
|
|
2423
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2424
|
+
* @summary Get dashboard statistics
|
|
2425
|
+
* @param {*} [options] Override http request option.
|
|
2426
|
+
* @throws {RequiredError}
|
|
2427
|
+
*/
|
|
2428
|
+
dashboardStats(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminGetDashboardStats>>;
|
|
2429
|
+
};
|
|
2430
|
+
/**
|
|
2431
|
+
* AdminDashboardApi - factory interface
|
|
2432
|
+
*/
|
|
2433
|
+
export declare const AdminDashboardApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
2434
|
+
/**
|
|
2435
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2436
|
+
* @summary Get dashboard statistics
|
|
2437
|
+
* @param {*} [options] Override http request option.
|
|
2438
|
+
* @throws {RequiredError}
|
|
2439
|
+
*/
|
|
2440
|
+
dashboardStats(options?: RawAxiosRequestConfig): AxiosPromise<AdminGetDashboardStats>;
|
|
2441
|
+
};
|
|
2442
|
+
/**
|
|
2443
|
+
* AdminDashboardApi - object-oriented interface
|
|
2444
|
+
*/
|
|
2445
|
+
export declare class AdminDashboardApi extends BaseAPI {
|
|
2446
|
+
/**
|
|
2447
|
+
* Returns aggregate counts for clients, connections, and players in the system.
|
|
2448
|
+
* @summary Get dashboard statistics
|
|
2449
|
+
* @param {*} [options] Override http request option.
|
|
2450
|
+
* @throws {RequiredError}
|
|
2451
|
+
*/
|
|
2452
|
+
dashboardStats(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminGetDashboardStats, any, {}>>;
|
|
2453
|
+
}
|
|
2454
|
+
/**
|
|
2455
|
+
* AdminJobsApi - axios parameter creator
|
|
2456
|
+
*/
|
|
2457
|
+
export declare const AdminJobsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
2458
|
+
/**
|
|
2459
|
+
* 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.
|
|
2460
|
+
* @summary Request cancellation of an async job
|
|
2461
|
+
* @param {string} id Job id
|
|
2462
|
+
* @param {*} [options] Override http request option.
|
|
2463
|
+
* @throws {RequiredError}
|
|
2464
|
+
*/
|
|
2465
|
+
cancel: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2466
|
+
/**
|
|
2467
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2468
|
+
* @summary Get one async job
|
|
2469
|
+
* @param {string} id Job id
|
|
2470
|
+
* @param {*} [options] Override http request option.
|
|
2471
|
+
* @throws {RequiredError}
|
|
2472
|
+
*/
|
|
2473
|
+
get: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2474
|
+
/**
|
|
2475
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2476
|
+
* @summary List async jobs
|
|
2477
|
+
* @param {Pageable} pageable
|
|
2478
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2479
|
+
* @param {*} [options] Override http request option.
|
|
2480
|
+
* @throws {RequiredError}
|
|
2481
|
+
*/
|
|
2482
|
+
list: (pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2483
|
+
};
|
|
2484
|
+
/**
|
|
2485
|
+
* AdminJobsApi - functional programming interface
|
|
2486
|
+
*/
|
|
2487
|
+
export declare const AdminJobsApiFp: (configuration?: Configuration) => {
|
|
2488
|
+
/**
|
|
2489
|
+
* 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.
|
|
2490
|
+
* @summary Request cancellation of an async job
|
|
2491
|
+
* @param {string} id Job id
|
|
2492
|
+
* @param {*} [options] Override http request option.
|
|
2493
|
+
* @throws {RequiredError}
|
|
2494
|
+
*/
|
|
2495
|
+
cancel(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2496
|
+
/**
|
|
2497
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2498
|
+
* @summary Get one async job
|
|
2499
|
+
* @param {string} id Job id
|
|
2500
|
+
* @param {*} [options] Override http request option.
|
|
2501
|
+
* @throws {RequiredError}
|
|
2502
|
+
*/
|
|
2503
|
+
get(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJob>>;
|
|
2504
|
+
/**
|
|
2505
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2506
|
+
* @summary List async jobs
|
|
2507
|
+
* @param {Pageable} pageable
|
|
2508
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2509
|
+
* @param {*} [options] Override http request option.
|
|
2510
|
+
* @throws {RequiredError}
|
|
2511
|
+
*/
|
|
2512
|
+
list(pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAsyncJob>>;
|
|
2513
|
+
};
|
|
2514
|
+
/**
|
|
2515
|
+
* AdminJobsApi - factory interface
|
|
2516
|
+
*/
|
|
2517
|
+
export declare const AdminJobsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
2518
|
+
/**
|
|
2519
|
+
* 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.
|
|
2520
|
+
* @summary Request cancellation of an async job
|
|
2521
|
+
* @param {string} id Job id
|
|
2522
|
+
* @param {*} [options] Override http request option.
|
|
2523
|
+
* @throws {RequiredError}
|
|
2524
|
+
*/
|
|
2525
|
+
cancel(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
2526
|
+
/**
|
|
2527
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2528
|
+
* @summary Get one async job
|
|
2529
|
+
* @param {string} id Job id
|
|
2530
|
+
* @param {*} [options] Override http request option.
|
|
2531
|
+
* @throws {RequiredError}
|
|
2532
|
+
*/
|
|
2533
|
+
get(id: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJob>;
|
|
2534
|
+
/**
|
|
2535
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2536
|
+
* @summary List async jobs
|
|
2537
|
+
* @param {Pageable} pageable
|
|
2538
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2539
|
+
* @param {*} [options] Override http request option.
|
|
2540
|
+
* @throws {RequiredError}
|
|
2541
|
+
*/
|
|
2542
|
+
list(pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAsyncJob>;
|
|
2543
|
+
};
|
|
2544
|
+
/**
|
|
2545
|
+
* AdminJobsApi - object-oriented interface
|
|
2546
|
+
*/
|
|
2547
|
+
export declare class AdminJobsApi extends BaseAPI {
|
|
2548
|
+
/**
|
|
2549
|
+
* 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.
|
|
2550
|
+
* @summary Request cancellation of an async job
|
|
2551
|
+
* @param {string} id Job id
|
|
2552
|
+
* @param {*} [options] Override http request option.
|
|
2553
|
+
* @throws {RequiredError}
|
|
2554
|
+
*/
|
|
2555
|
+
cancel(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
2556
|
+
/**
|
|
2557
|
+
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
2558
|
+
* @summary Get one async job
|
|
2559
|
+
* @param {string} id Job id
|
|
2560
|
+
* @param {*} [options] Override http request option.
|
|
2561
|
+
* @throws {RequiredError}
|
|
2562
|
+
*/
|
|
2563
|
+
get(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminAsyncJob, any, {}>>;
|
|
2564
|
+
/**
|
|
2565
|
+
* Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
2566
|
+
* @summary List async jobs
|
|
2567
|
+
* @param {Pageable} pageable
|
|
2568
|
+
* @param {JobStatus | null} [status] Filter by status (omit for all states)
|
|
2569
|
+
* @param {*} [options] Override http request option.
|
|
2570
|
+
* @throws {RequiredError}
|
|
2571
|
+
*/
|
|
2572
|
+
list(pageable: Pageable, status?: JobStatus | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAsyncJob, any, {}>>;
|
|
2573
|
+
}
|
|
2574
|
+
/**
|
|
2575
|
+
* AdminPlayersApi - axios parameter creator
|
|
2576
|
+
*/
|
|
2577
|
+
export declare const AdminPlayersApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
2578
|
+
/**
|
|
2579
|
+
* 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.
|
|
2580
|
+
* @summary Add an alt exemption
|
|
2581
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2582
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
2583
|
+
* @param {*} [options] Override http request option.
|
|
2584
|
+
* @throws {RequiredError}
|
|
2585
|
+
*/
|
|
2586
|
+
addAltExemption: (uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2587
|
+
/**
|
|
2588
|
+
* 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.
|
|
2589
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
2590
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
2591
|
+
* @param {*} [options] Override http request option.
|
|
2592
|
+
* @throws {RequiredError}
|
|
2593
|
+
*/
|
|
2594
|
+
bulkRevokePropagated: (adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2595
|
+
/**
|
|
2596
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
2597
|
+
* @summary Create a staff note on a player
|
|
2598
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2599
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
2600
|
+
* @param {*} [options] Override http request option.
|
|
2601
|
+
* @throws {RequiredError}
|
|
2602
|
+
*/
|
|
2603
|
+
createPlayerNote: (uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2604
|
+
/**
|
|
2605
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
2606
|
+
* @summary Soft-delete a staff note
|
|
2607
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
2608
|
+
* @param {number} noteId Note id
|
|
2609
|
+
* @param {*} [options] Override http request option.
|
|
2610
|
+
* @throws {RequiredError}
|
|
2611
|
+
*/
|
|
2612
|
+
deletePlayerNote: (uuid: string, noteId: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2613
|
+
/**
|
|
2614
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
2615
|
+
* @summary Get player detail
|
|
2616
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2617
|
+
* @param {*} [options] Override http request option.
|
|
2618
|
+
* @throws {RequiredError}
|
|
2619
|
+
*/
|
|
2620
|
+
getPlayer: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2621
|
+
/**
|
|
2622
|
+
* 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.
|
|
2623
|
+
* @summary List a player\'s alt accounts
|
|
2624
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2625
|
+
* @param {Pageable} pageable
|
|
2626
|
+
* @param {*} [options] Override http request option.
|
|
2627
|
+
* @throws {RequiredError}
|
|
2628
|
+
*/
|
|
2629
|
+
getPlayerAlts: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2630
|
+
/**
|
|
2631
|
+
* 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.
|
|
2632
|
+
* @summary List a player\'s connection history
|
|
2633
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2634
|
+
* @param {Pageable} pageable
|
|
2635
|
+
* @param {*} [options] Override http request option.
|
|
2636
|
+
* @throws {RequiredError}
|
|
2637
|
+
*/
|
|
2638
|
+
getPlayerConnections: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2639
|
+
/**
|
|
2640
|
+
* 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.
|
|
2641
|
+
* @summary List a player\'s full punishment history
|
|
2642
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2643
|
+
* @param {Pageable} pageable
|
|
2644
|
+
* @param {*} [options] Override http request option.
|
|
2645
|
+
* @throws {RequiredError}
|
|
2646
|
+
*/
|
|
2647
|
+
getPlayerPunishments: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2648
|
+
/**
|
|
2649
|
+
* 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.
|
|
2650
|
+
* @summary Get a player\'s aggregate session stats
|
|
2651
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2652
|
+
* @param {*} [options] Override http request option.
|
|
2653
|
+
* @throws {RequiredError}
|
|
2654
|
+
*/
|
|
2655
|
+
getSessionStats: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2656
|
+
/**
|
|
2657
|
+
* 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.
|
|
2658
|
+
* @summary List a player\'s alt exemptions
|
|
2659
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2660
|
+
* @param {Pageable} pageable
|
|
2661
|
+
* @param {*} [options] Override http request option.
|
|
2662
|
+
* @throws {RequiredError}
|
|
2663
|
+
*/
|
|
2664
|
+
listAltExemptions: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2665
|
+
/**
|
|
2666
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
2667
|
+
* @summary List staff notes on a player
|
|
2668
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2669
|
+
* @param {Pageable} pageable
|
|
2670
|
+
* @param {*} [options] Override http request option.
|
|
2671
|
+
* @throws {RequiredError}
|
|
2672
|
+
*/
|
|
2673
|
+
listPlayerNotes: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2674
|
+
/**
|
|
2675
|
+
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
2676
|
+
* @summary List players
|
|
2677
|
+
* @param {Pageable} pageable
|
|
2678
|
+
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
2679
|
+
* @param {*} [options] Override http request option.
|
|
2680
|
+
* @throws {RequiredError}
|
|
2681
|
+
*/
|
|
2682
|
+
listPlayers: (pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2683
|
+
/**
|
|
2684
|
+
* 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.
|
|
2685
|
+
* @summary List a player\'s session history
|
|
2686
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2687
|
+
* @param {Pageable} pageable
|
|
2688
|
+
* @param {*} [options] Override http request option.
|
|
2689
|
+
* @throws {RequiredError}
|
|
2690
|
+
*/
|
|
2691
|
+
listSessions: (uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2692
|
+
/**
|
|
2693
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
2694
|
+
* @summary Remove an alt exemption
|
|
2695
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2696
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
2697
|
+
* @param {*} [options] Override http request option.
|
|
2698
|
+
* @throws {RequiredError}
|
|
2699
|
+
*/
|
|
2700
|
+
removeAltExemption: (uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2701
|
+
/**
|
|
2702
|
+
* 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.
|
|
2703
|
+
* @summary Revoke a propagated punishment link
|
|
2704
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
2705
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
2706
|
+
* @param {*} [options] Override http request option.
|
|
2707
|
+
* @throws {RequiredError}
|
|
2708
|
+
*/
|
|
2709
|
+
revokePropagatedLink: (uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2710
|
+
/**
|
|
2711
|
+
* 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.
|
|
2712
|
+
* @summary Toggle aggressive-mode immunity
|
|
2713
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2714
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
2715
|
+
* @param {*} [options] Override http request option.
|
|
2716
|
+
* @throws {RequiredError}
|
|
2717
|
+
*/
|
|
2718
|
+
setAggressiveModeImmunity: (uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2719
|
+
/**
|
|
2720
|
+
* 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.
|
|
2721
|
+
* @summary Trust factor breakdown for a player
|
|
2722
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2723
|
+
* @param {*} [options] Override http request option.
|
|
2724
|
+
* @throws {RequiredError}
|
|
2725
|
+
*/
|
|
2726
|
+
trustFactorBreakdown: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2727
|
+
/**
|
|
2728
|
+
* 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).
|
|
2729
|
+
* @summary Trust factor history for a player
|
|
2730
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2731
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
2732
|
+
* @param {*} [options] Override http request option.
|
|
2733
|
+
* @throws {RequiredError}
|
|
2734
|
+
*/
|
|
2735
|
+
trustFactorHistory: (uuid: string, days?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
2736
|
+
};
|
|
2737
|
+
/**
|
|
2738
|
+
* AdminPlayersApi - functional programming interface
|
|
2739
|
+
*/
|
|
2740
|
+
export declare const AdminPlayersApiFp: (configuration?: Configuration) => {
|
|
2741
|
+
/**
|
|
2742
|
+
* 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.
|
|
2743
|
+
* @summary Add an alt exemption
|
|
2744
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2745
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
2746
|
+
* @param {*} [options] Override http request option.
|
|
2747
|
+
* @throws {RequiredError}
|
|
2748
|
+
*/
|
|
2749
|
+
addAltExemption(uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2750
|
+
/**
|
|
2751
|
+
* 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.
|
|
2752
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
2753
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
2754
|
+
* @param {*} [options] Override http request option.
|
|
2755
|
+
* @throws {RequiredError}
|
|
2756
|
+
*/
|
|
2757
|
+
bulkRevokePropagated(adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminBulkRevokeResponse>>;
|
|
2758
|
+
/**
|
|
2759
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
2760
|
+
* @summary Create a staff note on a player
|
|
2761
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2762
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
2763
|
+
* @param {*} [options] Override http request option.
|
|
2764
|
+
* @throws {RequiredError}
|
|
2765
|
+
*/
|
|
2766
|
+
createPlayerNote(uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerNote>>;
|
|
2767
|
+
/**
|
|
2768
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
2769
|
+
* @summary Soft-delete a staff note
|
|
2770
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
2771
|
+
* @param {number} noteId Note id
|
|
2772
|
+
* @param {*} [options] Override http request option.
|
|
2773
|
+
* @throws {RequiredError}
|
|
2774
|
+
*/
|
|
2775
|
+
deletePlayerNote(uuid: string, noteId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2776
|
+
/**
|
|
2777
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
2778
|
+
* @summary Get player detail
|
|
2779
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2780
|
+
* @param {*} [options] Override http request option.
|
|
2781
|
+
* @throws {RequiredError}
|
|
2782
|
+
*/
|
|
2783
|
+
getPlayer(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerDetailResponse>>;
|
|
2784
|
+
/**
|
|
2785
|
+
* 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.
|
|
2786
|
+
* @summary List a player\'s alt accounts
|
|
2787
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2788
|
+
* @param {Pageable} pageable
|
|
2789
|
+
* @param {*} [options] Override http request option.
|
|
2790
|
+
* @throws {RequiredError}
|
|
2791
|
+
*/
|
|
2792
|
+
getPlayerAlts(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAltAccount>>;
|
|
2793
|
+
/**
|
|
2794
|
+
* 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.
|
|
2795
|
+
* @summary List a player\'s connection history
|
|
2796
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2797
|
+
* @param {Pageable} pageable
|
|
2798
|
+
* @param {*} [options] Override http request option.
|
|
2799
|
+
* @throws {RequiredError}
|
|
2800
|
+
*/
|
|
2801
|
+
getPlayerConnections(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminDashboardConnectionResponse>>;
|
|
2802
|
+
/**
|
|
2803
|
+
* 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.
|
|
2804
|
+
* @summary List a player\'s full punishment history
|
|
2805
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2806
|
+
* @param {Pageable} pageable
|
|
2807
|
+
* @param {*} [options] Override http request option.
|
|
2808
|
+
* @throws {RequiredError}
|
|
2809
|
+
*/
|
|
2810
|
+
getPlayerPunishments(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerPunishmentResponse>>;
|
|
2811
|
+
/**
|
|
2812
|
+
* 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.
|
|
2813
|
+
* @summary Get a player\'s aggregate session stats
|
|
2814
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2815
|
+
* @param {*} [options] Override http request option.
|
|
2816
|
+
* @throws {RequiredError}
|
|
2817
|
+
*/
|
|
2818
|
+
getSessionStats(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerSessionStats>>;
|
|
2819
|
+
/**
|
|
2820
|
+
* 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.
|
|
2821
|
+
* @summary List a player\'s alt exemptions
|
|
2822
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2823
|
+
* @param {Pageable} pageable
|
|
2824
|
+
* @param {*} [options] Override http request option.
|
|
2825
|
+
* @throws {RequiredError}
|
|
2826
|
+
*/
|
|
2827
|
+
listAltExemptions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminAltExemption>>;
|
|
2828
|
+
/**
|
|
2829
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
2830
|
+
* @summary List staff notes on a player
|
|
2831
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2832
|
+
* @param {Pageable} pageable
|
|
2833
|
+
* @param {*} [options] Override http request option.
|
|
2834
|
+
* @throws {RequiredError}
|
|
2835
|
+
*/
|
|
2836
|
+
listPlayerNotes(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerNote>>;
|
|
2837
|
+
/**
|
|
2838
|
+
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
2839
|
+
* @summary List players
|
|
2840
|
+
* @param {Pageable} pageable
|
|
2841
|
+
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
2842
|
+
* @param {*} [options] Override http request option.
|
|
2843
|
+
* @throws {RequiredError}
|
|
2844
|
+
*/
|
|
2845
|
+
listPlayers(pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerSummary>>;
|
|
2846
|
+
/**
|
|
2847
|
+
* 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.
|
|
2848
|
+
* @summary List a player\'s session history
|
|
2849
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2850
|
+
* @param {Pageable} pageable
|
|
2851
|
+
* @param {*} [options] Override http request option.
|
|
2852
|
+
* @throws {RequiredError}
|
|
2853
|
+
*/
|
|
2854
|
+
listSessions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerSession>>;
|
|
2855
|
+
/**
|
|
2856
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
2857
|
+
* @summary Remove an alt exemption
|
|
2858
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2859
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
2860
|
+
* @param {*} [options] Override http request option.
|
|
2861
|
+
* @throws {RequiredError}
|
|
2862
|
+
*/
|
|
2863
|
+
removeAltExemption(uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2864
|
+
/**
|
|
2865
|
+
* 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.
|
|
2866
|
+
* @summary Revoke a propagated punishment link
|
|
2867
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
2868
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
2869
|
+
* @param {*} [options] Override http request option.
|
|
2870
|
+
* @throws {RequiredError}
|
|
2871
|
+
*/
|
|
2872
|
+
revokePropagatedLink(uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
2873
|
+
/**
|
|
2874
|
+
* 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.
|
|
2875
|
+
* @summary Toggle aggressive-mode immunity
|
|
2876
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2877
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
2878
|
+
* @param {*} [options] Override http request option.
|
|
2879
|
+
* @throws {RequiredError}
|
|
2880
|
+
*/
|
|
2881
|
+
setAggressiveModeImmunity(uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPlayerDetailResponse>>;
|
|
2882
|
+
/**
|
|
2883
|
+
* 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.
|
|
2884
|
+
* @summary Trust factor breakdown for a player
|
|
2885
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2886
|
+
* @param {*} [options] Override http request option.
|
|
2887
|
+
* @throws {RequiredError}
|
|
2888
|
+
*/
|
|
2889
|
+
trustFactorBreakdown(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminTrustFactorBreakdown>>;
|
|
2890
|
+
/**
|
|
2891
|
+
* 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).
|
|
2892
|
+
* @summary Trust factor history for a player
|
|
2893
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2894
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
2895
|
+
* @param {*} [options] Override http request option.
|
|
2896
|
+
* @throws {RequiredError}
|
|
2897
|
+
*/
|
|
2898
|
+
trustFactorHistory(uuid: string, days?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminTrustFactorHistoryEntry>>;
|
|
2899
|
+
};
|
|
2900
|
+
/**
|
|
2901
|
+
* AdminPlayersApi - factory interface
|
|
2902
|
+
*/
|
|
2903
|
+
export declare const AdminPlayersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
2904
|
+
/**
|
|
2905
|
+
* 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.
|
|
2906
|
+
* @summary Add an alt exemption
|
|
2907
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2908
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
2909
|
+
* @param {*} [options] Override http request option.
|
|
2910
|
+
* @throws {RequiredError}
|
|
2911
|
+
*/
|
|
2912
|
+
addAltExemption(uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
2913
|
+
/**
|
|
2914
|
+
* 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.
|
|
2915
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
2916
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
2917
|
+
* @param {*} [options] Override http request option.
|
|
2918
|
+
* @throws {RequiredError}
|
|
2919
|
+
*/
|
|
2920
|
+
bulkRevokePropagated(adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminBulkRevokeResponse>;
|
|
2921
|
+
/**
|
|
2922
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
2923
|
+
* @summary Create a staff note on a player
|
|
2924
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2925
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
2926
|
+
* @param {*} [options] Override http request option.
|
|
2927
|
+
* @throws {RequiredError}
|
|
2928
|
+
*/
|
|
2929
|
+
createPlayerNote(uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerNote>;
|
|
2930
|
+
/**
|
|
2931
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
2932
|
+
* @summary Soft-delete a staff note
|
|
2933
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
2934
|
+
* @param {number} noteId Note id
|
|
2935
|
+
* @param {*} [options] Override http request option.
|
|
2936
|
+
* @throws {RequiredError}
|
|
2937
|
+
*/
|
|
2938
|
+
deletePlayerNote(uuid: string, noteId: number, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
2939
|
+
/**
|
|
2940
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
2941
|
+
* @summary Get player detail
|
|
2942
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2943
|
+
* @param {*} [options] Override http request option.
|
|
2944
|
+
* @throws {RequiredError}
|
|
2945
|
+
*/
|
|
2946
|
+
getPlayer(uuid: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerDetailResponse>;
|
|
2947
|
+
/**
|
|
2948
|
+
* 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.
|
|
2949
|
+
* @summary List a player\'s alt accounts
|
|
2950
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2951
|
+
* @param {Pageable} pageable
|
|
2952
|
+
* @param {*} [options] Override http request option.
|
|
2953
|
+
* @throws {RequiredError}
|
|
2954
|
+
*/
|
|
2955
|
+
getPlayerAlts(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAltAccount>;
|
|
2956
|
+
/**
|
|
2957
|
+
* 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.
|
|
2958
|
+
* @summary List a player\'s connection history
|
|
2959
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2960
|
+
* @param {Pageable} pageable
|
|
2961
|
+
* @param {*} [options] Override http request option.
|
|
2962
|
+
* @throws {RequiredError}
|
|
2963
|
+
*/
|
|
2964
|
+
getPlayerConnections(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminDashboardConnectionResponse>;
|
|
2965
|
+
/**
|
|
2966
|
+
* 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.
|
|
2967
|
+
* @summary List a player\'s full punishment history
|
|
2968
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2969
|
+
* @param {Pageable} pageable
|
|
2970
|
+
* @param {*} [options] Override http request option.
|
|
2971
|
+
* @throws {RequiredError}
|
|
2972
|
+
*/
|
|
2973
|
+
getPlayerPunishments(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerPunishmentResponse>;
|
|
2974
|
+
/**
|
|
2975
|
+
* 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.
|
|
2976
|
+
* @summary Get a player\'s aggregate session stats
|
|
2977
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2978
|
+
* @param {*} [options] Override http request option.
|
|
2979
|
+
* @throws {RequiredError}
|
|
2980
|
+
*/
|
|
2981
|
+
getSessionStats(uuid: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerSessionStats>;
|
|
2982
|
+
/**
|
|
2983
|
+
* 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.
|
|
2984
|
+
* @summary List a player\'s alt exemptions
|
|
2985
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2986
|
+
* @param {Pageable} pageable
|
|
2987
|
+
* @param {*} [options] Override http request option.
|
|
2988
|
+
* @throws {RequiredError}
|
|
2989
|
+
*/
|
|
2990
|
+
listAltExemptions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminAltExemption>;
|
|
2991
|
+
/**
|
|
2992
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
2993
|
+
* @summary List staff notes on a player
|
|
2994
|
+
* @param {string} uuid Player Minecraft UUID
|
|
2995
|
+
* @param {Pageable} pageable
|
|
2996
|
+
* @param {*} [options] Override http request option.
|
|
2997
|
+
* @throws {RequiredError}
|
|
2998
|
+
*/
|
|
2999
|
+
listPlayerNotes(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerNote>;
|
|
3000
|
+
/**
|
|
3001
|
+
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
3002
|
+
* @summary List players
|
|
3003
|
+
* @param {Pageable} pageable
|
|
3004
|
+
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3005
|
+
* @param {*} [options] Override http request option.
|
|
3006
|
+
* @throws {RequiredError}
|
|
3007
|
+
*/
|
|
3008
|
+
listPlayers(pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerSummary>;
|
|
3009
|
+
/**
|
|
3010
|
+
* 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.
|
|
3011
|
+
* @summary List a player\'s session history
|
|
3012
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3013
|
+
* @param {Pageable} pageable
|
|
3014
|
+
* @param {*} [options] Override http request option.
|
|
3015
|
+
* @throws {RequiredError}
|
|
3016
|
+
*/
|
|
3017
|
+
listSessions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerSession>;
|
|
3018
|
+
/**
|
|
3019
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
3020
|
+
* @summary Remove an alt exemption
|
|
3021
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3022
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
3023
|
+
* @param {*} [options] Override http request option.
|
|
3024
|
+
* @throws {RequiredError}
|
|
3025
|
+
*/
|
|
3026
|
+
removeAltExemption(uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3027
|
+
/**
|
|
3028
|
+
* 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.
|
|
3029
|
+
* @summary Revoke a propagated punishment link
|
|
3030
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
3031
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
3032
|
+
* @param {*} [options] Override http request option.
|
|
3033
|
+
* @throws {RequiredError}
|
|
3034
|
+
*/
|
|
3035
|
+
revokePropagatedLink(uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3036
|
+
/**
|
|
3037
|
+
* 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.
|
|
3038
|
+
* @summary Toggle aggressive-mode immunity
|
|
3039
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3040
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
1191
3041
|
* @param {*} [options] Override http request option.
|
|
1192
3042
|
* @throws {RequiredError}
|
|
1193
3043
|
*/
|
|
1194
|
-
|
|
3044
|
+
setAggressiveModeImmunity(uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPlayerDetailResponse>;
|
|
1195
3045
|
/**
|
|
1196
|
-
* Returns
|
|
1197
|
-
* @summary
|
|
1198
|
-
* @param {
|
|
1199
|
-
* @param {number | null} [createdBefore] Filter connections before this epoch timestamp in milliseconds
|
|
1200
|
-
* @param {string | null} [ipAddress] Filter by IP address
|
|
1201
|
-
* @param {string | null} [uuid] Filter by player UUID
|
|
1202
|
-
* @param {boolean | null} [isVpn] Filter by VPN status (true=VPN, false=not VPN)
|
|
1203
|
-
* @param {number | null} [page] Page number for pagination
|
|
1204
|
-
* @param {number | null} [limit] Maximum number of records to return
|
|
3046
|
+
* 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.
|
|
3047
|
+
* @summary Trust factor breakdown for a player
|
|
3048
|
+
* @param {string} uuid Player Minecraft UUID
|
|
1205
3049
|
* @param {*} [options] Override http request option.
|
|
1206
3050
|
* @throws {RequiredError}
|
|
1207
3051
|
*/
|
|
1208
|
-
|
|
3052
|
+
trustFactorBreakdown(uuid: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminTrustFactorBreakdown>;
|
|
1209
3053
|
/**
|
|
1210
|
-
*
|
|
1211
|
-
* @summary
|
|
1212
|
-
* @param {
|
|
1213
|
-
* @param {
|
|
3054
|
+
* 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).
|
|
3055
|
+
* @summary Trust factor history for a player
|
|
3056
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3057
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
1214
3058
|
* @param {*} [options] Override http request option.
|
|
1215
3059
|
* @throws {RequiredError}
|
|
1216
3060
|
*/
|
|
1217
|
-
|
|
3061
|
+
trustFactorHistory(uuid: string, days?: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminTrustFactorHistoryEntry>;
|
|
1218
3062
|
};
|
|
1219
3063
|
/**
|
|
1220
|
-
*
|
|
3064
|
+
* AdminPlayersApi - object-oriented interface
|
|
1221
3065
|
*/
|
|
1222
|
-
export declare class
|
|
3066
|
+
export declare class AdminPlayersApi extends BaseAPI {
|
|
1223
3067
|
/**
|
|
1224
|
-
*
|
|
1225
|
-
* @summary
|
|
3068
|
+
* 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.
|
|
3069
|
+
* @summary Add an alt exemption
|
|
3070
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3071
|
+
* @param {AdminCreateAltExemptionRequest} adminCreateAltExemptionRequest
|
|
1226
3072
|
* @param {*} [options] Override http request option.
|
|
1227
3073
|
* @throws {RequiredError}
|
|
1228
3074
|
*/
|
|
1229
|
-
|
|
3075
|
+
addAltExemption(uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1230
3076
|
/**
|
|
1231
|
-
*
|
|
1232
|
-
* @summary
|
|
1233
|
-
* @param {
|
|
3077
|
+
* 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.
|
|
3078
|
+
* @summary Bulk-revoke PROPAGATED links by source
|
|
3079
|
+
* @param {AdminBulkRevokeRequest} adminBulkRevokeRequest
|
|
1234
3080
|
* @param {*} [options] Override http request option.
|
|
1235
3081
|
* @throws {RequiredError}
|
|
1236
3082
|
*/
|
|
1237
|
-
|
|
3083
|
+
bulkRevokePropagated(adminBulkRevokeRequest: AdminBulkRevokeRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminBulkRevokeResponse, any, {}>>;
|
|
1238
3084
|
/**
|
|
1239
|
-
*
|
|
1240
|
-
* @summary
|
|
1241
|
-
* @param {string
|
|
1242
|
-
* @param {
|
|
1243
|
-
* @param {boolean | null} [isVpn] Filter by VPN status
|
|
1244
|
-
* @param {number | null} [page] Page number (1-indexed)
|
|
1245
|
-
* @param {number | null} [limit] Page size
|
|
3085
|
+
* Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
|
|
3086
|
+
* @summary Create a staff note on a player
|
|
3087
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3088
|
+
* @param {AdminCreatePlayerNoteRequest} adminCreatePlayerNoteRequest
|
|
1246
3089
|
* @param {*} [options] Override http request option.
|
|
1247
3090
|
* @throws {RequiredError}
|
|
1248
3091
|
*/
|
|
1249
|
-
|
|
3092
|
+
createPlayerNote(uuid: string, adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerNote, any, {}>>;
|
|
1250
3093
|
/**
|
|
1251
|
-
*
|
|
1252
|
-
* @summary
|
|
1253
|
-
* @param {
|
|
1254
|
-
* @param {number
|
|
1255
|
-
* @param {string | null} [ipAddress] Filter by IP address
|
|
1256
|
-
* @param {string | null} [uuid] Filter by player UUID
|
|
1257
|
-
* @param {boolean | null} [isVpn] Filter by VPN status (true=VPN, false=not VPN)
|
|
1258
|
-
* @param {number | null} [page] Page number for pagination
|
|
1259
|
-
* @param {number | null} [limit] Maximum number of records to return
|
|
3094
|
+
* Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
|
|
3095
|
+
* @summary Soft-delete a staff note
|
|
3096
|
+
* @param {string} uuid Player Minecraft UUID (routing only)
|
|
3097
|
+
* @param {number} noteId Note id
|
|
1260
3098
|
* @param {*} [options] Override http request option.
|
|
1261
3099
|
* @throws {RequiredError}
|
|
1262
3100
|
*/
|
|
1263
|
-
|
|
3101
|
+
deletePlayerNote(uuid: string, noteId: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1264
3102
|
/**
|
|
1265
|
-
*
|
|
1266
|
-
* @summary
|
|
1267
|
-
* @param {
|
|
1268
|
-
* @param {string} service
|
|
3103
|
+
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
3104
|
+
* @summary Get player detail
|
|
3105
|
+
* @param {string} uuid Player Minecraft UUID
|
|
1269
3106
|
* @param {*} [options] Override http request option.
|
|
1270
3107
|
* @throws {RequiredError}
|
|
1271
3108
|
*/
|
|
1272
|
-
|
|
1273
|
-
}
|
|
1274
|
-
/**
|
|
1275
|
-
* AdminDashboardApi - axios parameter creator
|
|
1276
|
-
*/
|
|
1277
|
-
export declare const AdminDashboardApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
3109
|
+
getPlayer(uuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerDetailResponse, any, {}>>;
|
|
1278
3110
|
/**
|
|
1279
|
-
*
|
|
1280
|
-
* @summary
|
|
3111
|
+
* 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.
|
|
3112
|
+
* @summary List a player\'s alt accounts
|
|
3113
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3114
|
+
* @param {Pageable} pageable
|
|
1281
3115
|
* @param {*} [options] Override http request option.
|
|
1282
3116
|
* @throws {RequiredError}
|
|
1283
3117
|
*/
|
|
1284
|
-
|
|
1285
|
-
};
|
|
1286
|
-
/**
|
|
1287
|
-
* AdminDashboardApi - functional programming interface
|
|
1288
|
-
*/
|
|
1289
|
-
export declare const AdminDashboardApiFp: (configuration?: Configuration) => {
|
|
3118
|
+
getPlayerAlts(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAltAccount, any, {}>>;
|
|
1290
3119
|
/**
|
|
1291
|
-
*
|
|
1292
|
-
* @summary
|
|
3120
|
+
* 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.
|
|
3121
|
+
* @summary List a player\'s connection history
|
|
3122
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3123
|
+
* @param {Pageable} pageable
|
|
1293
3124
|
* @param {*} [options] Override http request option.
|
|
1294
3125
|
* @throws {RequiredError}
|
|
1295
3126
|
*/
|
|
1296
|
-
|
|
1297
|
-
};
|
|
1298
|
-
/**
|
|
1299
|
-
* AdminDashboardApi - factory interface
|
|
1300
|
-
*/
|
|
1301
|
-
export declare const AdminDashboardApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3127
|
+
getPlayerConnections(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminDashboardConnectionResponse, any, {}>>;
|
|
1302
3128
|
/**
|
|
1303
|
-
*
|
|
1304
|
-
* @summary
|
|
3129
|
+
* 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.
|
|
3130
|
+
* @summary List a player\'s full punishment history
|
|
3131
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3132
|
+
* @param {Pageable} pageable
|
|
1305
3133
|
* @param {*} [options] Override http request option.
|
|
1306
3134
|
* @throws {RequiredError}
|
|
1307
3135
|
*/
|
|
1308
|
-
|
|
1309
|
-
};
|
|
1310
|
-
/**
|
|
1311
|
-
* AdminDashboardApi - object-oriented interface
|
|
1312
|
-
*/
|
|
1313
|
-
export declare class AdminDashboardApi extends BaseAPI {
|
|
3136
|
+
getPlayerPunishments(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerPunishmentResponse, any, {}>>;
|
|
1314
3137
|
/**
|
|
1315
|
-
*
|
|
1316
|
-
* @summary Get
|
|
3138
|
+
* 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.
|
|
3139
|
+
* @summary Get a player\'s aggregate session stats
|
|
3140
|
+
* @param {string} uuid Player Minecraft UUID
|
|
1317
3141
|
* @param {*} [options] Override http request option.
|
|
1318
3142
|
* @throws {RequiredError}
|
|
1319
3143
|
*/
|
|
1320
|
-
|
|
1321
|
-
}
|
|
1322
|
-
/**
|
|
1323
|
-
* AdminPlayersApi - axios parameter creator
|
|
1324
|
-
*/
|
|
1325
|
-
export declare const AdminPlayersApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
3144
|
+
getSessionStats(uuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerSessionStats, any, {}>>;
|
|
1326
3145
|
/**
|
|
1327
|
-
*
|
|
1328
|
-
* @summary
|
|
3146
|
+
* 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.
|
|
3147
|
+
* @summary List a player\'s alt exemptions
|
|
1329
3148
|
* @param {string} uuid Player Minecraft UUID
|
|
3149
|
+
* @param {Pageable} pageable
|
|
1330
3150
|
* @param {*} [options] Override http request option.
|
|
1331
3151
|
* @throws {RequiredError}
|
|
1332
3152
|
*/
|
|
1333
|
-
|
|
3153
|
+
listAltExemptions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminAltExemption, any, {}>>;
|
|
3154
|
+
/**
|
|
3155
|
+
* Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
|
|
3156
|
+
* @summary List staff notes on a player
|
|
3157
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3158
|
+
* @param {Pageable} pageable
|
|
3159
|
+
* @param {*} [options] Override http request option.
|
|
3160
|
+
* @throws {RequiredError}
|
|
3161
|
+
*/
|
|
3162
|
+
listPlayerNotes(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerNote, any, {}>>;
|
|
1334
3163
|
/**
|
|
1335
3164
|
* Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
|
|
1336
3165
|
* @summary List players
|
|
1337
|
-
* @param {
|
|
1338
|
-
* @param {number} limit Page size
|
|
3166
|
+
* @param {Pageable} pageable
|
|
1339
3167
|
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
1340
3168
|
* @param {*} [options] Override http request option.
|
|
1341
3169
|
* @throws {RequiredError}
|
|
1342
3170
|
*/
|
|
1343
|
-
listPlayers
|
|
1344
|
-
};
|
|
1345
|
-
/**
|
|
1346
|
-
* AdminPlayersApi - functional programming interface
|
|
1347
|
-
*/
|
|
1348
|
-
export declare const AdminPlayersApiFp: (configuration?: Configuration) => {
|
|
3171
|
+
listPlayers(pageable: Pageable, search?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerSummary, any, {}>>;
|
|
1349
3172
|
/**
|
|
1350
|
-
*
|
|
1351
|
-
* @summary
|
|
3173
|
+
* 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.
|
|
3174
|
+
* @summary List a player\'s session history
|
|
1352
3175
|
* @param {string} uuid Player Minecraft UUID
|
|
3176
|
+
* @param {Pageable} pageable
|
|
1353
3177
|
* @param {*} [options] Override http request option.
|
|
1354
3178
|
* @throws {RequiredError}
|
|
1355
3179
|
*/
|
|
1356
|
-
|
|
3180
|
+
listSessions(uuid: string, pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerSession, any, {}>>;
|
|
1357
3181
|
/**
|
|
1358
|
-
*
|
|
1359
|
-
* @summary
|
|
1360
|
-
* @param {
|
|
1361
|
-
* @param {
|
|
1362
|
-
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3182
|
+
* Delete the symmetric exemption pair between two players. Both directions are removed.
|
|
3183
|
+
* @summary Remove an alt exemption
|
|
3184
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3185
|
+
* @param {string} altPlayerUuid UUID of the alt to remove from exemption
|
|
1363
3186
|
* @param {*} [options] Override http request option.
|
|
1364
3187
|
* @throws {RequiredError}
|
|
1365
3188
|
*/
|
|
1366
|
-
|
|
1367
|
-
};
|
|
1368
|
-
/**
|
|
1369
|
-
* AdminPlayersApi - factory interface
|
|
1370
|
-
*/
|
|
1371
|
-
export declare const AdminPlayersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3189
|
+
removeAltExemption(uuid: string, altPlayerUuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1372
3190
|
/**
|
|
1373
|
-
*
|
|
1374
|
-
* @summary
|
|
1375
|
-
* @param {string} uuid Player Minecraft UUID
|
|
3191
|
+
* 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.
|
|
3192
|
+
* @summary Revoke a propagated punishment link
|
|
3193
|
+
* @param {string} uuid Player Minecraft UUID (for routing/audit context; the link id is the source of truth)
|
|
3194
|
+
* @param {number} playerPunishmentId player_punishment row id
|
|
1376
3195
|
* @param {*} [options] Override http request option.
|
|
1377
3196
|
* @throws {RequiredError}
|
|
1378
3197
|
*/
|
|
1379
|
-
|
|
3198
|
+
revokePropagatedLink(uuid: string, playerPunishmentId: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1380
3199
|
/**
|
|
1381
|
-
*
|
|
1382
|
-
* @summary
|
|
1383
|
-
* @param {
|
|
1384
|
-
* @param {
|
|
1385
|
-
* @param {string | null} [search] Optional search string matched against UUID or username (case-insensitive substring)
|
|
3200
|
+
* 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.
|
|
3201
|
+
* @summary Toggle aggressive-mode immunity
|
|
3202
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3203
|
+
* @param {AdminSetAggressiveModeImmunityRequest} adminSetAggressiveModeImmunityRequest
|
|
1386
3204
|
* @param {*} [options] Override http request option.
|
|
1387
3205
|
* @throws {RequiredError}
|
|
1388
3206
|
*/
|
|
1389
|
-
|
|
1390
|
-
};
|
|
1391
|
-
/**
|
|
1392
|
-
* AdminPlayersApi - object-oriented interface
|
|
1393
|
-
*/
|
|
1394
|
-
export declare class AdminPlayersApi extends BaseAPI {
|
|
3207
|
+
setAggressiveModeImmunity(uuid: string, adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPlayerDetailResponse, any, {}>>;
|
|
1395
3208
|
/**
|
|
1396
|
-
* Returns
|
|
1397
|
-
* @summary
|
|
3209
|
+
* 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.
|
|
3210
|
+
* @summary Trust factor breakdown for a player
|
|
1398
3211
|
* @param {string} uuid Player Minecraft UUID
|
|
1399
3212
|
* @param {*} [options] Override http request option.
|
|
1400
3213
|
* @throws {RequiredError}
|
|
1401
3214
|
*/
|
|
1402
|
-
|
|
3215
|
+
trustFactorBreakdown(uuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminTrustFactorBreakdown, any, {}>>;
|
|
1403
3216
|
/**
|
|
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)
|
|
3217
|
+
* 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).
|
|
3218
|
+
* @summary Trust factor history for a player
|
|
3219
|
+
* @param {string} uuid Player Minecraft UUID
|
|
3220
|
+
* @param {number} [days] Window in days (default 30, max 365)
|
|
1409
3221
|
* @param {*} [options] Override http request option.
|
|
1410
3222
|
* @throws {RequiredError}
|
|
1411
3223
|
*/
|
|
1412
|
-
|
|
3224
|
+
trustFactorHistory(uuid: string, days?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminTrustFactorHistoryEntry, any, {}>>;
|
|
1413
3225
|
}
|
|
1414
3226
|
/**
|
|
1415
3227
|
* AdminPunishmentsApi - axios parameter creator
|
|
@@ -1431,21 +3243,29 @@ export declare const AdminPunishmentsApiAxiosParamCreator: (configuration?: Conf
|
|
|
1431
3243
|
* @throws {RequiredError}
|
|
1432
3244
|
*/
|
|
1433
3245
|
createDraft: (adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3246
|
+
/**
|
|
3247
|
+
* 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.
|
|
3248
|
+
* @summary Edit a punishment
|
|
3249
|
+
* @param {number} id Punishment id
|
|
3250
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3251
|
+
* @param {*} [options] Override http request option.
|
|
3252
|
+
* @throws {RequiredError}
|
|
3253
|
+
*/
|
|
3254
|
+
editPunishment: (id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1434
3255
|
/**
|
|
1435
3256
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1436
3257
|
* @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)
|
|
3258
|
+
* @param {Pageable} pageable
|
|
3259
|
+
* @param {string | null} [uuid]
|
|
3260
|
+
* @param {string | null} [username]
|
|
3261
|
+
* @param {string | null} [ipAddress]
|
|
3262
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3263
|
+
* @param {number | null} [issuedAfter]
|
|
3264
|
+
* @param {number | null} [issuedBefore]
|
|
1445
3265
|
* @param {*} [options] Override http request option.
|
|
1446
3266
|
* @throws {RequiredError}
|
|
1447
3267
|
*/
|
|
1448
|
-
getPunishments: (
|
|
3268
|
+
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>;
|
|
1449
3269
|
/**
|
|
1450
3270
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1451
3271
|
* @summary Search punishment targets
|
|
@@ -1475,21 +3295,29 @@ export declare const AdminPunishmentsApiFp: (configuration?: Configuration) => {
|
|
|
1475
3295
|
* @throws {RequiredError}
|
|
1476
3296
|
*/
|
|
1477
3297
|
createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentDraftResponse>>;
|
|
3298
|
+
/**
|
|
3299
|
+
* 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.
|
|
3300
|
+
* @summary Edit a punishment
|
|
3301
|
+
* @param {number} id Punishment id
|
|
3302
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3303
|
+
* @param {*} [options] Override http request option.
|
|
3304
|
+
* @throws {RequiredError}
|
|
3305
|
+
*/
|
|
3306
|
+
editPunishment(id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
1478
3307
|
/**
|
|
1479
3308
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1480
3309
|
* @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 {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
|
|
3310
|
+
* @param {Pageable} pageable
|
|
3311
|
+
* @param {string | null} [uuid]
|
|
3312
|
+
* @param {string | null} [username]
|
|
3313
|
+
* @param {string | null} [ipAddress]
|
|
3314
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3315
|
+
* @param {number | null} [issuedAfter]
|
|
3316
|
+
* @param {number | null} [issuedBefore]
|
|
1489
3317
|
* @param {*} [options] Override http request option.
|
|
1490
3318
|
* @throws {RequiredError}
|
|
1491
3319
|
*/
|
|
1492
|
-
getPunishments(
|
|
3320
|
+
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>>;
|
|
1493
3321
|
/**
|
|
1494
3322
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1495
3323
|
* @summary Search punishment targets
|
|
@@ -1519,21 +3347,29 @@ export declare const AdminPunishmentsApiFactory: (configuration?: Configuration,
|
|
|
1519
3347
|
* @throws {RequiredError}
|
|
1520
3348
|
*/
|
|
1521
3349
|
createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentDraftResponse>;
|
|
3350
|
+
/**
|
|
3351
|
+
* 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.
|
|
3352
|
+
* @summary Edit a punishment
|
|
3353
|
+
* @param {number} id Punishment id
|
|
3354
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3355
|
+
* @param {*} [options] Override http request option.
|
|
3356
|
+
* @throws {RequiredError}
|
|
3357
|
+
*/
|
|
3358
|
+
editPunishment(id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
1522
3359
|
/**
|
|
1523
3360
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1524
3361
|
* @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)
|
|
3362
|
+
* @param {Pageable} pageable
|
|
3363
|
+
* @param {string | null} [uuid]
|
|
3364
|
+
* @param {string | null} [username]
|
|
3365
|
+
* @param {string | null} [ipAddress]
|
|
3366
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3367
|
+
* @param {number | null} [issuedAfter]
|
|
3368
|
+
* @param {number | null} [issuedBefore]
|
|
1533
3369
|
* @param {*} [options] Override http request option.
|
|
1534
3370
|
* @throws {RequiredError}
|
|
1535
3371
|
*/
|
|
1536
|
-
getPunishments(
|
|
3372
|
+
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>;
|
|
1537
3373
|
/**
|
|
1538
3374
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1539
3375
|
* @summary Search punishment targets
|
|
@@ -1563,21 +3399,29 @@ export declare class AdminPunishmentsApi extends BaseAPI {
|
|
|
1563
3399
|
* @throws {RequiredError}
|
|
1564
3400
|
*/
|
|
1565
3401
|
createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentDraftResponse, any, {}>>;
|
|
3402
|
+
/**
|
|
3403
|
+
* 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.
|
|
3404
|
+
* @summary Edit a punishment
|
|
3405
|
+
* @param {number} id Punishment id
|
|
3406
|
+
* @param {AdminUpdatePunishmentRequest} adminUpdatePunishmentRequest
|
|
3407
|
+
* @param {*} [options] Override http request option.
|
|
3408
|
+
* @throws {RequiredError}
|
|
3409
|
+
*/
|
|
3410
|
+
editPunishment(id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1566
3411
|
/**
|
|
1567
3412
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
1568
3413
|
* @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 {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
|
|
3414
|
+
* @param {Pageable} pageable
|
|
3415
|
+
* @param {string | null} [uuid]
|
|
3416
|
+
* @param {string | null} [username]
|
|
3417
|
+
* @param {string | null} [ipAddress]
|
|
3418
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
3419
|
+
* @param {number | null} [issuedAfter]
|
|
3420
|
+
* @param {number | null} [issuedBefore]
|
|
1577
3421
|
* @param {*} [options] Override http request option.
|
|
1578
3422
|
* @throws {RequiredError}
|
|
1579
3423
|
*/
|
|
1580
|
-
getPunishments(
|
|
3424
|
+
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, {}>>;
|
|
1581
3425
|
/**
|
|
1582
3426
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
1583
3427
|
* @summary Search punishment targets
|
|
@@ -1587,6 +3431,102 @@ export declare class AdminPunishmentsApi extends BaseAPI {
|
|
|
1587
3431
|
*/
|
|
1588
3432
|
searchTargets(q: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentSearchResponse, any, {}>>;
|
|
1589
3433
|
}
|
|
3434
|
+
/**
|
|
3435
|
+
* AdminReportsApi - axios parameter creator
|
|
3436
|
+
*/
|
|
3437
|
+
export declare const AdminReportsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
3438
|
+
/**
|
|
3439
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3440
|
+
* @summary List reports
|
|
3441
|
+
* @param {Pageable} pageable
|
|
3442
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3443
|
+
* @param {boolean} [openOnly]
|
|
3444
|
+
* @param {*} [options] Override http request option.
|
|
3445
|
+
* @throws {RequiredError}
|
|
3446
|
+
*/
|
|
3447
|
+
list1: (pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3448
|
+
/**
|
|
3449
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3450
|
+
* @summary Resolve a report
|
|
3451
|
+
* @param {number} id Report id
|
|
3452
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3453
|
+
* @param {*} [options] Override http request option.
|
|
3454
|
+
* @throws {RequiredError}
|
|
3455
|
+
*/
|
|
3456
|
+
resolve: (id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3457
|
+
};
|
|
3458
|
+
/**
|
|
3459
|
+
* AdminReportsApi - functional programming interface
|
|
3460
|
+
*/
|
|
3461
|
+
export declare const AdminReportsApiFp: (configuration?: Configuration) => {
|
|
3462
|
+
/**
|
|
3463
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3464
|
+
* @summary List reports
|
|
3465
|
+
* @param {Pageable} pageable
|
|
3466
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3467
|
+
* @param {boolean} [openOnly]
|
|
3468
|
+
* @param {*} [options] Override http request option.
|
|
3469
|
+
* @throws {RequiredError}
|
|
3470
|
+
*/
|
|
3471
|
+
list1(pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageAdminPlayerReport>>;
|
|
3472
|
+
/**
|
|
3473
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3474
|
+
* @summary Resolve a report
|
|
3475
|
+
* @param {number} id Report id
|
|
3476
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3477
|
+
* @param {*} [options] Override http request option.
|
|
3478
|
+
* @throws {RequiredError}
|
|
3479
|
+
*/
|
|
3480
|
+
resolve(id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
3481
|
+
};
|
|
3482
|
+
/**
|
|
3483
|
+
* AdminReportsApi - factory interface
|
|
3484
|
+
*/
|
|
3485
|
+
export declare const AdminReportsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3486
|
+
/**
|
|
3487
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3488
|
+
* @summary List reports
|
|
3489
|
+
* @param {Pageable} pageable
|
|
3490
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3491
|
+
* @param {boolean} [openOnly]
|
|
3492
|
+
* @param {*} [options] Override http request option.
|
|
3493
|
+
* @throws {RequiredError}
|
|
3494
|
+
*/
|
|
3495
|
+
list1(pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<PageAdminPlayerReport>;
|
|
3496
|
+
/**
|
|
3497
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3498
|
+
* @summary Resolve a report
|
|
3499
|
+
* @param {number} id Report id
|
|
3500
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3501
|
+
* @param {*} [options] Override http request option.
|
|
3502
|
+
* @throws {RequiredError}
|
|
3503
|
+
*/
|
|
3504
|
+
resolve(id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3505
|
+
};
|
|
3506
|
+
/**
|
|
3507
|
+
* AdminReportsApi - object-oriented interface
|
|
3508
|
+
*/
|
|
3509
|
+
export declare class AdminReportsApi extends BaseAPI {
|
|
3510
|
+
/**
|
|
3511
|
+
* Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
3512
|
+
* @summary List reports
|
|
3513
|
+
* @param {Pageable} pageable
|
|
3514
|
+
* @param {string | null} [reportedUuid] Filter to reports targeting this player UUID
|
|
3515
|
+
* @param {boolean} [openOnly]
|
|
3516
|
+
* @param {*} [options] Override http request option.
|
|
3517
|
+
* @throws {RequiredError}
|
|
3518
|
+
*/
|
|
3519
|
+
list1(pageable: Pageable, reportedUuid?: string | null, openOnly?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PageAdminPlayerReport, any, {}>>;
|
|
3520
|
+
/**
|
|
3521
|
+
* Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
3522
|
+
* @summary Resolve a report
|
|
3523
|
+
* @param {number} id Report id
|
|
3524
|
+
* @param {AdminResolveReportRequest} adminResolveReportRequest
|
|
3525
|
+
* @param {*} [options] Override http request option.
|
|
3526
|
+
* @throws {RequiredError}
|
|
3527
|
+
*/
|
|
3528
|
+
resolve(id: number, adminResolveReportRequest: AdminResolveReportRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
3529
|
+
}
|
|
1590
3530
|
/**
|
|
1591
3531
|
* AuthenticationApi - axios parameter creator
|
|
1592
3532
|
*/
|
|
@@ -1746,13 +3686,13 @@ export declare const ChatApiAxiosParamCreator: (configuration?: Configuration) =
|
|
|
1746
3686
|
/**
|
|
1747
3687
|
* 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
3688
|
* @summary Get chat history
|
|
1749
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1750
3689
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1751
3690
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
3691
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1752
3692
|
* @param {*} [options] Override http request option.
|
|
1753
3693
|
* @throws {RequiredError}
|
|
1754
3694
|
*/
|
|
1755
|
-
history: (
|
|
3695
|
+
history: (sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1756
3696
|
/**
|
|
1757
3697
|
* 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
3698
|
* @summary Ingest a chat message
|
|
@@ -1769,13 +3709,13 @@ export declare const ChatApiFp: (configuration?: Configuration) => {
|
|
|
1769
3709
|
/**
|
|
1770
3710
|
* 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
3711
|
* @summary Get chat history
|
|
1772
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1773
3712
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1774
3713
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
3714
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1775
3715
|
* @param {*} [options] Override http request option.
|
|
1776
3716
|
* @throws {RequiredError}
|
|
1777
3717
|
*/
|
|
1778
|
-
history(
|
|
3718
|
+
history(sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ChatMessageDTO>>>;
|
|
1779
3719
|
/**
|
|
1780
3720
|
* 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
3721
|
* @summary Ingest a chat message
|
|
@@ -1792,13 +3732,13 @@ export declare const ChatApiFactory: (configuration?: Configuration, basePath?:
|
|
|
1792
3732
|
/**
|
|
1793
3733
|
* 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
3734
|
* @summary Get chat history
|
|
1795
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1796
3735
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1797
3736
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
3737
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1798
3738
|
* @param {*} [options] Override http request option.
|
|
1799
3739
|
* @throws {RequiredError}
|
|
1800
3740
|
*/
|
|
1801
|
-
history(
|
|
3741
|
+
history(sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise<Array<ChatMessageDTO>>;
|
|
1802
3742
|
/**
|
|
1803
3743
|
* 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
3744
|
* @summary Ingest a chat message
|
|
@@ -1815,13 +3755,13 @@ export declare class ChatApi extends BaseAPI {
|
|
|
1815
3755
|
/**
|
|
1816
3756
|
* 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
3757
|
* @summary Get chat history
|
|
1818
|
-
* @param {number} limit Maximum number of messages to return (1–100)
|
|
1819
3758
|
* @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
|
|
1820
3759
|
* @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
|
|
3760
|
+
* @param {number} [limit] Maximum number of messages to return (1–100)
|
|
1821
3761
|
* @param {*} [options] Override http request option.
|
|
1822
3762
|
* @throws {RequiredError}
|
|
1823
3763
|
*/
|
|
1824
|
-
history(
|
|
3764
|
+
history(sessionId?: string | null, before?: string | null, limit?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatMessageDTO[], any, {}>>;
|
|
1825
3765
|
/**
|
|
1826
3766
|
* 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
3767
|
* @summary Ingest a chat message
|
|
@@ -1836,60 +3776,64 @@ export declare class ChatApi extends BaseAPI {
|
|
|
1836
3776
|
*/
|
|
1837
3777
|
export declare const ConnectionApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
1838
3778
|
/**
|
|
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
|
|
3779
|
+
* **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.
|
|
3780
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1841
3781
|
* @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
|
|
3782
|
+
* @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
3783
|
* @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
3784
|
* @param {*} [options] Override http request option.
|
|
3785
|
+
* @deprecated
|
|
1845
3786
|
* @throws {RequiredError}
|
|
1846
3787
|
*/
|
|
1847
|
-
getConnectionDetails: (ip: string, forceRecheck
|
|
3788
|
+
getConnectionDetails: (ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
1848
3789
|
};
|
|
1849
3790
|
/**
|
|
1850
3791
|
* ConnectionApi - functional programming interface
|
|
1851
3792
|
*/
|
|
1852
3793
|
export declare const ConnectionApiFp: (configuration?: Configuration) => {
|
|
1853
3794
|
/**
|
|
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
|
|
3795
|
+
* **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.
|
|
3796
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1856
3797
|
* @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
|
|
3798
|
+
* @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
3799
|
* @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
3800
|
* @param {*} [options] Override http request option.
|
|
3801
|
+
* @deprecated
|
|
1860
3802
|
* @throws {RequiredError}
|
|
1861
3803
|
*/
|
|
1862
|
-
getConnectionDetails(ip: string, forceRecheck
|
|
3804
|
+
getConnectionDetails(ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConnectionGetConnectionDetailsResponse>>;
|
|
1863
3805
|
};
|
|
1864
3806
|
/**
|
|
1865
3807
|
* ConnectionApi - factory interface
|
|
1866
3808
|
*/
|
|
1867
3809
|
export declare const ConnectionApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
1868
3810
|
/**
|
|
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
|
|
3811
|
+
* **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.
|
|
3812
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1871
3813
|
* @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
|
|
3814
|
+
* @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
3815
|
* @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
3816
|
* @param {*} [options] Override http request option.
|
|
3817
|
+
* @deprecated
|
|
1875
3818
|
* @throws {RequiredError}
|
|
1876
3819
|
*/
|
|
1877
|
-
getConnectionDetails(ip: string, forceRecheck
|
|
3820
|
+
getConnectionDetails(ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<ConnectionGetConnectionDetailsResponse>;
|
|
1878
3821
|
};
|
|
1879
3822
|
/**
|
|
1880
3823
|
* ConnectionApi - object-oriented interface
|
|
1881
3824
|
*/
|
|
1882
3825
|
export declare class ConnectionApi extends BaseAPI {
|
|
1883
3826
|
/**
|
|
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
|
|
3827
|
+
* **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.
|
|
3828
|
+
* @summary Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)
|
|
1886
3829
|
* @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
|
|
3830
|
+
* @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
3831
|
* @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
3832
|
* @param {*} [options] Override http request option.
|
|
3833
|
+
* @deprecated
|
|
1890
3834
|
* @throws {RequiredError}
|
|
1891
3835
|
*/
|
|
1892
|
-
getConnectionDetails(ip: string, forceRecheck
|
|
3836
|
+
getConnectionDetails(ip: string, forceRecheck?: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ConnectionGetConnectionDetailsResponse, any, {}>>;
|
|
1893
3837
|
}
|
|
1894
3838
|
/**
|
|
1895
3839
|
* PlayerApi - axios parameter creator
|
|
@@ -1975,6 +3919,90 @@ export declare class PlayerApi extends BaseAPI {
|
|
|
1975
3919
|
*/
|
|
1976
3920
|
getUsernames(uuids: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
1977
3921
|
}
|
|
3922
|
+
/**
|
|
3923
|
+
* PlayerSessionsApi - axios parameter creator
|
|
3924
|
+
*/
|
|
3925
|
+
export declare const PlayerSessionsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
3926
|
+
/**
|
|
3927
|
+
* 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.
|
|
3928
|
+
* @summary Close the active player session
|
|
3929
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
3930
|
+
* @param {*} [options] Override http request option.
|
|
3931
|
+
* @throws {RequiredError}
|
|
3932
|
+
*/
|
|
3933
|
+
end: (playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3934
|
+
/**
|
|
3935
|
+
* 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.
|
|
3936
|
+
* @summary Player join — unified authorization + session-open
|
|
3937
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
3938
|
+
* @param {*} [options] Override http request option.
|
|
3939
|
+
* @throws {RequiredError}
|
|
3940
|
+
*/
|
|
3941
|
+
start: (playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
3942
|
+
};
|
|
3943
|
+
/**
|
|
3944
|
+
* PlayerSessionsApi - functional programming interface
|
|
3945
|
+
*/
|
|
3946
|
+
export declare const PlayerSessionsApiFp: (configuration?: Configuration) => {
|
|
3947
|
+
/**
|
|
3948
|
+
* 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.
|
|
3949
|
+
* @summary Close the active player session
|
|
3950
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
3951
|
+
* @param {*} [options] Override http request option.
|
|
3952
|
+
* @throws {RequiredError}
|
|
3953
|
+
*/
|
|
3954
|
+
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
3955
|
+
/**
|
|
3956
|
+
* 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.
|
|
3957
|
+
* @summary Player join — unified authorization + session-open
|
|
3958
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
3959
|
+
* @param {*} [options] Override http request option.
|
|
3960
|
+
* @throws {RequiredError}
|
|
3961
|
+
*/
|
|
3962
|
+
start(playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlayerSessionStartResponse>>;
|
|
3963
|
+
};
|
|
3964
|
+
/**
|
|
3965
|
+
* PlayerSessionsApi - factory interface
|
|
3966
|
+
*/
|
|
3967
|
+
export declare const PlayerSessionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
3968
|
+
/**
|
|
3969
|
+
* 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.
|
|
3970
|
+
* @summary Close the active player session
|
|
3971
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
3972
|
+
* @param {*} [options] Override http request option.
|
|
3973
|
+
* @throws {RequiredError}
|
|
3974
|
+
*/
|
|
3975
|
+
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
3976
|
+
/**
|
|
3977
|
+
* 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.
|
|
3978
|
+
* @summary Player join — unified authorization + session-open
|
|
3979
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
3980
|
+
* @param {*} [options] Override http request option.
|
|
3981
|
+
* @throws {RequiredError}
|
|
3982
|
+
*/
|
|
3983
|
+
start(playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig): AxiosPromise<PlayerSessionStartResponse>;
|
|
3984
|
+
};
|
|
3985
|
+
/**
|
|
3986
|
+
* PlayerSessionsApi - object-oriented interface
|
|
3987
|
+
*/
|
|
3988
|
+
export declare class PlayerSessionsApi extends BaseAPI {
|
|
3989
|
+
/**
|
|
3990
|
+
* 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.
|
|
3991
|
+
* @summary Close the active player session
|
|
3992
|
+
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
3993
|
+
* @param {*} [options] Override http request option.
|
|
3994
|
+
* @throws {RequiredError}
|
|
3995
|
+
*/
|
|
3996
|
+
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
3997
|
+
/**
|
|
3998
|
+
* 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.
|
|
3999
|
+
* @summary Player join — unified authorization + session-open
|
|
4000
|
+
* @param {PlayerSessionStartRequest} playerSessionStartRequest
|
|
4001
|
+
* @param {*} [options] Override http request option.
|
|
4002
|
+
* @throws {RequiredError}
|
|
4003
|
+
*/
|
|
4004
|
+
start(playerSessionStartRequest: PlayerSessionStartRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PlayerSessionStartResponse, any, {}>>;
|
|
4005
|
+
}
|
|
1978
4006
|
/**
|
|
1979
4007
|
* PunishmentApi - axios parameter creator
|
|
1980
4008
|
*/
|
|
@@ -2008,19 +4036,18 @@ export declare const PunishmentApiAxiosParamCreator: (configuration?: Configurat
|
|
|
2008
4036
|
/**
|
|
2009
4037
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2010
4038
|
* @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
|
|
4039
|
+
* @param {Pageable} pageable
|
|
4040
|
+
* @param {number | null} [issuedAfter]
|
|
4041
|
+
* @param {number | null} [issuedBefore]
|
|
4042
|
+
* @param {number | null} [expiresAfter]
|
|
4043
|
+
* @param {number | null} [expiresBefore]
|
|
4044
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4045
|
+
* @param {string | null} [uuid]
|
|
4046
|
+
* @param {string | null} [ipAddress]
|
|
2020
4047
|
* @param {*} [options] Override http request option.
|
|
2021
4048
|
* @throws {RequiredError}
|
|
2022
4049
|
*/
|
|
2023
|
-
getRecentPunishments: (
|
|
4050
|
+
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
4051
|
};
|
|
2025
4052
|
/**
|
|
2026
4053
|
* PunishmentApi - functional programming interface
|
|
@@ -2055,19 +4082,18 @@ export declare const PunishmentApiFp: (configuration?: Configuration) => {
|
|
|
2055
4082
|
/**
|
|
2056
4083
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2057
4084
|
* @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
|
|
4085
|
+
* @param {Pageable} pageable
|
|
4086
|
+
* @param {number | null} [issuedAfter]
|
|
4087
|
+
* @param {number | null} [issuedBefore]
|
|
4088
|
+
* @param {number | null} [expiresAfter]
|
|
4089
|
+
* @param {number | null} [expiresBefore]
|
|
4090
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4091
|
+
* @param {string | null} [uuid]
|
|
4092
|
+
* @param {string | null} [ipAddress]
|
|
2067
4093
|
* @param {*} [options] Override http request option.
|
|
2068
4094
|
* @throws {RequiredError}
|
|
2069
4095
|
*/
|
|
2070
|
-
getRecentPunishments(
|
|
4096
|
+
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
4097
|
};
|
|
2072
4098
|
/**
|
|
2073
4099
|
* PunishmentApi - factory interface
|
|
@@ -2102,19 +4128,18 @@ export declare const PunishmentApiFactory: (configuration?: Configuration, baseP
|
|
|
2102
4128
|
/**
|
|
2103
4129
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2104
4130
|
* @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
|
|
4131
|
+
* @param {Pageable} pageable
|
|
4132
|
+
* @param {number | null} [issuedAfter]
|
|
4133
|
+
* @param {number | null} [issuedBefore]
|
|
4134
|
+
* @param {number | null} [expiresAfter]
|
|
4135
|
+
* @param {number | null} [expiresBefore]
|
|
4136
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4137
|
+
* @param {string | null} [uuid]
|
|
4138
|
+
* @param {string | null} [ipAddress]
|
|
2114
4139
|
* @param {*} [options] Override http request option.
|
|
2115
4140
|
* @throws {RequiredError}
|
|
2116
4141
|
*/
|
|
2117
|
-
getRecentPunishments(
|
|
4142
|
+
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
4143
|
};
|
|
2119
4144
|
/**
|
|
2120
4145
|
* PunishmentApi - object-oriented interface
|
|
@@ -2149,19 +4174,70 @@ export declare class PunishmentApi extends BaseAPI {
|
|
|
2149
4174
|
/**
|
|
2150
4175
|
* Returns a paginated list of recent punishments with optional filtering by issue date, expiration date, and type
|
|
2151
4176
|
* @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 {
|
|
4177
|
+
* @param {Pageable} pageable
|
|
4178
|
+
* @param {number | null} [issuedAfter]
|
|
4179
|
+
* @param {number | null} [issuedBefore]
|
|
4180
|
+
* @param {number | null} [expiresAfter]
|
|
4181
|
+
* @param {number | null} [expiresBefore]
|
|
4182
|
+
* @param {Array<PunishmentType> | null} [type]
|
|
4183
|
+
* @param {string | null} [uuid]
|
|
4184
|
+
* @param {string | null} [ipAddress]
|
|
4185
|
+
* @param {*} [options] Override http request option.
|
|
4186
|
+
* @throws {RequiredError}
|
|
4187
|
+
*/
|
|
4188
|
+
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, {}>>;
|
|
4189
|
+
}
|
|
4190
|
+
/**
|
|
4191
|
+
* ReportApi - axios parameter creator
|
|
4192
|
+
*/
|
|
4193
|
+
export declare const ReportApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
4194
|
+
/**
|
|
4195
|
+
* 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.
|
|
4196
|
+
* @summary Submit a peer report
|
|
4197
|
+
* @param {CreateReportRequest} createReportRequest
|
|
4198
|
+
* @param {*} [options] Override http request option.
|
|
4199
|
+
* @throws {RequiredError}
|
|
4200
|
+
*/
|
|
4201
|
+
submit: (createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
4202
|
+
};
|
|
4203
|
+
/**
|
|
4204
|
+
* ReportApi - functional programming interface
|
|
4205
|
+
*/
|
|
4206
|
+
export declare const ReportApiFp: (configuration?: Configuration) => {
|
|
4207
|
+
/**
|
|
4208
|
+
* 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.
|
|
4209
|
+
* @summary Submit a peer report
|
|
4210
|
+
* @param {CreateReportRequest} createReportRequest
|
|
4211
|
+
* @param {*} [options] Override http request option.
|
|
4212
|
+
* @throws {RequiredError}
|
|
4213
|
+
*/
|
|
4214
|
+
submit(createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateReportResponse>>;
|
|
4215
|
+
};
|
|
4216
|
+
/**
|
|
4217
|
+
* ReportApi - factory interface
|
|
4218
|
+
*/
|
|
4219
|
+
export declare const ReportApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
4220
|
+
/**
|
|
4221
|
+
* 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.
|
|
4222
|
+
* @summary Submit a peer report
|
|
4223
|
+
* @param {CreateReportRequest} createReportRequest
|
|
4224
|
+
* @param {*} [options] Override http request option.
|
|
4225
|
+
* @throws {RequiredError}
|
|
4226
|
+
*/
|
|
4227
|
+
submit(createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateReportResponse>;
|
|
4228
|
+
};
|
|
4229
|
+
/**
|
|
4230
|
+
* ReportApi - object-oriented interface
|
|
4231
|
+
*/
|
|
4232
|
+
export declare class ReportApi extends BaseAPI {
|
|
4233
|
+
/**
|
|
4234
|
+
* 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.
|
|
4235
|
+
* @summary Submit a peer report
|
|
4236
|
+
* @param {CreateReportRequest} createReportRequest
|
|
2161
4237
|
* @param {*} [options] Override http request option.
|
|
2162
4238
|
* @throws {RequiredError}
|
|
2163
4239
|
*/
|
|
2164
|
-
|
|
4240
|
+
submit(createReportRequest: CreateReportRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateReportResponse, any, {}>>;
|
|
2165
4241
|
}
|
|
2166
4242
|
/**
|
|
2167
4243
|
* ServerSessionsApi - axios parameter creator
|