no-mistakes(review): Fix redundant OR, missing note field, dead code, and redundant subquery in ticket service/schema

This commit is contained in:
root
2026-07-23 17:18:13 +00:00
parent 65622de7a6
commit 31ae78ec07
2 changed files with 5 additions and 7 deletions
+1
View File
@@ -36,6 +36,7 @@ class TicketCreate(BaseModel):
class TicketUpdate(BaseModel): class TicketUpdate(BaseModel):
status: str | None = None status: str | None = None
note: str | None = None
unit_id: int | None = None unit_id: int | None = None
category_id: int | None = None category_id: int | None = None
priority: str | None = None priority: str | None = None
+4 -7
View File
@@ -11,6 +11,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import selectinload from sqlalchemy.orm import selectinload
from app.models.ticket import Escalation, Ticket, TicketPhoto, TicketTimeline from app.models.ticket import Escalation, Ticket, TicketPhoto, TicketTimeline
from app.models.unit import Unit
from app.models.user import User from app.models.user import User
from app.services.sla import compute_sla_deadline, get_sla_status from app.services.sla import compute_sla_deadline, get_sla_status
@@ -174,8 +175,8 @@ async def list_tickets(
count_query = count_query.where(Ticket.priority == priority_filter) count_query = count_query.where(Ticket.priority == priority_filter)
if property_filter: if property_filter:
# Join unit to filter by property # Join unit to filter by property
query = query.join(Ticket.unit).where(Ticket.unit.has(property=property_filter)) query = query.join(Ticket.unit).where(Unit.property == property_filter)
count_query = count_query.join(Ticket.unit).where(Ticket.unit.has(property=property_filter)) count_query = count_query.join(Ticket.unit).where(Unit.property == property_filter)
if category_id: if category_id:
query = query.where(Ticket.category_id == category_id) query = query.where(Ticket.category_id == category_id)
count_query = count_query.where(Ticket.category_id == category_id) count_query = count_query.where(Ticket.category_id == category_id)
@@ -268,7 +269,7 @@ async def update_ticket(
ticket.id, ticket.id,
from_status=old_status, from_status=old_status,
to_status=new_status, to_status=new_status,
note=data.get("note") or data.get("note"), note=data.get("note"),
user_id=user.id if user else None, user_id=user.id if user else None,
) )
@@ -293,7 +294,3 @@ async def update_ticket(
return ticket return ticket
async def get_ticket_with_sla(db: AsyncSession, ticket_id: int) -> Ticket:
"""Get a ticket and attach SLA status to it."""
ticket = await get_ticket(db, ticket_id)
return ticket