Coverage for fss\starter\system\service\user_service.py: 79%

24 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-04-13 15:26 +0800

1"""User domain service interface""" 

2 

3from abc import ABC, abstractmethod 

4 

5from fastapi import UploadFile 

6from fastapi_pagination import Params 

7from starlette.responses import StreamingResponse 

8 

9from fss.common.schema.schema import Token 

10from fss.common.service.service import Service 

11from fss.starter.system.model.user_do import UserDO 

12from fss.starter.system.schema.user_schema import UserQuery, LoginCmd 

13 

14 

15class UserService(Service[UserDO], ABC): 

16 @abstractmethod 

17 async def find_by_id(self, id: int) -> UserQuery: 

18 raise NotImplementedError 

19 

20 @abstractmethod 

21 async def login(self, loginCmd: LoginCmd) -> Token: 

22 raise NotImplementedError 

23 

24 @abstractmethod 

25 async def export_user_template(self) -> StreamingResponse: 

26 raise NotImplementedError 

27 

28 @abstractmethod 

29 async def import_user(self, file: UploadFile): 

30 raise NotImplementedError 

31 

32 @abstractmethod 

33 async def export_user(self, params: Params) -> StreamingResponse: 

34 raise NotImplementedError