Showing
4 changed files
with
58 additions
and
19 deletions
| ... | @@ -22,6 +22,7 @@ from presupuestov1.routers import ( | ... | @@ -22,6 +22,7 @@ from presupuestov1.routers import ( |
| 22 | classifier, | 22 | classifier, |
| 23 | classifier_income, | 23 | classifier_income, |
| 24 | daily, | 24 | daily, |
| 25 | + search, | ||
| 25 | ) | 26 | ) |
| 26 | 27 | ||
| 27 | 28 | ||
| ... | @@ -46,14 +47,13 @@ app = FastAPI( | ... | @@ -46,14 +47,13 @@ app = FastAPI( |
| 46 | CacheMiddleware, | 47 | CacheMiddleware, |
| 47 | cache=cache.cache, | 48 | cache=cache.cache, |
| 48 | rules=[ | 49 | rules=[ |
| 49 | - Rule(match=re.compile(r"^/api/proyecto/.*"), ttl=0), | 50 | + Rule(match=re.compile(r"^/api/search/.*"), ttl=0), |
| 50 | Rule(match=re.compile(r'^/api/.+'), ttl=86400, status=200), | 51 | Rule(match=re.compile(r'^/api/.+'), ttl=86400, status=200), |
| 51 | ], | 52 | ], |
| 52 | ), | 53 | ), |
| 53 | ], | 54 | ], |
| 54 | root_path='/api' | 55 | root_path='/api' |
| 55 | ) | 56 | ) |
| 56 | -app.include_router(project.router) | ||
| 57 | app.include_router(entity.router_entidad) | 57 | app.include_router(entity.router_entidad) |
| 58 | app.include_router(entity.router_ubigeo) | 58 | app.include_router(entity.router_ubigeo) |
| 59 | app.include_router(entity.router_da) | 59 | app.include_router(entity.router_da) |
| ... | @@ -62,8 +62,9 @@ app.include_router(classifier.router_acteco) | ... | @@ -62,8 +62,9 @@ app.include_router(classifier.router_acteco) |
| 62 | app.include_router(classifier.router_finfun) | 62 | app.include_router(classifier.router_finfun) |
| 63 | app.include_router(classifier_income.router_rubro) | 63 | app.include_router(classifier_income.router_rubro) |
| 64 | app.include_router(classifier_income.router_organismo) | 64 | app.include_router(classifier_income.router_organismo) |
| 65 | +app.include_router(project.router) | ||
| 65 | app.include_router(daily.router) | 66 | app.include_router(daily.router) |
| 66 | - | 67 | +app.include_router(search.router) |
| 67 | 68 | ||
| 68 | 69 | ||
| 69 | # @app.on_event('startup') | 70 | # @app.on_event('startup') | ... | ... |
| ... | @@ -32,19 +32,19 @@ router_finfun = APIRouter( | ... | @@ -32,19 +32,19 @@ router_finfun = APIRouter( |
| 32 | 32 | ||
| 33 | @router_objeto.get('/clasificador', response_model=List[schemas.classifier.ClasObjetos]) | 33 | @router_objeto.get('/clasificador', response_model=List[schemas.classifier.ClasObjetos]) |
| 34 | @not_found | 34 | @not_found |
| 35 | -def fetch_object_classifier(db: Session = Depends(model.get_db)): | 35 | +def fetch_objeto_classifier(db: Session = Depends(model.get_db)): |
| 36 | return _fetch_classifier('objeto', db) | 36 | return _fetch_classifier('objeto', db) |
| 37 | 37 | ||
| 38 | 38 | ||
| 39 | @router_acteco.get('/clasificador', response_model=List[schemas.classifier.ClasActeco]) | 39 | @router_acteco.get('/clasificador', response_model=List[schemas.classifier.ClasActeco]) |
| 40 | @not_found | 40 | @not_found |
| 41 | -def fetch_object_classifier(db: Session = Depends(model.get_db)): | 41 | +def fetch_acteco_classifier(db: Session = Depends(model.get_db)): |
| 42 | return _fetch_classifier('acteco', db) | 42 | return _fetch_classifier('acteco', db) |
| 43 | 43 | ||
| 44 | 44 | ||
| 45 | @router_finfun.get('/clasificador', response_model=List[schemas.classifier.ClasFinfun]) | 45 | @router_finfun.get('/clasificador', response_model=List[schemas.classifier.ClasFinfun]) |
| 46 | @not_found | 46 | @not_found |
| 47 | -def fetch_object_classifier(db: Session = Depends(model.get_db)): | 47 | +def fetch_finfun_classifier(db: Session = Depends(model.get_db)): |
| 48 | return _fetch_classifier('finfun', db) | 48 | return _fetch_classifier('finfun', db) |
| 49 | 49 | ||
| 50 | 50 | ... | ... |
| ... | @@ -32,7 +32,7 @@ router_da = APIRouter( | ... | @@ -32,7 +32,7 @@ router_da = APIRouter( |
| 32 | 32 | ||
| 33 | @router_entidad.get('/clasificador', response_model=List[schemas.classifier.ClasInstitucional]) | 33 | @router_entidad.get('/clasificador', response_model=List[schemas.classifier.ClasInstitucional]) |
| 34 | @not_found | 34 | @not_found |
| 35 | -def fetch_classifier( | 35 | +def fetch_entidad_classifier( |
| 36 | db: Session = Depends(model.get_db), | 36 | db: Session = Depends(model.get_db), |
| 37 | ): | 37 | ): |
| 38 | return db.query(models.classifier.ClasInstitucional).all() | 38 | return db.query(models.classifier.ClasInstitucional).all() |
| ... | @@ -40,7 +40,7 @@ def fetch_classifier( | ... | @@ -40,7 +40,7 @@ def fetch_classifier( |
| 40 | 40 | ||
| 41 | @router_ubigeo.get('/clasificador', response_model=List[schemas.classifier.ClasGeografico]) | 41 | @router_ubigeo.get('/clasificador', response_model=List[schemas.classifier.ClasGeografico]) |
| 42 | @not_found | 42 | @not_found |
| 43 | -def fetch_classifier( | 43 | +def fetch_ubigeo_classifier( |
| 44 | db: Session = Depends(model.get_db), | 44 | db: Session = Depends(model.get_db), |
| 45 | ): | 45 | ): |
| 46 | return db.query(models.classifier.ClasGeografico).all() | 46 | return db.query(models.classifier.ClasGeografico).all() |
| ... | @@ -51,7 +51,7 @@ def fetch_classifier( | ... | @@ -51,7 +51,7 @@ def fetch_classifier( |
| 51 | 51 | ||
| 52 | @router_entidad.get('/{entity_id:str}', response_model=schemas.entity.ClasInstitucionalIngresosGastos) | 52 | @router_entidad.get('/{entity_id:str}', response_model=schemas.entity.ClasInstitucionalIngresosGastos) |
| 53 | @not_found | 53 | @not_found |
| 54 | -def fetch_entity( | 54 | +def fetch_entidad( |
| 55 | entity_id: str, | 55 | entity_id: str, |
| 56 | db: Session = Depends(model.get_db), | 56 | db: Session = Depends(model.get_db), |
| 57 | ): | 57 | ): |
| ... | @@ -68,7 +68,7 @@ def fetch_entity( | ... | @@ -68,7 +68,7 @@ def fetch_entity( |
| 68 | 68 | ||
| 69 | @router_ubigeo.get('/{ubigeo_id:str}', response_model=schemas.entity.ClasGeograficoIngresosGastos) | 69 | @router_ubigeo.get('/{ubigeo_id:str}', response_model=schemas.entity.ClasGeograficoIngresosGastos) |
| 70 | @not_found | 70 | @not_found |
| 71 | -def fetch_entity( | 71 | +def fetch_ubigeo( |
| 72 | ubigeo_id: str, | 72 | ubigeo_id: str, |
| 73 | db: Session = Depends(model.get_db), | 73 | db: Session = Depends(model.get_db), |
| 74 | ): | 74 | ): |
| ... | @@ -83,10 +83,20 @@ def fetch_entity( | ... | @@ -83,10 +83,20 @@ def fetch_entity( |
| 83 | return ubigeo | 83 | return ubigeo |
| 84 | 84 | ||
| 85 | 85 | ||
| 86 | +@router_da.get('/{da_id:str}', response_model=List[schemas.entity.EntidadResumen]) | ||
| 87 | +@not_found | ||
| 88 | +def fetch_da( | ||
| 89 | + da_id: str, | ||
| 90 | + db: Session = Depends(model.get_db), | ||
| 91 | +): | ||
| 92 | + gastos_ingresos = get_resumen(db, 'entidad_da', ubigeo_id) | ||
| 93 | + return gastos_ingresos | ||
| 94 | + | ||
| 95 | + | ||
| 86 | # objetos | 96 | # objetos |
| 87 | 97 | ||
| 88 | @router_entidad.get('/{entity_id:str}/objetos', response_model=List[schemas.entity.EntidadDistribucion]) | 98 | @router_entidad.get('/{entity_id:str}/objetos', response_model=List[schemas.entity.EntidadDistribucion]) |
| 89 | -def fetch_entity_objetos( | 99 | +def fetch_entidad_objetos( |
| 90 | entity_id: str, | 100 | entity_id: str, |
| 91 | db: Session = Depends(model.get_db), | 101 | db: Session = Depends(model.get_db), |
| 92 | query: schema.QueryParams = Depends(), | 102 | query: schema.QueryParams = Depends(), |
| ... | @@ -95,7 +105,7 @@ def fetch_entity_objetos( | ... | @@ -95,7 +105,7 @@ def fetch_entity_objetos( |
| 95 | 105 | ||
| 96 | 106 | ||
| 97 | @router_ubigeo.get('/{ubigeo_id:str}/objetos', response_model=List[schemas.entity.EntidadDistribucion]) | 107 | @router_ubigeo.get('/{ubigeo_id:str}/objetos', response_model=List[schemas.entity.EntidadDistribucion]) |
| 98 | -def fetch_entity_objetos( | 108 | +def fetch_ubigeo_objetos( |
| 99 | ubigeo_id: str, | 109 | ubigeo_id: str, |
| 100 | db: Session = Depends(model.get_db), | 110 | db: Session = Depends(model.get_db), |
| 101 | query: schema.QueryParams = Depends(), | 111 | query: schema.QueryParams = Depends(), |
| ... | @@ -103,8 +113,17 @@ def fetch_entity_objetos( | ... | @@ -103,8 +113,17 @@ def fetch_entity_objetos( |
| 103 | return get_distribuciones(db, 'municipio_ubigeo', ubigeo_id, 'objeto', query) | 113 | return get_distribuciones(db, 'municipio_ubigeo', ubigeo_id, 'objeto', query) |
| 104 | 114 | ||
| 105 | 115 | ||
| 116 | +@router_da.get('/{da_id:str}/objetos', response_model=List[schemas.entity.EntidadDistribucion]) | ||
| 117 | +def fetch_da_objetos( | ||
| 118 | + da_id: str, | ||
| 119 | + db: Session = Depends(model.get_db), | ||
| 120 | + query: schema.QueryParams = Depends(), | ||
| 121 | +): | ||
| 122 | + return get_distribuciones(db, 'entidad_da', da_id, 'objeto', query) | ||
| 123 | + | ||
| 124 | + | ||
| 106 | @router_entidad.get('/{entity_id:str}/finfuns', response_model=List[schemas.entity.EntidadDistribucion]) | 125 | @router_entidad.get('/{entity_id:str}/finfuns', response_model=List[schemas.entity.EntidadDistribucion]) |
| 107 | -def fetch_entity_finfuns( | 126 | +def fetch_entidad_finfuns( |
| 108 | entity_id: str, | 127 | entity_id: str, |
| 109 | db: Session = Depends(model.get_db), | 128 | db: Session = Depends(model.get_db), |
| 110 | query: schema.QueryParams = Depends(), | 129 | query: schema.QueryParams = Depends(), |
| ... | @@ -113,7 +132,7 @@ def fetch_entity_finfuns( | ... | @@ -113,7 +132,7 @@ def fetch_entity_finfuns( |
| 113 | 132 | ||
| 114 | 133 | ||
| 115 | @router_ubigeo.get('/{ubigeo_id:str}/finfuns', response_model=List[schemas.entity.EntidadDistribucion]) | 134 | @router_ubigeo.get('/{ubigeo_id:str}/finfuns', response_model=List[schemas.entity.EntidadDistribucion]) |
| 116 | -def fetch_entity_finfuns( | 135 | +def fetch_ubigeo_finfuns( |
| 117 | ubigeo_id: str, | 136 | ubigeo_id: str, |
| 118 | db: Session = Depends(model.get_db), | 137 | db: Session = Depends(model.get_db), |
| 119 | query: schema.QueryParams = Depends(), | 138 | query: schema.QueryParams = Depends(), |
| ... | @@ -121,8 +140,17 @@ def fetch_entity_finfuns( | ... | @@ -121,8 +140,17 @@ def fetch_entity_finfuns( |
| 121 | return get_distribuciones(db, 'municipio_ubigeo', ubigeo_id, 'finfun', query) | 140 | return get_distribuciones(db, 'municipio_ubigeo', ubigeo_id, 'finfun', query) |
| 122 | 141 | ||
| 123 | 142 | ||
| 143 | +@router_da.get('/{da_id:str}/finfuns', response_model=List[schemas.entity.EntidadDistribucion]) | ||
| 144 | +def fetch_da_finfuns( | ||
| 145 | + da_id: str, | ||
| 146 | + db: Session = Depends(model.get_db), | ||
| 147 | + query: schema.QueryParams = Depends(), | ||
| 148 | +): | ||
| 149 | + return get_distribuciones(db, 'entidad_da', da_id, 'finfun', query) | ||
| 150 | + | ||
| 151 | + | ||
| 124 | @router_entidad.get('/{entity_id:str}/actecos', response_model=List[schemas.entity.EntidadDistribucion]) | 152 | @router_entidad.get('/{entity_id:str}/actecos', response_model=List[schemas.entity.EntidadDistribucion]) |
| 125 | -def fetch_entity_actecos( | 153 | +def fetch_entidad_actecos( |
| 126 | entity_id: str, | 154 | entity_id: str, |
| 127 | db: Session = Depends(model.get_db), | 155 | db: Session = Depends(model.get_db), |
| 128 | query: schema.QueryParams = Depends(), | 156 | query: schema.QueryParams = Depends(), |
| ... | @@ -131,7 +159,7 @@ def fetch_entity_actecos( | ... | @@ -131,7 +159,7 @@ def fetch_entity_actecos( |
| 131 | 159 | ||
| 132 | 160 | ||
| 133 | @router_ubigeo.get('/{ubigeo_id:str}/actecos', response_model=List[schemas.entity.EntidadDistribucion]) | 161 | @router_ubigeo.get('/{ubigeo_id:str}/actecos', response_model=List[schemas.entity.EntidadDistribucion]) |
| 134 | -def fetch_entity_actecos( | 162 | +def fetch_ubigeo_actecos( |
| 135 | ubigeo_id: str, | 163 | ubigeo_id: str, |
| 136 | db: Session = Depends(model.get_db), | 164 | db: Session = Depends(model.get_db), |
| 137 | query: schema.QueryParams = Depends(), | 165 | query: schema.QueryParams = Depends(), |
| ... | @@ -139,8 +167,17 @@ def fetch_entity_actecos( | ... | @@ -139,8 +167,17 @@ def fetch_entity_actecos( |
| 139 | return get_distribuciones(db, 'municipio_ubigeo', ubigeo_id, 'acteco', query) | 167 | return get_distribuciones(db, 'municipio_ubigeo', ubigeo_id, 'acteco', query) |
| 140 | 168 | ||
| 141 | 169 | ||
| 170 | +@router_da.get('/{da_id:str}/actecos', response_model=List[schemas.entity.EntidadDistribucion]) | ||
| 171 | +def fetch_da_actecos( | ||
| 172 | + da_id: str, | ||
| 173 | + db: Session = Depends(model.get_db), | ||
| 174 | + query: schema.QueryParams = Depends(), | ||
| 175 | +): | ||
| 176 | + return get_distribuciones(db, 'entidad_da', da_id, 'acteco', query) | ||
| 177 | + | ||
| 178 | + | ||
| 142 | @router_entidad.get('/{entity_id:str}/rubros', response_model=List[schemas.entity.EntidadDistribucion]) | 179 | @router_entidad.get('/{entity_id:str}/rubros', response_model=List[schemas.entity.EntidadDistribucion]) |
| 143 | -def fetch_entity_rubros( | 180 | +def fetch_entidad_rubros( |
| 144 | entity_id: str, | 181 | entity_id: str, |
| 145 | db: Session = Depends(model.get_db), | 182 | db: Session = Depends(model.get_db), |
| 146 | query: schema.QueryParams = Depends(), | 183 | query: schema.QueryParams = Depends(), |
| ... | @@ -149,7 +186,7 @@ def fetch_entity_rubros( | ... | @@ -149,7 +186,7 @@ def fetch_entity_rubros( |
| 149 | 186 | ||
| 150 | 187 | ||
| 151 | @router_entidad.get('/{entity_id:str}/organismos', response_model=List[schemas.entity.EntidadDistribucion]) | 188 | @router_entidad.get('/{entity_id:str}/organismos', response_model=List[schemas.entity.EntidadDistribucion]) |
| 152 | -def fetch_entity_organismos( | 189 | +def fetch_entidad_organismos( |
| 153 | entity_id: str, | 190 | entity_id: str, |
| 154 | db: Session = Depends(model.get_db), | 191 | db: Session = Depends(model.get_db), |
| 155 | query: schema.QueryParams = Depends(), | 192 | query: schema.QueryParams = Depends(), | ... | ... |
| ... | @@ -6,6 +6,7 @@ from fastapi import APIRouter, Depends, Request, HTTPException, Body | ... | @@ -6,6 +6,7 @@ from fastapi import APIRouter, Depends, Request, HTTPException, Body |
| 6 | from sqlalchemy.orm import Session | 6 | from sqlalchemy.orm import Session |
| 7 | 7 | ||
| 8 | from presupuestov1 import model, schema, constant, schemas, models, search | 8 | from presupuestov1 import model, schema, constant, schemas, models, search |
| 9 | +from presupuestov1.routers._decorators import not_found | ||
| 9 | 10 | ||
| 10 | 11 | ||
| 11 | router = APIRouter( | 12 | router = APIRouter( |
| ... | @@ -29,7 +30,7 @@ def fetch_programa_proyecto( | ... | @@ -29,7 +30,7 @@ def fetch_programa_proyecto( |
| 29 | 30 | ||
| 30 | @router.get('/{project_id}/proyectos') | 31 | @router.get('/{project_id}/proyectos') |
| 31 | @not_found | 32 | @not_found |
| 32 | -def fetch_programa_proyecto_projectos( | 33 | +def fetch_programa_proyecto_proyectos( |
| 33 | project_id: int, | 34 | project_id: int, |
| 34 | db: Session = Depends(model.get_db), | 35 | db: Session = Depends(model.get_db), |
| 35 | query: schema.QueryParams = Depends(), | 36 | query: schema.QueryParams = Depends(), | ... | ... |
-
Please register or login to post a comment