Sprint 2: Ticket Engine, SLA Engine, Photo Uploads, Category System #2

Merged
abiba-bot merged 7 commits from fm/denya-onecare-s2 into main 2026-07-23 18:55:00 +00:00
4 changed files with 5 additions and 11 deletions
Showing only changes of commit 344d555529 - Show all commits
+1 -4
View File
@@ -11,11 +11,9 @@ from typing import Annotated
from fastapi import APIRouter, Depends, HTTPException, Query, UploadFile, status from fastapi import APIRouter, Depends, HTTPException, Query, UploadFile, status
from sqlalchemy import select from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import selectinload
from app.core.config import settings from app.core.config import settings
from app.core.database import get_db from app.core.database import get_db
from app.core.security import get_current_user, require_roles from app.core.security import get_current_user
from app.models.category import Category from app.models.category import Category
from app.models.ticket import Ticket, TicketPhoto from app.models.ticket import Ticket, TicketPhoto
from app.models.user import User from app.models.user import User
@@ -28,7 +26,6 @@ from app.schemas.ticket import (
TicketListResponse, TicketListResponse,
TicketOut, TicketOut,
TicketPhotoOut, TicketPhotoOut,
TicketTimelineOut,
TicketUpdate, TicketUpdate,
) )
from app.services import ticket as ticket_service from app.services import ticket as ticket_service
+2 -2
View File
@@ -1,6 +1,6 @@
"""Seed script — users and units. """Seed script — users, units, and categories.
Called on first startup or via :func:`seed_all`. Called on first startup via lifespan hook.
""" """
from __future__ import annotations from __future__ import annotations
-3
View File
@@ -4,9 +4,6 @@ from __future__ import annotations
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from app.models.ticket import Ticket from app.models.ticket import Ticket
# ── Priority SLA Targets (from PRD §11) ────────────────────────────── # ── Priority SLA Targets (from PRD §11) ──────────────────────────────
+2 -2
View File
@@ -10,10 +10,10 @@ from sqlalchemy import func, select
from sqlalchemy.ext.asyncio import AsyncSession 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, TicketTimeline
from app.models.unit import Unit 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
# ── Status Transition Map ──────────────────────────────────────────── # ── Status Transition Map ────────────────────────────────────────────
# Keys: current status → list of valid next statuses # Keys: current status → list of valid next statuses