Coverage for src/kwai/api/v1/auth/schemas/revoked_user.py: 100%
11 statements
« prev ^ index » next coverage.py v7.6.10, created at 2024-01-01 00:00 +0000
« prev ^ index » next coverage.py v7.6.10, created at 2024-01-01 00:00 +0000
1"""Schemas for a revoked user."""
3from pydantic import BaseModel
5from kwai.api.v1.auth.schemas.resources import RevokedUserResourceIdentifier
6from kwai.core.json_api import Document, ResourceData
7from kwai.modules.identity.users.user_account import UserAccountEntity
10class RevokedUserAttributes(BaseModel):
11 """Attributes for a revoked user."""
13 revoked: bool
16class RevokedUserResource(
17 RevokedUserResourceIdentifier, ResourceData[RevokedUserAttributes, None]
18):
19 """A JSON:API resource for a revoked user."""
22class RevokedUserDocument(Document[RevokedUserResource, None]):
23 """A JSON:API document for a revoked user."""
25 @classmethod
26 def create(cls, user_account: UserAccountEntity):
27 """Create a revoked user document."""
28 return cls(
29 data=RevokedUserResource(
30 id=str(user_account.user.uuid),
31 attributes=RevokedUserAttributes(revoked=user_account.revoked),
32 )
33 )