@rebornteam/reborn-api 3.1.0 → 3.2.1

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 (55) hide show
  1. package/.openapi-generator/FILES +1 -0
  2. package/README.md +4 -2
  3. package/api.ts +185 -95
  4. package/base.ts +1 -1
  5. package/common.ts +1 -1
  6. package/configuration.ts +1 -1
  7. package/dist/api.d.ts +148 -95
  8. package/dist/api.js +63 -1
  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 +148 -95
  16. package/dist/esm/api.js +63 -1
  17. package/dist/esm/base.d.ts +1 -1
  18. package/dist/esm/base.js +1 -1
  19. package/dist/esm/common.d.ts +1 -1
  20. package/dist/esm/common.js +1 -1
  21. package/dist/esm/configuration.d.ts +1 -1
  22. package/dist/esm/configuration.js +1 -1
  23. package/dist/esm/index.d.ts +1 -1
  24. package/dist/esm/index.js +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +1 -1
  27. package/docs/AdminApplyPunishmentRequest.md +2 -2
  28. package/docs/AdminApplyPunishmentResponse.md +1 -1
  29. package/docs/AdminApplyPunishmentResult.md +6 -6
  30. package/docs/AdminBackfillLocationResponse.md +25 -0
  31. package/docs/AdminClientCredentialResponse.md +6 -6
  32. package/docs/AdminConnectionBypassResponse.md +4 -4
  33. package/docs/AdminConnectionCheckResult.md +7 -3
  34. package/docs/AdminConnectionsApi.md +47 -0
  35. package/docs/AdminCreatePunishmentDraftRequest.md +2 -2
  36. package/docs/AdminDashboardConnectionResponse.md +2 -2
  37. package/docs/AdminIpSearchResult.md +2 -2
  38. package/docs/AdminPagedConnectionResponse.md +5 -5
  39. package/docs/AdminPagedPlayerResponse.md +5 -5
  40. package/docs/AdminPagedPunishmentResponse.md +5 -5
  41. package/docs/AdminPlayerDetailResponse.md +7 -7
  42. package/docs/AdminPlayerSearchResult.md +1 -1
  43. package/docs/AdminPlayerSummary.md +6 -6
  44. package/docs/AdminPunishmentDraftResponse.md +1 -1
  45. package/docs/AdminPunishmentEvaluation.md +9 -9
  46. package/docs/AdminPunishmentSearchResponse.md +3 -3
  47. package/docs/AdminUsernameHistoryEntry.md +2 -2
  48. package/docs/ConnectionGetConnectionDetailsResponse.md +7 -7
  49. package/docs/PlayerGetPlayerInformation.md +4 -4
  50. package/docs/PunishmentGetPunishmentResponse.md +6 -6
  51. package/docs/PunishmentSeveritiesResponse.md +1 -1
  52. package/docs/PunishmentSeveritiesResponsePunishmentTypeInfo.md +2 -2
  53. package/docs/PunishmentSeveritiesResponseSeverityInfo.md +2 -2
  54. package/index.ts +1 -1
  55. package/package.json +1 -1
package/dist/esm/api.js 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: 3.1.0
7
+ * The version of the OpenAPI document: 3.2.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -581,6 +581,35 @@ export class AdminClientCredentialsApi extends BaseAPI {
581
581
  */
582
582
  export const AdminConnectionsApiAxiosParamCreator = function (configuration) {
583
583
  return {
584
+ /**
585
+ * Iterates every connection_check row where both city and country are NULL and re-runs that row\'s source VPN service to populate location data. Concurrency is capped to avoid overwhelming external providers. Synchronous — returns once the run completes.
586
+ * @summary Backfill missing location data
587
+ * @param {*} [options] Override http request option.
588
+ * @throws {RequiredError}
589
+ */
590
+ backfillLocation: (...args_1) => __awaiter(this, [...args_1], void 0, function* (options = {}) {
591
+ const localVarPath = `/admin/connection/backfill-location`;
592
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
593
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
594
+ let baseOptions;
595
+ if (configuration) {
596
+ baseOptions = configuration.baseOptions;
597
+ }
598
+ const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
599
+ const localVarHeaderParameter = {};
600
+ const localVarQueryParameter = {};
601
+ // authentication DiscordAuth required
602
+ // http bearer authentication required
603
+ yield setBearerAuthToObject(localVarHeaderParameter, configuration);
604
+ localVarHeaderParameter['Accept'] = 'application/json';
605
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
606
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
607
+ localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
608
+ return {
609
+ url: toPathString(localVarUrlObj),
610
+ options: localVarRequestOptions,
611
+ };
612
+ }),
584
613
  /**
585
614
  * Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
586
615
  * @summary Create connection bypass
@@ -766,6 +795,21 @@ export const AdminConnectionsApiAxiosParamCreator = function (configuration) {
766
795
  export const AdminConnectionsApiFp = function (configuration) {
767
796
  const localVarAxiosParamCreator = AdminConnectionsApiAxiosParamCreator(configuration);
768
797
  return {
798
+ /**
799
+ * Iterates every connection_check row where both city and country are NULL and re-runs that row\'s source VPN service to populate location data. Concurrency is capped to avoid overwhelming external providers. Synchronous — returns once the run completes.
800
+ * @summary Backfill missing location data
801
+ * @param {*} [options] Override http request option.
802
+ * @throws {RequiredError}
803
+ */
804
+ backfillLocation(options) {
805
+ return __awaiter(this, void 0, void 0, function* () {
806
+ var _a, _b, _c;
807
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.backfillLocation(options);
808
+ const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
809
+ const localVarOperationServerBasePath = (_c = (_b = operationServerMap['AdminConnectionsApi.backfillLocation']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
810
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
811
+ });
812
+ },
769
813
  /**
770
814
  * Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
771
815
  * @summary Create connection bypass
@@ -849,6 +893,15 @@ export const AdminConnectionsApiFp = function (configuration) {
849
893
  export const AdminConnectionsApiFactory = function (configuration, basePath, axios) {
850
894
  const localVarFp = AdminConnectionsApiFp(configuration);
851
895
  return {
896
+ /**
897
+ * Iterates every connection_check row where both city and country are NULL and re-runs that row\'s source VPN service to populate location data. Concurrency is capped to avoid overwhelming external providers. Synchronous — returns once the run completes.
898
+ * @summary Backfill missing location data
899
+ * @param {*} [options] Override http request option.
900
+ * @throws {RequiredError}
901
+ */
902
+ backfillLocation(options) {
903
+ return localVarFp.backfillLocation(options).then((request) => request(axios, basePath));
904
+ },
852
905
  /**
853
906
  * Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
854
907
  * @summary Create connection bypass
@@ -906,6 +959,15 @@ export const AdminConnectionsApiFactory = function (configuration, basePath, axi
906
959
  * AdminConnectionsApi - object-oriented interface
907
960
  */
908
961
  export class AdminConnectionsApi extends BaseAPI {
962
+ /**
963
+ * Iterates every connection_check row where both city and country are NULL and re-runs that row\'s source VPN service to populate location data. Concurrency is capped to avoid overwhelming external providers. Synchronous — returns once the run completes.
964
+ * @summary Backfill missing location data
965
+ * @param {*} [options] Override http request option.
966
+ * @throws {RequiredError}
967
+ */
968
+ backfillLocation(options) {
969
+ return AdminConnectionsApiFp(this.configuration).backfillLocation(options).then((request) => request(this.axios, this.basePath));
970
+ }
909
971
  /**
910
972
  * Creates a temporary bypass for an IP address, expiring at the specified epoch timestamp (milliseconds since Unix epoch).
911
973
  * @summary Create connection bypass
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 3.1.0
5
+ * The version of the OpenAPI document: 3.2.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/esm/base.js 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: 3.1.0
7
+ * The version of the OpenAPI document: 3.2.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 3.1.0
5
+ * The version of the OpenAPI document: 3.2.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -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: 3.1.0
7
+ * The version of the OpenAPI document: 3.2.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 3.1.0
5
+ * The version of the OpenAPI document: 3.2.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -3,7 +3,7 @@
3
3
  * Reborn API
4
4
  * 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
5
5
  *
6
- * The version of the OpenAPI document: 3.1.0
6
+ * The version of the OpenAPI document: 3.2.1
7
7
  *
8
8
  *
9
9
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 3.1.0
5
+ * The version of the OpenAPI document: 3.2.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/esm/index.js 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: 3.1.0
7
+ * The version of the OpenAPI document: 3.2.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 3.1.0
5
+ * The version of the OpenAPI document: 3.2.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Reborn API
6
6
  * 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
7
7
  *
8
- * The version of the OpenAPI document: 3.1.0
8
+ * The version of the OpenAPI document: 3.2.1
9
9
  *
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -8,10 +8,10 @@ Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
9
  **targets** | [**Array<AdminPunishmentTarget>**](AdminPunishmentTarget.md) | List of targets to punish — each must have either a uuid or ipAddress | [default to undefined]
10
10
  **type** | [**PunishmentType**](PunishmentType.md) | Punishment type | [default to undefined]
11
- **severity** | **number** | Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical | [optional] [default to undefined]
11
+ **severity** | **number** | Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical | [default to undefined]
12
12
  **reason** | **string** | Reason for the punishment | [default to undefined]
13
13
  **durationSeconds** | **number** | Custom duration in seconds — if omitted the suggested duration for the type and severity is used | [optional] [default to undefined]
14
- **forcePermanent** | **boolean** | Force the punishment to be permanent regardless of the target\'s current score | [optional] [default to false]
14
+ **forcePermanent** | **boolean** | Force the punishment to be permanent regardless of the target\'s current score | [default to false]
15
15
  **notes** | **string** | Internal notes visible only to administrators — not shown to the punished player | [optional] [default to undefined]
16
16
 
17
17
  ## Example
@@ -6,7 +6,7 @@ Batch punishment apply result — one result per target
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **results** | [**Array<AdminApplyPunishmentResult>**](AdminApplyPunishmentResult.md) | Ordered list of results, one per target in the request | [optional] [default to undefined]
9
+ **results** | [**Array<AdminApplyPunishmentResult>**](AdminApplyPunishmentResult.md) | Ordered list of results, one per target in the request | [default to undefined]
10
10
 
11
11
  ## Example
12
12
 
@@ -6,12 +6,12 @@ Result of applying a punishment to a single target
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **target** | [**AdminPunishmentTarget**](AdminPunishmentTarget.md) | The target this result applies to | [optional] [default to undefined]
10
- **punishmentId** | **number** | ID of the created punishment record | [optional] [default to undefined]
11
- **type** | [**PunishmentType**](PunishmentType.md) | Punishment type applied | [optional] [default to undefined]
12
- **severity** | **number** | Severity level applied | [optional] [default to undefined]
13
- **newScore** | **number** | Updated punishment score after applying | [optional] [default to undefined]
14
- **isPermanent** | **boolean** | Whether the punishment was made permanent | [optional] [default to undefined]
9
+ **target** | [**AdminPunishmentTarget**](AdminPunishmentTarget.md) | The target this result applies to | [default to undefined]
10
+ **punishmentId** | **number** | ID of the created punishment record | [default to undefined]
11
+ **type** | [**PunishmentType**](PunishmentType.md) | Punishment type applied | [default to undefined]
12
+ **severity** | **number** | Severity level applied | [default to undefined]
13
+ **newScore** | **number** | Updated punishment score after applying | [default to undefined]
14
+ **isPermanent** | **boolean** | Whether the punishment was made permanent | [default to undefined]
15
15
  **expiresAt** | **string** | When the punishment expires — null if permanent or a WARNING | [optional] [default to undefined]
16
16
 
17
17
  ## Example
@@ -0,0 +1,25 @@
1
+ # AdminBackfillLocationResponse
2
+
3
+ Result of a location backfill run — rechecks every connection_check row missing both city and country, repopulating them from the VPN providers.
4
+
5
+ ## Properties
6
+
7
+ Name | Type | Description | Notes
8
+ ------------ | ------------- | ------------- | -------------
9
+ **processed** | **number** | Total checks attempted | [default to undefined]
10
+ **succeeded** | **number** | Checks where the provider returned at least a city or country | [default to undefined]
11
+ **failed** | **number** | Checks that errored or returned no location data | [default to undefined]
12
+
13
+ ## Example
14
+
15
+ ```typescript
16
+ import { AdminBackfillLocationResponse } from '@rebornteam/reborn-api';
17
+
18
+ const instance: AdminBackfillLocationResponse = {
19
+ processed,
20
+ succeeded,
21
+ failed,
22
+ };
23
+ ```
24
+
25
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -6,13 +6,13 @@ Client credential response
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **id** | **number** | Unique identifier for the client credential | [optional] [default to undefined]
10
- **clientId** | **string** | Client ID used for authentication | [optional] [default to undefined]
9
+ **id** | **number** | Unique identifier for the client credential | [default to undefined]
10
+ **clientId** | **string** | Client ID used for authentication | [default to undefined]
11
11
  **clientSecret** | **string** | Client secret (only returned on generation/rotation, null otherwise) | [optional] [default to undefined]
12
- **name** | **string** | Human-readable name for the client | [optional] [default to undefined]
13
- **description** | **string** | Optional description of the client\'s purpose | [optional] [default to undefined]
14
- **enabled** | **boolean** | Whether the client credential is currently enabled | [optional] [default to undefined]
15
- **createdAt** | **string** | Timestamp when the credential was created (ISO-8601 format) | [optional] [default to undefined]
12
+ **name** | **string** | Human-readable name for the client | [default to undefined]
13
+ **description** | **string** | Optional description of the client\'s purpose | [default to undefined]
14
+ **enabled** | **boolean** | Whether the client credential is currently enabled | [default to undefined]
15
+ **createdAt** | **string** | Timestamp when the credential was created (ISO-8601 format) | [default to undefined]
16
16
  **expiresAt** | **string** | Timestamp when the credential expires (ISO-8601 format). Null means the credential never expires. | [optional] [default to undefined]
17
17
 
18
18
  ## Example
@@ -6,10 +6,10 @@ Connection bypass response
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **id** | **number** | Unique identifier for the bypass | [optional] [default to undefined]
10
- **ipAddress** | **string** | IP address that is bypassed | [optional] [default to undefined]
11
- **expiresAt** | **string** | Timestamp when the bypass expires (ISO-8601 format) | [optional] [default to undefined]
12
- **createdAt** | **string** | Timestamp when the bypass was created (ISO-8601 format) | [optional] [default to undefined]
9
+ **id** | **number** | Unique identifier for the bypass | [default to undefined]
10
+ **ipAddress** | **string** | IP address that is bypassed | [default to undefined]
11
+ **expiresAt** | **string** | Timestamp when the bypass expires (ISO-8601 format) | [default to undefined]
12
+ **createdAt** | **string** | Timestamp when the bypass was created (ISO-8601 format) | [default to undefined]
13
13
 
14
14
  ## Example
15
15
 
@@ -6,9 +6,11 @@ Result from a single VPN detection service for a given IP address
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **service** | **string** | Service identifier | [optional] [default to undefined]
10
- **result** | **boolean** | Whether this service flagged the IP as a VPN, proxy, or Tor exit node | [optional] [default to undefined]
11
- **checkedAt** | **string** | When this check was last performed | [optional] [default to undefined]
9
+ **service** | **string** | Service identifier | [default to undefined]
10
+ **result** | **boolean** | Whether this service flagged the IP as a VPN, proxy, or Tor exit node | [default to undefined]
11
+ **checkedAt** | **string** | When this check was last performed | [default to undefined]
12
+ **city** | **string** | City reported by this service, if available | [optional] [default to undefined]
13
+ **country** | **string** | Country code reported by this service, if available | [optional] [default to undefined]
12
14
 
13
15
  ## Example
14
16
 
@@ -19,6 +21,8 @@ const instance: AdminConnectionCheckResult = {
19
21
  service,
20
22
  result,
21
23
  checkedAt,
24
+ city,
25
+ country,
22
26
  };
23
27
  ```
24
28
 
@@ -4,11 +4,58 @@ 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 | Backfill missing location data|
7
8
  |[**createBypass**](#createbypass) | **POST** /admin/connection/bypass | Create connection bypass|
8
9
  |[**listAllConnections**](#listallconnections) | **GET** /admin/connection | List all connections (paginated)|
9
10
  |[**listConnections**](#listconnections) | **GET** /admin/connection/recent | List recent connections|
10
11
  |[**recheckService**](#recheckservice) | **POST** /admin/connection/{connectionId}/recheck/{service} | Refresh a single VPN check|
11
12
 
13
+ # **backfillLocation**
14
+ > AdminBackfillLocationResponse backfillLocation()
15
+
16
+ Iterates every connection_check row where both city and country are NULL and re-runs that row\'s source VPN service to populate location data. Concurrency is capped to avoid overwhelming external providers. Synchronous — returns once the run completes.
17
+
18
+ ### Example
19
+
20
+ ```typescript
21
+ import {
22
+ AdminConnectionsApi,
23
+ Configuration
24
+ } from '@rebornteam/reborn-api';
25
+
26
+ const configuration = new Configuration();
27
+ const apiInstance = new AdminConnectionsApi(configuration);
28
+
29
+ const { status, data } = await apiInstance.backfillLocation();
30
+ ```
31
+
32
+ ### Parameters
33
+ This endpoint does not have any parameters.
34
+
35
+
36
+ ### Return type
37
+
38
+ **AdminBackfillLocationResponse**
39
+
40
+ ### Authorization
41
+
42
+ [DiscordAuth](../README.md#DiscordAuth)
43
+
44
+ ### HTTP request headers
45
+
46
+ - **Content-Type**: Not defined
47
+ - **Accept**: application/json
48
+
49
+
50
+ ### HTTP response details
51
+ | Status code | Description | Response headers |
52
+ |-------------|-------------|------------------|
53
+ |**200** | Backfill completed | - |
54
+ |**401** | Unauthorized - Authentication required | - |
55
+ |**403** | Forbidden - Moderator role required | - |
56
+
57
+ [[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)
58
+
12
59
  # **createBypass**
13
60
  > AdminConnectionBypassResponse createBypass(createBypassRequest)
14
61
 
@@ -8,10 +8,10 @@ Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
9
  **targets** | [**Array<AdminPunishmentTarget>**](AdminPunishmentTarget.md) | List of targets to evaluate — each must have either a uuid or ipAddress | [default to undefined]
10
10
  **type** | [**PunishmentType**](PunishmentType.md) | Punishment type | [default to undefined]
11
- **severity** | **number** | Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical | [optional] [default to undefined]
11
+ **severity** | **number** | Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical | [default to undefined]
12
12
  **reason** | **string** | Reason for the punishment (not used in evaluation, required for apply) | [default to undefined]
13
13
  **durationSeconds** | **number** | Custom duration in seconds — if omitted the suggested duration for the type and severity is used | [optional] [default to undefined]
14
- **forcePermanent** | **boolean** | Force the punishment to be permanent regardless of the target\'s current score | [optional] [default to false]
14
+ **forcePermanent** | **boolean** | Force the punishment to be permanent regardless of the target\'s current score | [default to false]
15
15
 
16
16
  ## Example
17
17
 
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
7
7
  ------------ | ------------- | ------------- | -------------
8
8
  **id** | **number** | | [default to undefined]
9
9
  **ipAddress** | **string** | | [default to undefined]
10
- **location** | **string** | | [default to undefined]
10
+ **location** | **string** | | [optional] [default to undefined]
11
11
  **isVpn** | **boolean** | | [default to undefined]
12
12
  **isBypassed** | **boolean** | | [default to undefined]
13
13
  **bypassExpiresAt** | **string** | | [optional] [default to undefined]
@@ -15,7 +15,7 @@ Name | Type | Description | Notes
15
15
  **lastSeen** | **string** | | [optional] [default to undefined]
16
16
  **percentPositive** | **number** | | [default to undefined]
17
17
  **numberOfChecks** | **number** | | [default to undefined]
18
- **results** | [**Array<AdminConnectionCheckResult>**](AdminConnectionCheckResult.md) | Results from each VPN detection service for this IP address | [optional] [default to undefined]
18
+ **results** | [**Array<AdminConnectionCheckResult>**](AdminConnectionCheckResult.md) | Results from each VPN detection service for this IP address | [default to undefined]
19
19
 
20
20
  ## Example
21
21
 
@@ -6,8 +6,8 @@ A single IP address match in a punishment search, with all players ever seen on
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **ipAddress** | **string** | IP address | [optional] [default to undefined]
10
- **players** | [**Array<AdminPlayerSearchResult>**](AdminPlayerSearchResult.md) | Players ever seen on this IP | [optional] [default to undefined]
9
+ **ipAddress** | **string** | IP address | [default to undefined]
10
+ **players** | [**Array<AdminPlayerSearchResult>**](AdminPlayerSearchResult.md) | Players ever seen on this IP | [default to undefined]
11
11
 
12
12
  ## Example
13
13
 
@@ -6,11 +6,11 @@ Paginated connection list response
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **data** | [**Array<AdminDashboardConnectionResponse>**](AdminDashboardConnectionResponse.md) | Connections on the current page | [optional] [default to undefined]
10
- **total** | **number** | Total number of connections matching the filters | [optional] [default to undefined]
11
- **page** | **number** | Current page (1-indexed) | [optional] [default to undefined]
12
- **limit** | **number** | Page size | [optional] [default to undefined]
13
- **totalPages** | **number** | Total number of pages | [optional] [default to undefined]
9
+ **data** | [**Array<AdminDashboardConnectionResponse>**](AdminDashboardConnectionResponse.md) | Connections on the current page | [default to undefined]
10
+ **total** | **number** | Total number of connections matching the filters | [default to undefined]
11
+ **page** | **number** | Current page (1-indexed) | [default to undefined]
12
+ **limit** | **number** | Page size | [default to undefined]
13
+ **totalPages** | **number** | Total number of pages | [default to undefined]
14
14
 
15
15
  ## Example
16
16
 
@@ -6,11 +6,11 @@ Paginated player list response
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **data** | [**Array<AdminPlayerSummary>**](AdminPlayerSummary.md) | Players on the current page | [optional] [default to undefined]
10
- **total** | **number** | Total number of players matching the search filter | [optional] [default to undefined]
11
- **page** | **number** | Current page (1-indexed) | [optional] [default to undefined]
12
- **limit** | **number** | Page size | [optional] [default to undefined]
13
- **totalPages** | **number** | Total number of pages | [optional] [default to undefined]
9
+ **data** | [**Array<AdminPlayerSummary>**](AdminPlayerSummary.md) | Players on the current page | [default to undefined]
10
+ **total** | **number** | Total number of players matching the search filter | [default to undefined]
11
+ **page** | **number** | Current page (1-indexed) | [default to undefined]
12
+ **limit** | **number** | Page size | [default to undefined]
13
+ **totalPages** | **number** | Total number of pages | [default to undefined]
14
14
 
15
15
  ## Example
16
16
 
@@ -6,11 +6,11 @@ Paginated punishment list response
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **data** | [**Array<AdminPunishmentListItem>**](AdminPunishmentListItem.md) | Punishments on the current page | [optional] [default to undefined]
10
- **total** | **number** | Total number of punishments matching the filters | [optional] [default to undefined]
11
- **page** | **number** | Current page (1-indexed) | [optional] [default to undefined]
12
- **limit** | **number** | Page size | [optional] [default to undefined]
13
- **totalPages** | **number** | Total number of pages | [optional] [default to undefined]
9
+ **data** | [**Array<AdminPunishmentListItem>**](AdminPunishmentListItem.md) | Punishments on the current page | [default to undefined]
10
+ **total** | **number** | Total number of punishments matching the filters | [default to undefined]
11
+ **page** | **number** | Current page (1-indexed) | [default to undefined]
12
+ **limit** | **number** | Page size | [default to undefined]
13
+ **totalPages** | **number** | Total number of pages | [default to undefined]
14
14
 
15
15
  ## Example
16
16
 
@@ -6,15 +6,15 @@ Full player detail including punishment history and all known usernames
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **id** | **number** | Internal player ID | [optional] [default to undefined]
10
- **uuid** | **string** | Player Minecraft UUID | [optional] [default to undefined]
9
+ **id** | **number** | Internal player ID | [default to undefined]
10
+ **uuid** | **string** | Player Minecraft UUID | [default to undefined]
11
11
  **username** | **string** | Most recently seen username | [optional] [default to undefined]
12
- **firstJoin** | **boolean** | Whether this player still has first-join status | [optional] [default to undefined]
13
- **firstLogin** | **string** | Timestamp of first connection (ISO-8601) | [optional] [default to undefined]
12
+ **firstJoin** | **boolean** | Whether this player still has first-join status | [default to undefined]
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 | [optional] [default to undefined]
16
- **punishmentPointsPercent** | **number** | Punishment score as a percentage | [optional] [default to undefined]
17
- **usernameHistory** | [**Array<AdminUsernameHistoryEntry>**](AdminUsernameHistoryEntry.md) | All usernames this player has used, newest first | [optional] [default to undefined]
15
+ **punishmentPointsRaw** | **number** | Raw punishment score | [default to undefined]
16
+ **punishmentPointsPercent** | **number** | Punishment score as a percentage | [default to undefined]
17
+ **usernameHistory** | [**Array<AdminUsernameHistoryEntry>**](AdminUsernameHistoryEntry.md) | All usernames this player has used, newest first | [default to undefined]
18
18
 
19
19
  ## Example
20
20
 
@@ -6,7 +6,7 @@ Lightweight player reference used in search results and punishment evaluations
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **uuid** | **string** | Player Minecraft UUID | [optional] [default to undefined]
9
+ **uuid** | **string** | Player Minecraft UUID | [default to undefined]
10
10
  **username** | **string** | Most recently seen username, null if never recorded | [optional] [default to undefined]
11
11
 
12
12
  ## Example
@@ -6,14 +6,14 @@ Summary of a player record, used in list views
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **id** | **number** | Internal player ID | [optional] [default to undefined]
10
- **uuid** | **string** | Player Minecraft UUID | [optional] [default to undefined]
9
+ **id** | **number** | Internal player ID | [default to undefined]
10
+ **uuid** | **string** | Player Minecraft UUID | [default to undefined]
11
11
  **username** | **string** | Most recently seen username, null if never recorded | [optional] [default to undefined]
12
- **firstJoin** | **boolean** | Whether this player still has first-join status | [optional] [default to undefined]
13
- **firstLogin** | **string** | Timestamp of first connection (ISO-8601) | [optional] [default to undefined]
12
+ **firstJoin** | **boolean** | Whether this player still has first-join status | [default to undefined]
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 (sum of weighted punishment values) | [optional] [default to undefined]
16
- **punishmentPointsPercent** | **number** | Punishment score as a percentage. Values above 100 indicate future punishments should be permanent. | [optional] [default to undefined]
15
+ **punishmentPointsRaw** | **number** | Raw punishment score (sum of weighted punishment values) | [default to undefined]
16
+ **punishmentPointsPercent** | **number** | Punishment score as a percentage. Values above 100 indicate future punishments should be permanent. | [default to undefined]
17
17
 
18
18
  ## Example
19
19
 
@@ -6,7 +6,7 @@ Batch punishment draft — one evaluation per target
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **evaluations** | [**Array<AdminPunishmentEvaluation>**](AdminPunishmentEvaluation.md) | Ordered list of evaluations, one per target in the request | [optional] [default to undefined]
9
+ **evaluations** | [**Array<AdminPunishmentEvaluation>**](AdminPunishmentEvaluation.md) | Ordered list of evaluations, one per target in the request | [default to undefined]
10
10
 
11
11
  ## Example
12
12
 
@@ -6,16 +6,16 @@ Evaluation of a punishment\'s impact on a single target
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **target** | [**AdminPunishmentTarget**](AdminPunishmentTarget.md) | The target this evaluation applies to | [optional] [default to undefined]
10
- **affectedPlayers** | [**Array<AdminPlayerSearchResult>**](AdminPlayerSearchResult.md) | Players affected — one player for UUID targets, all players on the IP for connection targets | [optional] [default to undefined]
11
- **currentScore** | **number** | Current punishment score before applying this punishment (0–100+) | [optional] [default to undefined]
12
- **pointsToAdd** | **number** | Points this punishment would add to the score | [optional] [default to undefined]
13
- **newScore** | **number** | Projected score after applying this punishment | [optional] [default to undefined]
14
- **willBePermanent** | **boolean** | Whether this punishment would be permanent based on the current score threshold | [optional] [default to undefined]
9
+ **target** | [**AdminPunishmentTarget**](AdminPunishmentTarget.md) | The target this evaluation applies to | [default to undefined]
10
+ **affectedPlayers** | [**Array<AdminPlayerSearchResult>**](AdminPlayerSearchResult.md) | Players affected — one player for UUID targets, all players on the IP for connection targets | [default to undefined]
11
+ **currentScore** | **number** | Current punishment score before applying this punishment (0–100+) | [default to undefined]
12
+ **pointsToAdd** | **number** | Points this punishment would add to the score | [default to undefined]
13
+ **newScore** | **number** | Projected score after applying this punishment | [default to undefined]
14
+ **willBePermanent** | **boolean** | Whether this punishment would be permanent based on the current score threshold | [default to undefined]
15
15
  **durationSeconds** | **number** | Resolved duration in seconds — null if permanent or a WARNING | [optional] [default to undefined]
16
- **previousPunishmentCount** | **number** | Number of existing punishments on this target | [optional] [default to undefined]
17
- **isConnectionTarget** | **boolean** | True when the target is an IP address (connection punishment) rather than a player UUID | [optional] [default to undefined]
18
- **effectiveType** | [**PunishmentType**](PunishmentType.md) | The effective punishment type that will be applied — may differ from the requested type if escalated to BAN at threshold | [optional] [default to undefined]
16
+ **previousPunishmentCount** | **number** | Number of existing punishments on this target | [default to undefined]
17
+ **isConnectionTarget** | **boolean** | True when the target is an IP address (connection punishment) rather than a player UUID | [default to undefined]
18
+ **effectiveType** | [**PunishmentType**](PunishmentType.md) | The effective punishment type that will be applied — may differ from the requested type if escalated to BAN at threshold | [default to undefined]
19
19
 
20
20
  ## Example
21
21
 
@@ -6,9 +6,9 @@ Result of a punishment target search — either a list of matching players or a
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **kind** | [**SearchKind**](SearchKind.md) | Search kind — PLAYER for UUID/username searches, IP for IP address searches | [optional] [default to undefined]
10
- **players** | [**Array<AdminPlayerSearchResult>**](AdminPlayerSearchResult.md) | Matching players — only populated when kind=\'player\' | [optional] [default to undefined]
11
- **ipResults** | [**Array<AdminIpSearchResult>**](AdminIpSearchResult.md) | Matching IP addresses with their associated players — only populated when kind=\'ip\' | [optional] [default to undefined]
9
+ **kind** | [**SearchKind**](SearchKind.md) | Search kind — PLAYER for UUID/username searches, IP for IP address searches | [default to undefined]
10
+ **players** | [**Array<AdminPlayerSearchResult>**](AdminPlayerSearchResult.md) | Matching players — only populated when kind=\'player\' | [default to undefined]
11
+ **ipResults** | [**Array<AdminIpSearchResult>**](AdminIpSearchResult.md) | Matching IP addresses with their associated players — only populated when kind=\'ip\' | [default to undefined]
12
12
 
13
13
  ## Example
14
14
 
@@ -6,8 +6,8 @@ A single entry in a player\'s username history
6
6
 
7
7
  Name | Type | Description | Notes
8
8
  ------------ | ------------- | ------------- | -------------
9
- **username** | **string** | The username at this point in time | [optional] [default to undefined]
10
- **changedAt** | **string** | When this username was first observed (ISO-8601) | [optional] [default to undefined]
9
+ **username** | **string** | The username at this point in time | [default to undefined]
10
+ **changedAt** | **string** | When this username was first observed (ISO-8601) | [default to undefined]
11
11
 
12
12
  ## Example
13
13