no-mistakes(review): Fix redundant OR, missing note field, dead code, and redundant subquery in ticket service/schema
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user