@rebornteam/reborn-api 4.0.0 → 4.6.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 +6 -0
- package/README.md +13 -2
- package/api.ts +511 -8
- package/base.ts +1 -1
- package/common.ts +1 -1
- package/configuration.ts +1 -1
- package/dist/api.d.ts +311 -9
- package/dist/api.js +344 -5
- 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 +311 -9
- package/dist/esm/api.js +344 -5
- 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/AdminAltGraph.md +27 -0
- package/docs/AdminAltGraphEdge.md +25 -0
- package/docs/AdminAltGraphNode.md +29 -0
- package/docs/AdminAsyncJob.md +2 -0
- package/docs/AdminAsyncJobArtifactMeta.md +23 -0
- package/docs/AdminJobsApi.md +55 -0
- package/docs/AdminPlayersApi.md +104 -0
- package/docs/AdminPunishmentTargets.md +23 -0
- package/docs/AdminPunishmentsApi.md +101 -0
- package/docs/AdminUpdatePunishmentRequest.md +9 -1
- package/docs/PlayerSessionEndResponse.md +35 -0
- package/docs/PlayerSessionsApi.md +5 -5
- package/index.ts +1 -1
- package/package.json +1 -1
package/api.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Reborn API
|
|
5
5
|
* 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
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document: 4.
|
|
7
|
+
* The version of the OpenAPI document: 4.6.0
|
|
8
8
|
*
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -73,6 +73,69 @@ export interface AdminAltExemption {
|
|
|
73
73
|
*/
|
|
74
74
|
'reason'?: string | null;
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Alt-graph rooted at a player, walked out to the requested hop depth.
|
|
78
|
+
*/
|
|
79
|
+
export interface AdminAltGraph {
|
|
80
|
+
/**
|
|
81
|
+
* UUID of the focal player. Always appears in nodes at depth=0.
|
|
82
|
+
*/
|
|
83
|
+
'rootUuid': string;
|
|
84
|
+
/**
|
|
85
|
+
* Maximum hop depth walked. Capped server-side at MAX_PROPAGATION_DEPTH.
|
|
86
|
+
*/
|
|
87
|
+
'depth': number;
|
|
88
|
+
/**
|
|
89
|
+
* Every player reachable from the root within {@code depth} hops, including the root at depth=0.
|
|
90
|
+
*/
|
|
91
|
+
'nodes': Array<AdminAltGraphNode>;
|
|
92
|
+
/**
|
|
93
|
+
* Undirected edges between any two players in nodes that share at least one non-promiscuous connection.
|
|
94
|
+
*/
|
|
95
|
+
'edges': Array<AdminAltGraphEdge>;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Undirected edge in an alt-graph traversal.
|
|
99
|
+
*/
|
|
100
|
+
export interface AdminAltGraphEdge {
|
|
101
|
+
/**
|
|
102
|
+
* One endpoint of the edge
|
|
103
|
+
*/
|
|
104
|
+
'fromUuid': string;
|
|
105
|
+
/**
|
|
106
|
+
* Other endpoint of the edge. The pair is emitted only once — the SQL ensures fromUuid < toUuid lexicographically.
|
|
107
|
+
*/
|
|
108
|
+
'toUuid': string;
|
|
109
|
+
/**
|
|
110
|
+
* Number of distinct non-promiscuous connections these two players share. Drives edge thickness.
|
|
111
|
+
*/
|
|
112
|
+
'sharedConnectionCount': number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* One player node in an alt-graph traversal.
|
|
116
|
+
*/
|
|
117
|
+
export interface AdminAltGraphNode {
|
|
118
|
+
/**
|
|
119
|
+
* Player Minecraft UUID
|
|
120
|
+
*/
|
|
121
|
+
'uuid': string;
|
|
122
|
+
/**
|
|
123
|
+
* Most recently seen username, null if never resolved
|
|
124
|
+
*/
|
|
125
|
+
'username'?: string | null;
|
|
126
|
+
/**
|
|
127
|
+
* Hop count from the focal player (0 = the focal player herself).
|
|
128
|
+
*/
|
|
129
|
+
'depth': number;
|
|
130
|
+
/**
|
|
131
|
+
* Trust factor (0-100). Drives the node colour in the graph.
|
|
132
|
+
*/
|
|
133
|
+
'trustFactor': number;
|
|
134
|
+
/**
|
|
135
|
+
* Whether this player currently has at least one active (non-revoked, non-expired) player_punishment row. Drives a red outline ring on the node.
|
|
136
|
+
*/
|
|
137
|
+
'hasActivePunishment': boolean;
|
|
138
|
+
}
|
|
76
139
|
/**
|
|
77
140
|
* Request to apply a punishment to one or more targets
|
|
78
141
|
*/
|
|
@@ -212,9 +275,26 @@ export interface AdminAsyncJob {
|
|
|
212
275
|
* 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.
|
|
213
276
|
*/
|
|
214
277
|
'hostInstance': string;
|
|
278
|
+
/**
|
|
279
|
+
* Pointer to a CSV artifact emitted by this job, when one exists. Present only after the job marks COMPLETED and the artifact has been persisted. Download the CSV bytes via GET /admin/job/{id}/artifact.csv.
|
|
280
|
+
*/
|
|
281
|
+
'artifact'?: AdminAsyncJobArtifactMeta | null;
|
|
215
282
|
}
|
|
216
283
|
|
|
217
284
|
|
|
285
|
+
/**
|
|
286
|
+
* Pointer to a job\'s CSV artifact. Present only when the job emitted one.
|
|
287
|
+
*/
|
|
288
|
+
export interface AdminAsyncJobArtifactMeta {
|
|
289
|
+
/**
|
|
290
|
+
* Number of data rows in the artifact (excluding the header).
|
|
291
|
+
*/
|
|
292
|
+
'rowCount': number;
|
|
293
|
+
/**
|
|
294
|
+
* When the artifact was finalized (typically a few seconds after the job marked COMPLETED).
|
|
295
|
+
*/
|
|
296
|
+
'createdAt': string;
|
|
297
|
+
}
|
|
218
298
|
/**
|
|
219
299
|
* 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.
|
|
220
300
|
*/
|
|
@@ -850,6 +930,19 @@ export interface AdminPunishmentTarget {
|
|
|
850
930
|
*/
|
|
851
931
|
'ipAddress'?: string | null;
|
|
852
932
|
}
|
|
933
|
+
/**
|
|
934
|
+
* Active DIRECT participants currently attached to a punishment.
|
|
935
|
+
*/
|
|
936
|
+
export interface AdminPunishmentTargets {
|
|
937
|
+
/**
|
|
938
|
+
* UUIDs of players with an active DIRECT player_punishment link to this punishment.
|
|
939
|
+
*/
|
|
940
|
+
'playerUuids': Array<string>;
|
|
941
|
+
/**
|
|
942
|
+
* IPs of connections with a live connection_punishment row for this punishment.
|
|
943
|
+
*/
|
|
944
|
+
'ipAddresses': Array<string>;
|
|
945
|
+
}
|
|
853
946
|
/**
|
|
854
947
|
* One reported player attached to a report.
|
|
855
948
|
*/
|
|
@@ -997,7 +1090,7 @@ export interface AdminTrustFactorImpact {
|
|
|
997
1090
|
'projectedTrustFactor': number;
|
|
998
1091
|
}
|
|
999
1092
|
/**
|
|
1000
|
-
* Partial update for a punishment.
|
|
1093
|
+
* Partial update for a punishment. All fields are optional; omitted fields stay untouched.
|
|
1001
1094
|
*/
|
|
1002
1095
|
export interface AdminUpdatePunishmentRequest {
|
|
1003
1096
|
/**
|
|
@@ -1016,7 +1109,25 @@ export interface AdminUpdatePunishmentRequest {
|
|
|
1016
1109
|
* When true, clears expiresAt (makes the punishment permanent). Takes precedence over expiresAt.
|
|
1017
1110
|
*/
|
|
1018
1111
|
'forcePermanent'?: boolean | null;
|
|
1112
|
+
/**
|
|
1113
|
+
* Replace the punishment type (BAN/MUTE/KICK/WARNING). Affects trust factor retroactively.
|
|
1114
|
+
*/
|
|
1115
|
+
'type'?: PunishmentType | null;
|
|
1116
|
+
/**
|
|
1117
|
+
* Replace the severity (1–4). Affects trust factor retroactively.
|
|
1118
|
+
*/
|
|
1119
|
+
'severity'?: number | null;
|
|
1120
|
+
/**
|
|
1121
|
+
* Targets to ADD. Each entry has either a player UUID or an IP. UUID → new DIRECT player_punishment row. IP → new connection_punishment row.
|
|
1122
|
+
*/
|
|
1123
|
+
'addTargets'?: Array<AdminPunishmentTarget> | null;
|
|
1124
|
+
/**
|
|
1125
|
+
* Targets to REMOVE. UUID → soft-revoke the DIRECT player_punishment link. IP → delete the connection_punishment row outright. PROPAGATED links are not affected by this endpoint.
|
|
1126
|
+
*/
|
|
1127
|
+
'removeTargets'?: Array<AdminPunishmentTarget> | null;
|
|
1019
1128
|
}
|
|
1129
|
+
|
|
1130
|
+
|
|
1020
1131
|
/**
|
|
1021
1132
|
* A single entry in a player\'s username history
|
|
1022
1133
|
*/
|
|
@@ -1426,6 +1537,43 @@ export interface PlayerSessionEndRequest {
|
|
|
1426
1537
|
*/
|
|
1427
1538
|
'serverSessionId': string;
|
|
1428
1539
|
}
|
|
1540
|
+
/**
|
|
1541
|
+
* Result of POST /v1/player-session/end. Confirms whether a session was closed and returns that session\'s lifetime plus the player\'s refreshed aggregate stats.
|
|
1542
|
+
*/
|
|
1543
|
+
export interface PlayerSessionEndResponse {
|
|
1544
|
+
/**
|
|
1545
|
+
* Player Minecraft UUID, echoed from the request
|
|
1546
|
+
*/
|
|
1547
|
+
'playerUuid': string;
|
|
1548
|
+
/**
|
|
1549
|
+
* Server session id the player was on, echoed from the request
|
|
1550
|
+
*/
|
|
1551
|
+
'serverSessionId': string;
|
|
1552
|
+
/**
|
|
1553
|
+
* True when an active session was found and closed by this call; false on a no-op (no active session existed, e.g. a duplicate/retried end event).
|
|
1554
|
+
*/
|
|
1555
|
+
'sessionClosed': boolean;
|
|
1556
|
+
/**
|
|
1557
|
+
* Id of the session that was closed. Null on a no-op.
|
|
1558
|
+
*/
|
|
1559
|
+
'sessionId'?: string | null;
|
|
1560
|
+
/**
|
|
1561
|
+
* When the closed session was opened (ISO-8601). Null on a no-op.
|
|
1562
|
+
*/
|
|
1563
|
+
'startedAt'?: string | null;
|
|
1564
|
+
/**
|
|
1565
|
+
* When the session was closed (ISO-8601), i.e. now. Null on a no-op.
|
|
1566
|
+
*/
|
|
1567
|
+
'endedAt'?: string | null;
|
|
1568
|
+
/**
|
|
1569
|
+
* Length of the closed session in seconds (endedAt - startedAt). Null on a no-op.
|
|
1570
|
+
*/
|
|
1571
|
+
'durationSeconds'?: number | null;
|
|
1572
|
+
/**
|
|
1573
|
+
* Player\'s aggregate session stats, recomputed after this session was closed (so the just-ended session is included in the totals).
|
|
1574
|
+
*/
|
|
1575
|
+
'sessionStats': AdminPlayerSessionStats;
|
|
1576
|
+
}
|
|
1429
1577
|
/**
|
|
1430
1578
|
* Unified player-join request. Runs the full authorization check (VPN, bypass, punishments) and conditionally opens a player_session for the allowed players.
|
|
1431
1579
|
*/
|
|
@@ -3398,6 +3546,44 @@ export const AdminJobsApiAxiosParamCreator = function (configuration?: Configura
|
|
|
3398
3546
|
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
3399
3547
|
|
|
3400
3548
|
|
|
3549
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
3550
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
3551
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
3552
|
+
|
|
3553
|
+
return {
|
|
3554
|
+
url: toPathString(localVarUrlObj),
|
|
3555
|
+
options: localVarRequestOptions,
|
|
3556
|
+
};
|
|
3557
|
+
},
|
|
3558
|
+
/**
|
|
3559
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
3560
|
+
* @summary Download a job\'s CSV artifact
|
|
3561
|
+
* @param {string} id Job id
|
|
3562
|
+
* @param {*} [options] Override http request option.
|
|
3563
|
+
* @throws {RequiredError}
|
|
3564
|
+
*/
|
|
3565
|
+
downloadArtifact: async (id: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
3566
|
+
// verify required parameter 'id' is not null or undefined
|
|
3567
|
+
assertParamExists('downloadArtifact', 'id', id)
|
|
3568
|
+
const localVarPath = `/admin/job/{id}/artifact.csv`
|
|
3569
|
+
.replace(`{${"id"}}`, encodeURIComponent(String(id)));
|
|
3570
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
3571
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
3572
|
+
let baseOptions;
|
|
3573
|
+
if (configuration) {
|
|
3574
|
+
baseOptions = configuration.baseOptions;
|
|
3575
|
+
}
|
|
3576
|
+
|
|
3577
|
+
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
3578
|
+
const localVarHeaderParameter = {} as any;
|
|
3579
|
+
const localVarQueryParameter = {} as any;
|
|
3580
|
+
|
|
3581
|
+
// authentication DiscordAuth required
|
|
3582
|
+
// http bearer authentication required
|
|
3583
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
3584
|
+
|
|
3585
|
+
localVarHeaderParameter['Accept'] = 'text/csv';
|
|
3586
|
+
|
|
3401
3587
|
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
3402
3588
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
3403
3589
|
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
@@ -3513,6 +3699,19 @@ export const AdminJobsApiFp = function(configuration?: Configuration) {
|
|
|
3513
3699
|
const localVarOperationServerBasePath = operationServerMap['AdminJobsApi.cancel']?.[localVarOperationServerIndex]?.url;
|
|
3514
3700
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
3515
3701
|
},
|
|
3702
|
+
/**
|
|
3703
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
3704
|
+
* @summary Download a job\'s CSV artifact
|
|
3705
|
+
* @param {string} id Job id
|
|
3706
|
+
* @param {*} [options] Override http request option.
|
|
3707
|
+
* @throws {RequiredError}
|
|
3708
|
+
*/
|
|
3709
|
+
async downloadArtifact(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
|
|
3710
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.downloadArtifact(id, options);
|
|
3711
|
+
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
3712
|
+
const localVarOperationServerBasePath = operationServerMap['AdminJobsApi.downloadArtifact']?.[localVarOperationServerIndex]?.url;
|
|
3713
|
+
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
3714
|
+
},
|
|
3516
3715
|
/**
|
|
3517
3716
|
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
3518
3717
|
* @summary Get one async job
|
|
@@ -3559,6 +3758,16 @@ export const AdminJobsApiFactory = function (configuration?: Configuration, base
|
|
|
3559
3758
|
cancel(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void> {
|
|
3560
3759
|
return localVarFp.cancel(id, options).then((request) => request(axios, basePath));
|
|
3561
3760
|
},
|
|
3761
|
+
/**
|
|
3762
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
3763
|
+
* @summary Download a job\'s CSV artifact
|
|
3764
|
+
* @param {string} id Job id
|
|
3765
|
+
* @param {*} [options] Override http request option.
|
|
3766
|
+
* @throws {RequiredError}
|
|
3767
|
+
*/
|
|
3768
|
+
downloadArtifact(id: string, options?: RawAxiosRequestConfig): AxiosPromise<string> {
|
|
3769
|
+
return localVarFp.downloadArtifact(id, options).then((request) => request(axios, basePath));
|
|
3770
|
+
},
|
|
3562
3771
|
/**
|
|
3563
3772
|
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
3564
3773
|
* @summary Get one async job
|
|
@@ -3598,6 +3807,17 @@ export class AdminJobsApi extends BaseAPI {
|
|
|
3598
3807
|
return AdminJobsApiFp(this.configuration).cancel(id, options).then((request) => request(this.axios, this.basePath));
|
|
3599
3808
|
}
|
|
3600
3809
|
|
|
3810
|
+
/**
|
|
3811
|
+
* Returns the CSV emitted by the job — typically one row per record the job touched. The first line is a header; subsequent lines are RFC-4180 escaped data rows. 404 when the job has no artifact (either it didn\'t emit one, or it hasn\'t finished yet).
|
|
3812
|
+
* @summary Download a job\'s CSV artifact
|
|
3813
|
+
* @param {string} id Job id
|
|
3814
|
+
* @param {*} [options] Override http request option.
|
|
3815
|
+
* @throws {RequiredError}
|
|
3816
|
+
*/
|
|
3817
|
+
public downloadArtifact(id: string, options?: RawAxiosRequestConfig) {
|
|
3818
|
+
return AdminJobsApiFp(this.configuration).downloadArtifact(id, options).then((request) => request(this.axios, this.basePath));
|
|
3819
|
+
}
|
|
3820
|
+
|
|
3601
3821
|
/**
|
|
3602
3822
|
* The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
3603
3823
|
* @summary Get one async job
|
|
@@ -3671,6 +3891,40 @@ export const AdminPlayersApiAxiosParamCreator = function (configuration?: Config
|
|
|
3671
3891
|
options: localVarRequestOptions,
|
|
3672
3892
|
};
|
|
3673
3893
|
},
|
|
3894
|
+
/**
|
|
3895
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
3896
|
+
* @summary Start a username backfill job
|
|
3897
|
+
* @param {*} [options] Override http request option.
|
|
3898
|
+
* @throws {RequiredError}
|
|
3899
|
+
*/
|
|
3900
|
+
backfillUsernames: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
3901
|
+
const localVarPath = `/admin/player/backfill-usernames`;
|
|
3902
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
3903
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
3904
|
+
let baseOptions;
|
|
3905
|
+
if (configuration) {
|
|
3906
|
+
baseOptions = configuration.baseOptions;
|
|
3907
|
+
}
|
|
3908
|
+
|
|
3909
|
+
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
3910
|
+
const localVarHeaderParameter = {} as any;
|
|
3911
|
+
const localVarQueryParameter = {} as any;
|
|
3912
|
+
|
|
3913
|
+
// authentication DiscordAuth required
|
|
3914
|
+
// http bearer authentication required
|
|
3915
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
3916
|
+
|
|
3917
|
+
localVarHeaderParameter['Accept'] = 'application/json';
|
|
3918
|
+
|
|
3919
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
3920
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
3921
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
3922
|
+
|
|
3923
|
+
return {
|
|
3924
|
+
url: toPathString(localVarUrlObj),
|
|
3925
|
+
options: localVarRequestOptions,
|
|
3926
|
+
};
|
|
3927
|
+
},
|
|
3674
3928
|
/**
|
|
3675
3929
|
* 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.
|
|
3676
3930
|
* @summary Bulk-revoke PROPAGATED links by source
|
|
@@ -3785,6 +4039,49 @@ export const AdminPlayersApiAxiosParamCreator = function (configuration?: Config
|
|
|
3785
4039
|
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
3786
4040
|
|
|
3787
4041
|
|
|
4042
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
4043
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
4044
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
4045
|
+
|
|
4046
|
+
return {
|
|
4047
|
+
url: toPathString(localVarUrlObj),
|
|
4048
|
+
options: localVarRequestOptions,
|
|
4049
|
+
};
|
|
4050
|
+
},
|
|
4051
|
+
/**
|
|
4052
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
4053
|
+
* @summary Alt-graph traversal rooted at a player
|
|
4054
|
+
* @param {string} uuid Player Minecraft UUID
|
|
4055
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
4056
|
+
* @param {*} [options] Override http request option.
|
|
4057
|
+
* @throws {RequiredError}
|
|
4058
|
+
*/
|
|
4059
|
+
getAltGraph: async (uuid: string, depth?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
4060
|
+
// verify required parameter 'uuid' is not null or undefined
|
|
4061
|
+
assertParamExists('getAltGraph', 'uuid', uuid)
|
|
4062
|
+
const localVarPath = `/admin/player/{uuid}/alt-graph`
|
|
4063
|
+
.replace(`{${"uuid"}}`, encodeURIComponent(String(uuid)));
|
|
4064
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
4065
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
4066
|
+
let baseOptions;
|
|
4067
|
+
if (configuration) {
|
|
4068
|
+
baseOptions = configuration.baseOptions;
|
|
4069
|
+
}
|
|
4070
|
+
|
|
4071
|
+
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
4072
|
+
const localVarHeaderParameter = {} as any;
|
|
4073
|
+
const localVarQueryParameter = {} as any;
|
|
4074
|
+
|
|
4075
|
+
// authentication DiscordAuth required
|
|
4076
|
+
// http bearer authentication required
|
|
4077
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
4078
|
+
|
|
4079
|
+
if (depth !== undefined) {
|
|
4080
|
+
localVarQueryParameter['depth'] = depth;
|
|
4081
|
+
}
|
|
4082
|
+
|
|
4083
|
+
localVarHeaderParameter['Accept'] = 'application/json';
|
|
4084
|
+
|
|
3788
4085
|
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
3789
4086
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
3790
4087
|
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
@@ -4415,6 +4712,18 @@ export const AdminPlayersApiFp = function(configuration?: Configuration) {
|
|
|
4415
4712
|
const localVarOperationServerBasePath = operationServerMap['AdminPlayersApi.addAltExemption']?.[localVarOperationServerIndex]?.url;
|
|
4416
4713
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
4417
4714
|
},
|
|
4715
|
+
/**
|
|
4716
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
4717
|
+
* @summary Start a username backfill job
|
|
4718
|
+
* @param {*} [options] Override http request option.
|
|
4719
|
+
* @throws {RequiredError}
|
|
4720
|
+
*/
|
|
4721
|
+
async backfillUsernames(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJobStartResponse>> {
|
|
4722
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.backfillUsernames(options);
|
|
4723
|
+
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
4724
|
+
const localVarOperationServerBasePath = operationServerMap['AdminPlayersApi.backfillUsernames']?.[localVarOperationServerIndex]?.url;
|
|
4725
|
+
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
4726
|
+
},
|
|
4418
4727
|
/**
|
|
4419
4728
|
* 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.
|
|
4420
4729
|
* @summary Bulk-revoke PROPAGATED links by source
|
|
@@ -4456,6 +4765,20 @@ export const AdminPlayersApiFp = function(configuration?: Configuration) {
|
|
|
4456
4765
|
const localVarOperationServerBasePath = operationServerMap['AdminPlayersApi.deletePlayerNote']?.[localVarOperationServerIndex]?.url;
|
|
4457
4766
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
4458
4767
|
},
|
|
4768
|
+
/**
|
|
4769
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
4770
|
+
* @summary Alt-graph traversal rooted at a player
|
|
4771
|
+
* @param {string} uuid Player Minecraft UUID
|
|
4772
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
4773
|
+
* @param {*} [options] Override http request option.
|
|
4774
|
+
* @throws {RequiredError}
|
|
4775
|
+
*/
|
|
4776
|
+
async getAltGraph(uuid: string, depth?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAltGraph>> {
|
|
4777
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.getAltGraph(uuid, depth, options);
|
|
4778
|
+
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
4779
|
+
const localVarOperationServerBasePath = operationServerMap['AdminPlayersApi.getAltGraph']?.[localVarOperationServerIndex]?.url;
|
|
4780
|
+
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
4781
|
+
},
|
|
4459
4782
|
/**
|
|
4460
4783
|
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
4461
4784
|
* @summary Get player detail
|
|
@@ -4669,6 +4992,15 @@ export const AdminPlayersApiFactory = function (configuration?: Configuration, b
|
|
|
4669
4992
|
addAltExemption(uuid: string, adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
|
|
4670
4993
|
return localVarFp.addAltExemption(uuid, adminCreateAltExemptionRequest, options).then((request) => request(axios, basePath));
|
|
4671
4994
|
},
|
|
4995
|
+
/**
|
|
4996
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
4997
|
+
* @summary Start a username backfill job
|
|
4998
|
+
* @param {*} [options] Override http request option.
|
|
4999
|
+
* @throws {RequiredError}
|
|
5000
|
+
*/
|
|
5001
|
+
backfillUsernames(options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJobStartResponse> {
|
|
5002
|
+
return localVarFp.backfillUsernames(options).then((request) => request(axios, basePath));
|
|
5003
|
+
},
|
|
4672
5004
|
/**
|
|
4673
5005
|
* 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.
|
|
4674
5006
|
* @summary Bulk-revoke PROPAGATED links by source
|
|
@@ -4701,6 +5033,17 @@ export const AdminPlayersApiFactory = function (configuration?: Configuration, b
|
|
|
4701
5033
|
deletePlayerNote(uuid: string, noteId: number, options?: RawAxiosRequestConfig): AxiosPromise<void> {
|
|
4702
5034
|
return localVarFp.deletePlayerNote(uuid, noteId, options).then((request) => request(axios, basePath));
|
|
4703
5035
|
},
|
|
5036
|
+
/**
|
|
5037
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
5038
|
+
* @summary Alt-graph traversal rooted at a player
|
|
5039
|
+
* @param {string} uuid Player Minecraft UUID
|
|
5040
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
5041
|
+
* @param {*} [options] Override http request option.
|
|
5042
|
+
* @throws {RequiredError}
|
|
5043
|
+
*/
|
|
5044
|
+
getAltGraph(uuid: string, depth?: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminAltGraph> {
|
|
5045
|
+
return localVarFp.getAltGraph(uuid, depth, options).then((request) => request(axios, basePath));
|
|
5046
|
+
},
|
|
4704
5047
|
/**
|
|
4705
5048
|
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
4706
5049
|
* @summary Get player detail
|
|
@@ -4871,6 +5214,16 @@ export class AdminPlayersApi extends BaseAPI {
|
|
|
4871
5214
|
return AdminPlayersApiFp(this.configuration).addAltExemption(uuid, adminCreateAltExemptionRequest, options).then((request) => request(this.axios, this.basePath));
|
|
4872
5215
|
}
|
|
4873
5216
|
|
|
5217
|
+
/**
|
|
5218
|
+
* Submits an async job that walks every player row whose username is NULL and calls the Mojang profile API to resolve it. The job upserts both the player.username column and a player_username_history row. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final Admin_BackfillUsernamesResponse (processed/succeeded/failed counts) lands in the job\'s result_payload on COMPLETED. Mojang rate-limits at ~1 req/sec; a backfill of many rows can run for a while — cancel is honoured between rows.
|
|
5219
|
+
* @summary Start a username backfill job
|
|
5220
|
+
* @param {*} [options] Override http request option.
|
|
5221
|
+
* @throws {RequiredError}
|
|
5222
|
+
*/
|
|
5223
|
+
public backfillUsernames(options?: RawAxiosRequestConfig) {
|
|
5224
|
+
return AdminPlayersApiFp(this.configuration).backfillUsernames(options).then((request) => request(this.axios, this.basePath));
|
|
5225
|
+
}
|
|
5226
|
+
|
|
4874
5227
|
/**
|
|
4875
5228
|
* 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.
|
|
4876
5229
|
* @summary Bulk-revoke PROPAGATED links by source
|
|
@@ -4906,6 +5259,18 @@ export class AdminPlayersApi extends BaseAPI {
|
|
|
4906
5259
|
return AdminPlayersApiFp(this.configuration).deletePlayerNote(uuid, noteId, options).then((request) => request(this.axios, this.basePath));
|
|
4907
5260
|
}
|
|
4908
5261
|
|
|
5262
|
+
/**
|
|
5263
|
+
* Returns the connection-shared player graph reachable from this player within {depth} hops. Mirrors the propagation walk used by ALT_PROPAGATION_SWEEP — promiscuous (likely shared-NAT) connections are pruned, alt-exemption rows cut the graph at exempted players. Depth is clamped server-side at 5. Used by the admin Graph tab to render an interactive explorer.
|
|
5264
|
+
* @summary Alt-graph traversal rooted at a player
|
|
5265
|
+
* @param {string} uuid Player Minecraft UUID
|
|
5266
|
+
* @param {number} [depth] Hop depth to walk. 1=direct alts only; 5=full sticky-trap radius. Default 2.
|
|
5267
|
+
* @param {*} [options] Override http request option.
|
|
5268
|
+
* @throws {RequiredError}
|
|
5269
|
+
*/
|
|
5270
|
+
public getAltGraph(uuid: string, depth?: number, options?: RawAxiosRequestConfig) {
|
|
5271
|
+
return AdminPlayersApiFp(this.configuration).getAltGraph(uuid, depth, options).then((request) => request(this.axios, this.basePath));
|
|
5272
|
+
}
|
|
5273
|
+
|
|
4909
5274
|
/**
|
|
4910
5275
|
* Returns full detail for a single player including all known usernames and punishment scoring.
|
|
4911
5276
|
* @summary Get player detail
|
|
@@ -5199,6 +5564,44 @@ export const AdminPunishmentsApiAxiosParamCreator = function (configuration?: Co
|
|
|
5199
5564
|
options: localVarRequestOptions,
|
|
5200
5565
|
};
|
|
5201
5566
|
},
|
|
5567
|
+
/**
|
|
5568
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
5569
|
+
* @summary List a punishment\'s current participants
|
|
5570
|
+
* @param {number} id Punishment id
|
|
5571
|
+
* @param {*} [options] Override http request option.
|
|
5572
|
+
* @throws {RequiredError}
|
|
5573
|
+
*/
|
|
5574
|
+
getPunishmentTargets: async (id: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
5575
|
+
// verify required parameter 'id' is not null or undefined
|
|
5576
|
+
assertParamExists('getPunishmentTargets', 'id', id)
|
|
5577
|
+
const localVarPath = `/admin/punishment/{id}/targets`
|
|
5578
|
+
.replace(`{${"id"}}`, encodeURIComponent(String(id)));
|
|
5579
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
5580
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
5581
|
+
let baseOptions;
|
|
5582
|
+
if (configuration) {
|
|
5583
|
+
baseOptions = configuration.baseOptions;
|
|
5584
|
+
}
|
|
5585
|
+
|
|
5586
|
+
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
5587
|
+
const localVarHeaderParameter = {} as any;
|
|
5588
|
+
const localVarQueryParameter = {} as any;
|
|
5589
|
+
|
|
5590
|
+
// authentication DiscordAuth required
|
|
5591
|
+
// http bearer authentication required
|
|
5592
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
5593
|
+
|
|
5594
|
+
localVarHeaderParameter['Accept'] = 'application/json';
|
|
5595
|
+
|
|
5596
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
5597
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
5598
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
5599
|
+
|
|
5600
|
+
return {
|
|
5601
|
+
url: toPathString(localVarUrlObj),
|
|
5602
|
+
options: localVarRequestOptions,
|
|
5603
|
+
};
|
|
5604
|
+
},
|
|
5202
5605
|
/**
|
|
5203
5606
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
5204
5607
|
* @summary List punishments
|
|
@@ -5270,6 +5673,40 @@ export const AdminPunishmentsApiAxiosParamCreator = function (configuration?: Co
|
|
|
5270
5673
|
options: localVarRequestOptions,
|
|
5271
5674
|
};
|
|
5272
5675
|
},
|
|
5676
|
+
/**
|
|
5677
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
5678
|
+
* @summary Start an alt-propagation sweep job
|
|
5679
|
+
* @param {*} [options] Override http request option.
|
|
5680
|
+
* @throws {RequiredError}
|
|
5681
|
+
*/
|
|
5682
|
+
propagationSweep: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
5683
|
+
const localVarPath = `/admin/punishment/propagation-sweep`;
|
|
5684
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
5685
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
5686
|
+
let baseOptions;
|
|
5687
|
+
if (configuration) {
|
|
5688
|
+
baseOptions = configuration.baseOptions;
|
|
5689
|
+
}
|
|
5690
|
+
|
|
5691
|
+
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
5692
|
+
const localVarHeaderParameter = {} as any;
|
|
5693
|
+
const localVarQueryParameter = {} as any;
|
|
5694
|
+
|
|
5695
|
+
// authentication DiscordAuth required
|
|
5696
|
+
// http bearer authentication required
|
|
5697
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
5698
|
+
|
|
5699
|
+
localVarHeaderParameter['Accept'] = 'application/json';
|
|
5700
|
+
|
|
5701
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
5702
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
5703
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
5704
|
+
|
|
5705
|
+
return {
|
|
5706
|
+
url: toPathString(localVarUrlObj),
|
|
5707
|
+
options: localVarRequestOptions,
|
|
5708
|
+
};
|
|
5709
|
+
},
|
|
5273
5710
|
/**
|
|
5274
5711
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
5275
5712
|
* @summary Search punishment targets
|
|
@@ -5360,6 +5797,19 @@ export const AdminPunishmentsApiFp = function(configuration?: Configuration) {
|
|
|
5360
5797
|
const localVarOperationServerBasePath = operationServerMap['AdminPunishmentsApi.editPunishment']?.[localVarOperationServerIndex]?.url;
|
|
5361
5798
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
5362
5799
|
},
|
|
5800
|
+
/**
|
|
5801
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
5802
|
+
* @summary List a punishment\'s current participants
|
|
5803
|
+
* @param {number} id Punishment id
|
|
5804
|
+
* @param {*} [options] Override http request option.
|
|
5805
|
+
* @throws {RequiredError}
|
|
5806
|
+
*/
|
|
5807
|
+
async getPunishmentTargets(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentTargets>> {
|
|
5808
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.getPunishmentTargets(id, options);
|
|
5809
|
+
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
5810
|
+
const localVarOperationServerBasePath = operationServerMap['AdminPunishmentsApi.getPunishmentTargets']?.[localVarOperationServerIndex]?.url;
|
|
5811
|
+
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
5812
|
+
},
|
|
5363
5813
|
/**
|
|
5364
5814
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
5365
5815
|
* @summary List punishments
|
|
@@ -5379,6 +5829,18 @@ export const AdminPunishmentsApiFp = function(configuration?: Configuration) {
|
|
|
5379
5829
|
const localVarOperationServerBasePath = operationServerMap['AdminPunishmentsApi.getPunishments']?.[localVarOperationServerIndex]?.url;
|
|
5380
5830
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
5381
5831
|
},
|
|
5832
|
+
/**
|
|
5833
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
5834
|
+
* @summary Start an alt-propagation sweep job
|
|
5835
|
+
* @param {*} [options] Override http request option.
|
|
5836
|
+
* @throws {RequiredError}
|
|
5837
|
+
*/
|
|
5838
|
+
async propagationSweep(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminAsyncJobStartResponse>> {
|
|
5839
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.propagationSweep(options);
|
|
5840
|
+
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
5841
|
+
const localVarOperationServerBasePath = operationServerMap['AdminPunishmentsApi.propagationSweep']?.[localVarOperationServerIndex]?.url;
|
|
5842
|
+
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
5843
|
+
},
|
|
5382
5844
|
/**
|
|
5383
5845
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
5384
5846
|
* @summary Search punishment targets
|
|
@@ -5432,6 +5894,16 @@ export const AdminPunishmentsApiFactory = function (configuration?: Configuratio
|
|
|
5432
5894
|
editPunishment(id: number, adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
|
|
5433
5895
|
return localVarFp.editPunishment(id, adminUpdatePunishmentRequest, options).then((request) => request(axios, basePath));
|
|
5434
5896
|
},
|
|
5897
|
+
/**
|
|
5898
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
5899
|
+
* @summary List a punishment\'s current participants
|
|
5900
|
+
* @param {number} id Punishment id
|
|
5901
|
+
* @param {*} [options] Override http request option.
|
|
5902
|
+
* @throws {RequiredError}
|
|
5903
|
+
*/
|
|
5904
|
+
getPunishmentTargets(id: number, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentTargets> {
|
|
5905
|
+
return localVarFp.getPunishmentTargets(id, options).then((request) => request(axios, basePath));
|
|
5906
|
+
},
|
|
5435
5907
|
/**
|
|
5436
5908
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
5437
5909
|
* @summary List punishments
|
|
@@ -5448,6 +5920,15 @@ export const AdminPunishmentsApiFactory = function (configuration?: Configuratio
|
|
|
5448
5920
|
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> {
|
|
5449
5921
|
return localVarFp.getPunishments(pageable, uuid, username, ipAddress, type, issuedAfter, issuedBefore, options).then((request) => request(axios, basePath));
|
|
5450
5922
|
},
|
|
5923
|
+
/**
|
|
5924
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
5925
|
+
* @summary Start an alt-propagation sweep job
|
|
5926
|
+
* @param {*} [options] Override http request option.
|
|
5927
|
+
* @throws {RequiredError}
|
|
5928
|
+
*/
|
|
5929
|
+
propagationSweep(options?: RawAxiosRequestConfig): AxiosPromise<AdminAsyncJobStartResponse> {
|
|
5930
|
+
return localVarFp.propagationSweep(options).then((request) => request(axios, basePath));
|
|
5931
|
+
},
|
|
5451
5932
|
/**
|
|
5452
5933
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
5453
5934
|
* @summary Search punishment targets
|
|
@@ -5499,6 +5980,17 @@ export class AdminPunishmentsApi extends BaseAPI {
|
|
|
5499
5980
|
return AdminPunishmentsApiFp(this.configuration).editPunishment(id, adminUpdatePunishmentRequest, options).then((request) => request(this.axios, this.basePath));
|
|
5500
5981
|
}
|
|
5501
5982
|
|
|
5983
|
+
/**
|
|
5984
|
+
* Returns the active DIRECT player_punishment UUIDs and the live connection_punishment IPs for a punishment. Used by the admin edit dialog to render the editable participant list. PROPAGATED links are excluded — they\'re an enforcement detail, not part of \'who the admin attached to this punishment\'.
|
|
5985
|
+
* @summary List a punishment\'s current participants
|
|
5986
|
+
* @param {number} id Punishment id
|
|
5987
|
+
* @param {*} [options] Override http request option.
|
|
5988
|
+
* @throws {RequiredError}
|
|
5989
|
+
*/
|
|
5990
|
+
public getPunishmentTargets(id: number, options?: RawAxiosRequestConfig) {
|
|
5991
|
+
return AdminPunishmentsApiFp(this.configuration).getPunishmentTargets(id, options).then((request) => request(this.axios, this.basePath));
|
|
5992
|
+
}
|
|
5993
|
+
|
|
5502
5994
|
/**
|
|
5503
5995
|
* Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
5504
5996
|
* @summary List punishments
|
|
@@ -5516,6 +6008,16 @@ export class AdminPunishmentsApi extends BaseAPI {
|
|
|
5516
6008
|
return AdminPunishmentsApiFp(this.configuration).getPunishments(pageable, uuid, username, ipAddress, type, issuedAfter, issuedBefore, options).then((request) => request(this.axios, this.basePath));
|
|
5517
6009
|
}
|
|
5518
6010
|
|
|
6011
|
+
/**
|
|
6012
|
+
* Submits an async job that walks every player and re-runs the aggressive-mode propagation logic (tier-1 own-IP plus tier-2 alt-driven). Useful after toggling aggressive-mode on, or after a propagation-rule change, to backfill PROPAGATED player_punishment rows that would otherwise only appear on each player\'s next login. Idempotent — ON CONFLICT DO NOTHING. Returns immediately with a job id; poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel.
|
|
6013
|
+
* @summary Start an alt-propagation sweep job
|
|
6014
|
+
* @param {*} [options] Override http request option.
|
|
6015
|
+
* @throws {RequiredError}
|
|
6016
|
+
*/
|
|
6017
|
+
public propagationSweep(options?: RawAxiosRequestConfig) {
|
|
6018
|
+
return AdminPunishmentsApiFp(this.configuration).propagationSweep(options).then((request) => request(this.axios, this.basePath));
|
|
6019
|
+
}
|
|
6020
|
+
|
|
5519
6021
|
/**
|
|
5520
6022
|
* Search for players by UUID or username, or look up all players associated with an IP address.
|
|
5521
6023
|
* @summary Search punishment targets
|
|
@@ -6573,7 +7075,7 @@ export class PlayerApi extends BaseAPI {
|
|
|
6573
7075
|
export const PlayerSessionsApiAxiosParamCreator = function (configuration?: Configuration) {
|
|
6574
7076
|
return {
|
|
6575
7077
|
/**
|
|
6576
|
-
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found
|
|
7078
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair and returns an acknowledgment: whether a session was actually closed, that session\'s start / end / duration, and the player\'s aggregate session stats recomputed after the close. No-op if no active session is found — `sessionClosed` is false and the per-session fields are null (stats are still returned) — so duplicate end events from a retry don\'t error.
|
|
6577
7079
|
* @summary Close the active player session
|
|
6578
7080
|
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
6579
7081
|
* @param {*} [options] Override http request option.
|
|
@@ -6599,6 +7101,7 @@ export const PlayerSessionsApiAxiosParamCreator = function (configuration?: Conf
|
|
|
6599
7101
|
await setBearerAuthToObject(localVarHeaderParameter, configuration)
|
|
6600
7102
|
|
|
6601
7103
|
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
7104
|
+
localVarHeaderParameter['Accept'] = 'application/json';
|
|
6602
7105
|
|
|
6603
7106
|
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
6604
7107
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
@@ -6659,13 +7162,13 @@ export const PlayerSessionsApiFp = function(configuration?: Configuration) {
|
|
|
6659
7162
|
const localVarAxiosParamCreator = PlayerSessionsApiAxiosParamCreator(configuration)
|
|
6660
7163
|
return {
|
|
6661
7164
|
/**
|
|
6662
|
-
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found
|
|
7165
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair and returns an acknowledgment: whether a session was actually closed, that session\'s start / end / duration, and the player\'s aggregate session stats recomputed after the close. No-op if no active session is found — `sessionClosed` is false and the per-session fields are null (stats are still returned) — so duplicate end events from a retry don\'t error.
|
|
6663
7166
|
* @summary Close the active player session
|
|
6664
7167
|
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
6665
7168
|
* @param {*} [options] Override http request option.
|
|
6666
7169
|
* @throws {RequiredError}
|
|
6667
7170
|
*/
|
|
6668
|
-
async end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<
|
|
7171
|
+
async end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlayerSessionEndResponse>> {
|
|
6669
7172
|
const localVarAxiosArgs = await localVarAxiosParamCreator.end(playerSessionEndRequest, options);
|
|
6670
7173
|
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
6671
7174
|
const localVarOperationServerBasePath = operationServerMap['PlayerSessionsApi.end']?.[localVarOperationServerIndex]?.url;
|
|
@@ -6694,13 +7197,13 @@ export const PlayerSessionsApiFactory = function (configuration?: Configuration,
|
|
|
6694
7197
|
const localVarFp = PlayerSessionsApiFp(configuration)
|
|
6695
7198
|
return {
|
|
6696
7199
|
/**
|
|
6697
|
-
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found
|
|
7200
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair and returns an acknowledgment: whether a session was actually closed, that session\'s start / end / duration, and the player\'s aggregate session stats recomputed after the close. No-op if no active session is found — `sessionClosed` is false and the per-session fields are null (stats are still returned) — so duplicate end events from a retry don\'t error.
|
|
6698
7201
|
* @summary Close the active player session
|
|
6699
7202
|
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
6700
7203
|
* @param {*} [options] Override http request option.
|
|
6701
7204
|
* @throws {RequiredError}
|
|
6702
7205
|
*/
|
|
6703
|
-
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): AxiosPromise<
|
|
7206
|
+
end(playerSessionEndRequest: PlayerSessionEndRequest, options?: RawAxiosRequestConfig): AxiosPromise<PlayerSessionEndResponse> {
|
|
6704
7207
|
return localVarFp.end(playerSessionEndRequest, options).then((request) => request(axios, basePath));
|
|
6705
7208
|
},
|
|
6706
7209
|
/**
|
|
@@ -6721,7 +7224,7 @@ export const PlayerSessionsApiFactory = function (configuration?: Configuration,
|
|
|
6721
7224
|
*/
|
|
6722
7225
|
export class PlayerSessionsApi extends BaseAPI {
|
|
6723
7226
|
/**
|
|
6724
|
-
* Closes the active session for a (playerUuid, serverSessionId) pair. No-op if no active session is found
|
|
7227
|
+
* Closes the active session for a (playerUuid, serverSessionId) pair and returns an acknowledgment: whether a session was actually closed, that session\'s start / end / duration, and the player\'s aggregate session stats recomputed after the close. No-op if no active session is found — `sessionClosed` is false and the per-session fields are null (stats are still returned) — so duplicate end events from a retry don\'t error.
|
|
6725
7228
|
* @summary Close the active player session
|
|
6726
7229
|
* @param {PlayerSessionEndRequest} playerSessionEndRequest
|
|
6727
7230
|
* @param {*} [options] Override http request option.
|