Coverage for packages/lsim/src/integrify/lsim/bulk/schemas/request.py: 100%

37 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-10-19 02:39 +0000

1from integrify.lsim import env 

2from integrify.lsim.types import DateTime 

3from integrify.schemas import PayloadBaseModel 

4from pydantic import Field 

5 

6 

7class SendBulkSMSOneMessageRequestSchema(PayloadBaseModel): 

8 controlid: int 

9 

10 msisdns: list[str] 

11 bulkmessage: str 

12 

13 scheduled: DateTime 

14 login: str = Field(env.LSIM_LOGIN, validate_default=True) 

15 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) 

16 title: str = Field(default=env.LSIM_SENDER_NAME, validate_default=True) 

17 

18 operation: str = 'submit' 

19 isbulk: bool = True 

20 

21 

22class SendBulkSMSDifferentMessagesRequestSchema(PayloadBaseModel): 

23 controlid: int 

24 

25 msisdns: list[str] 

26 messages: list[str] 

27 

28 scheduled: DateTime 

29 login: str = Field(env.LSIM_LOGIN, validate_default=True) 

30 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) 

31 title: str = Field(default=env.LSIM_SENDER_NAME, validate_default=True) 

32 

33 operation: str = 'submit' 

34 isbulk: bool = False 

35 

36 

37class GetBulkSMSReportRequestSchema(PayloadBaseModel): 

38 taskid: int 

39 

40 login: str = Field(env.LSIM_LOGIN, validate_default=True) 

41 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) 

42 operation: str = 'report' 

43 

44 

45class GetBulkSMSDeatiledReportRequestSchema(GetBulkSMSReportRequestSchema): 

46 operation: str = 'detailedreport' 

47 

48 

49class GetBulkSMSDeatiledWithDateReportRequestSchema(GetBulkSMSReportRequestSchema): 

50 operation: str = 'detailedreportwithdate' 

51 

52 

53class GetBalanceRequestSchema(PayloadBaseModel): 

54 login: str = Field(env.LSIM_LOGIN, validate_default=True) 

55 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) 

56 operation: str = 'units'