@rebornteam/reborn-api 3.2.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.openapi-generator/FILES +65 -4
- package/README.md +93 -8
- package/api.ts +3979 -537
- package/base.ts +1 -1
- package/common.ts +1 -1
- package/configuration.ts +1 -1
- package/dist/api.d.ts +2462 -386
- package/dist/api.js +2750 -361
- package/dist/base.d.ts +1 -1
- package/dist/base.js +1 -1
- package/dist/common.d.ts +1 -1
- package/dist/common.js +1 -1
- package/dist/configuration.d.ts +1 -1
- package/dist/configuration.js +1 -1
- package/dist/esm/api.d.ts +2462 -386
- package/dist/esm/api.js +2722 -353
- package/dist/esm/base.d.ts +1 -1
- package/dist/esm/base.js +1 -1
- package/dist/esm/common.d.ts +1 -1
- package/dist/esm/common.js +1 -1
- package/dist/esm/configuration.d.ts +1 -1
- package/dist/esm/configuration.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/docs/AdminAltAccount.md +27 -0
- package/docs/AdminAltExemption.md +31 -0
- package/docs/AdminApplyPunishmentResult.md +4 -4
- package/docs/AdminAsyncJob.md +47 -0
- package/docs/AdminAsyncJobStartResponse.md +21 -0
- package/docs/AdminAuditLogApi.md +141 -0
- package/docs/AdminAuditLogEntry.md +33 -0
- package/docs/AdminBulkRevokeRequest.md +25 -0
- package/docs/AdminBulkRevokeResponse.md +21 -0
- package/docs/AdminConnectionCheckResult.md +4 -0
- package/docs/AdminConnectionsApi.md +154 -39
- package/docs/AdminCreateAltExemptionRequest.md +23 -0
- package/docs/AdminCreatePlayerNoteRequest.md +21 -0
- package/docs/AdminDashboardConnectionResponse.md +4 -2
- package/docs/AdminJobsApi.md +175 -0
- package/docs/AdminPlayerDetailResponse.md +4 -4
- package/docs/AdminPlayerNote.md +31 -0
- package/docs/AdminPlayerPunishmentResponse.md +51 -0
- package/docs/AdminPlayerReport.md +39 -0
- package/docs/AdminPlayerSession.md +31 -0
- package/docs/AdminPlayerSessionStats.md +29 -0
- package/docs/AdminPlayerSummary.md +2 -4
- package/docs/AdminPlayersApi.md +936 -16
- package/docs/AdminPunishmentEvaluation.md +4 -8
- package/docs/AdminPunishmentsApi.md +78 -21
- package/docs/AdminReportTarget.md +23 -0
- package/docs/AdminReportsApi.md +123 -0
- package/docs/AdminResolveReportRequest.md +21 -0
- package/docs/AdminSetAggressiveModeImmunityRequest.md +21 -0
- package/docs/AdminTrustFactorBreakdown.md +61 -0
- package/docs/AdminTrustFactorHistoryEntry.md +23 -0
- package/docs/AdminTrustFactorImpact.md +23 -0
- package/docs/AdminUpdatePunishmentRequest.md +27 -0
- package/docs/ChatApi.md +4 -4
- package/docs/ConnectionApi.md +4 -4
- package/docs/ConnectionGetConnectionDetailsResponse.md +5 -1
- package/docs/ConnectionResult.md +1 -1
- package/docs/CreateReportRequest.md +27 -0
- package/docs/CreateReportResponse.md +23 -0
- package/docs/CursoredPageAdminAuditLogEntry.md +38 -0
- package/docs/CursoredPageable.md +30 -0
- package/docs/JobStatus.md +17 -0
- package/docs/PageAdminAltAccount.md +36 -0
- package/docs/PageAdminAltExemption.md +36 -0
- package/docs/PageAdminAsyncJob.md +36 -0
- package/docs/PageAdminAuditLogEntry.md +36 -0
- package/docs/PageAdminDashboardConnectionResponse.md +36 -0
- package/docs/PageAdminPlayerNote.md +36 -0
- package/docs/PageAdminPlayerPunishmentResponse.md +36 -0
- package/docs/PageAdminPlayerReport.md +36 -0
- package/docs/PageAdminPlayerSession.md +36 -0
- package/docs/PageAdminPlayerSummary.md +36 -0
- package/docs/PageAdminPunishmentListItem.md +36 -0
- package/docs/PagePunishmentGetPunishmentResponse.md +36 -0
- package/docs/Pageable.md +28 -0
- package/docs/PageableMode.md +12 -0
- package/docs/PlayerGetPlayerInformation.md +5 -3
- package/docs/PlayerSessionEndRequest.md +23 -0
- package/docs/PlayerSessionStartRequest.md +27 -0
- package/docs/PlayerSessionStartResponse.md +51 -0
- package/docs/PlayerSessionsApi.md +116 -0
- package/docs/PunishmentApi.md +22 -24
- package/docs/PunishmentSource.md +11 -0
- package/docs/PunishmentType.md +1 -0
- package/docs/ReportApi.md +64 -0
- package/docs/ReportCategory.md +17 -0
- package/docs/SliceAdminAltAccount.md +32 -0
- package/docs/SliceAdminAltExemption.md +32 -0
- package/docs/SliceAdminAsyncJob.md +32 -0
- package/docs/SliceAdminAuditLogEntry.md +32 -0
- package/docs/SliceAdminDashboardConnectionResponse.md +32 -0
- package/docs/SliceAdminPlayerNote.md +32 -0
- package/docs/SliceAdminPlayerPunishmentResponse.md +32 -0
- package/docs/SliceAdminPlayerReport.md +32 -0
- package/docs/SliceAdminPlayerSession.md +32 -0
- package/docs/SliceAdminPlayerSummary.md +32 -0
- package/docs/SliceAdminPunishmentListItem.md +32 -0
- package/docs/SlicePunishmentGetPunishmentResponse.md +32 -0
- package/docs/Sort.md +20 -0
- package/docs/SortOrder.md +26 -0
- package/docs/SortOrderDirection.md +10 -0
- package/index.ts +1 -1
- package/package.json +1 -1
- package/docs/AdminBackfillLocationResponse.md +0 -25
- package/docs/AdminPagedConnectionResponse.md +0 -29
- package/docs/AdminPagedPlayerResponse.md +0 -29
- package/docs/AdminPagedPunishmentResponse.md +0 -29
|
@@ -4,16 +4,18 @@ All URIs are relative to *https://api.smsh.sh*
|
|
|
4
4
|
|
|
5
5
|
|Method | HTTP request | Description|
|
|
6
6
|
|------------- | ------------- | -------------|
|
|
7
|
-
|[**backfillLocation**](#backfilllocation) | **POST** /admin/connection/backfill-location |
|
|
7
|
+
|[**backfillLocation**](#backfilllocation) | **POST** /admin/connection/backfill-location | Start a location backfill job|
|
|
8
8
|
|[**createBypass**](#createbypass) | **POST** /admin/connection/bypass | Create connection bypass|
|
|
9
|
+
|[**getConnection**](#getconnection) | **GET** /admin/connection/{id} | Get connection detail|
|
|
10
|
+
|[**getConnectionPlayers**](#getconnectionplayers) | **GET** /admin/connection/{id}/players | List players who have used this connection|
|
|
9
11
|
|[**listAllConnections**](#listallconnections) | **GET** /admin/connection | List all connections (paginated)|
|
|
10
12
|
|[**listConnections**](#listconnections) | **GET** /admin/connection/recent | List recent connections|
|
|
11
13
|
|[**recheckService**](#recheckservice) | **POST** /admin/connection/{connectionId}/recheck/{service} | Refresh a single VPN check|
|
|
12
14
|
|
|
13
15
|
# **backfillLocation**
|
|
14
|
-
>
|
|
16
|
+
> AdminAsyncJobStartResponse backfillLocation()
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
Submits an async job that iterates every connection_check row missing both city and country and re-runs its source VPN service to populate location data. Returns immediately with a job id — poll GET /admin/job/{id} for progress and DELETE /admin/job/{id} to cancel. The final {@code Admin_BackfillLocationResponse} (processed/succeeded/failed counts) lands in the job\'s {@code result_payload} on COMPLETED.
|
|
17
19
|
|
|
18
20
|
### Example
|
|
19
21
|
|
|
@@ -35,7 +37,7 @@ This endpoint does not have any parameters.
|
|
|
35
37
|
|
|
36
38
|
### Return type
|
|
37
39
|
|
|
38
|
-
**
|
|
40
|
+
**AdminAsyncJobStartResponse**
|
|
39
41
|
|
|
40
42
|
### Authorization
|
|
41
43
|
|
|
@@ -50,7 +52,7 @@ This endpoint does not have any parameters.
|
|
|
50
52
|
### HTTP response details
|
|
51
53
|
| Status code | Description | Response headers |
|
|
52
54
|
|-------------|-------------|------------------|
|
|
53
|
-
|**
|
|
55
|
+
|**202** | Job accepted; poll /admin/job/{id} for progress | - |
|
|
54
56
|
|**401** | Unauthorized - Authentication required | - |
|
|
55
57
|
|**403** | Forbidden - Moderator role required | - |
|
|
56
58
|
|
|
@@ -111,8 +113,119 @@ const { status, data } = await apiInstance.createBypass(
|
|
|
111
113
|
|
|
112
114
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
113
115
|
|
|
116
|
+
# **getConnection**
|
|
117
|
+
> AdminDashboardConnectionResponse getConnection()
|
|
118
|
+
|
|
119
|
+
Single connection by id, enriched with VPN check results and bypass status — same shape as the dashboard list row.
|
|
120
|
+
|
|
121
|
+
### Example
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
import {
|
|
125
|
+
AdminConnectionsApi,
|
|
126
|
+
Configuration
|
|
127
|
+
} from '@rebornteam/reborn-api';
|
|
128
|
+
|
|
129
|
+
const configuration = new Configuration();
|
|
130
|
+
const apiInstance = new AdminConnectionsApi(configuration);
|
|
131
|
+
|
|
132
|
+
let id: number; // (default to undefined)
|
|
133
|
+
|
|
134
|
+
const { status, data } = await apiInstance.getConnection(
|
|
135
|
+
id
|
|
136
|
+
);
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Parameters
|
|
140
|
+
|
|
141
|
+
|Name | Type | Description | Notes|
|
|
142
|
+
|------------- | ------------- | ------------- | -------------|
|
|
143
|
+
| **id** | [**number**] | | defaults to undefined|
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
### Return type
|
|
147
|
+
|
|
148
|
+
**AdminDashboardConnectionResponse**
|
|
149
|
+
|
|
150
|
+
### Authorization
|
|
151
|
+
|
|
152
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
153
|
+
|
|
154
|
+
### HTTP request headers
|
|
155
|
+
|
|
156
|
+
- **Content-Type**: Not defined
|
|
157
|
+
- **Accept**: application/json
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
### HTTP response details
|
|
161
|
+
| Status code | Description | Response headers |
|
|
162
|
+
|-------------|-------------|------------------|
|
|
163
|
+
|**200** | Connection retrieved | - |
|
|
164
|
+
|**401** | Unauthorized | - |
|
|
165
|
+
|**403** | Forbidden - Moderator role required | - |
|
|
166
|
+
|**404** | Connection not found | - |
|
|
167
|
+
|
|
168
|
+
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
169
|
+
|
|
170
|
+
# **getConnectionPlayers**
|
|
171
|
+
> PageAdminPlayerSummary getConnectionPlayers()
|
|
172
|
+
|
|
173
|
+
Paginated list of every player ever seen on this connection, with punishment scoring inline. Suitable for an infinite-scroll panel inside the connection detail modal.
|
|
174
|
+
|
|
175
|
+
### Example
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import {
|
|
179
|
+
AdminConnectionsApi,
|
|
180
|
+
Configuration,
|
|
181
|
+
Pageable
|
|
182
|
+
} from '@rebornteam/reborn-api';
|
|
183
|
+
|
|
184
|
+
const configuration = new Configuration();
|
|
185
|
+
const apiInstance = new AdminConnectionsApi(configuration);
|
|
186
|
+
|
|
187
|
+
let id: number; // (default to undefined)
|
|
188
|
+
let pageable: Pageable; // (default to undefined)
|
|
189
|
+
|
|
190
|
+
const { status, data } = await apiInstance.getConnectionPlayers(
|
|
191
|
+
id,
|
|
192
|
+
pageable
|
|
193
|
+
);
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Parameters
|
|
197
|
+
|
|
198
|
+
|Name | Type | Description | Notes|
|
|
199
|
+
|------------- | ------------- | ------------- | -------------|
|
|
200
|
+
| **id** | [**number**] | | defaults to undefined|
|
|
201
|
+
| **pageable** | **Pageable** | | defaults to undefined|
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
### Return type
|
|
205
|
+
|
|
206
|
+
**PageAdminPlayerSummary**
|
|
207
|
+
|
|
208
|
+
### Authorization
|
|
209
|
+
|
|
210
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
211
|
+
|
|
212
|
+
### HTTP request headers
|
|
213
|
+
|
|
214
|
+
- **Content-Type**: Not defined
|
|
215
|
+
- **Accept**: application/json
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
### HTTP response details
|
|
219
|
+
| Status code | Description | Response headers |
|
|
220
|
+
|-------------|-------------|------------------|
|
|
221
|
+
|**200** | Player list retrieved | - |
|
|
222
|
+
|**401** | Unauthorized | - |
|
|
223
|
+
|**403** | Forbidden - Moderator role required | - |
|
|
224
|
+
|
|
225
|
+
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
226
|
+
|
|
114
227
|
# **listAllConnections**
|
|
115
|
-
>
|
|
228
|
+
> PageAdminDashboardConnectionResponse listAllConnections()
|
|
116
229
|
|
|
117
230
|
Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
|
|
118
231
|
|
|
@@ -121,24 +234,27 @@ Returns a paginated list of all connections with a total count. Supports filteri
|
|
|
121
234
|
```typescript
|
|
122
235
|
import {
|
|
123
236
|
AdminConnectionsApi,
|
|
124
|
-
Configuration
|
|
237
|
+
Configuration,
|
|
238
|
+
Pageable
|
|
125
239
|
} from '@rebornteam/reborn-api';
|
|
126
240
|
|
|
127
241
|
const configuration = new Configuration();
|
|
128
242
|
const apiInstance = new AdminConnectionsApi(configuration);
|
|
129
243
|
|
|
130
|
-
let
|
|
131
|
-
let
|
|
132
|
-
let
|
|
133
|
-
let
|
|
134
|
-
let
|
|
244
|
+
let pageable: Pageable; // (default to undefined)
|
|
245
|
+
let createdAfter: number; // (optional) (default to undefined)
|
|
246
|
+
let createdBefore: number; // (optional) (default to undefined)
|
|
247
|
+
let ipAddress: string; // (optional) (default to undefined)
|
|
248
|
+
let uuid: string; // (optional) (default to undefined)
|
|
249
|
+
let isVpn: boolean; // (optional) (default to undefined)
|
|
135
250
|
|
|
136
251
|
const { status, data } = await apiInstance.listAllConnections(
|
|
252
|
+
pageable,
|
|
253
|
+
createdAfter,
|
|
254
|
+
createdBefore,
|
|
137
255
|
ipAddress,
|
|
138
256
|
uuid,
|
|
139
|
-
isVpn
|
|
140
|
-
page,
|
|
141
|
-
limit
|
|
257
|
+
isVpn
|
|
142
258
|
);
|
|
143
259
|
```
|
|
144
260
|
|
|
@@ -146,16 +262,17 @@ const { status, data } = await apiInstance.listAllConnections(
|
|
|
146
262
|
|
|
147
263
|
|Name | Type | Description | Notes|
|
|
148
264
|
|------------- | ------------- | ------------- | -------------|
|
|
149
|
-
| **
|
|
150
|
-
| **
|
|
151
|
-
| **
|
|
152
|
-
| **
|
|
153
|
-
| **
|
|
265
|
+
| **pageable** | **Pageable** | | defaults to undefined|
|
|
266
|
+
| **createdAfter** | [**number**] | | (optional) defaults to undefined|
|
|
267
|
+
| **createdBefore** | [**number**] | | (optional) defaults to undefined|
|
|
268
|
+
| **ipAddress** | [**string**] | | (optional) defaults to undefined|
|
|
269
|
+
| **uuid** | [**string**] | | (optional) defaults to undefined|
|
|
270
|
+
| **isVpn** | [**boolean**] | | (optional) defaults to undefined|
|
|
154
271
|
|
|
155
272
|
|
|
156
273
|
### Return type
|
|
157
274
|
|
|
158
|
-
**
|
|
275
|
+
**PageAdminDashboardConnectionResponse**
|
|
159
276
|
|
|
160
277
|
### Authorization
|
|
161
278
|
|
|
@@ -186,28 +303,27 @@ Returns a list of recent connections with VPN detection status, bypass informati
|
|
|
186
303
|
```typescript
|
|
187
304
|
import {
|
|
188
305
|
AdminConnectionsApi,
|
|
189
|
-
Configuration
|
|
306
|
+
Configuration,
|
|
307
|
+
Pageable
|
|
190
308
|
} from '@rebornteam/reborn-api';
|
|
191
309
|
|
|
192
310
|
const configuration = new Configuration();
|
|
193
311
|
const apiInstance = new AdminConnectionsApi(configuration);
|
|
194
312
|
|
|
195
|
-
let
|
|
196
|
-
let
|
|
197
|
-
let
|
|
198
|
-
let
|
|
199
|
-
let
|
|
200
|
-
let
|
|
201
|
-
let limit: number; //Maximum number of records to return (optional) (default to 100)
|
|
313
|
+
let pageable: Pageable; // (default to undefined)
|
|
314
|
+
let createdAfter: number; // (optional) (default to undefined)
|
|
315
|
+
let createdBefore: number; // (optional) (default to undefined)
|
|
316
|
+
let ipAddress: string; // (optional) (default to undefined)
|
|
317
|
+
let uuid: string; // (optional) (default to undefined)
|
|
318
|
+
let isVpn: boolean; // (optional) (default to undefined)
|
|
202
319
|
|
|
203
320
|
const { status, data } = await apiInstance.listConnections(
|
|
321
|
+
pageable,
|
|
204
322
|
createdAfter,
|
|
205
323
|
createdBefore,
|
|
206
324
|
ipAddress,
|
|
207
325
|
uuid,
|
|
208
|
-
isVpn
|
|
209
|
-
page,
|
|
210
|
-
limit
|
|
326
|
+
isVpn
|
|
211
327
|
);
|
|
212
328
|
```
|
|
213
329
|
|
|
@@ -215,13 +331,12 @@ const { status, data } = await apiInstance.listConnections(
|
|
|
215
331
|
|
|
216
332
|
|Name | Type | Description | Notes|
|
|
217
333
|
|------------- | ------------- | ------------- | -------------|
|
|
218
|
-
| **
|
|
219
|
-
| **
|
|
220
|
-
| **
|
|
221
|
-
| **
|
|
222
|
-
| **
|
|
223
|
-
| **
|
|
224
|
-
| **limit** | [**number**] | Maximum number of records to return | (optional) defaults to 100|
|
|
334
|
+
| **pageable** | **Pageable** | | defaults to undefined|
|
|
335
|
+
| **createdAfter** | [**number**] | | (optional) defaults to undefined|
|
|
336
|
+
| **createdBefore** | [**number**] | | (optional) defaults to undefined|
|
|
337
|
+
| **ipAddress** | [**string**] | | (optional) defaults to undefined|
|
|
338
|
+
| **uuid** | [**string**] | | (optional) defaults to undefined|
|
|
339
|
+
| **isVpn** | [**boolean**] | | (optional) defaults to undefined|
|
|
225
340
|
|
|
226
341
|
|
|
227
342
|
### Return type
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# AdminCreateAltExemptionRequest
|
|
2
|
+
|
|
3
|
+
Add an alt exemption: mark altPlayerUuid as a known-legitimate associate of the path player. Subsequent aggressive-mode propagation skips this pair as an alt source.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**altPlayerUuid** | **string** | UUID of the player to mark as a known-legitimate associate | [default to undefined]
|
|
10
|
+
**reason** | **string** | Optional human-readable reason (e.g. \'roommates, verified via support ticket #1234\') | [optional] [default to undefined]
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { AdminCreateAltExemptionRequest } from '@rebornteam/reborn-api';
|
|
16
|
+
|
|
17
|
+
const instance: AdminCreateAltExemptionRequest = {
|
|
18
|
+
altPlayerUuid,
|
|
19
|
+
reason,
|
|
20
|
+
};
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# AdminCreatePlayerNoteRequest
|
|
2
|
+
|
|
3
|
+
Create a staff note on a player
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**body** | **string** | Note body (1–4000 chars) | [default to undefined]
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { AdminCreatePlayerNoteRequest } from '@rebornteam/reborn-api';
|
|
15
|
+
|
|
16
|
+
const instance: AdminCreatePlayerNoteRequest = {
|
|
17
|
+
body,
|
|
18
|
+
};
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -7,7 +7,8 @@ Name | Type | Description | Notes
|
|
|
7
7
|
------------ | ------------- | ------------- | -------------
|
|
8
8
|
**id** | **number** | | [default to undefined]
|
|
9
9
|
**ipAddress** | **string** | | [default to undefined]
|
|
10
|
-
**
|
|
10
|
+
**city** | **string** | City reported by the first VPN provider that returned one for this IP. | [optional] [default to undefined]
|
|
11
|
+
**country** | **string** | Country code (ISO 3166-1 alpha-2 or alpha-3 depending on provider) from the first provider that returned one. | [optional] [default to undefined]
|
|
11
12
|
**isVpn** | **boolean** | | [default to undefined]
|
|
12
13
|
**isBypassed** | **boolean** | | [default to undefined]
|
|
13
14
|
**bypassExpiresAt** | **string** | | [optional] [default to undefined]
|
|
@@ -25,7 +26,8 @@ import { AdminDashboardConnectionResponse } from '@rebornteam/reborn-api';
|
|
|
25
26
|
const instance: AdminDashboardConnectionResponse = {
|
|
26
27
|
id,
|
|
27
28
|
ipAddress,
|
|
28
|
-
|
|
29
|
+
city,
|
|
30
|
+
country,
|
|
29
31
|
isVpn,
|
|
30
32
|
isBypassed,
|
|
31
33
|
bypassExpiresAt,
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# AdminJobsApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://api.smsh.sh*
|
|
4
|
+
|
|
5
|
+
|Method | HTTP request | Description|
|
|
6
|
+
|------------- | ------------- | -------------|
|
|
7
|
+
|[**cancel**](#cancel) | **DELETE** /admin/job/{id} | Request cancellation of an async job|
|
|
8
|
+
|[**get**](#get) | **GET** /admin/job/{id} | Get one async job|
|
|
9
|
+
|[**list**](#list) | **GET** /admin/job | List async jobs|
|
|
10
|
+
|
|
11
|
+
# **cancel**
|
|
12
|
+
> cancel()
|
|
13
|
+
|
|
14
|
+
Flips cancel_requested on the row. The host instance sees this at its next progress tick and bails out, transitioning the row to CANCELLED. Already-terminal jobs (COMPLETED/FAILED/CANCELLED) return 404.
|
|
15
|
+
|
|
16
|
+
### Example
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import {
|
|
20
|
+
AdminJobsApi,
|
|
21
|
+
Configuration
|
|
22
|
+
} from '@rebornteam/reborn-api';
|
|
23
|
+
|
|
24
|
+
const configuration = new Configuration();
|
|
25
|
+
const apiInstance = new AdminJobsApi(configuration);
|
|
26
|
+
|
|
27
|
+
let id: string; //Job id (default to undefined)
|
|
28
|
+
|
|
29
|
+
const { status, data } = await apiInstance.cancel(
|
|
30
|
+
id
|
|
31
|
+
);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Parameters
|
|
35
|
+
|
|
36
|
+
|Name | Type | Description | Notes|
|
|
37
|
+
|------------- | ------------- | ------------- | -------------|
|
|
38
|
+
| **id** | [**string**] | Job id | defaults to undefined|
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Return type
|
|
42
|
+
|
|
43
|
+
void (empty response body)
|
|
44
|
+
|
|
45
|
+
### Authorization
|
|
46
|
+
|
|
47
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
48
|
+
|
|
49
|
+
### HTTP request headers
|
|
50
|
+
|
|
51
|
+
- **Content-Type**: Not defined
|
|
52
|
+
- **Accept**: Not defined
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### HTTP response details
|
|
56
|
+
| Status code | Description | Response headers |
|
|
57
|
+
|-------------|-------------|------------------|
|
|
58
|
+
|**204** | Cancellation requested | - |
|
|
59
|
+
|**404** | Job not found or already terminal | - |
|
|
60
|
+
|**401** | Unauthorized | - |
|
|
61
|
+
|**403** | Forbidden - Moderator role required | - |
|
|
62
|
+
|
|
63
|
+
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
64
|
+
|
|
65
|
+
# **get**
|
|
66
|
+
> AdminAsyncJob get()
|
|
67
|
+
|
|
68
|
+
The polling target — the admin UI hits this every ~2 s while a job is running to update its progress bar.
|
|
69
|
+
|
|
70
|
+
### Example
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
import {
|
|
74
|
+
AdminJobsApi,
|
|
75
|
+
Configuration
|
|
76
|
+
} from '@rebornteam/reborn-api';
|
|
77
|
+
|
|
78
|
+
const configuration = new Configuration();
|
|
79
|
+
const apiInstance = new AdminJobsApi(configuration);
|
|
80
|
+
|
|
81
|
+
let id: string; //Job id (default to undefined)
|
|
82
|
+
|
|
83
|
+
const { status, data } = await apiInstance.get(
|
|
84
|
+
id
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Parameters
|
|
89
|
+
|
|
90
|
+
|Name | Type | Description | Notes|
|
|
91
|
+
|------------- | ------------- | ------------- | -------------|
|
|
92
|
+
| **id** | [**string**] | Job id | defaults to undefined|
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### Return type
|
|
96
|
+
|
|
97
|
+
**AdminAsyncJob**
|
|
98
|
+
|
|
99
|
+
### Authorization
|
|
100
|
+
|
|
101
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
102
|
+
|
|
103
|
+
### HTTP request headers
|
|
104
|
+
|
|
105
|
+
- **Content-Type**: Not defined
|
|
106
|
+
- **Accept**: application/json
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### HTTP response details
|
|
110
|
+
| Status code | Description | Response headers |
|
|
111
|
+
|-------------|-------------|------------------|
|
|
112
|
+
|**200** | Job found | - |
|
|
113
|
+
|**404** | Job not found | - |
|
|
114
|
+
|**401** | Unauthorized | - |
|
|
115
|
+
|**403** | Forbidden - Moderator role required | - |
|
|
116
|
+
|
|
117
|
+
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
118
|
+
|
|
119
|
+
# **list**
|
|
120
|
+
> PageAdminAsyncJob list()
|
|
121
|
+
|
|
122
|
+
Paginated, newest first. Filter by status to see only RUNNING jobs (the live queue) or COMPLETED / FAILED / CANCELLED history.
|
|
123
|
+
|
|
124
|
+
### Example
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
import {
|
|
128
|
+
AdminJobsApi,
|
|
129
|
+
Configuration,
|
|
130
|
+
Pageable
|
|
131
|
+
} from '@rebornteam/reborn-api';
|
|
132
|
+
|
|
133
|
+
const configuration = new Configuration();
|
|
134
|
+
const apiInstance = new AdminJobsApi(configuration);
|
|
135
|
+
|
|
136
|
+
let pageable: Pageable; // (default to undefined)
|
|
137
|
+
let status: JobStatus; //Filter by status (omit for all states) (optional) (default to undefined)
|
|
138
|
+
|
|
139
|
+
const { status, data } = await apiInstance.list(
|
|
140
|
+
pageable,
|
|
141
|
+
status
|
|
142
|
+
);
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Parameters
|
|
146
|
+
|
|
147
|
+
|Name | Type | Description | Notes|
|
|
148
|
+
|------------- | ------------- | ------------- | -------------|
|
|
149
|
+
| **pageable** | **Pageable** | | defaults to undefined|
|
|
150
|
+
| **status** | **JobStatus** | Filter by status (omit for all states) | (optional) defaults to undefined|
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
### Return type
|
|
154
|
+
|
|
155
|
+
**PageAdminAsyncJob**
|
|
156
|
+
|
|
157
|
+
### Authorization
|
|
158
|
+
|
|
159
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
160
|
+
|
|
161
|
+
### HTTP request headers
|
|
162
|
+
|
|
163
|
+
- **Content-Type**: Not defined
|
|
164
|
+
- **Accept**: application/json
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
### HTTP response details
|
|
168
|
+
| Status code | Description | Response headers |
|
|
169
|
+
|-------------|-------------|------------------|
|
|
170
|
+
|**200** | Jobs retrieved | - |
|
|
171
|
+
|**401** | Unauthorized | - |
|
|
172
|
+
|**403** | Forbidden - Moderator role required | - |
|
|
173
|
+
|
|
174
|
+
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
175
|
+
|
|
@@ -12,9 +12,9 @@ Name | Type | Description | Notes
|
|
|
12
12
|
**firstJoin** | **boolean** | Whether this player still has first-join status | [default to undefined]
|
|
13
13
|
**firstLogin** | **string** | Timestamp of first connection (ISO-8601) | [default to undefined]
|
|
14
14
|
**lastUsedAt** | **string** | Timestamp of most recent connection (ISO-8601) | [optional] [default to undefined]
|
|
15
|
-
**
|
|
16
|
-
**punishmentPointsPercent** | **number** | Punishment score as a percentage | [default to undefined]
|
|
15
|
+
**trustFactor** | **number** | Trust factor (0-100, higher = more trusted). Informational only — does NOT auto-escalate punishments. See compute_trust_factor in the database for the formula. | [default to undefined]
|
|
17
16
|
**usernameHistory** | [**Array<AdminUsernameHistoryEntry>**](AdminUsernameHistoryEntry.md) | All usernames this player has used, newest first | [default to undefined]
|
|
17
|
+
**aggressiveModeImmunity** | **boolean** | True when this player is exempt from aggressive-mode propagation. Toggling on also bulk-revokes existing propagated links. Defaults to false. | [default to undefined]
|
|
18
18
|
|
|
19
19
|
## Example
|
|
20
20
|
|
|
@@ -28,9 +28,9 @@ const instance: AdminPlayerDetailResponse = {
|
|
|
28
28
|
firstJoin,
|
|
29
29
|
firstLogin,
|
|
30
30
|
lastUsedAt,
|
|
31
|
-
|
|
32
|
-
punishmentPointsPercent,
|
|
31
|
+
trustFactor,
|
|
33
32
|
usernameHistory,
|
|
33
|
+
aggressiveModeImmunity,
|
|
34
34
|
};
|
|
35
35
|
```
|
|
36
36
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# AdminPlayerNote
|
|
2
|
+
|
|
3
|
+
Free-form staff note about a player
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**id** | **number** | Note id | [default to undefined]
|
|
10
|
+
**author** | **string** | Username (Discord username for SSO admins) of the staff member who wrote the note | [default to undefined]
|
|
11
|
+
**body** | **string** | The note body (1–4000 characters) | [default to undefined]
|
|
12
|
+
**createdAt** | **string** | When the note was created (ISO-8601) | [default to undefined]
|
|
13
|
+
**deletedAt** | **string** | When the note was soft-deleted. Null on active notes. Deleted notes are still returned by default; the UI styles them as struck-through. | [optional] [default to undefined]
|
|
14
|
+
**deletedBy** | **string** | Staff member who soft-deleted the note. Null on active notes. | [optional] [default to undefined]
|
|
15
|
+
|
|
16
|
+
## Example
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { AdminPlayerNote } from '@rebornteam/reborn-api';
|
|
20
|
+
|
|
21
|
+
const instance: AdminPlayerNote = {
|
|
22
|
+
id,
|
|
23
|
+
author,
|
|
24
|
+
body,
|
|
25
|
+
createdAt,
|
|
26
|
+
deletedAt,
|
|
27
|
+
deletedBy,
|
|
28
|
+
};
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# AdminPlayerPunishmentResponse
|
|
2
|
+
|
|
3
|
+
A single player_punishment link with full audit metadata. Used by admin UIs to render the player\'s punishment history with DIRECT vs PROPAGATED badges and per-link revoke controls.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**id** | **number** | player_punishment row id (the link id, NOT the punishment id) | [default to undefined]
|
|
10
|
+
**punishmentId** | **number** | Source punishment id this link points to | [default to undefined]
|
|
11
|
+
**playerUuid** | **string** | UUID of the player this link is attached to | [default to undefined]
|
|
12
|
+
**type** | [**PunishmentType**](PunishmentType.md) | Punishment type | [default to undefined]
|
|
13
|
+
**severity** | **number** | Severity (1-4) | [default to undefined]
|
|
14
|
+
**reason** | **string** | Reason from the source punishment record | [default to undefined]
|
|
15
|
+
**notes** | **string** | Internal admin notes from the source punishment (may be null) | [optional] [default to undefined]
|
|
16
|
+
**createdBy** | **string** | Original issuer of the punishment | [default to undefined]
|
|
17
|
+
**createdAt** | **string** | When the source punishment was created (ISO-8601) | [default to undefined]
|
|
18
|
+
**expiresAt** | **string** | Source punishment expiration (null = permanent) | [optional] [default to undefined]
|
|
19
|
+
**source** | [**PunishmentSource**](PunishmentSource.md) | How this link came to exist. DIRECT links are immutable from the link side (remove via the punishment-level delete); PROPAGATED links are revocable individually. | [default to undefined]
|
|
20
|
+
**transferNote** | **string** | Human-readable origin for a PROPAGATED link, e.g. \'Propagated from alt Notch (player_id=42)\' or \'Propagated from connection 1.2.3.4\'. Null for DIRECT links. | [optional] [default to undefined]
|
|
21
|
+
**sourcePlayerId** | **number** | player.id that triggered this PROPAGATED link (the alt account). Null for DIRECT links, for PROPAGATED links pre-dating the structured-source migration, and for connection-sourced PROPAGATED links. | [optional] [default to undefined]
|
|
22
|
+
**sourceConnectionId** | **number** | connection.id that triggered this PROPAGATED link (the IP). Null for DIRECT links, for PROPAGATED links pre-dating the structured-source migration, and for player-sourced PROPAGATED links. | [optional] [default to undefined]
|
|
23
|
+
**revokedAt** | **string** | When this link was revoked by a staff member. Null while active. | [optional] [default to undefined]
|
|
24
|
+
**revokedBy** | **string** | Staff member who revoked this link. | [optional] [default to undefined]
|
|
25
|
+
|
|
26
|
+
## Example
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { AdminPlayerPunishmentResponse } from '@rebornteam/reborn-api';
|
|
30
|
+
|
|
31
|
+
const instance: AdminPlayerPunishmentResponse = {
|
|
32
|
+
id,
|
|
33
|
+
punishmentId,
|
|
34
|
+
playerUuid,
|
|
35
|
+
type,
|
|
36
|
+
severity,
|
|
37
|
+
reason,
|
|
38
|
+
notes,
|
|
39
|
+
createdBy,
|
|
40
|
+
createdAt,
|
|
41
|
+
expiresAt,
|
|
42
|
+
source,
|
|
43
|
+
transferNote,
|
|
44
|
+
sourcePlayerId,
|
|
45
|
+
sourceConnectionId,
|
|
46
|
+
revokedAt,
|
|
47
|
+
revokedBy,
|
|
48
|
+
};
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# AdminPlayerReport
|
|
2
|
+
|
|
3
|
+
One peer report. May target one or more players.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**id** | **number** | Report id | [default to undefined]
|
|
10
|
+
**reporterUuid** | **string** | Reporter\'s UUID | [default to undefined]
|
|
11
|
+
**reporterUsername** | **string** | Reporter\'s username at the time of the report (last-known if changed) | [optional] [default to undefined]
|
|
12
|
+
**reportedTargets** | [**Array<AdminReportTarget>**](AdminReportTarget.md) | All players this report flags. At least one entry. | [default to undefined]
|
|
13
|
+
**category** | **string** | Category | [default to undefined]
|
|
14
|
+
**reason** | **string** | Reason text | [default to undefined]
|
|
15
|
+
**createdAt** | **string** | When created (ISO-8601) | [default to undefined]
|
|
16
|
+
**resolvedAt** | **string** | When resolved by staff. Null = open. | [optional] [default to undefined]
|
|
17
|
+
**resolvedBy** | **string** | Staff member who resolved it | [optional] [default to undefined]
|
|
18
|
+
**resolutionNote** | **string** | Staff\'s resolution note | [optional] [default to undefined]
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { AdminPlayerReport } from '@rebornteam/reborn-api';
|
|
24
|
+
|
|
25
|
+
const instance: AdminPlayerReport = {
|
|
26
|
+
id,
|
|
27
|
+
reporterUuid,
|
|
28
|
+
reporterUsername,
|
|
29
|
+
reportedTargets,
|
|
30
|
+
category,
|
|
31
|
+
reason,
|
|
32
|
+
createdAt,
|
|
33
|
+
resolvedAt,
|
|
34
|
+
resolvedBy,
|
|
35
|
+
resolutionNote,
|
|
36
|
+
};
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|