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

1"""Schemas for a revoked user.""" 

2 

3from pydantic import BaseModel 

4 

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 

8 

9 

10class RevokedUserAttributes(BaseModel): 

11 """Attributes for a revoked user.""" 

12 

13 revoked: bool 

14 

15 

16class RevokedUserResource( 

17 RevokedUserResourceIdentifier, ResourceData[RevokedUserAttributes, None] 

18): 

19 """A JSON:API resource for a revoked user.""" 

20 

21 

22class RevokedUserDocument(Document[RevokedUserResource, None]): 

23 """A JSON:API document for a revoked user.""" 

24 

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 )