fix: MemoryModel.model_attribute type hint

This commit is contained in:
Éloi Rivard 2024-04-07 20:21:30 +02:00
parent 88832b5b3b
commit 702eec7aca
No known key found for this signature in database
GPG key ID: 7EDA204EA57DD184

View file

@ -4,6 +4,7 @@ import typing
import uuid import uuid
from typing import ClassVar from typing import ClassVar
from typing import Dict from typing import Dict
from typing import Optional
import canaille.core.models import canaille.core.models
import canaille.oidc.models import canaille.oidc.models
@ -242,28 +243,28 @@ class MemoryModel(BackendModel):
class User(canaille.core.models.User, MemoryModel): class User(canaille.core.models.User, MemoryModel):
identifier_attribute: ClassVar[str] = "user_name" identifier_attribute: ClassVar[str] = "user_name"
model_attributes: ClassVar[Dict[str, str]] = { model_attributes: ClassVar[Dict[str, Optional[str]]] = {
"groups": ("Group", "members"), "groups": ("Group", "members"),
} }
class Group(canaille.core.models.Group, MemoryModel): class Group(canaille.core.models.Group, MemoryModel):
model_attributes: ClassVar[Dict[str, str]] = { identifier_attribute: ClassVar[str] = "display_name"
model_attributes: ClassVar[Dict[str, Optional[str]]] = {
"members": ("User", "groups"), "members": ("User", "groups"),
} }
identifier_attribute: ClassVar[str] = "display_name"
class Client(canaille.oidc.models.Client, MemoryModel): class Client(canaille.oidc.models.Client, MemoryModel):
identifier_attribute: ClassVar[str] = "client_id" identifier_attribute: ClassVar[str] = "client_id"
model_attributes: ClassVar[Dict[str, str]] = { model_attributes: ClassVar[Dict[str, Optional[str]]] = {
"audience": ("Client", None), "audience": ("Client", None),
} }
class AuthorizationCode(canaille.oidc.models.AuthorizationCode, MemoryModel): class AuthorizationCode(canaille.oidc.models.AuthorizationCode, MemoryModel):
identifier_attribute: ClassVar[str] = "authorization_code_id" identifier_attribute: ClassVar[str] = "authorization_code_id"
model_attributes: ClassVar[Dict[str, str]] = { model_attributes: ClassVar[Dict[str, Optional[str]]] = {
"client": ("Client", None), "client": ("Client", None),
"subject": ("User", None), "subject": ("User", None),
} }
@ -271,7 +272,7 @@ class AuthorizationCode(canaille.oidc.models.AuthorizationCode, MemoryModel):
class Token(canaille.oidc.models.Token, MemoryModel): class Token(canaille.oidc.models.Token, MemoryModel):
identifier_attribute: ClassVar[str] = "token_id" identifier_attribute: ClassVar[str] = "token_id"
model_attributes: ClassVar[Dict[str, str]] = { model_attributes: ClassVar[Dict[str, Optional[str]]] = {
"client": ("Client", None), "client": ("Client", None),
"subject": ("User", None), "subject": ("User", None),
"audience": ("Client", None), "audience": ("Client", None),
@ -280,7 +281,7 @@ class Token(canaille.oidc.models.Token, MemoryModel):
class Consent(canaille.oidc.models.Consent, MemoryModel): class Consent(canaille.oidc.models.Consent, MemoryModel):
identifier_attribute: ClassVar[str] = "consent_id" identifier_attribute: ClassVar[str] = "consent_id"
model_attributes: ClassVar[Dict[str, str]] = { model_attributes: ClassVar[Dict[str, Optional[str]]] = {
"client": ("Client", None), "client": ("Client", None),
"subject": ("User", None), "subject": ("User", None),
} }