feat(navigation): add prominent validation quickstart action
This commit is contained in:
parent
0bbcaba211
commit
9c6b184e39
28614 changed files with 4356173 additions and 23 deletions
|
|
@ -53,12 +53,16 @@ from app.schemas.domain import (
|
|||
ValidationRead,
|
||||
ValidationReview,
|
||||
ValidationUpdate,
|
||||
QuickStartCreateRequest,
|
||||
QuickStartCustomerData,
|
||||
QuickStartValidationSummary,
|
||||
UserCreate,
|
||||
UserRead,
|
||||
UserUpdate,
|
||||
UserPasswordResetRequest,
|
||||
)
|
||||
from app.services.domain_service import CrudService, DomainServices
|
||||
from app.services.quickstart_service import QuickStartService
|
||||
from app.services.validation_workflow import ValidationWorkflowService
|
||||
|
||||
router = APIRouter(tags=["domain"], dependencies=[Depends(current_user)])
|
||||
|
|
@ -204,6 +208,14 @@ def delete_customer(item_id: str, session: Session = Depends(get_session)):
|
|||
return commit_delete(session, DomainServices(session).customers, item_id)
|
||||
|
||||
|
||||
@router.get("/customers/{item_id}/quickstart-data", response_model=QuickStartCustomerData)
|
||||
def customer_quickstart_data(item_id: str, session: Session = Depends(get_session)):
|
||||
try:
|
||||
return QuickStartService(session).customer_data(item_id)
|
||||
except ValueError as exc:
|
||||
raise HTTPException(status_code=404, detail=str(exc)) from exc
|
||||
|
||||
|
||||
@router.get("/locations", response_model=PaginatedResponse[LocationRead])
|
||||
def list_locations(params: dict = Depends(paging), session: Session = Depends(get_session)):
|
||||
return DomainServices(session).locations.list(**params)
|
||||
|
|
@ -338,11 +350,35 @@ def get_validation(item_id: str, session: Session = Depends(get_session)):
|
|||
return item
|
||||
|
||||
|
||||
@router.get("/devices/{item_id}/last-validation", response_model=QuickStartValidationSummary | None)
|
||||
def last_device_validation(item_id: str, session: Session = Depends(get_session)):
|
||||
try:
|
||||
return QuickStartService(session).device_last_validation(item_id)
|
||||
except ValueError as exc:
|
||||
raise HTTPException(status_code=404, detail=str(exc)) from exc
|
||||
|
||||
|
||||
@router.post("/validations", response_model=ValidationRead, status_code=201)
|
||||
def create_validation(payload: ValidationCreate, session: Session = Depends(get_session)):
|
||||
return commit_create(session, DomainServices(session).validations, payload)
|
||||
|
||||
|
||||
@router.post("/validations/quick-start", response_model=ValidationRead, status_code=201)
|
||||
def create_quick_start_validation(
|
||||
payload: QuickStartCreateRequest,
|
||||
session: Session = Depends(get_session),
|
||||
me: User = Depends(current_user),
|
||||
):
|
||||
try:
|
||||
validation = QuickStartService(session).create_validation(payload, me)
|
||||
session.commit()
|
||||
session.refresh(validation)
|
||||
return validation
|
||||
except ValueError as exc:
|
||||
session.rollback()
|
||||
raise HTTPException(status_code=422, detail=str(exc)) from exc
|
||||
|
||||
|
||||
@router.put("/validations/{item_id}", response_model=ValidationRead)
|
||||
def update_validation(
|
||||
item_id: str, payload: ValidationUpdate, session: Session = Depends(get_session)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue