Coverage for src/kwai/modules/identity/tokens/access_token_query.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2024-01-01 00:00 +0000

1"""Module that defines an interface for an access token query.""" 

2 

3from abc import abstractmethod 

4from typing import Self 

5 

6from kwai.core.domain.repository.query import Query 

7from kwai.modules.identity.tokens.access_token import AccessTokenIdentifier 

8from kwai.modules.identity.tokens.token_identifier import TokenIdentifier 

9from kwai.modules.identity.users.user_account import UserAccountEntity 

10 

11 

12class AccessTokenQuery(Query): 

13 """An interface for querying an access token.""" 

14 

15 @abstractmethod 

16 def filter_by_id(self, id_: AccessTokenIdentifier) -> Self: 

17 """Filter for the given id.""" 

18 raise NotImplementedError 

19 

20 @abstractmethod 

21 def filter_by_token_identifier(self, identifier: TokenIdentifier) -> Self: 

22 """Filter for the given token identifier.""" 

23 raise NotImplementedError 

24 

25 @abstractmethod 

26 def filter_by_user_account(self, user_account: UserAccountEntity) -> Self: 

27 """Filter for the given user account.""" 

28 raise NotImplementedError