@rebornteam/reborn-api 3.2.0 → 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.
Files changed (112) hide show
  1. package/.openapi-generator/FILES +65 -3
  2. package/README.md +93 -6
  3. package/api.ts +3991 -467
  4. package/base.ts +1 -1
  5. package/common.ts +1 -1
  6. package/configuration.ts +1 -1
  7. package/dist/api.d.ts +2485 -364
  8. package/dist/api.js +2876 -425
  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 +2485 -364
  16. package/dist/esm/api.js +2851 -420
  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/AdminAltAccount.md +27 -0
  28. package/docs/AdminAltExemption.md +31 -0
  29. package/docs/AdminApplyPunishmentResult.md +4 -4
  30. package/docs/AdminAsyncJob.md +47 -0
  31. package/docs/AdminAsyncJobStartResponse.md +21 -0
  32. package/docs/AdminAuditLogApi.md +141 -0
  33. package/docs/AdminAuditLogEntry.md +33 -0
  34. package/docs/AdminBulkRevokeRequest.md +25 -0
  35. package/docs/AdminBulkRevokeResponse.md +21 -0
  36. package/docs/AdminConnectionCheckResult.md +4 -0
  37. package/docs/AdminConnectionsApi.md +196 -34
  38. package/docs/AdminCreateAltExemptionRequest.md +23 -0
  39. package/docs/AdminCreatePlayerNoteRequest.md +21 -0
  40. package/docs/AdminDashboardConnectionResponse.md +4 -2
  41. package/docs/AdminJobsApi.md +175 -0
  42. package/docs/AdminPlayerDetailResponse.md +4 -4
  43. package/docs/AdminPlayerNote.md +31 -0
  44. package/docs/AdminPlayerPunishmentResponse.md +51 -0
  45. package/docs/AdminPlayerReport.md +39 -0
  46. package/docs/AdminPlayerSession.md +31 -0
  47. package/docs/AdminPlayerSessionStats.md +29 -0
  48. package/docs/AdminPlayerSummary.md +2 -4
  49. package/docs/AdminPlayersApi.md +936 -16
  50. package/docs/AdminPunishmentEvaluation.md +4 -8
  51. package/docs/AdminPunishmentsApi.md +78 -21
  52. package/docs/AdminReportTarget.md +23 -0
  53. package/docs/AdminReportsApi.md +123 -0
  54. package/docs/AdminResolveReportRequest.md +21 -0
  55. package/docs/AdminSetAggressiveModeImmunityRequest.md +21 -0
  56. package/docs/AdminTrustFactorBreakdown.md +61 -0
  57. package/docs/AdminTrustFactorHistoryEntry.md +23 -0
  58. package/docs/AdminTrustFactorImpact.md +23 -0
  59. package/docs/AdminUpdatePunishmentRequest.md +27 -0
  60. package/docs/ChatApi.md +4 -4
  61. package/docs/ConnectionApi.md +4 -4
  62. package/docs/ConnectionGetConnectionDetailsResponse.md +5 -1
  63. package/docs/ConnectionResult.md +1 -1
  64. package/docs/CreateReportRequest.md +27 -0
  65. package/docs/CreateReportResponse.md +23 -0
  66. package/docs/CursoredPageAdminAuditLogEntry.md +38 -0
  67. package/docs/CursoredPageable.md +30 -0
  68. package/docs/JobStatus.md +17 -0
  69. package/docs/PageAdminAltAccount.md +36 -0
  70. package/docs/PageAdminAltExemption.md +36 -0
  71. package/docs/PageAdminAsyncJob.md +36 -0
  72. package/docs/PageAdminAuditLogEntry.md +36 -0
  73. package/docs/PageAdminDashboardConnectionResponse.md +36 -0
  74. package/docs/PageAdminPlayerNote.md +36 -0
  75. package/docs/PageAdminPlayerPunishmentResponse.md +36 -0
  76. package/docs/PageAdminPlayerReport.md +36 -0
  77. package/docs/PageAdminPlayerSession.md +36 -0
  78. package/docs/PageAdminPlayerSummary.md +36 -0
  79. package/docs/PageAdminPunishmentListItem.md +36 -0
  80. package/docs/PagePunishmentGetPunishmentResponse.md +36 -0
  81. package/docs/Pageable.md +28 -0
  82. package/docs/PageableMode.md +12 -0
  83. package/docs/PlayerGetPlayerInformation.md +5 -3
  84. package/docs/PlayerSessionEndRequest.md +23 -0
  85. package/docs/PlayerSessionStartRequest.md +27 -0
  86. package/docs/PlayerSessionStartResponse.md +51 -0
  87. package/docs/PlayerSessionsApi.md +116 -0
  88. package/docs/PunishmentApi.md +22 -24
  89. package/docs/PunishmentSource.md +11 -0
  90. package/docs/PunishmentType.md +1 -0
  91. package/docs/ReportApi.md +64 -0
  92. package/docs/ReportCategory.md +17 -0
  93. package/docs/SliceAdminAltAccount.md +32 -0
  94. package/docs/SliceAdminAltExemption.md +32 -0
  95. package/docs/SliceAdminAsyncJob.md +32 -0
  96. package/docs/SliceAdminAuditLogEntry.md +32 -0
  97. package/docs/SliceAdminDashboardConnectionResponse.md +32 -0
  98. package/docs/SliceAdminPlayerNote.md +32 -0
  99. package/docs/SliceAdminPlayerPunishmentResponse.md +32 -0
  100. package/docs/SliceAdminPlayerReport.md +32 -0
  101. package/docs/SliceAdminPlayerSession.md +32 -0
  102. package/docs/SliceAdminPlayerSummary.md +32 -0
  103. package/docs/SliceAdminPunishmentListItem.md +32 -0
  104. package/docs/SlicePunishmentGetPunishmentResponse.md +32 -0
  105. package/docs/Sort.md +20 -0
  106. package/docs/SortOrder.md +26 -0
  107. package/docs/SortOrderDirection.md +10 -0
  108. package/index.ts +1 -1
  109. package/package.json +1 -1
  110. package/docs/AdminPagedConnectionResponse.md +0 -29
  111. package/docs/AdminPagedPlayerResponse.md +0 -29
  112. package/docs/AdminPagedPunishmentResponse.md +0 -29
@@ -4,11 +4,60 @@ 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 | Start a location backfill job|
7
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|
8
11
  |[**listAllConnections**](#listallconnections) | **GET** /admin/connection | List all connections (paginated)|
9
12
  |[**listConnections**](#listconnections) | **GET** /admin/connection/recent | List recent connections|
10
13
  |[**recheckService**](#recheckservice) | **POST** /admin/connection/{connectionId}/recheck/{service} | Refresh a single VPN check|
11
14
 
15
+ # **backfillLocation**
16
+ > AdminAsyncJobStartResponse backfillLocation()
17
+
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.
19
+
20
+ ### Example
21
+
22
+ ```typescript
23
+ import {
24
+ AdminConnectionsApi,
25
+ Configuration
26
+ } from '@rebornteam/reborn-api';
27
+
28
+ const configuration = new Configuration();
29
+ const apiInstance = new AdminConnectionsApi(configuration);
30
+
31
+ const { status, data } = await apiInstance.backfillLocation();
32
+ ```
33
+
34
+ ### Parameters
35
+ This endpoint does not have any parameters.
36
+
37
+
38
+ ### Return type
39
+
40
+ **AdminAsyncJobStartResponse**
41
+
42
+ ### Authorization
43
+
44
+ [DiscordAuth](../README.md#DiscordAuth)
45
+
46
+ ### HTTP request headers
47
+
48
+ - **Content-Type**: Not defined
49
+ - **Accept**: application/json
50
+
51
+
52
+ ### HTTP response details
53
+ | Status code | Description | Response headers |
54
+ |-------------|-------------|------------------|
55
+ |**202** | Job accepted; poll /admin/job/{id} for progress | - |
56
+ |**401** | Unauthorized - Authentication required | - |
57
+ |**403** | Forbidden - Moderator role required | - |
58
+
59
+ [[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)
60
+
12
61
  # **createBypass**
13
62
  > AdminConnectionBypassResponse createBypass(createBypassRequest)
14
63
 
@@ -64,8 +113,119 @@ const { status, data } = await apiInstance.createBypass(
64
113
 
65
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)
66
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
+
67
227
  # **listAllConnections**
68
- > AdminPagedConnectionResponse listAllConnections()
228
+ > PageAdminDashboardConnectionResponse listAllConnections()
69
229
 
70
230
  Returns a paginated list of all connections with a total count. Supports filtering by IP address, UUID, and VPN status.
71
231
 
@@ -74,24 +234,27 @@ Returns a paginated list of all connections with a total count. Supports filteri
74
234
  ```typescript
75
235
  import {
76
236
  AdminConnectionsApi,
77
- Configuration
237
+ Configuration,
238
+ Pageable
78
239
  } from '@rebornteam/reborn-api';
79
240
 
80
241
  const configuration = new Configuration();
81
242
  const apiInstance = new AdminConnectionsApi(configuration);
82
243
 
83
- let ipAddress: string; //Filter by IP address (optional) (default to undefined)
84
- let uuid: string; //Filter by player UUID (optional) (default to undefined)
85
- let isVpn: boolean; //Filter by VPN status (optional) (default to undefined)
86
- let page: number; //Page number (1-indexed) (optional) (default to 1)
87
- let limit: number; //Page size (optional) (default to 50)
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)
88
250
 
89
251
  const { status, data } = await apiInstance.listAllConnections(
252
+ pageable,
253
+ createdAfter,
254
+ createdBefore,
90
255
  ipAddress,
91
256
  uuid,
92
- isVpn,
93
- page,
94
- limit
257
+ isVpn
95
258
  );
96
259
  ```
97
260
 
@@ -99,16 +262,17 @@ const { status, data } = await apiInstance.listAllConnections(
99
262
 
100
263
  |Name | Type | Description | Notes|
101
264
  |------------- | ------------- | ------------- | -------------|
102
- | **ipAddress** | [**string**] | Filter by IP address | (optional) defaults to undefined|
103
- | **uuid** | [**string**] | Filter by player UUID | (optional) defaults to undefined|
104
- | **isVpn** | [**boolean**] | Filter by VPN status | (optional) defaults to undefined|
105
- | **page** | [**number**] | Page number (1-indexed) | (optional) defaults to 1|
106
- | **limit** | [**number**] | Page size | (optional) defaults to 50|
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|
107
271
 
108
272
 
109
273
  ### Return type
110
274
 
111
- **AdminPagedConnectionResponse**
275
+ **PageAdminDashboardConnectionResponse**
112
276
 
113
277
  ### Authorization
114
278
 
@@ -139,28 +303,27 @@ Returns a list of recent connections with VPN detection status, bypass informati
139
303
  ```typescript
140
304
  import {
141
305
  AdminConnectionsApi,
142
- Configuration
306
+ Configuration,
307
+ Pageable
143
308
  } from '@rebornteam/reborn-api';
144
309
 
145
310
  const configuration = new Configuration();
146
311
  const apiInstance = new AdminConnectionsApi(configuration);
147
312
 
148
- let createdAfter: number; //Filter connections after this epoch timestamp in milliseconds (optional) (default to undefined)
149
- let createdBefore: number; //Filter connections before this epoch timestamp in milliseconds (optional) (default to undefined)
150
- let ipAddress: string; //Filter by IP address (optional) (default to undefined)
151
- let uuid: string; //Filter by player UUID (optional) (default to undefined)
152
- let isVpn: boolean; //Filter by VPN status (true=VPN, false=not VPN) (optional) (default to undefined)
153
- let page: number; //Page number for pagination (optional) (default to 1)
154
- 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)
155
319
 
156
320
  const { status, data } = await apiInstance.listConnections(
321
+ pageable,
157
322
  createdAfter,
158
323
  createdBefore,
159
324
  ipAddress,
160
325
  uuid,
161
- isVpn,
162
- page,
163
- limit
326
+ isVpn
164
327
  );
165
328
  ```
166
329
 
@@ -168,13 +331,12 @@ const { status, data } = await apiInstance.listConnections(
168
331
 
169
332
  |Name | Type | Description | Notes|
170
333
  |------------- | ------------- | ------------- | -------------|
171
- | **createdAfter** | [**number**] | Filter connections after this epoch timestamp in milliseconds | (optional) defaults to undefined|
172
- | **createdBefore** | [**number**] | Filter connections before this epoch timestamp in milliseconds | (optional) defaults to undefined|
173
- | **ipAddress** | [**string**] | Filter by IP address | (optional) defaults to undefined|
174
- | **uuid** | [**string**] | Filter by player UUID | (optional) defaults to undefined|
175
- | **isVpn** | [**boolean**] | Filter by VPN status (true=VPN, false=not VPN) | (optional) defaults to undefined|
176
- | **page** | [**number**] | Page number for pagination | (optional) defaults to 1|
177
- | **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|
178
340
 
179
341
 
180
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
- **location** | **string** | | [optional] [default to undefined]
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
- location,
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
- **punishmentPointsRaw** | **number** | Raw punishment score | [default to undefined]
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
- punishmentPointsRaw,
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)