Compare commits
No commits in common. "73cef306c9876284797f3be11cbc205b5a4cd80f" and "b3ec969f992724070901e5c97326a92596c82d04" have entirely different histories.
73cef306c9
...
b3ec969f99
3 changed files with 2 additions and 96 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
[project]
|
[project]
|
||||||
name = "yandexapimanager"
|
name = "yandexapimanager"
|
||||||
version = "0.1.6"
|
version = "0.1.5"
|
||||||
description = ""
|
description = ""
|
||||||
authors = [
|
authors = [
|
||||||
{name = "Evgeny (Krymmy) Momotov",email = "evgeny.momotov@gmail.com"}
|
{name = "Evgeny (Krymmy) Momotov",email = "evgeny.momotov@gmail.com"}
|
||||||
|
|
|
||||||
|
|
@ -263,54 +263,3 @@ class YandexManagerClient:
|
||||||
if not response:
|
if not response:
|
||||||
return None
|
return None
|
||||||
return YandexFleetInspectionCheeks(**response)
|
return YandexFleetInspectionCheeks(**response)
|
||||||
|
|
||||||
|
|
||||||
async def _reports_rout(self, method: str, url: str, **kwargs) -> dict | list | None:
|
|
||||||
response = await self._request(method, f'/reports/{url.strip("/")}', **kwargs)
|
|
||||||
if not response:
|
|
||||||
return None
|
|
||||||
return response
|
|
||||||
|
|
||||||
|
|
||||||
async def create_supply_hours_condition_report(self, report: SupplyHoursConditionReportIn) -> SupplyHoursConditionReport | None:
|
|
||||||
response = await self._reports_rout('POST', 'supply_hours_conditions/', json=report.model_dump())
|
|
||||||
if not response:
|
|
||||||
return None
|
|
||||||
return SupplyHoursConditionReport(**response)
|
|
||||||
|
|
||||||
async def get_yandex_fleet_check_reports(self, **params) -> list[YandexFleetCheckReport] | None:
|
|
||||||
response = await self._reports_rout('GET', 'yandex_fleet_checks/', params=params)
|
|
||||||
if not response:
|
|
||||||
return []
|
|
||||||
return [YandexFleetCheckReport(**report) for report in response]
|
|
||||||
|
|
||||||
|
|
||||||
async def create_yandex_fleet_check_report(self, report: YandexFleetCheckReportIn) -> YandexFleetCheckReport | None:
|
|
||||||
response = await self._reports_rout('POST', 'yandex_fleet_checks/', json=report.model_dump())
|
|
||||||
if not response:
|
|
||||||
return None
|
|
||||||
return YandexFleetCheckReport(**response)
|
|
||||||
|
|
||||||
async def get_group_check_reports(self, **params) -> list[GroupCheckReport] | None:
|
|
||||||
response = await self._reports_rout('GET', 'group_checks/', params=params)
|
|
||||||
if not response:
|
|
||||||
return []
|
|
||||||
return [GroupCheckReport(**report) for report in response]
|
|
||||||
|
|
||||||
async def create_group_check_report(self, report: GroupCheckReportIn) -> GroupCheckReport | None:
|
|
||||||
response = await self._reports_rout('POST', 'group_checks/', json=report.model_dump())
|
|
||||||
if not response:
|
|
||||||
return None
|
|
||||||
return GroupCheckReport(**response)
|
|
||||||
|
|
||||||
async def get_driver_check_reports(self, **params) -> list[DriverCheckReport] | None:
|
|
||||||
response = await self._reports_rout('GET', 'driver_checks/', params=params)
|
|
||||||
if not response:
|
|
||||||
return []
|
|
||||||
return [DriverCheckReport(**report) for report in response]
|
|
||||||
|
|
||||||
async def create_driver_check_report(self, report: DriverCheckReportIn) -> DriverCheckReport | None:
|
|
||||||
response = await self._reports_rout('POST', 'driver_checks/', json=report.model_dump())
|
|
||||||
if not response:
|
|
||||||
return None
|
|
||||||
return DriverCheckReport(**response)
|
|
||||||
|
|
|
||||||
|
|
@ -283,47 +283,4 @@ class GroupInspectionCheek(BaseInspectionsCheckModel, BasicModel):
|
||||||
|
|
||||||
|
|
||||||
class DriverInspectionCheek(BaseInspectionsCheckModel, BasicModel):
|
class DriverInspectionCheek(BaseInspectionsCheckModel, BasicModel):
|
||||||
drive_inspection: DriverInspection = Field(description="Инспекция водителя")
|
drive_inspection: DriverInspection = Field(description="Инспекция водителя")
|
||||||
|
|
||||||
|
|
||||||
class SupplyHoursConditionReport(UUIDModel, BasicModel):
|
|
||||||
supply_hours_condition: Optional[SupplyHoursCondition] = Field(description="Условие по часам поставки", default=None)
|
|
||||||
driver: Optional[Driver] = Field(description="Водитель", default=None)
|
|
||||||
supply_duration: int = Field(description="Время работы в часах", default=0)
|
|
||||||
is_fulfilled: bool = Field(description="Соблюдение условия", default=False)
|
|
||||||
|
|
||||||
|
|
||||||
class SupplyHoursConditionReportIn(BaseModel):
|
|
||||||
supply_hours_condition_id: Optional[int] = Field(description="Условие по часам поставки", default=None)
|
|
||||||
driver_id: Optional[int] = Field(description="Водитель", default=None)
|
|
||||||
supply_duration: Optional[int] = Field(description="Время работы в часах", default=0)
|
|
||||||
is_fulfilled: Optional[bool] = Field(description="Соблюдение условия", default=False)
|
|
||||||
|
|
||||||
|
|
||||||
class CheckReport(UUIDModel, BasicModel):
|
|
||||||
owner: Optional[User] = Field(description="Владелец", default=None)
|
|
||||||
supply_hours_condition_report: Optional[SupplyHoursConditionReportIn] = Field(description="Водитель", default=None)
|
|
||||||
action_do: Optional[Action] = Field(description="Действие", default=None)
|
|
||||||
|
|
||||||
class YandexFleetCheckReport(CheckReport):
|
|
||||||
yandex_fleet_check: Optional[YandexFleetInspectionCheeks] = Field(description="Инспекция флота", default=None)
|
|
||||||
|
|
||||||
class GroupCheckReport(CheckReport):
|
|
||||||
group_check: Optional[GroupInspectionCheek] = Field(description="Инспекция группы", default=None)
|
|
||||||
|
|
||||||
class DriverCheckReport(CheckReport):
|
|
||||||
driver_check: Optional[DriverInspectionCheek] = Field(description="Инспекция водителя", default=None)
|
|
||||||
|
|
||||||
class CheckReportIn(BaseModel):
|
|
||||||
owner_id: Optional[int] = Field(description="Владелец", default=None)
|
|
||||||
supply_hours_condition_report_id: Optional[int] = Field(description="Водитель", default=None)
|
|
||||||
action_do_id: Optional[int] = Field(description="Действие", default=None)
|
|
||||||
|
|
||||||
class YandexFleetCheckReportIn(CheckReportIn):
|
|
||||||
yandex_fleet_check_id: Optional[int] = Field(description="Инспекция флота", default=None)
|
|
||||||
|
|
||||||
class GroupCheckReportIn(CheckReportIn):
|
|
||||||
group_check_id: Optional[int] = Field(description="Инспекция группы", default=None)
|
|
||||||
|
|
||||||
class DriverCheckReportIn(CheckReportIn):
|
|
||||||
driver_check_id: Optional[int] = Field(description="Инспекция водителя", default=None)
|
|
||||||
Loading…
Add table
Reference in a new issue