File size: 1,821 Bytes
09ecaf7
 
d25db6b
09ecaf7
 
 
 
 
 
 
 
 
 
 
f503159
09ecaf7
f503159
09ecaf7
 
 
f503159
 
09ecaf7
f503159
d25db6b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
394963a
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from fastapi import APIRouter, HTTPException, Depends
from sqlalchemy.orm import Session
from typing import List
from .. import crud, database, schemas

router = APIRouter()

def get_db():
    db = database.SessionLocal()
    try:
        yield db
    finally:
        db.close()

@router.put("/captions/{caption_id}/metadata", response_model=schemas.CaptionOut)
def update_metadata(
    caption_id: str,
    update: schemas.CaptionUpdate,
    db: Session = Depends(get_db)
):
    caption = crud.update_caption(db, caption_id, update)
    if not caption:
        raise HTTPException(404, "caption not found")
    return schemas.CaptionOut.from_orm(caption)

@router.get("/sources", response_model=List[schemas.SourceOut])
def get_sources(db: Session = Depends(get_db)):
    """Get all sources for lookup"""
    return crud.get_sources(db)

@router.get("/regions", response_model=List[schemas.RegionOut])
def get_regions(db: Session = Depends(get_db)):
    """Get all regions for lookup"""
    return crud.get_regions(db)

@router.get("/types", response_model=List[schemas.TypeOut])
def get_types(db: Session = Depends(get_db)):
    """Get all types for lookup"""
    return crud.get_types(db)

@router.get("/spatial-references", response_model=List[schemas.SpatialReferenceOut])
def get_spatial_references(db: Session = Depends(get_db)):
    """Get all spatial references for lookup"""
    return crud.get_spatial_references(db)

@router.get("/image-types", response_model=List[schemas.ImageTypeOut])
def get_image_types(db: Session = Depends(get_db)):
    """Get all image types for lookup"""
    return crud.get_image_types(db)

@router.get("/countries", response_model=List[schemas.CountryOut])
def get_countries(db: Session = Depends(get_db)):
    """Get all countries for lookup"""
    return crud.get_countries(db)