root: fix API schema for kotlin (#7601)

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
Jens L 2023-11-17 00:07:21 +01:00 committed by GitHub
parent 60af4a2e37
commit b5e059dfd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 60 additions and 39 deletions

View File

@ -30,7 +30,7 @@ class RuntimeDict(TypedDict):
uname: str
class SystemSerializer(PassiveSerializer):
class SystemInfoSerializer(PassiveSerializer):
"""Get system information."""
http_headers = SerializerMethodField()
@ -91,14 +91,14 @@ class SystemView(APIView):
permission_classes = [HasPermission("authentik_rbac.view_system_info")]
pagination_class = None
filter_backends = []
serializer_class = SystemSerializer
serializer_class = SystemInfoSerializer
@extend_schema(responses={200: SystemSerializer(many=False)})
@extend_schema(responses={200: SystemInfoSerializer(many=False)})
def get(self, request: Request) -> Response:
"""Get system information."""
return Response(SystemSerializer(request).data)
return Response(SystemInfoSerializer(request).data)
@extend_schema(responses={200: SystemSerializer(many=False)})
@extend_schema(responses={200: SystemInfoSerializer(many=False)})
def post(self, request: Request) -> Response:
"""Get system information."""
return Response(SystemSerializer(request).data)
return Response(SystemInfoSerializer(request).data)

View File

@ -19,7 +19,7 @@ from authentik.stages.authenticator.oath import TOTP
from authentik.stages.authenticator.util import hex_validator, random_hex
class TOTPDigits(models.IntegerChoices):
class TOTPDigits(models.TextChoices):
"""OTP Time Digits"""
SIX = 6, _("6 digits, widely compatible")

View File

@ -6241,10 +6241,10 @@
"title": "Friendly name"
},
"digits": {
"type": "integer",
"type": "string",
"enum": [
6,
8
"6",
"8"
],
"title": "Digits"
}

View File

@ -107,7 +107,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/System'
$ref: '#/components/schemas/SystemInfo'
description: ''
'400':
content:
@ -133,7 +133,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/System'
$ref: '#/components/schemas/SystemInfo'
description: ''
'400':
content:
@ -22451,10 +22451,10 @@ paths:
- in: query
name: digits
schema:
type: integer
type: string
enum:
- 6
- 8
- '6'
- '8'
description: |-
* `6` - 6 digits, widely compatible
* `8` - 8 digits, not compatible with apps like Google Authenticator
@ -28794,10 +28794,7 @@ components:
type: string
nullable: true
digits:
allOf:
- $ref: '#/components/schemas/DigitsEnum'
minimum: -2147483648
maximum: 2147483647
$ref: '#/components/schemas/DigitsEnum'
required:
- component
- digits
@ -28828,10 +28825,7 @@ components:
nullable: true
minLength: 1
digits:
allOf:
- $ref: '#/components/schemas/DigitsEnum'
minimum: -2147483648
maximum: 2147483647
$ref: '#/components/schemas/DigitsEnum'
required:
- digits
- name
@ -29920,9 +29914,9 @@ components:
* `http://www.w3.org/2001/04/xmlenc#sha512` - SHA512
DigitsEnum:
enum:
- 6
- 8
type: integer
- '6'
- '8'
type: string
description: |-
* `6` - 6 digits, widely compatible
* `8` - 8 digits, not compatible with apps like Google Authenticator
@ -35909,10 +35903,7 @@ components:
nullable: true
minLength: 1
digits:
allOf:
- $ref: '#/components/schemas/DigitsEnum'
minimum: -2147483648
maximum: 2147483647
$ref: '#/components/schemas/DigitsEnum'
PatchedAuthenticatorValidateStageRequest:
type: object
description: AuthenticatorValidateStage Serializer
@ -41152,7 +41143,7 @@ components:
* `user_username` - Based on the username
* `user_email` - Based on the User's Email. This is recommended over the UPN method.
* `user_upn` - Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains.
System:
SystemInfo:
type: object
description: Get system information.
properties:

View File

@ -8,10 +8,10 @@ import { msg } from "@lit/localize";
import { TemplateResult, html } from "lit";
import { customElement, state } from "lit/decorators.js";
import { AdminApi, OutpostsApi, System } from "@goauthentik/api";
import { AdminApi, OutpostsApi, SystemInfo } from "@goauthentik/api";
@customElement("ak-admin-status-system")
export class SystemStatusCard extends AdminStatusCard<System> {
export class SystemStatusCard extends AdminStatusCard<SystemInfo> {
now?: Date;
icon = "pf-icon pf-icon-server";
@ -19,7 +19,7 @@ export class SystemStatusCard extends AdminStatusCard<System> {
@state()
statusSummary?: string;
async getPrimaryValue(): Promise<System> {
async getPrimaryValue(): Promise<SystemInfo> {
this.now = new Date();
let status = await new AdminApi(DEFAULT_CONFIG).adminSystemRetrieve();
if (status.embeddedOutpostHost === "" || !status.embeddedOutpostHost.includes("http")) {
@ -50,7 +50,7 @@ export class SystemStatusCard extends AdminStatusCard<System> {
});
}
getStatus(value: System): Promise<AdminStatus> {
getStatus(value: SystemInfo): Promise<AdminStatus> {
if (value.embeddedOutpostHost === "") {
this.statusSummary = msg("Warning");
return Promise.resolve<AdminStatus>({

View File

@ -89,14 +89,14 @@ export class AuthenticatorTOTPStageForm extends ModelForm<AuthenticatorTOTPStage
>
<select name="users" class="pf-c-form-control">
<option
value="${DigitsEnum.NUMBER_6}"
?selected=${this.instance?.digits === DigitsEnum.NUMBER_6}
value="${DigitsEnum._6}"
?selected=${this.instance?.digits === DigitsEnum._6}
>
${msg("6 digits, widely compatible")}
</option>
<option
value="${DigitsEnum.NUMBER_8}"
?selected=${this.instance?.digits === DigitsEnum.NUMBER_8}
value="${DigitsEnum._8}"
?selected=${this.instance?.digits === DigitsEnum._8}
>
${msg(
"8 digits, not compatible with apps like Google Authenticator",

View File

@ -6066,6 +6066,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -6343,6 +6343,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -5982,6 +5982,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -7968,6 +7968,9 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -6190,6 +6190,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -7868,4 +7868,7 @@ Bindings to groups/users are checked against the user of the event.</source>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body></file></xliff>

View File

@ -5975,6 +5975,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -7970,6 +7970,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -6023,6 +6023,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>

View File

@ -6022,6 +6022,9 @@ Bindings to groups/users are checked against the user of the event.</source>
</trans-unit>
<trans-unit id="s3d2a8b86a4f5a810">
<source>Successfully created user and added to group <x id="0" equiv-text="${this.group.name}"/></source>
</trans-unit>
<trans-unit id="s824e0943a7104668">
<source>This user will be added to the group "<x id="0" equiv-text="${this.targetGroup.name}"/>".</source>
</trans-unit>
</body>
</file>