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
« 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
7class SendBulkSMSOneMessageRequestSchema(PayloadBaseModel):
8 controlid: int
10 msisdns: list[str]
11 bulkmessage: str
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)
18 operation: str = 'submit'
19 isbulk: bool = True
22class SendBulkSMSDifferentMessagesRequestSchema(PayloadBaseModel):
23 controlid: int
25 msisdns: list[str]
26 messages: list[str]
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)
33 operation: str = 'submit'
34 isbulk: bool = False
37class GetBulkSMSReportRequestSchema(PayloadBaseModel):
38 taskid: int
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'
45class GetBulkSMSDeatiledReportRequestSchema(GetBulkSMSReportRequestSchema):
46 operation: str = 'detailedreport'
49class GetBulkSMSDeatiledWithDateReportRequestSchema(GetBulkSMSReportRequestSchema):
50 operation: str = 'detailedreportwithdate'
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'