@rebornteam/reborn-api 2.6.0 → 2.6.4

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.
Files changed (47) hide show
  1. package/.openapi-generator/FILES +11 -4
  2. package/README.md +16 -8
  3. package/api.ts +463 -262
  4. package/base.ts +1 -1
  5. package/common.ts +1 -1
  6. package/configuration.ts +1 -1
  7. package/dist/api.d.ts +329 -180
  8. package/dist/api.js +231 -146
  9. package/dist/base.d.ts +1 -1
  10. package/dist/base.js +1 -1
  11. package/dist/common.d.ts +1 -1
  12. package/dist/common.js +1 -1
  13. package/dist/configuration.d.ts +1 -1
  14. package/dist/configuration.js +1 -1
  15. package/dist/esm/api.d.ts +329 -180
  16. package/dist/esm/api.js +230 -145
  17. package/dist/esm/base.d.ts +1 -1
  18. package/dist/esm/base.js +1 -1
  19. package/dist/esm/common.d.ts +1 -1
  20. package/dist/esm/common.js +1 -1
  21. package/dist/esm/configuration.d.ts +1 -1
  22. package/dist/esm/configuration.js +1 -1
  23. package/dist/esm/index.d.ts +1 -1
  24. package/dist/esm/index.js +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +1 -1
  27. package/docs/AdminApplyPunishmentRequest.md +33 -0
  28. package/docs/AdminApplyPunishmentResponse.md +21 -0
  29. package/docs/AdminApplyPunishmentResult.md +33 -0
  30. package/docs/AdminCreatePunishmentDraftRequest.md +31 -0
  31. package/docs/AdminIpSearchResult.md +23 -0
  32. package/docs/AdminPagedPunishmentResponse.md +1 -1
  33. package/docs/AdminPlayerSearchResult.md +23 -0
  34. package/docs/AdminPunishmentDraftResponse.md +21 -0
  35. package/docs/AdminPunishmentEvaluation.md +39 -0
  36. package/docs/AdminPunishmentListItem.md +42 -0
  37. package/docs/AdminPunishmentSearchResponse.md +25 -0
  38. package/docs/AdminPunishmentTarget.md +23 -0
  39. package/docs/AdminPunishmentsApi.md +168 -2
  40. package/docs/PunishmentApi.md +0 -106
  41. package/docs/PunishmentGetPunishmentResponse.md +5 -3
  42. package/index.ts +1 -1
  43. package/package.json +1 -1
  44. package/docs/ApplyPunishmentRequest.md +0 -31
  45. package/docs/ApplyPunishmentResponse.md +0 -33
  46. package/docs/CreatePunishmentDraftRequest.md +0 -29
  47. package/docs/PunishmentDraftResponse.md +0 -39
package/dist/esm/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: 2.6.0
5
+ * The version of the OpenAPI document: 2.6.4
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -13,6 +13,87 @@ 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
+ * Request to apply a punishment to one or more targets
18
+ */
19
+ export interface AdminApplyPunishmentRequest {
20
+ /**
21
+ * List of targets to punish — each must have either a uuid or ipAddress
22
+ */
23
+ 'targets': Array<AdminPunishmentTarget>;
24
+ /**
25
+ * Punishment type
26
+ */
27
+ 'type': AdminApplyPunishmentRequestTypeEnum;
28
+ /**
29
+ * Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical
30
+ */
31
+ 'severity'?: number;
32
+ /**
33
+ * Reason for the punishment
34
+ */
35
+ 'reason': string;
36
+ /**
37
+ * Custom duration in seconds — if omitted the suggested duration for the type and severity is used
38
+ */
39
+ 'durationSeconds'?: number | null;
40
+ /**
41
+ * Force the punishment to be permanent regardless of the target\'s current score
42
+ */
43
+ 'forcePermanent'?: boolean;
44
+ /**
45
+ * Internal notes visible only to administrators — not shown to the punished player
46
+ */
47
+ 'notes'?: string | null;
48
+ }
49
+ export declare const AdminApplyPunishmentRequestTypeEnum: {
50
+ readonly Ban: "BAN";
51
+ readonly Mute: "MUTE";
52
+ readonly Warning: "WARNING";
53
+ };
54
+ export type AdminApplyPunishmentRequestTypeEnum = typeof AdminApplyPunishmentRequestTypeEnum[keyof typeof AdminApplyPunishmentRequestTypeEnum];
55
+ /**
56
+ * Batch punishment apply result — one result per target
57
+ */
58
+ export interface AdminApplyPunishmentResponse {
59
+ /**
60
+ * Ordered list of results, one per target in the request
61
+ */
62
+ 'results'?: Array<AdminApplyPunishmentResult>;
63
+ }
64
+ /**
65
+ * Result of applying a punishment to a single target
66
+ */
67
+ export interface AdminApplyPunishmentResult {
68
+ /**
69
+ * The target this result applies to
70
+ */
71
+ 'target'?: AdminPunishmentTarget;
72
+ /**
73
+ * ID of the created punishment record
74
+ */
75
+ 'punishmentId'?: number;
76
+ /**
77
+ * Punishment type applied
78
+ */
79
+ 'type'?: string;
80
+ /**
81
+ * Severity level applied
82
+ */
83
+ 'severity'?: number;
84
+ /**
85
+ * Updated punishment score after applying
86
+ */
87
+ 'newScore'?: number;
88
+ /**
89
+ * Whether the punishment was made permanent
90
+ */
91
+ 'isPermanent'?: boolean;
92
+ /**
93
+ * When the punishment expires — null if permanent or a WARNING
94
+ */
95
+ 'expiresAt'?: string | null;
96
+ }
16
97
  /**
17
98
  * Client credential response
18
99
  */
@@ -71,6 +152,41 @@ export interface AdminConnectionBypassResponse {
71
152
  */
72
153
  'createdAt'?: string;
73
154
  }
155
+ /**
156
+ * Request to evaluate the impact of a punishment across one or more targets before applying
157
+ */
158
+ export interface AdminCreatePunishmentDraftRequest {
159
+ /**
160
+ * List of targets to evaluate — each must have either a uuid or ipAddress
161
+ */
162
+ 'targets': Array<AdminPunishmentTarget>;
163
+ /**
164
+ * Punishment type
165
+ */
166
+ 'type': AdminCreatePunishmentDraftRequestTypeEnum;
167
+ /**
168
+ * Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical
169
+ */
170
+ 'severity'?: number;
171
+ /**
172
+ * Reason for the punishment (not used in evaluation, required for apply)
173
+ */
174
+ 'reason': string;
175
+ /**
176
+ * Custom duration in seconds — if omitted the suggested duration for the type and severity is used
177
+ */
178
+ 'durationSeconds'?: number | null;
179
+ /**
180
+ * Force the punishment to be permanent regardless of the target\'s current score
181
+ */
182
+ 'forcePermanent'?: boolean;
183
+ }
184
+ export declare const AdminCreatePunishmentDraftRequestTypeEnum: {
185
+ readonly Ban: "BAN";
186
+ readonly Mute: "MUTE";
187
+ readonly Warning: "WARNING";
188
+ };
189
+ export type AdminCreatePunishmentDraftRequestTypeEnum = typeof AdminCreatePunishmentDraftRequestTypeEnum[keyof typeof AdminCreatePunishmentDraftRequestTypeEnum];
74
190
  export interface AdminDashboardConnectionResponse {
75
191
  'id': number;
76
192
  'ipAddress': string;
@@ -88,6 +204,19 @@ export interface AdminGetDashboardStats {
88
204
  'totalConnections': number;
89
205
  'totalClients': number;
90
206
  }
207
+ /**
208
+ * A single IP address match in a punishment search, with all players ever seen on that IP
209
+ */
210
+ export interface AdminIpSearchResult {
211
+ /**
212
+ * IP address
213
+ */
214
+ 'ipAddress'?: string;
215
+ /**
216
+ * Players ever seen on this IP
217
+ */
218
+ 'players'?: Array<AdminPlayerSearchResult>;
219
+ }
91
220
  /**
92
221
  * Paginated connection list response
93
222
  */
@@ -145,7 +274,7 @@ export interface AdminPagedPunishmentResponse {
145
274
  /**
146
275
  * Punishments on the current page
147
276
  */
148
- 'data'?: Array<PunishmentGetPunishmentResponse>;
277
+ 'data'?: Array<AdminPunishmentListItem>;
149
278
  /**
150
279
  * Total number of punishments matching the filters
151
280
  */
@@ -204,6 +333,19 @@ export interface AdminPlayerDetailResponse {
204
333
  */
205
334
  'usernameHistory'?: Array<AdminUsernameHistoryEntry>;
206
335
  }
336
+ /**
337
+ * Lightweight player reference used in search results and punishment evaluations
338
+ */
339
+ export interface AdminPlayerSearchResult {
340
+ /**
341
+ * Player Minecraft UUID
342
+ */
343
+ 'uuid'?: string;
344
+ /**
345
+ * Most recently seen username, null if never recorded
346
+ */
347
+ 'username'?: string | null;
348
+ }
207
349
  /**
208
350
  * Summary of a player record, used in list views
209
351
  */
@@ -242,79 +384,120 @@ export interface AdminPlayerSummary {
242
384
  'punishmentPointsPercent'?: number;
243
385
  }
244
386
  /**
245
- * A single entry in a player\'s username history
387
+ * Batch punishment draft one evaluation per target
246
388
  */
247
- export interface AdminUsernameHistoryEntry {
389
+ export interface AdminPunishmentDraftResponse {
248
390
  /**
249
- * The username at this point in time
391
+ * Ordered list of evaluations, one per target in the request
250
392
  */
251
- 'username'?: string;
252
- /**
253
- * When this username was first observed (ISO-8601)
254
- */
255
- 'changedAt'?: string;
393
+ 'evaluations'?: Array<AdminPunishmentEvaluation>;
256
394
  }
257
395
  /**
258
- * Request to apply a punishment to a player
396
+ * Evaluation of a punishment\'s impact on a single target
259
397
  */
260
- export interface ApplyPunishmentRequest {
398
+ export interface AdminPunishmentEvaluation {
261
399
  /**
262
- * Player UUID to punish
400
+ * The target this evaluation applies to
263
401
  */
264
- 'playerUuid': string;
402
+ 'target'?: AdminPunishmentTarget;
265
403
  /**
266
- * Reason for the punishment
404
+ * Players affected — one player for UUID targets, all players on the IP for connection targets
267
405
  */
268
- 'reason': string;
406
+ 'affectedPlayers'?: Array<AdminPlayerSearchResult>;
269
407
  /**
270
- * Type of punishment
408
+ * Current punishment score before applying this punishment (0–100+)
271
409
  */
272
- 'type': string;
410
+ 'currentScore'?: number;
273
411
  /**
274
- * Severity level of the punishment (1-10)
412
+ * Points this punishment would add to the score
275
413
  */
276
- 'severity': number;
414
+ 'pointsToAdd'?: number;
277
415
  /**
278
- * Staff member applying the punishment
416
+ * Projected score after applying this punishment
279
417
  */
280
- 'createdBy': string;
418
+ 'newScore'?: number;
281
419
  /**
282
- * Duration of the punishment in seconds. Null means permanent.
420
+ * Whether this punishment would be permanent based on the current score threshold
421
+ */
422
+ 'willBePermanent'?: boolean;
423
+ /**
424
+ * Resolved duration in seconds — null if permanent or a WARNING
283
425
  */
284
426
  'durationSeconds'?: number | null;
427
+ /**
428
+ * Number of existing punishments on this target
429
+ */
430
+ 'previousPunishmentCount'?: number;
431
+ /**
432
+ * True when the target is an IP address (connection punishment) rather than a player UUID
433
+ */
434
+ 'isConnectionTarget'?: boolean;
435
+ /**
436
+ * The effective punishment type that will be applied — may differ from the requested type if escalated to BAN at threshold
437
+ */
438
+ 'effectiveType'?: string;
439
+ }
440
+ export interface AdminPunishmentListItem {
441
+ 'id': number;
442
+ 'reason': string;
443
+ 'notes'?: string | null;
444
+ 'type': string;
445
+ 'severity': number;
446
+ 'createdBy': string;
447
+ 'expiresAt'?: string | null;
448
+ 'createdAt': string;
449
+ 'targetType': string;
450
+ 'targetUuid'?: string | null;
451
+ 'targetUsername'?: string | null;
452
+ 'targetIp'?: string | null;
285
453
  }
286
454
  /**
287
- * Response after applying a punishment
455
+ * Result of a punishment target search — either a list of matching players or a list of matching IP addresses
288
456
  */
289
- export interface ApplyPunishmentResponse {
457
+ export interface AdminPunishmentSearchResponse {
290
458
  /**
291
- * ID of the created punishment
459
+ * Search kind \'player\' for UUID/username searches, \'ip\' for IP address searches
292
460
  */
293
- 'punishmentId'?: number;
461
+ 'kind'?: AdminPunishmentSearchResponseKindEnum;
294
462
  /**
295
- * Player UUID punished
463
+ * Matching players — only populated when kind=\'player\'
296
464
  */
297
- 'playerUuid'?: string;
465
+ 'players'?: Array<AdminPlayerSearchResult>;
298
466
  /**
299
- * Type of punishment applied
467
+ * Matching IP addresses with their associated players — only populated when kind=\'ip\'
300
468
  */
301
- 'type'?: string;
469
+ 'ipResults'?: Array<AdminIpSearchResult>;
470
+ }
471
+ export declare const AdminPunishmentSearchResponseKindEnum: {
472
+ readonly Player: "player";
473
+ readonly Ip: "ip";
474
+ };
475
+ export type AdminPunishmentSearchResponseKindEnum = typeof AdminPunishmentSearchResponseKindEnum[keyof typeof AdminPunishmentSearchResponseKindEnum];
476
+ /**
477
+ * A target for a punishment — either a player UUID or an IP address (mutually exclusive)
478
+ */
479
+ export interface AdminPunishmentTarget {
302
480
  /**
303
- * Severity level (1-10)
481
+ * Player Minecraft UUID
304
482
  */
305
- 'severity'?: number;
483
+ 'uuid'?: string | null;
306
484
  /**
307
- * New total punishment score after applying
485
+ * IP address — when specified, the punishment is linked to the connection record and all players on that IP are shown as affected
308
486
  */
309
- 'newScore'?: number;
487
+ 'ipAddress'?: string | null;
488
+ }
489
+ /**
490
+ * A single entry in a player\'s username history
491
+ */
492
+ export interface AdminUsernameHistoryEntry {
310
493
  /**
311
- * Whether this punishment is permanent
494
+ * The username at this point in time
312
495
  */
313
- 'isPermanent'?: boolean;
496
+ 'username'?: string;
314
497
  /**
315
- * Timestamp when punishment expires (ISO-8601 format, null if permanent)
498
+ * When this username was first observed (ISO-8601)
316
499
  */
317
- 'expiresAt'?: string;
500
+ 'changedAt'?: string;
318
501
  }
319
502
  /**
320
503
  * Request to create new client credentials
@@ -380,31 +563,6 @@ export interface CreateBypassRequest {
380
563
  */
381
564
  'expiresAtEpoch': number;
382
565
  }
383
- /**
384
- * Request to create a punishment draft for preview before applying
385
- */
386
- export interface CreatePunishmentDraftRequest {
387
- /**
388
- * Player UUID to punish
389
- */
390
- 'playerUuid': string;
391
- /**
392
- * Reason for the punishment
393
- */
394
- 'reason': string;
395
- /**
396
- * Type of punishment
397
- */
398
- 'type': string;
399
- /**
400
- * Severity level of the punishment (1-10)
401
- */
402
- 'severity': number;
403
- /**
404
- * Duration of the punishment in seconds. Null means permanent.
405
- */
406
- 'durationSeconds'?: number | null;
407
- }
408
566
  /**
409
567
  * Player information including join history, tracking data, and punishment scoring
410
568
  */
@@ -426,51 +584,6 @@ export interface PlayerGetPlayerInformation {
426
584
  */
427
585
  'punishmentPointsPercent'?: number;
428
586
  }
429
- /**
430
- * Response containing punishment draft preview with calculated points and thresholds
431
- */
432
- export interface PunishmentDraftResponse {
433
- /**
434
- * Player UUID this punishment would apply to
435
- */
436
- 'playerUuid'?: string;
437
- /**
438
- * Reason for the punishment
439
- */
440
- 'reason'?: string;
441
- /**
442
- * Type of punishment
443
- */
444
- 'type'?: string;
445
- /**
446
- * Severity level (1-10)
447
- */
448
- 'severity'?: number;
449
- /**
450
- * Current total punishment score before applying this punishment
451
- */
452
- 'currentScore'?: number;
453
- /**
454
- * Points this punishment would add
455
- */
456
- 'pointsToAdd'?: number;
457
- /**
458
- * New total score after applying this punishment
459
- */
460
- 'newScore'?: number;
461
- /**
462
- * Whether this punishment will be permanent
463
- */
464
- 'willBePermanent'?: boolean;
465
- /**
466
- * Duration in seconds (null if permanent)
467
- */
468
- 'durationSeconds'?: number;
469
- /**
470
- * Number of previous punishments for this player
471
- */
472
- 'previousPunishmentCount'?: number;
473
- }
474
587
  /**
475
588
  * Punishment information including reason, type, creator, and expiration
476
589
  */
@@ -480,15 +593,19 @@ export interface PunishmentGetPunishmentResponse {
480
593
  */
481
594
  'id'?: number;
482
595
  /**
483
- * Reason for the punishment
596
+ * Reason for the punishment, shown to the punished player
484
597
  */
485
598
  'reason'?: string;
486
599
  /**
487
- * Type of punishment (e.g., BAN, MUTE, KICK, WARNING)
600
+ * Internal administrator notes not shown to the punished player
601
+ */
602
+ 'notes'?: string | null;
603
+ /**
604
+ * Type of punishment (BAN, MUTE, WARNING)
488
605
  */
489
606
  'type'?: string;
490
607
  /**
491
- * Severity level of the punishment (1-10, where 10 is most severe)
608
+ * Severity level (1=Minor, 2=Moderate, 3=Severe, 4=Critical)
492
609
  */
493
610
  'severity'?: number;
494
611
  /**
@@ -1096,6 +1213,22 @@ export declare class AdminPlayersApi extends BaseAPI {
1096
1213
  * AdminPunishmentsApi - axios parameter creator
1097
1214
  */
1098
1215
  export declare const AdminPunishmentsApiAxiosParamCreator: (configuration?: Configuration) => {
1216
+ /**
1217
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1218
+ * @summary Apply punishment
1219
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1220
+ * @param {*} [options] Override http request option.
1221
+ * @throws {RequiredError}
1222
+ */
1223
+ applyPunishment: (adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1224
+ /**
1225
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1226
+ * @summary Evaluate punishment impact
1227
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1228
+ * @param {*} [options] Override http request option.
1229
+ * @throws {RequiredError}
1230
+ */
1231
+ createDraft: (adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1099
1232
  /**
1100
1233
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1101
1234
  * @summary List punishments
@@ -1104,18 +1237,42 @@ export declare const AdminPunishmentsApiAxiosParamCreator: (configuration?: Conf
1104
1237
  * @param {string | null} [uuid] Filter by player UUID
1105
1238
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1106
1239
  * @param {string | null} [ipAddress] Filter by IP address
1107
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1240
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1108
1241
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1109
1242
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1110
1243
  * @param {*} [options] Override http request option.
1111
1244
  * @throws {RequiredError}
1112
1245
  */
1113
1246
  getPunishments: (page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1247
+ /**
1248
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1249
+ * @summary Search punishment targets
1250
+ * @param {string} q UUID, username, or partial/full IP address to search for
1251
+ * @param {*} [options] Override http request option.
1252
+ * @throws {RequiredError}
1253
+ */
1254
+ searchTargets: (q: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1114
1255
  };
1115
1256
  /**
1116
1257
  * AdminPunishmentsApi - functional programming interface
1117
1258
  */
1118
1259
  export declare const AdminPunishmentsApiFp: (configuration?: Configuration) => {
1260
+ /**
1261
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1262
+ * @summary Apply punishment
1263
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1264
+ * @param {*} [options] Override http request option.
1265
+ * @throws {RequiredError}
1266
+ */
1267
+ applyPunishment(adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminApplyPunishmentResponse>>;
1268
+ /**
1269
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1270
+ * @summary Evaluate punishment impact
1271
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1272
+ * @param {*} [options] Override http request option.
1273
+ * @throws {RequiredError}
1274
+ */
1275
+ createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentDraftResponse>>;
1119
1276
  /**
1120
1277
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1121
1278
  * @summary List punishments
@@ -1124,18 +1281,42 @@ export declare const AdminPunishmentsApiFp: (configuration?: Configuration) => {
1124
1281
  * @param {string | null} [uuid] Filter by player UUID
1125
1282
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1126
1283
  * @param {string | null} [ipAddress] Filter by IP address
1127
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1284
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1128
1285
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1129
1286
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1130
1287
  * @param {*} [options] Override http request option.
1131
1288
  * @throws {RequiredError}
1132
1289
  */
1133
1290
  getPunishments(page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPagedPunishmentResponse>>;
1291
+ /**
1292
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1293
+ * @summary Search punishment targets
1294
+ * @param {string} q UUID, username, or partial/full IP address to search for
1295
+ * @param {*} [options] Override http request option.
1296
+ * @throws {RequiredError}
1297
+ */
1298
+ searchTargets(q: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentSearchResponse>>;
1134
1299
  };
1135
1300
  /**
1136
1301
  * AdminPunishmentsApi - factory interface
1137
1302
  */
1138
1303
  export declare const AdminPunishmentsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1304
+ /**
1305
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1306
+ * @summary Apply punishment
1307
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1308
+ * @param {*} [options] Override http request option.
1309
+ * @throws {RequiredError}
1310
+ */
1311
+ applyPunishment(adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminApplyPunishmentResponse>;
1312
+ /**
1313
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1314
+ * @summary Evaluate punishment impact
1315
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1316
+ * @param {*} [options] Override http request option.
1317
+ * @throws {RequiredError}
1318
+ */
1319
+ createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentDraftResponse>;
1139
1320
  /**
1140
1321
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1141
1322
  * @summary List punishments
@@ -1144,18 +1325,42 @@ export declare const AdminPunishmentsApiFactory: (configuration?: Configuration,
1144
1325
  * @param {string | null} [uuid] Filter by player UUID
1145
1326
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1146
1327
  * @param {string | null} [ipAddress] Filter by IP address
1147
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1328
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1148
1329
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1149
1330
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1150
1331
  * @param {*} [options] Override http request option.
1151
1332
  * @throws {RequiredError}
1152
1333
  */
1153
1334
  getPunishments(page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<AdminPagedPunishmentResponse>;
1335
+ /**
1336
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1337
+ * @summary Search punishment targets
1338
+ * @param {string} q UUID, username, or partial/full IP address to search for
1339
+ * @param {*} [options] Override http request option.
1340
+ * @throws {RequiredError}
1341
+ */
1342
+ searchTargets(q: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentSearchResponse>;
1154
1343
  };
1155
1344
  /**
1156
1345
  * AdminPunishmentsApi - object-oriented interface
1157
1346
  */
1158
1347
  export declare class AdminPunishmentsApi extends BaseAPI {
1348
+ /**
1349
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1350
+ * @summary Apply punishment
1351
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1352
+ * @param {*} [options] Override http request option.
1353
+ * @throws {RequiredError}
1354
+ */
1355
+ applyPunishment(adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminApplyPunishmentResponse, any, {}>>;
1356
+ /**
1357
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1358
+ * @summary Evaluate punishment impact
1359
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1360
+ * @param {*} [options] Override http request option.
1361
+ * @throws {RequiredError}
1362
+ */
1363
+ createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentDraftResponse, any, {}>>;
1159
1364
  /**
1160
1365
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1161
1366
  * @summary List punishments
@@ -1164,13 +1369,21 @@ export declare class AdminPunishmentsApi extends BaseAPI {
1164
1369
  * @param {string | null} [uuid] Filter by player UUID
1165
1370
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1166
1371
  * @param {string | null} [ipAddress] Filter by IP address
1167
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1372
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1168
1373
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1169
1374
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1170
1375
  * @param {*} [options] Override http request option.
1171
1376
  * @throws {RequiredError}
1172
1377
  */
1173
1378
  getPunishments(page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPagedPunishmentResponse, any, {}>>;
1379
+ /**
1380
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1381
+ * @summary Search punishment targets
1382
+ * @param {string} q UUID, username, or partial/full IP address to search for
1383
+ * @param {*} [options] Override http request option.
1384
+ * @throws {RequiredError}
1385
+ */
1386
+ searchTargets(q: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentSearchResponse, any, {}>>;
1174
1387
  }
1175
1388
  /**
1176
1389
  * ConnectionApi - axios parameter creator
@@ -1364,22 +1577,6 @@ export declare class PlayerApi extends BaseAPI {
1364
1577
  * PunishmentApi - axios parameter creator
1365
1578
  */
1366
1579
  export declare const PunishmentApiAxiosParamCreator: (configuration?: Configuration) => {
1367
- /**
1368
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1369
- * @summary Apply a punishment
1370
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1371
- * @param {*} [options] Override http request option.
1372
- * @throws {RequiredError}
1373
- */
1374
- applyPunishment: (applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1375
- /**
1376
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1377
- * @summary Create a punishment draft
1378
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1379
- * @param {*} [options] Override http request option.
1380
- * @throws {RequiredError}
1381
- */
1382
- createPunishmentDraft: (createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1383
1580
  /**
1384
1581
  * Retrieve duration information for each punishment type and severity level (1-10)
1385
1582
  * @summary Get punishment severities
@@ -1427,22 +1624,6 @@ export declare const PunishmentApiAxiosParamCreator: (configuration?: Configurat
1427
1624
  * PunishmentApi - functional programming interface
1428
1625
  */
1429
1626
  export declare const PunishmentApiFp: (configuration?: Configuration) => {
1430
- /**
1431
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1432
- * @summary Apply a punishment
1433
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1434
- * @param {*} [options] Override http request option.
1435
- * @throws {RequiredError}
1436
- */
1437
- applyPunishment(applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplyPunishmentResponse>>;
1438
- /**
1439
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1440
- * @summary Create a punishment draft
1441
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1442
- * @param {*} [options] Override http request option.
1443
- * @throws {RequiredError}
1444
- */
1445
- createPunishmentDraft(createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PunishmentDraftResponse>>;
1446
1627
  /**
1447
1628
  * Retrieve duration information for each punishment type and severity level (1-10)
1448
1629
  * @summary Get punishment severities
@@ -1490,22 +1671,6 @@ export declare const PunishmentApiFp: (configuration?: Configuration) => {
1490
1671
  * PunishmentApi - factory interface
1491
1672
  */
1492
1673
  export declare const PunishmentApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1493
- /**
1494
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1495
- * @summary Apply a punishment
1496
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1497
- * @param {*} [options] Override http request option.
1498
- * @throws {RequiredError}
1499
- */
1500
- applyPunishment(applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig): AxiosPromise<ApplyPunishmentResponse>;
1501
- /**
1502
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1503
- * @summary Create a punishment draft
1504
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1505
- * @param {*} [options] Override http request option.
1506
- * @throws {RequiredError}
1507
- */
1508
- createPunishmentDraft(createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): AxiosPromise<PunishmentDraftResponse>;
1509
1674
  /**
1510
1675
  * Retrieve duration information for each punishment type and severity level (1-10)
1511
1676
  * @summary Get punishment severities
@@ -1553,22 +1718,6 @@ export declare const PunishmentApiFactory: (configuration?: Configuration, baseP
1553
1718
  * PunishmentApi - object-oriented interface
1554
1719
  */
1555
1720
  export declare class PunishmentApi extends BaseAPI {
1556
- /**
1557
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1558
- * @summary Apply a punishment
1559
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1560
- * @param {*} [options] Override http request option.
1561
- * @throws {RequiredError}
1562
- */
1563
- applyPunishment(applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplyPunishmentResponse, any, {}>>;
1564
- /**
1565
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1566
- * @summary Create a punishment draft
1567
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1568
- * @param {*} [options] Override http request option.
1569
- * @throws {RequiredError}
1570
- */
1571
- createPunishmentDraft(createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PunishmentDraftResponse, any, {}>>;
1572
1721
  /**
1573
1722
  * Retrieve duration information for each punishment type and severity level (1-10)
1574
1723
  * @summary Get punishment severities