Coverage for src/integrify/lsim/bulk/schemas/request.py: 100%
37 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-09-01 02:22 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-09-01 02:22 +0000
1from pydantic import Field
3from integrify.lsim import env
4from integrify.lsim.types import DateTime
5from integrify.schemas import PayloadBaseModel
8class SendBulkSMSOneMessageRequestSchema(PayloadBaseModel):
9 controlid: int
11 msisdns: list[str]
12 bulkmessage: str
14 scheduled: DateTime
15 login: str = Field(env.LSIM_LOGIN, validate_default=True) # type: ignore[assignment]
16 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) # type: ignore[assignment]
17 title: str = Field(default=env.LSIM_SENDER_NAME, validate_default=True) # type: ignore[assignment]
19 operation: str = 'submit'
20 isbulk: bool = True
23class SendBulkSMSDifferentMessagesRequestSchema(PayloadBaseModel):
24 controlid: int
26 msisdns: list[str]
27 messages: list[str]
29 scheduled: DateTime
30 login: str = Field(env.LSIM_LOGIN, validate_default=True) # type: ignore[assignment]
31 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) # type: ignore[assignment]
32 title: str = Field(default=env.LSIM_SENDER_NAME, validate_default=True) # type: ignore[assignment]
34 operation: str = 'submit'
35 isbulk: bool = False
38class GetBulkSMSReportRequestSchema(PayloadBaseModel):
39 taskid: int
41 login: str = Field(env.LSIM_LOGIN, validate_default=True) # type: ignore[assignment]
42 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) # type: ignore[assignment]
43 operation: str = 'report'
46class GetBulkSMSDeatiledReportRequestSchema(GetBulkSMSReportRequestSchema):
47 operation: str = 'detailedreport'
50class GetBulkSMSDeatiledWithDateReportRequestSchema(GetBulkSMSReportRequestSchema):
51 operation: str = 'detailedreportwithdate'
54class GetBalanceRequestSchema(PayloadBaseModel):
55 login: str = Field(env.LSIM_LOGIN, validate_default=True) # type: ignore[assignment]
56 password: str = Field(default=env.LSIM_PASSWORD, validate_default=True) # type: ignore[assignment]
57 operation: str = 'units'